Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
20704 Discussions

Development Board

Altera_Forum
Honored Contributor II
872 Views

Hi! I'm interested in creating a development board for a strandard Altera FPGA, but my friends told me building a development board for a FPGA is more complicated than building one for a atmega microcontroller. Can anyone tell me what to keep in mind when building a development board for Altera FPGA?

0 Kudos
2 Replies
Altera_Forum
Honored Contributor II
155 Views

 

--- Quote Start ---  

I'm interested in creating a development board for a strandard Altera FPGA, but my friends told me building a development board for a FPGA is more complicated than building one for a atmega microcontroller. Can anyone tell me what to keep in mind when building a development board for Altera FPGA? 

--- Quote End ---  

Before creating an evaluation board for an FPGA you really need to have an idea that is different than the currently available boards. 

 

So, do you have a good idea? If so, please share it. If not ... 

 

First start off with an existing development board, or several development boards wired together. Use them to decide what would be unique about your design. 

 

For example, lets say you want your board to support a soft-core processor. What will you use? The free version of the NIOS II processor? The OpenRISC (opencores.org) processor? The Sparc Leon processor? How about the OS, eg., uCOS-II (source available, but not open-source), FreeRTOS, uCLinux/Linux? How much memory do those OSes need? Would you use SRAM, SDRAM, Flash, a mixture of those memories?  

 

How would you communicate with the PC? Would you have an embedded USB-Blaster (which is a proprietary design, but details exist on the web)? Would you add a USB-to-Serial interface? How about ethernet? 

 

How would the FPGA be configured at power-on? How would it be powered (USB or wall-wart, or both)? 

 

Perhaps your board would contain an external processor; what? An ARM microcontroller or a processor capable or running Linux? Why not wait for the FPGAs with the ARM A9 embedded in it? 

 

Ok, so how about an external processor on a different board? In that case, your FPGA board needs an external interface with enough I/O, but what connector to use!? Lets say I'm a fan of the Beagle/Panda/Crane boards with the TI OMAP processors (I haven't used them, but they seem popular), why not create an FPGA interface board for them? Does one exist? 

 

Most of these questions can be answered and implemented using existing development boards, eg., look at Terasic's web site. 

 

Example boards and things they're missing; 

 

* Arrow BeMicro - FTDI FT2232 Interface using a custom Arrow Altera USB-Blaster interface (not sure if this works under anything but Windows XP, I haven't tried). 80-pin Samtec edge connector with multiple Hitex interface boards (originally for microcontrollers). 

 

* Arrow BeMicro-SDK - proprietary Low-Power DDR memory (no free IP). Same 80-pin edge connector as the BeMicro (and the tNano, another Terasic board). 

 

* Terasic DE0-nano - not bad, not much in the way of host-to-FPGA comms (just the USB-Blaster) 

 

* Terasic DE1, DE2 series of boards - most of the things I've commented on above can be implemented with these boards. 

 

Take a look at the DE2 board, and try to figure out what you would do differently, and then explain why people should buy it (or implement it if you just want to post design files).  

 

I suspect you'll find that its not worth your time to develop a development board. These boards are fairly inexpensive, you'd be hard-pressed to beat their prices. 

 

The other issue is that its pretty hard to keep everyone happy, so while your development board might end up having a unique feature set, it will still be "not quite right" for someone out there ... 

 

Cheers, 

Dave
0 Kudos
Altera_Forum
Honored Contributor II
155 Views

I would like to add one more thing here. One thing that is very important while designing a development board is the end usage. Are you planning to have the peripheral controllers inside the fpga or will be having separate controller chips on the board? :confused: 

 

For example:  

 

- A board designed for using/designing a USB 2.0 controller inside the FPGA will use a transceiver PHY chip stuffed between the USB connector and FPGA. See: http://www.slscorp.com/products/development-boards/corecommander.html 

 

- While a board designed for using a separate controller with just the interface logic inside the FPGA will use a controller chip stuffed between the USB connector and FPGA. Check DE2 board.
0 Kudos
Reply