Flash Layout
All Flash memory programming is done with the Spartan (T2). From T2 firmware version 0x6 onward, the flash memory is organized as follows:
Address |
Flash Sector |
0x000000 |
header |
0x80000 |
Spartan "golden" backup for lx45t chips |
0x100000 |
Spartan "golden" backup for lx25t chips |
0x200000 |
Spartan |
0x400000 |
Virtex/Kintex |
Firmware Files
See
AMC13Firmware page for current firmware releases.
Flash Programming Instructions
1. Instructions on how to update your AMC13 firmware using the
xDAQ C++ AMC13Tool executable are
here
2. Instructions on how to program your AMC13 from a bit file using a
Xilinx JTAG cable are below:
- NOTE: You generally should not have to program via JTAG unless your firmware has become corrupted and the AMC13 software can no longer talk to your module. If this is not the case and you can in fact communicate with your AMC13, please use the Python/C++ tools and follow the directions at the above links
- Running iMPACT
- If you have successfully installed iMPACT as well as "libusb" and "fxload" (see installation instructions above if not!), try and run the LabTools software.
- Set the environment and start the program
$ source <LabToolsInstallationDir>/14.4/LabTools/settings64.[c]sh
$ export LD_LIBRARY_PATH=<libusbSharedLibDir>:$LD_LIBRARY_PATH
$ impact
- Double click on the Boundary Scan icon in the "iMPACT Flows" sub-window
- Right click on the large sub-window and select initialize chain If your device is successfully identified, then you are ready to follow the instructions below and program your AMC13's flash memory from JTAG.
- iMPACT Troubleshooting
- If your device is not successfully identified per the above Running iMPACT instructions, see the following links for troubleshooting assistance
- Configure FPGA using iMPACT
- Download the following bit file to your computer (in a known, accessible location):
- Connect your JTAG cable to the bottom-most of the two 10-pin, rectangular, male sockets on the front panel of your AMC13. Note that "pin 1" is in the upper left-hand corner of the connector
- Once your JTAG cable is connected, open the IMPACT software (see iMPACT Installation for installation instructions and Running iMPACT for startup instructions) on the computer which is connected to your JTAG cable
- The software will prompt you about loading past projects and creating new ones. Just say no/cancel to all of these opions.
- Once the main window for IMPACT is up, click on the Boundary Scan icon in the "iMPACT Flows" sub-window.
- Once you have done this, right click on the large sub-window and select initialize chain
- A window will then pop up asking you to assign configuration files. Cancel out of this.
- Make sure that at the bottom of your large sub-window, there is a blue rectangle which reads "Identify Succeeded". Also, you should now see a graphic (in this same sub-window) of both the Virtex and Spartan chips in your AMC13
- We want to program the Spartan chip! Right click on the graphic of the Spartan chip and select assign new configuration file
- This should open a file browser on your computer. Find and select the bit file that you downloaded at the start of this process.
- Once you have done this, click program and select ok
- The bit file is loaded very quickly, so don't be alarmed if it seems like nothing happened.
- Your Spartan chip should now be at firmware version 0x6. Do not cycle the power at this point.
- Use either AMC13Tool.exe in the C++ software or p_flash.py in the Python software to update the flash for your Spartan and Virtex chips. You should program all 4 flash images (
AMC13T2Header
, AMC13T2Golden
, AMC13T2Vxxxxx.mcs
and AMC13T2Vxxxxx.mcs
). After this last step is complete you should cycle the power and check that your versions are now the latest ones.
- Program FLASH using iMPACT
- Download the desired MCS file
to your computer (in a known, accessible location)
- Connect your JTAG cable to the bottom-most of the two 10-pin, rectangular, male sockets on the front panel of your AMC13. Note that "pin 1" is in the upper left-hand corner of the connector
- Once your JTAG cable is connected, open the IMPACT software (see iMPACT Installation for installation instructions and Running iMPACT for startup instructions) on the computer which is connected to your JTAG cable
- The software will prompt you about loading past projects and creating new ones. Just say no/cancel to all of these opions.
- Once the main window for IMPACT is up, click on the Boundary Scan icon in the "iMPACT Flows" sub-window.
- Once you have done this, right click on the large sub-window and select initialize chain
- Right click on the "SPI/BPI Device" dotted box and select "Add SPI/BPI Flash"
- In the file browser dialogue box, select the MCS file you want to program to FLASH
- In the "Select Attached SPI/BPI" dialogue box, select "SPI PROM" in the first pull down box and M25P128 in the second dialogue box (use M25P32 for TTT board!), then hit OK
- Right click on the new FLASH box attached to your FPGA in the large sub-window's diagram and select "Program"
- This process may take quite a long time, so be patient. The large sub-window will let you know whether the FLASH program was successfull or problematic
--
JimRohlf - 26 May 2012