Gateware versions
Project types
There are three types of gateware:
- release
- provides the intended functionality of CONV-TTL-BLO
- golden
- fallback version in case MultiBoot fails
- test
- for long-term testing in the lab
Release projects in particular use the MultiBoot feature implemented on Xilinx Spartan-6 FPGAs. This means that there are two bitstreams on the CONV-TTL-BLO flash chips, a golden version and (normally) a latest release version.
Preparing a bitstream containing the golden bitstream for MultiBoot
To prepare a bitstream containing both the golden and the release bitstream for download directly to the flash using, e.g. Xilinx iMPACT, use the catbstream.py script, which can be found under the software/* folder of the main repository.
Gateware version
The gateware version number can be read from the GWVERS field of the status register (SR) at address 0x4 for all gatewares except the communication test gateware (regtest). The GWVERS field (SR[7:0]) is defined as follows:
- SR[7:4] gateware version major number (e.g., 1.0, 2.0, 3.0, ..., 15.0)
- SR[3:0] gateware version minor number (e.g., 1.0, 1.1, 1.2, ..., 1.15)
Some possible values for the gateware version major number:
- 0 -- denotes golden gateware (v0.0, v0.1, etc.), the fallback bitstream in case of MultiBoot error
- 1/2/3 -- major releases of the application bistream after MultiBoot success
- 15 -- test gateware
Note that* since the regtest gateware contains a RAM filling up the entire addressing space, the GWVERS field does not contain a valid number. To identify a board programmed with this gateware, read the other fields of the SR. If they are all zeroes, the programmed gateware is a register test gateware.
Golden gateware
Version | Date | Information |
0.0 | 15-04-2014 | Golden bitstream for fallback in case of MultiBoot error |
0.1 | 25-04-2014 | Adds glitch filter which was missing from previous golden gateware release |
Release gateware
Version | Date | Information |
1.0 | 07-01-2014 | First release, basic pulse repetition and remote reprogramming via I2C |
2.0 | 10-03-2014 | Second release, adding diagnostics support |
2.1 | 09-04-2014 | Pulling down the pulse repeat frequency to 1/200 and adding rolling tag buffer for pulse timetags |
2.2 | 15-04-2014 | Fixes a bug in the pulse repetition logic |
Test gateware
Version | Date | Information |
15.15 | 07-01-2014 | Pulse repetition test |
regtest | 07-01-2014 | I2C communication test |
Theodor-Adrian Stana, May 2014