wiki:HCALngFEC_FirmwareChanges2017

Version 4 (modified by Eric Hazen, 7 years ago) (diff)

--

2017-09-29 (hazen)

Looking at Stephen's e-mail of 2017-09-29:

However, I did want to make sure you were up to date on the changes to the GBT bits to handle the half bit rate.

Basically, the “secondary” bits which occupied the odd numbered bits in the GBT Frame are now the falling edges for the primary (and only) bits. This allows a 40 MHz signal to be encoded in the 20 MHz GBT Frame. This is basically the way the GBTx ASIC handles 80 MHz signals from a 40 MHz Frame.

The way I handle this in the ngCCM is in the VHDL files Igloo2_Data_Up_Half.vhd and Igloo2_Data_Down_Half.vhd. They can be compared to Igloo2_Data_Up.vhd/Igloo2_Data_Up_Sync.vhd and Igloo2_Data_Down.vhd/Igloo2_Data_Down_GF.vhd which are used in Full bit rate mode.

The latest code can be found here (SVN link)

The GBT frame bit definition (which I just updated) can be found here: HEHB_ngCCM_Half_Speed_GBT_Bits_v4.xlsx

The bit mapping happens in a function GBT_Word_to_ngCCM_Pins in ngCCM_package.vhd plus the reverse function GBT_Word_to_ngCCM_Pins.

Superficially it seems as if one can just edit these functions per Stephen's spreadsheet.