All Flash memory programming is done with the Spartan (T2). From T2 firmware v6 onward, the flash memory is organized as follows:
address |
|
0x000000 |
header |
0x100000 |
Spartan "golden" backup |
0x200000 |
Spartan |
0x400000 |
Virtex |
The flash programming may be verified against the mcs files (which must be locally available) with
AMC13Tool with the following commands:
- vfh (verify flash header)
- vbs (verify backup spartan)
- vs (verify spartan)
- vv (verify virtex)
The flash may be programmed (mcs files must be locally available) with
AMC13Tool with the following commands:
- PFH (Program Flash Header)
- PBS (Program Backup Spartan)
- PS (Program Spartan)
- PV (Program Virtex)
The FPGAs (both Spartan and Virtex) may be configured from the flash contents by issuing the software command in
AMC13Tool:
This command writes 0x100 into address 0x0 of the Spartan. The C++ command is:
- amc13.writeAddress(amc13.spartan,0x0, 0x100)
The firmware versions of the Spartand and Virtex may be read with
AMC13Tool with the command:
This command reads address 0x0 of the Spartan and 0x0 of the Virtex:
- amc13.readAddress(amc13.spartan,0x0)
- amc13.readAddress(amc13.virtex,0x0)
The upper two bytes contain the AMC13 serial number and the lower two bytes contain the firmware version number.
--
JimRohlf - 26 May 2012