Linking the FPGA to other devices, both those built onto the Nexys2 board and the many external ones I am using, generally requires studying some protocol and set of electrical requirements, production of both soft hardware (VHDL) and physical boards, and extensive testing. There are many link protocols that can be used and I have deliberately spread my work across different ones to impel me to learn each. Serial communications, USB high speed stream mode, SPI, I2C and a 2 wire protocol proprietary to the MAX7219 chips. In addition, I had to learn how to access the DRAM chips on the Nexys2, the flash chips, and of course all the interfacing protocols for the Selectric based console and other peripherals.
In order to ensure I know how to access the various chips, I made use of a neat tool called the Bus Pirate which lets me drive and investigate the devices until I really understand the protocol. ref - Bus Pirate site
|Bus Pirate board|
The logic analyzer also lets me snapshot the activity on the lines and see glitches, timing errors and other anomalies.
For the PC side, where I will emulate certain peripherals like card readers and pass the card images down to the machine, I decided to build this with a graphical interface, since I have no background in Windows GUI, and code it in Python, as I don't know that language but it appears to be worth learning.