The FPGA video card has been built up. A couple of mistakes in ordering the parts so I ended up with a couple of capacitors that have the wrong footprint but were still usable. Unfortunately I ordered the wrong version of the 1.2V regulator and couldn’t use it. Getting the correct part held me up for a couple of days but once that was on the board and a few basic tests were done to make sure all voltage levels were correct it was time to start testing.
I had some VGA display code previously written for a Mimas V2 FPGA dev board so I didn’t have to start from scratch.
I was able to get VGA output running reasonably quickly which was a fantastic result as I have not designed a FPGA based board before. While getting a working VGA port is an excellent start it is only one small part of the overall board so there is still a lot of work to do before I can claim it is a success.
When I wrote the test code for the Mimas dev board, I had used a button on the board to cycles through four test pattens, so my goal was to reproduce the same behaviour by using the 68000 to change the video mode.
I wrote some code to simply read the data bus when the select line to the video card is asserted and use the lower 2 bits to set the video mode. This would prove that the basics of the bus interface were working correctly at least. There were a few false starts on getting this running, mainly due to me forgetting to enable the data bus buffers to the FPGA but once they were fixed, I was able to control the video mode from the monitor program on the board.
The next step to get an image written to the SRAM by the 68000 and displayed on the VGA from the I have done some work on reading the SRAM and have some initial results working on that.
One major issue that I still have to address is the Flash memory on the board. The part I’m using isn’t recognised by the version of ISE webpack that I’m using and some of the ones it does support are no longer manufactured. Currently the FPGA has to be programmed via the JTAG interface every time I want to use it which isn’t ideal so I need to find a workaround for this device or source a replacement that will work.
Next update will hopefully have something a bit more interesting to show.