Making lpgbt_vers_i a generic and use generate to instance different (V0,V1) lpGBT logic ?
Dear Developers,
INTRODUCTION
In BCP we use the Ruckus (SLAC) to building a FW project and compile.
On Vivado this software is flagging as ERROR a signal that is used in a process as inputs but not declared into the sensitivity list. https://github.com/slaclab/ruckus/blob/995711841c198c9eb539aaa00676152e5ac5c4d5/vivado/messages.tcl#L105 . Note that this is not Vivado default and this is the reason most people might not see this as an issue.
We like this software feature as in general is a good strategy for high speed designs to declare all inputs into the sensitivity list. In Ruckus GUI mode this Messages id (Synth 8-614) does not stop the compilation. However it does in the non-gui mode (of Ruckus)/ Also this is the only "ERROR" we get from the entire project (we pull from a number of submodules too).
THE ISSUE
The "ERROR" is printed as: [Synth 8-614] signal 'lpgbt_vers_i' is read in the process but is not in the sensitivity list ["/home/nloukas/Desktop/bcpd_test_beams/submodules/gbt-sc/GBT-SC/IC/ic_tx.vhd":127] . This is pointing to this process https://gitlab.cern.ch/gbtsc-fpga-support/gbt-sc/-/blob/master/GBT-SC/IC/ic_tx.vhd#L127 and this signal https://gitlab.cern.ch/gbtsc-fpga-support/gbt-sc/-/blob/master/GBT-SC/IC/ic_tx.vhd#L133 . This signal goes all the way to the top where in our case is tight to '1' as we use FEs equipped with lpGBT V1.
REQUEST
Could you change "lpgbt_vers_i" signal to a generic and use generate to instantiate a process for either V1 or V0 lpGBTs ? I would guess that no one will ever change lpGBT version on the fly so no reason to have is as an input to a process.
Thanks, Nikitas.