Useful Links
Firmware Files
iMPACT Installation
Running iMPACT
iMPACT Troubleshooting
amc13T2v0x19.bit (LX25T only)

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

The best procedure to follow depends on why you are trying to program the flash on your AMC13. If you just want to update to the latest version, follow these instructions: AMC13Tool2Recipes#UpdateFirmware

If you suspect that the flash memory has somehow been corrupted and the board doesn't respond, there are a couple of possible causes and various solutions. If you can ping the T2 address at least (see IPaddressAssignment) then try using AMC13ToolFlash.

If both of those fail, maybe you don't actually know the IP address of your module? It can be set in various ways, including a RARP daemon and via the EEPROM on the MMC. This was mandated by CMS and can result in a difficult recovery situation.

Anyway, if you can't talk to your module and want to attempt recovery using JTAG, read on...

  • 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.
      1. Set the environment and start the program
                 $ source <LabToolsInstallationDir>/14.4/LabTools/settings64.[c]sh
                 $ export LD_LIBRARY_PATH=<libusbSharedLibDir>:$LD_LIBRARY_PATH
                 $ impact
                 
      2. Double click on the Boundary Scan icon in the "iMPACT Flows" sub-window
      3. 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. NOTE Newer versions of iMPACT may not have a iMPACT Flows window with Boundary Scan opened by default. Another way to start in this case is to start a new project (File -> New Project) and doing a boundary scan through there

  • Configure FPGA using iMPACT
    1. Download the following bit file to your computer (in a known, accessible location):
    2. 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
    3. 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
    4. The software will prompt you about loading past projects and creating new ones. Just say no/cancel to all of these opions.
    5. Once the main window for IMPACT is up, click on the Boundary Scan icon in the "iMPACT Flows" sub-window.
    6. Once you have done this, right click on the large sub-window and select initialize chain
    7. A window will then pop up asking you to assign configuration files. Cancel out of this.
    8. 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
    9. We want to program the Spartan chip! Right click on the graphic of the Spartan chip and select assign new configuration file
    10. This should open a file browser on your computer. Find and select the bit file that you downloaded at the start of this process.
    11. Once you have done this, click program and select ok
    12. The bit file is loaded very quickly, so don't be alarmed if it seems like nothing happened.
    13. Your Spartan chip should now be at firmware version 0x6. Do not cycle the power at this point.
    14. Use either AMC13Tool.exe in the C++ software or AMC13ToolFlash in the AMC13 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
    1. Download the desired MCS file to your computer (in a known, accessible location)
    2. 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
    3. 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
    4. The software will prompt you about loading past projects and creating new ones. Just say no/cancel to all of these opions.
    5. Once the main window for IMPACT is up, click on the Boundary Scan icon in the "iMPACT Flows" sub-window.
    6. Once you have done this, right click on the large sub-window and select initialize chain
    7. Right click on the "SPI/BPI Device" dotted box and select "Add SPI/BPI Flash"
    8. In the file browser dialogue box, select the MCS file you want to program to FLASH
    9. 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
    10. Right click on the new FLASH box attached to your FPGA in the large sub-window's diagram and select "Program"
    11. 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

Edit | Attach | Watch | Print version | History: r23 < r22 < r21 < r20 < r19 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r21 - 16 Sep 2015 - EricHazen
 
  • Edit
  • Attach
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2018 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback