Module Testing basics

Contact fravera@fnalNOSPAMPLEASE.gov, jennetd@fnalNOSPAMPLEASE.gov, izoi@fnalNOSPAMPLEASE.gov with questions

For the BurnIn Box instructions: BurnInBox For details specific to 2S or PS modules check the respective Twiki (TO BE UPDATED).

Configure the FC7

Go to the Ph2_ACF area or install a new Ph2_ACF version. We are using the Dev branch of https://gitlab.cern.ch/cms_tk_ph2/Ph2_ACF. Check the dedicate website for updated installation instructions but briefly the main steps to be executed in the lenny01 Programming directory are:

$> git clone --recurse-submodules https://gitlab.cern.ch/cms_tk_ph2/Ph2_ACF.git # N.B. to syncrhonize only the submodule: `git submodule sync; git submodule update --init --recursive --remote`
 $> cd Ph2_ACF
 $> source setup.sh
 $> mkdir build 
 $> cd build 
 $> cmake3 .. # add -DCMAKE_BUILD_TYPE=Debug if you plan to use gdb for debugging

cd /home/modtest/Programming/Ph2_ACF  # change the directory accordingly
source setup.sh 

Make sure you can ping the FC7. If you don't know the IP address check in the /etc/ethers file.

ping 192.168.0.12

If not already don, insert the correct machine and IP address in the xml file located in the settings directory that you are going to use.

    <connection id="board" uri="localhost://192.168.0.12:50001" address_table="file://settings/address_tables/uDTC_OT_address_table.xml" />

List firmware on SD card:

[modtest@lenny01 Ph2_ACF]$ fpgaconfig -c settings/MyXML.xml -l

To load a new firmware: The firmware are stored in https://udtc-ot-firmware.web.cern.ch/. Be sure the version you are downloading is compatible with the code version you are using, the module type, the CIC version etc.

[modtest@lenny01 Ph2_ACF_LpGBT]$ fpgaconfig -c settings/MyXML.xml -f PATH_TO_FILE -i FW_NICKNAME
[modtest@lenny01 Ph2_ACF_LpGBT]$ fpgaconfig -c settings/MyXML.xml -i FW_NICKNAME

To load an existing firmware just use the second line above.

Blue light on FC7 blinks at 1Hz if firmware loaded properly.

Run a test

 cd /home/modtest/Programming/Ph2_ACF
source setup.sh 

Be sure that the settings/MyXML.xml has the right CIC version, module type, master patch, lpgbt version etc etc in it. The first time you run on a module (assuming it has the LV on) you need to reconfigure it:

ot_module_test -f settings/MyXML.xml   --reconfigure

Run the usual noise test (if you already reconfigured the module you can remove the --reconfigure option to be faster):

ot_module_test -f settings/MyXML.xml   --reconfigure -b -m -a -t

The options are:

  • -b to run in batch → no canvases popping up
  • -t to do the trimming
  • -a to run on all channels at once (important for PS modules to speed up the measurement)
  • -m to measure the noise with the s-curves

A descritpion of what to check in the terminal printout and output fiel to be added.

To run an injection test (to properly see the noise also disable the s-curve fit option):

1) Check the latency, enlarge the

 LatencyRange 
in the xml e.g. to 150
ot_module_test -f settings/2S_Module_KITleft.xml --scanL1 
and check the latency map to find the value to put in the xml (199)

2) In the xml: set the latency of each hybrid to the value found above (199), uncomment the line with

 PedeNoisePulseAmplitude 

3) run with the usal command

ot_module_test -f settings/MyXML.xml   --reconfigure -m

Trouble shooting

  • Things to check while reconfiguring: all chips fine? both CICs configured properly?

  • Things to check while trimming: different chips have different (but similar) pedestal values, pedestal should not be zero nor the maximum available value. Is the pedestal distribution narrow?

  • Things to check while measuring the noise: Are the scurve reasonable? Is the noise as expected?

  • LpGBT not locking: reload the firmware, check the optical fiber connection, clean the optical fiber, if switching lpgbt version or similar changes try to reconfigure the cdce (REMEMBER to set it back to 0 afterwards)

  • Symptom of a wrong firmware
D19cOpticalInterface::Read -- Corrupted CPB reply
terminate called after throwing an instance of 'std::runtime_error'
  what():  D19cOpticalInterface::Read -- Corrupted CPB reply
Aborted (core dumped)

  • You possibly have the wrong
    trigger_source
    in the xml. For the trimming & noise measurement it should be 3.

[...]
 D19cL1ReadoutInterface timed-out while waiting for trigger FSM...[ReadoutAttempt#9]
02.12.2022 16:05:58: |140527162002880|I| D19cL1ReadoutInterface::ReadEvents.. took 10 attempts to readout L1 data.
02.12.2022 16:05:58: |140527162002880|I| Failed to ReadNEvents
terminate called after throwing an instance of 'Exception'
  what():  Failed to ReadNEvents....
Aborted (core dumped)
Edit | Attach | Watch | Print version | History: r4 < r3 < r2 < r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r4 - 2022-12-13 - IreneZoi
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    Sandbox All webs login

This site is powered by the TWiki collaboration platform Powered by PerlCopyright & 2008-2023 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
or Ideas, requests, problems regarding TWiki? use Discourse or Send feedback