I spent this week researching FPGA communication protocols. I was assigned USB, so I started with that. I found the following key pieces of information from the DE2-115 User Manual:
- The board provides a USB device interface, supporting data transfer at 12 Mbit/s
- There’s a demo with complete driver code that connects the board to a host PC and allows the PC to control some components on the board (such as LEDs)
I dug for user-side information on this topic too (e.g., customized driver code) but was not able to find much. This lack of information makes the usability of USB concerning to me, so I also looked into Ethernet. Surprisingly, I was able to find an open-source Cornell project that implemented Ethernet communication to the board. This may be something we can use off the shelf.
I am on schedule for my deliverables. Next week, I will transition to designing the ISA for our DUT. My thoughts so far are to limit the design to an ALU that supports common arithmetic and logical instructions, but details (instruction format, number of registers, etc.) need to be worked out. By the end of next week, I plan to have the complete ISA and to have begun working on the software golden model that implements this ISA.