Trenz Electronic GmbH Support Forum

Trenz Electronic Products => Trenz Electronic FPGA Modules => Topic started by: niko on October 15, 2012, 12:39:03 PM

Title: Gigabee Flasing options
Post by: niko on October 15, 2012, 12:39:03 PM
Dear all,

it seems that I can flash my Gigabee module only with x1 SPI. If I select x4 before programming, IMPACT (Version O.61xd) tells me, that the MCS file was not created for x4 SPI. Anyhow, it seems I cannot create x4 files. Has anybode a small guide on how to do it?

Background is, that flashing the board (including verify) takes about 10-15 Minutes with my Xilinx USB Cable (6 MHz TCK speed, which is maximum).

Thanks and Best Regards,
Niko.
Title: Re: Gigabee Flasing options
Post by: Ales Gorkic on October 15, 2012, 01:31:26 PM
Hi Niko,

Programming Flash via iMPACT always takes veeeery long time (what you reported).
For this reason we have developed Flashwriter project that you can do it within a minute.
It is available here
https://github.com/Trenz-Electronic/TE060X-GigaBee-Reference-Designs/tree/master/GigaBee_XPS14.2-FlashWriter

But if you want that FPGA boots in x4 mode you need to specify that in the bitgen options:
-g SPI_buswidth:4

For faster booting also apply frequency 26MHz:
-g ConfigRate:26

Best regards,

Ales

Title: Re: Gigabee Flasing options
Post by: Oleksandr Kiyenko on October 15, 2012, 01:43:24 PM
Dear Niko,
If you want to use x4 SPI boot you need to do following steps:
- Open project
- Right click on "Generate Programming File" -> "Process Properties"
- Go to "Configuration Options"
- Set "4" in "-g SPI_buswidth" "Set SPI Configuration Bus Width" row (Quad mode)
- Rerun "Generate Programming File"
- Run iMPACT to create mcs file from resulted bit file
- switch iMPACT to boundary scan mode and write mcs to flash
But this will only speed-up boot of your project from flash, not Flash programming.
As I understand you concerned about long time to indirect Flash programming, this time is long because of
- Indirect programming (to write one byte several or even hundreds bytes should be send/received by 6 MHz interface)
- Bulk erase (iMPACT use full flash erase even if only part of it should be writed) it's usually much longer than sector erase
Xilinx not provide other ways to reprogram Flash.
So if you want faster reflash, only way it's include in your project SPI core and do reflash from project (transfer data using Ethernet much faster than Xilinx cable)
Please check https://github.com/Trenz-Electronic/TE060X-GigaBee-Reference-Designs/tree/master/GigaBee_XPS14.2-FlashWriter project it can be that you want.

Best Regards
Oleksandr
Title: Re: Gigabee Flasing options
Post by: niko on October 15, 2012, 02:13:49 PM
Dear Alex,
dear Oleksandr,

thank you very much for your tips.
The generation of the x4 file worked and the board now boots much faster.
Furthermore, the download of the MCS over ethernet works nicely.
One question would remain: Is there a way to use other network address spaces for the flash downloader? In our setup, we have connected multiple gigabee modules in the 10.x.x.x range with static IP, which would mean either changing the network settings each time we want to flash, or adding another interface.

Thanks again,
Niko.
Title: Re: Gigabee Flasing options
Post by: Ales Gorkic on October 15, 2012, 02:29:50 PM
Hi Niko,

If you want to use different IP for the modules you need to change this in GigaBee_XPS14.2-FlashWriter/SDK/SDK_Workspace/flashwriter/src/main.c:
u32 myIP = QUAD_TO_IP(169,254,169,99);

The last number (99) is set random and will differ from module to module.
ARP is used to check if the selected IP is OK.

Best regards

Ales
Title: Re: Gigabee Flasing options
Post by: niko on October 15, 2012, 02:59:42 PM
Great, thanks for the info. Now I am starting to get productive!

Best Regards,
Niko.