Proposed new database and versioning system for AMC13 firmware.

Version numbers

Currently we have many AMC13FirmwareFlavors each with their own range of version numbers. The version number must fit in a 16-bit field in a register. The range from about 0x8200-0xff00 is currently unused, so we propose the following re-definition of the 16-bit field:

Bits Range Use
15   Fixed '1'
14-11 1-15 Firmware flavor, see below. 0 not used
10   Reserved '0'
9   Reserved '0'
8-0 1-511 Revision

The 15 firmware flavors are tentatively assigned as follows for the Kintex-7 (T1) FPGA.

Flavor Old Numbering Use
0   Not used
1 0x0200 general CMS use, 3 x 5Gb/s DAQ links
2 0x2000 general CMS use, 3 x 10Gb/s DAQ links
3 0x4000 HCAL CMS use, 2 x 5Gb/s DAQ links plus local trigger
4 0x6000 HCAL CMS use, 2 x 10Gb/s DAQ links plus local trigger
5 0x8000 Fermilab g-2 use, up to 3 x 10Gb/s Ethernet links
6 0x1000 Test AMC data generator
7 n/a T2 for XC6SLX25
8 n/a T2 for XC6SLX45
9-15 - Reserved

The revisions will start from an arbitrary value, probably 1 and increment for each release after transition to the new system. These release numbers will correspond to releases of the source code in SVN.

The Spartan-6 (T2) FPGA firmware follow it's own version numbering scheme as before.


A simple database will keep track of the revisions and contain the following information for each firmware release.

Releases table

This table contains one row for each release of the firmware.

Column Type Description
ID int Unique ID for row
svn_tag Text SVN repository tag specifier for this revision
revision Int 9 bit revision number
notes Text Description of changes since last release

Flavors table

This table contains one row for each defined firmware flavor. It is rarely updated.

Column Type Description
ID int Unique ID for row
flavor int Flavor 1-15
name text Description

Files table

This table contains one row for each file attached to a release

Column Type Description
ID int Unique ID for row
release_id int ID for the release this file goes with
version int16 16-bit encoded version number per above scheme
flavor_num int flavor for the flavor of this file or 0 for non-firmware files
notes text release or file-specific notes
name text file name
URL text URL to file if online

-- EricHazen - 17 Feb 2016

Edit | Attach | Watch | Print version | History: r5 < r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r2 - 08 Mar 2016 - EricHazen
  • Edit
  • Attach
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2019 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback