Updating default data transmission values in configs
Noticed that the default config that is auto-generated by YARR currently assumes 4x4 firmware, and has CmlBias0/1 at 500 and 0.
I would propose we switch to assume 16x1 as the default, as that's more common these days I believe, and also default to values of CmlBias0/1 800/400. Even though the use case for these configs is SCCs, I would stick with the module QC values for consistency, and on ITkPixV2 we definitely need pre-emphasis.
Merge request reports
Activity
added 237 commits
-
b3a923c8...763e5935 - 236 commits from branch
devel
- 33a8405c - Merge branch 'devel' of https://gitlab.cern.ch/YARR/YARR into mironova-config-defaults
-
b3a923c8...763e5935 - 236 commits from branch
added 14 commits
-
33a8405c...e81e70b9 - 12 commits from branch
devel
- a8eea7fb - Merge branch 'devel' of https://gitlab.cern.ch/YARR/YARR into mironova-config-defaults
- 1f772534 - Updating also RD53A
-
33a8405c...e81e70b9 - 12 commits from branch
Now also updated RD53A to assume 16x1 FW for consistency, left the CmlBias values as they are (we don't really test on RD53A anymore anyways).
@theim can you double-check I've modified correctly
OutputActiveLanes
andCmlEn
for RD53A (assuming 16x1 FW), and then merge when you're happy?mentioned in commit 65d4f9c4
343 343 SerSelOut1.init ( 107, &m_cfg[ 107], 2, 2, 1); regMap["SerSelOut1"] = &Itkpixv2GlobalCfg::SerSelOut1; 344 344 SerSelOut0.init ( 107, &m_cfg[ 107], 0, 2, 1); regMap["SerSelOut0"] = &Itkpixv2GlobalCfg::SerSelOut0; 345 345 //108 346 SerInvTap.init ( 108, &m_cfg[ 108], 6, 2, 0); regMap["SerInvTap"] = &Itkpixv2GlobalCfg::SerInvTap; 347 SerEnTap.init ( 108, &m_cfg[ 108], 4, 2, 0); regMap["SerEnTap"] = &Itkpixv2GlobalCfg::SerEnTap; 348 SerEnLane.init ( 108, &m_cfg[ 108], 0, 4, 15); regMap["SerEnLane"] = &Itkpixv2GlobalCfg::SerEnLane; 346 SerInvTap.init ( 108, &m_cfg[ 108], 6, 2, 1); regMap["SerInvTap"] = &Itkpixv2GlobalCfg::SerInvTap; 347 SerEnTap.init ( 108, &m_cfg[ 108], 4, 2, 1); regMap["SerEnTap"] = &Itkpixv2GlobalCfg::SerEnTap; 348 SerEnLane.init ( 108, &m_cfg[ 108], 0, 4, 8); regMap["SerEnLane"] = &Itkpixv2GlobalCfg::SerEnLane; Is
SerEnLane = 8
needed for data transmission reasons or so? Because the connectivity scan tool works only if this is set to 15. If 8 is the better default I can set this to 15 in the connectivity scan.DataMergeOutMux3 = 0
i.e. with one active aurora lane, the data should be sent on the physical 4th data output, henceSerEnLane = 8
should be correct. I believe this is correct for a SCC.However for a quad we might be using a different physical output for lane 0, in that case SerEnLane would have to be different as well. Do we change that in the db tool that generates the config?
In the QC database tool we set
DataMergeOutMux
andSerEnLane
depending on the layer setting of the module. TheSerEnLane
is 4/1/8/1 for the chips 1/2/3/4 on a quad.However, my comment above was regarding the case of running the connectivity scan tool where one doesn't have any connectivity config and would rely on the default configs as much as possible.
I put
SerEnLane:8
because that would make the most sense for an SCC that is being read out on one lane. My understanding was that if we setSerEnLane:15
on an SCC read out with 16x1 FW, we just get the same data on all four lanes, which would cause data transmission issues when running scans, but I might be wrong.