We are designing a two FPGA board. The interface between the FPGAs and the outside world will be through a small microcontroller. The MCU will connect directly through a USB port on the board, or down to a bus on a "motherboard" through the DIMM connector. The idea is that these FPGA boards can be operated as a small USB device or as a module riding in a larger array of these boards, a la this. The motherboard in this case is yet to be designed (it isn't a standard PC motherboard), but it is planned to have power distribution, bus connections, and a USB port in the first iteration. Later, we have discussed adding an ethernet interface that will connect directly to the internet, without a host computer.
There are three ways to get power to the board:
- through a 4 pin Molex connector from a standard computer PSU
- through a barrel connector from something like a laptop AC adapter
- through the DIMM connector coming from the motherboard
The key here is modularity and flexibility. This means you can buy as many or as few boards as you like, and set them up in whatever way you like. It also means that the basic design can be modified but different designs can coexist in the same system, as long as the all follow the same communication protocols. Furthermore, the boards can be reprogrammed, so can easily adapt to future design changes.