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

I'm new to FPGA and have a question

Altera_Forum
Honored Contributor II
1,546 Views

Hi There, 

I have recently purchased a DE1 kit with the Cyclone II FPGA on it. 

I have had a go at VHDL and found it enjoyable, so far the most complex thing I have created was a 4 bit parallel adder. 

 

What confuses me, and I am unable to aquire a clear answer, is how the FPGA holds its configuration? 

 

I have a feeling it is being store in the 8 legged Flash/EEPROM that is next to it on the board and possibly that is loaded into a configuration RAM area inside the FPGA on startup, is this a correct assumption? 

 

If so, is it possible to have the configuration data stored directly in the FPGA or would I be forever having to put a Flash/EEPROM chip with my FPGA on every design? 

 

many thanks
0 Kudos
10 Replies
Altera_Forum
Honored Contributor II
456 Views

You are correct on all accounts. 

 

If you use the Max II class of products from Altera, the configuration is stored inside the same part. 

 

Most FPGA's need to be configurated after startup, and usually from an external source.
0 Kudos
Altera_Forum
Honored Contributor II
456 Views

So this means I can design a board with a Cyclone II FPGA on it and have the configuration/firmware flashed directly into it? 

 

also, is the Cyclone II a flash once only device or can it be reflashed as you can with a Flash version PIC?
0 Kudos
Altera_Forum
Honored Contributor II
456 Views

No, you need an external configuration memory, usually a serial flash. Cyclone III also supports a parallel flash. The configuration memory can be programmed through the FPGA JTAG interface, so a minimal operational system consists of the FPGA, configuration memory, clock source, JTAG connector and power supply.

0 Kudos
Altera_Forum
Honored Contributor II
456 Views

Oops, got a little too inclusive in the "on all accounts" 

 

Missed the sentence about "If so, is it possible to have the configuration data stored directly in the FPGA". 

 

My bad.
0 Kudos
Altera_Forum
Honored Contributor II
456 Views

ah good, all make more sense to me now. 

Would this mean I could program the configuration data to the serial flash using a common flash programmer (or homebrew) instead of having to buy the expensive JTAG equipment?
0 Kudos
Altera_Forum
Honored Contributor II
456 Views

Expensive? Terasic has a _better_ USB Blaster than Altera for $50. 

 

Plus, if I were to design my own board, I would design the USB Blaster (USBtoJTAG) into the board, itself. Terasic has done this with most, if not all, of their boards. 

 

Not having JTAG could be a _serious_ development liability. 

 

Cheers, 

 

- Ura
0 Kudos
Altera_Forum
Honored Contributor II
456 Views

If USB Blaster would be still too expensive, a homebrew ByteBlaster II (printer port operated JTAG adapter) could do. JTAG in-circuit programmability is usually the best solution for production scale, for development phase, JTAG interface is effectively indispensable, independant of main configuration source. In an embedded system, the FPGA configuration can be also provided by a processor, e. g. using passive serial scheme, but JTAG should be still designed to the board.

0 Kudos
Altera_Forum
Honored Contributor II
456 Views

TerASIC is the way.

0 Kudos
Altera_Forum
Honored Contributor II
456 Views

 

--- Quote Start ---  

Plus, if I were to design my own board, I would design the USB Blaster (USBtoJTAG) into the board, itself. Terasic has done this with most, if not all, of their boards. 

--- Quote End ---  

 

 

Yes, but there is a small problem, the USB Blaster specs are undisclosed. Some time ago I found somebody reverse engineered the USB Blaster though.
0 Kudos
Altera_Forum
Honored Contributor II
456 Views

http://www.cepd.com/altera/picousb.htm 

I recently found this device online that can be used to program other Altera EPLD devices via USB or serial port by just jumping your device through the jtag port.
0 Kudos
Reply