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-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

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

-- EricHazen - 17 Feb 2016

This topic: BUCMSPublic > WebHome > HcalDTC > AMC13FirmwareDatabaseDevelopment
Topic revision: r1 - 17 Feb 2016 - EricHazen
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2021 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback