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

Flash EPC64, slow to program

Altera_Forum
Honored Contributor II
1,594 Views

Hello, 

We use on our board EPC64 flashes to store the pof 

file for the stratix 2. 

 

This take about 10 minutes to upload the pof; 

This is slow. 

 

When the sof is uploaded with the same usb blaster, it takes 5 seconds, 

so clearly the flash is the limiting factor. 

 

As we will move to stratix 3 which are two times bigger, I expect bigger pofs as well, 

and I guess that programming the flash will take ages. 

 

Is Altera aware of this problem, and will they propose an equivalent to the EPC64 (easy to integrate) but much faster ?
0 Kudos
14 Replies
Altera_Forum
Honored Contributor II
698 Views

Can a person from Altera respond on this question ?

0 Kudos
Altera_Forum
Honored Contributor II
698 Views

I'm not from Alter@ but I did lots of boards from 10K 1K C1 M2 S1... 

A SPI Flash Emulator with Alter@ ID can do this. 

http://www.samedisk.com/en/productinfo2564.php (http://www.samedisk.com/en/productinfo2564.php

 

Might have 3 problems 

1/ We tested with C1, S2 not yet test S3 or GX. 

2/ It's made by SRAM, so need a 5V power keep if you're trying to take away. 

3/ It's not totally Pb-Free, some country may reject.
0 Kudos
Altera_Forum
Honored Contributor II
698 Views

Hi, 

I was more thinking about a small chip to put next to the fpga on the pcb.
0 Kudos
Altera_Forum
Honored Contributor II
698 Views

A CPLD with fast flash might help. 

 

Try SST, their erase and AAI program will faster. 

But you will need to convert some SPI command to each side. 

 

Or, add a socket on EPCSx, then re-program them in a factory flash programmer will also faster. 

 

If you're trying to find a solution that only 3 sec, multi-OS support with network access.. 

There are not many choice.
0 Kudos
Altera_Forum
Honored Contributor II
698 Views

It is slow. But so slow as 10monutes is not reasonable. In my EP2S180 board, the EPCS64 programming time is about 50sec.

0 Kudos
Altera_Forum
Honored Contributor II
698 Views

 

--- Quote Start ---  

It is slow. But so slow as 10monutes is not reasonable. In my EP2S180 board, the EPCS64 programming time is about 50sec. 

--- Quote End ---  

 

 

 

Well, I guess that your fpga is not fully used, is it ? 

 

If you are using 10% or 70 % of the fpga, the program time is different.
0 Kudos
Altera_Forum
Honored Contributor II
698 Views

10 minutes to config from a serial device is totally unreasonable, if you read the Config Handbook, "Estimating Active Serial Configuration Time" section you can calculate what the reasonable times are for your device size. 

 

Maybe there is a problem with your hardware? Use a scope to check the config pins on the FPGA if possible (CONF_DONE, INIT_DONE, nSTATUS, nCONFIG) and see if they match the waveforms in the datasheet. 

If you see nSTATUS flicking high-low repeatedly (you should have access to it since it requires an external pull-up), it means you have a config error, maybe bitstream corruption. 

 

Make sure you use compressed bitstreams, also you can try a 40MHz config clock. Check the enable user-supplied startup clock in Quartus device options (should be disabled) and the CLKUSR pin (should be tied to GND if not used as an I/O).
0 Kudos
Altera_Forum
Honored Contributor II
698 Views

I use compressed bitstreams. 

I think I use 10 Mhz. 

 

I will check the signals if they matches the spec. 

 

Thank you. 

 

Erase time takes about 1 minute.
0 Kudos
Altera_Forum
Honored Contributor II
698 Views

Hi, 

There is actually a misunderstanding here. 

 

The time is long to program the EPC64, 

not to program the fpga from the EPC64 (that is fast and takes about 1 second). 

 

I think that the flash EPC64 is really slow, 

because programming the sof corresponding to the pof takes only 3 seconds with the 

same usb blaster.
0 Kudos
Altera_Forum
Honored Contributor II
698 Views

Here the real figures : 

 

1 min to erase, 

3 min to program.
0 Kudos
Altera_Forum
Honored Contributor II
698 Views

Chip Erase time typical for 64M is 1 min. 

 

Program depands on clock rate when clock is too slow. 

Typical is about 1~2ms for 256byte. 

 

Page Program 256byte is equal to 

8(cmd) + 24(adr) + 8x256 = 2080 clk
0 Kudos
Altera_Forum
Honored Contributor II
698 Views

what is the epc64 clock when the usb blaster is used to flash it ?

0 Kudos
Altera_Forum
Honored Contributor II
698 Views

Just did measure for you. 

it's 6ms clock period for 166.7Hz as my experiment... 

I'm not sure if it's computer/environment dependent.  

 

of course, the sum of clk period must also add erase time and program time.
0 Kudos
Altera_Forum
Honored Contributor II
698 Views

By the way, I remember speed for Altera config is 

 

Byteblaster > USBblaster > MasterBlaster
0 Kudos
Reply