When I started this, I didn't realize how many macros I would have to write to just get the VGA tested. Like increment, then add 8 bit numbers, decrement, subtract 8 bit numbers, shift left 8-bits, shift left on 16 bit numbers, I need to make a stack with push and pop, and then subroutine jump and return macros.
In order to help all of those, I'm using the Basys3 board which has 16 switches and LEDs, and a 4-digit seven-segment display, and a serial interface. So I made peripherals for those with registers to read/write.
It's slow going but when even doing a simple shift-left is an exercise, it takes a long time. But it has to be faster than doing it on a breadboard.