L
Lasse Langwadt Christense
Guest
lørdag den 9. november 2019 kl. 18.29.22 UTC+1 skrev jla...@highlandsniptechnology.com:
if you don't do you own compression you don't even need to handle the data
just put the DIN,CCLK on the fpga in parallel with the dout and sclk
on the flash
Give the flash a start address and read command, pulse program on the fpga
and run the spi clk as fast as the flash/fpga an take it, ignoring the data
On Sat, 09 Nov 2019 01:27:44 -0600, Allan Herriman
allanherriman@hotmail.com> wrote:
On Fri, 08 Nov 2019 12:20:44 -0800, John Larkin wrote:
On Fri, 8 Nov 2019 11:43:08 -0800 (PST), edward.ming.lee@gmail.com
wrote:
On Friday, November 8, 2019 at 11:09:04 AM UTC-8, John Larkin wrote:
We're planning a new universal boot loader for a family of ST
processors. The uP would host the loader in a bit of local flash and
read an outboard serial flash to get the specific application code and
one or more FPGA configurations.
So, how many config bits might there be for a modern mid-range FPGA
doing a moderately complex application?
Page 21:
https://www.xilinx.com/support/documentation/user_guides/ug570-
ultrascale-configuration.pdf
I was just wondering what sort of config file sizes people were really
seeing. Maybe compressed, too.
Looks like a 1 or 2 Gbit serial flash is cheap nowadays. I can imagine
storing maybe four configs in the flash chip.
The built-in bitstream compression merely reuses indentical configuration
frames. This gives good results on an empty FPGA, but poor results on a
moderately utilised one.
We use gzip -9 here. From this thread on the Xilinx forum,
https://forums.xilinx.com/t5/FPGA-Configuration/Complete-reconfiguration-
with-GZip-ed-bitstream/m-p/667837#M4437
I can see that this gives a compression ranging from 28:1 to 2.8:1, but
usually about 3.8 : 1 for a typical FPGA.
Please note that ungzipping is only possible in software. You will not
be able to use that method if configuring an FPGA directly from a PROM.
Regards,
Allan
I did a little compression thing, file compressor in PowerBasic and
unpacker in assembly, based on finding runs of 1s or 0s. Typical
compression was 2:1 or better, and the decoder was small and very
fast. It configured most FPGAs faster than the un-compressed version,
because the 1-or-0 unpack bursts were the tightest possible loops.
I wouldn't use that again, because an ARM with hardware SPI or QSPI
interfaces, from serial flash and to the FPGA config pins, would
probably be faster.
if you don't do you own compression you don't even need to handle the data
just put the DIN,CCLK on the fpga in parallel with the dout and sclk
on the flash
Give the flash a start address and read command, pulse program on the fpga
and run the spi clk as fast as the flash/fpga an take it, ignoring the data