Changes between Version 4 and Version 5 of HardwareUsersGuides/WARPv3/FPGAConfig


Ignore:
Timestamp:
Aug 25, 2012, 9:49:51 PM (12 years ago)
Author:
murphpo
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • HardwareUsersGuides/WARPv3/FPGAConfig

    v4 v5  
    5353 * The '''ERR''' LED (D18) will illuminate if an error is detected during configuration. The most likely cause of errors is an invalid FPGA configuration bitstream stored in the SPI flash.
    5454
    55 === Programming the SPI Flash ===
    56 The SPI flash is programmed via iMPACT. Programming the SPI flash requires two steps- generating the PROM file and writing the PROM file to the flash.
    5755
    58 The PROM programming file (.mcs file) can be generated via the iMPACT GUI or with the promgen command.
    59 
    60 '''To generate the PROM programming file via the iMPACT GUI:'''
    61  1. Open iMPACT and start the '''Create PROM File''' flow
    62  1. In the PROM File Formatter window:
    63   1. Set '''Storage Target''' to '''SPI Flash -> Configure Single FPGA'''
    64   1. Click the first green arrow
    65   1. Set '''Storage Device''' to '''128M'''
    66   1. Click '''Add Storage Device''', then click the second green arrow
    67   1. Change the '''Output File Name''' and '''Output File Location''' to your preferred path
    68   1. Set '''File Format''' to '''MCS''' and '''Add Non-Configuration Data Files''' to '''No'''
    69   1. Click '''OK'''
    70  1. Click '''OK''' in the Add Device dialog box
    71  1. Select your desired FPGA configuration .bit file
    72  1. Click '''No''' when prompted to add another device file, then click '''OK''' to continue
    73  1. Right-click in the iMPACT window and choose '''Generate File'''
    74 
    75 '''To generate the PROM programming file via promgen:'''
    76  1. Launch a Xilinx command prompt
    77  1. Navigate to the folder with your .bit file
    78  1. Run:
    79 {{{
    80 promgen -spi -p mcs -c FF -s 131072 -u 0 <your .bit file name> -o <new .mcs file name>
    81 }}}
    82 
    83 '''To write the .mcs file to the SPI flash:'''
    84  1. Connect a programming cable to the FPGA JTAG connector (J14)
    85  1. Run iMPACT (if not already open) and start the '''Boundary Scan''' flow
    86  1. Right-click and choose '''Initialize Chain'''
    87  1. Click '''OK''' in the Device Programming Properties window
    88  1. Right-click on the FPGA icon and select '''Add BPI/SPI Flash'''
    89  1. Select your .mcs file
    90  1. The Select Attached SPI/BPI window will show. Choose '''SPI PROM''' model '''M25P128''', data width 1.
    91  1. Right-click on the Flash icon (''not'' the FPGA icon) and choose '''Program'''
    92  1. Confirm '''Design-Specific Erase Before Programming''' is checked
    93  1. Optionally un-check '''Verify'''; verification increases the programming time, and we've never seen a verification error
    94  1. Click '''OK'''
    95 
    96 iMPACT will now begin writing your .mcs file to the SPI flash. This process is slow, typically requiring 3+ minutes. Watch the iMPACT GUI and console for status and error messages.
    97 
    98 When the programming process completes the FPGA will initiate a configuration cycle from the flash. You will see the green '''STAT''' LED glow at half intensity as the FPGA reads the configuration file. The LED will illuminate fully when configuration completes.
    99 
    100 === Configuration Clock Frequency ===
    101 The FPGA uses Master SPI mode when loading a bitstream from the SPI flash. In this mode the FPGA generates the configuration clock signal and drives it to the CCLK pin. The CCLK pin is routed to the SPI serial clock input. A faster CCLK will result in a faster configuration process.
    102 
    103 The CCLK frequency is specified in the .bit file and is preserved when generating the .mcs file (as described above). You can change the CCLK frequency via the {{{-g ConfigRate}}} bitgen option. We have successfully tested CCLK frequencies up to 33MHz. Higher frequencies will sometimes work. However the FPGA-generated CCLK frequency is specified as ±55%, so higher nominal frequencies may violate the SPI flash max frequency of 54MHz.
    104 
    105 To set the CCLK frequency to 33MHz:
    106  * ISE: open the Generate Programming File properties and change Configuration Options -> ConfigRate to 33.
    107  * XPS: edit Project -> bitgen.ut, add a line:
    108 {{{
    109 -g ConfigRate:33
    110 }}}
    111 
    112 You will need to re-generate the .mcs file and re-program the SPI flash if you change the CCLK frequency.
    11356
    11457----