Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

FPGA configuration memory device alternatives

Status
Not open for further replies.

matrixofdynamism

Advanced Member level 2
Joined
Apr 17, 2011
Messages
593
Helped
24
Reputation
48
Reaction score
23
Trophy points
1,298
Activity points
7,681
An FPGA must have a non-volatile configuration memory outside it so it can configure after power up in the field. This configuration memory is just a flash device as far as I am aware. I have compared the cost of the normal Flash memory devices and the Altera EPCS memory devices and there is a vast difference between them. A 1Mb EPCS device also seems to cost several £.

Is it possible to use the normal flash memory which shall contain things besides the configuration file for our design to contain the FPGA configuration file? I am looking for cheaper alternative.
 

Is it possible to use the normal flash memory which shall contain things besides the configuration file for our design to contain the FPGA configuration file? I am looking for cheaper alternative.
The answer can be very system dependent. For example, if your system has a processor on board, then the processor will need to boot up as well. Many processors will boot from typical Flash devices. The processor can then be used to retrieve the FPGA data from the same boot Flash and program the FPGA via GPIO pins over a simple serial interface.

Of course if you don't have a processor on board, things are different. So maybe describe what else is (or might be) on your board that could be used to program the FPGA.

Kevin Jennings
 

OK, there is no processor on my board. There isn't even a MAX CPLD like it exists on Altera development boards with FPGAs.
If I use active parallel configuration, it seems that I will need the flash device to work upto 40MHz. That is too fast. The website says that:

"You can perform active parallel (AP) configuration using a supported common flash interface (CFI) parallel flash memory. During AP configuration, the Altera® device is the master and the parallel flash memory is the slave. Configuration data is transferred to the Altera device on the DATA[15:0] pins. This configuration data is synchronized to the DCLK input. Configuration data is transferred at a rate of 16 bits per clock cycle. The DCLK frequency driven out by the Altera device during AP configuration is approximately 40 MHz.

For more information, please refer to the configuration chapter of the relevant Altera device in the Configuration Handbook. "

it seems that a flash to hold the configuration data is going to be quite expensive.
 

Altera EPCS are industry standard serial flash devices which can be identified as relabeled devices from major manufacturers by their device ID. Most people are using cheaper second source as far as I'm aware of.
 

OK, I have another idea. How about using a PIC microcontroller on the board? This seems reasonable.
 

serial flash having a device ID?
Yes review datasheet about RES (read electronic signature) and RDID (read identification) instructions. Quartus programmer is usually only checking electronic signature.

A PIC can configure the FPGA in passive serial mode. But it needs respective memory, only suitable if a suitable memory device is already in use. It's e.g. a reasonable option if you have a file system.
 

As far as I understand, the PIC has its own flash so a small program can fit in it. Then it only needs to have the start and end addresses for the FPGA configuration stream. Thus, after power up it will just send addresses to the flash device, and control signals to the FPGA to latch the bits into the FPGA. And this way, the configuration shall be complete.

The flash can be programmed by using a different program on the same PIC or even by use of a temporary design in the FPGA for this purpose.

Why is a file system needed here?
 

I don't understand what you want to achieve. Active serial configuration with industry standard flash devices is simple and straightforward. Why do you want to involve a PIC processor?
 

If you have a µC (including flash)+FPGA harness on your board anyway for other purposes, it can make sense to reuse that for FPGA programming as well. It doesn't make sense the other way round, however.
 

OK, basically I have been looking at options for a cheap way to put a configuration memory device on my board. I found that the EPCS devices are unusually expensive compared with normal flash devices which is why this question was born. In the many paths that my thought train took, one was to use a PIC (not part of the design at present) on my board to carry out passive configuration. I shall have to decide today whether to go for active or passive. But like FvM has said, the active serial option is probably the safest but cost a few £ more.
 

the active serial option is probably the safest but cost a few £ more
It's also a cheap one if you refer to second source serial flash. Thought you had understood this point.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top