Skip to content

Fix the bug where firmware with GBT_NUM>4 fails to synthesize

Elena Zhivun requested to merge rm4.10_strips into master

When GBT_NUM>4 in a tcl build script, Vivado fails to elaborate strips_phase1_unknown_mapping module.

Even though this module is excluded from the build by an if-generate statement, Vivado still elaborates all parameterized versions of this module regardless. The elaboration fails when GBTid > 3 because the register map only includes the configuration for the first four GBT links. (The remaining Strips registers were excluded due to the >300% BRAM use issue that arises when all 24 strips links are included.)

The merge also:

  • makes the build scripts select correct constrains for strips builds depending on the number of channels used
  • suppressed warnings in lcb_mux module due to non-synthesizable assert statement
  • suppresses erroneous critical warnings for uncommitted git changes for wrong file access modes when building on Windows OS. This happens because git reads them all as 755 on Windows file systems and that doesn't match with the actual committed files.

Merge request reports