Details

Date 28/05/2021
Location University of Bristol lab
People Stoyan Trilov

Test objective

Verify the operation of the timing firmware v5.4.0 with software packages timing v5.4.0 and timinglibs v1.1.0 (see below for source).

timing-board-firmware v5.4.0: https://gitlab.cern.ch/dune-daq/timing/timing-board-firmware/-/tags/v5.4.0, timing v5.4.0: https://github.com/DUNE-DAQ/timing/releases/tag/v5.4.0 timinglibs v1.1.0: https://github.com/DUNE-DAQ/timinglibs/releases/tag/v1.1.0

This test is broken down into several stages, where each stage tests different firmware+hardware configurations. The test setup and results for each stage are outlined below.

Overlord PC053D - 28/05/2021

Standalone FMC to check execution of master/overlord commands.

Hardware and partition configuration

The following sequence of commands successfully configured the master, and got partition 0 to running state
pdtbutler io OVERLORD_FMC reset --force-pll-cfg $TIMING_SHARE/config/etc/clock/devel/Si5344-053master_312.5_mhz-Registers.txt
pdtbutler mst OVERLORD_FMC synctime
pdtbutler mst OVERLORD_FMC part 0 configure
pdtbutler mst OVERLORD_FMC part 0 start

Partition status after commands above:

pdtbutler mst OVERLORD_FMC part 0 status

Created device OVERLORD_FMC
-----------Hardware info----------
+----------------+---------------+
|   Board type   |      fmc      |
| Board revision |    kFMCRev3   |
|    Board UID   | 0x49162b675ea |
|  Carrier type  | enclustra-a35 |
|   Design type  |    overlord   |
+----------------+---------------+

Master FW rev: 0x50400, partitions: 4, channels: 5

-- Master state---

Timestamp: 0x12028cdae7916b6 -> Fri, 28 May 2021 10:12:23 +0000

--------------Cmd gen counters--------------
+------+-----------------+-----------------+
|      | Accept counters | Reject counters |
+------+-----------------+-----------------+
| Chan |  cnts  |   hex  |  cnts  |   hex  |
+------+--------+--------+--------+--------+
|  0x0 |    0   |    0   |    0   |    0   |
|  0x1 |    0   |    0   |    0   |    0   |
|  0x2 |    0   |    0   |    0   |    0   |
|  0x3 |    0   |    0   |    0   |    0   |
|  0x4 |    0   |    0   |    0   |    0   |
+------+--------+--------+--------+--------+


=> Partition 0

---------Controls--------
+---------------+-------+
|    Register   | Value |
+---------------+-------+
|     buf_en    |  0x1  |
|   frag_mask   |   0   |
|    part_en    |  0x1  |
|  rate_ctrl_en |  0x1  |
|    run_req    |  0x1  |
| spill_gate_en |  0x1  |
|  trig_ctr_rst |   0   |
|    trig_en    |   0   |
|   trig_mask   |  0xf1 |
+---------------+-------+

--------State-------
+----------+-------+
| Register | Value |
+----------+-------+
|  buf_err |   0   |
| buf_warn |   0   |
|  in_run  |  0x1  |
| in_spill |   0   |
|  part_up |  0x1  |
|  run_int |  0x1  |
+----------+-------+

Event Counter: 0
Buffer status: OK
Buffer occupancy: 0

+-------------+-----------------+-----------------+
|             | Accept counters | Reject counters |
+-------------+-----------------+-----------------+
|     Cmd     |  cnts  |   hex  |  cnts  |   hex  |
+-------------+--------+--------+--------+--------+
|   TimeSync  |   11   |   0xb  |    0   |    0   |
|     Echo    |    0   |    0   |    0   |    0   |
|  SpillStart |    0   |    0   |    0   |    0   |
|  SpillStop  |    0   |    0   |    0   |    0   |
|   RunStart  |    1   |   0x1  |    0   |    0   |
|   RunStop   |    0   |    0   |    0   |    0   |
|   WibCalib  |    0   |    0   |    0   |    0   |
|   SSPCalib  |    0   |    0   |    0   |    0   |
|  FakeTrig0  |    0   |    0   |    0   |    0   |
|  FakeTrig1  |    0   |    0   |    0   |    0   |
|  FakeTrig2  |    0   |    0   |    0   |    0   |
|  FakeTrig3  |    0   |    0   |    0   |    0   |
|   BeamTrig  |    0   |    0   |    0   |    0   |
|  NoBeamTrig |    0   |    0   |    0   |    0   |
| ExtFakeTrig |    0   |    0   |    0   |    0   |
+-------------+--------+--------+--------+--------+

External trigger endpoint control and status

pdtbutler mst OVERLORD_FMC ext-trig ept enable
pdtbutler mst OVERLORD_FMC ext-trig enable
pdtbutler mst OVERLORD_FMC ext-trig status

Output of status command

Created device OVERLORD_FMC
-----------Hardware info----------
+----------------+---------------+
|   Board type   |      fmc      |
| Board revision |    kFMCRev3   |
|    Board UID   | 0x49162b675ea |
|  Carrier type  | enclustra-a35 |
|   Design type  |    overlord   |
+----------------+---------------+

Master FW rev: 0x50400, partitions: 4, channels: 5

--Trigger rx state--
+----------+-------+
| Register | Value |
+----------+-------+
|  ep_edge |  0x1  |
|  ep_fdel |  0x2  |
|  ep_rdy  |   0   |
|  ep_stat |  0x4  |
+----------+-------+
--Trigger rx controls--
+-------------+-------+
|   Register  | Value |
+-------------+-------+
|    ep_en    |  0x1  |
| ext_trig_en |  0x1  |
+-------------+-------+
--------Trig rx counters-------
+-------------+---------------+
|             |    Counters   |
+-------------+---------------+
|     Cmd     |  cnts |  hex  |
+-------------+-------+-------+
|   TimeSync  |   0   |   0   |
|     Echo    |   0   |   0   |
|  SpillStart |   0   |   0   |
|  SpillStop  |   0   |   0   |
|   RunStart  |   0   |   0   |
|   RunStop   |   0   |   0   |
|   WibCalib  |   0   |   0   |
|   SSPCalib  |   0   |   0   |
|  FakeTrig0  |   0   |   0   |
|  FakeTrig1  |   0   |   0   |
|  FakeTrig2  |   0   |   0   |
|  FakeTrig3  |   0   |   0   |
|   BeamTrig  |   0   |   0   |
|  NoBeamTrig |   0   |   0   |
| ExtFakeTrig |   0   |   0   |
+-------------+-------+-------+

Fake trigger configuration, and buffer readout

Configuration of fake triggers:

pdtbutler mst PRIMARY faketrig-conf 0 1

Created device OVERLORD_FMC
-----------Hardware info----------
+----------------+---------------+
|   Board type   |      fmc      |
| Board revision |    kFMCRev3   |
|    Board UID   | 0x49162b675ea |
|  Carrier type  | enclustra-a35 |
|   Design type  |    overlord   |
+----------------+---------------+

Master FW rev: 0x50400, partitions: 4, channels: 5
2021-May-28 10:23:50,129 LOG [dunedaq::timing::FakeTriggerConfig::print(...) at /projects/HEP_Instrumentation/st15719/dune/daq_250/hsi/sourcecode/timing/include/timing/FLCmdGeneratorNode.hpp:67] Requested rate, actual rate: 1, 0.998612
2021-May-28 10:23:50,133 LOG [dunedaq::timing::FakeTriggerConfig::print(...) at /projects/HEP_Instrumentation/st15719/dune/daq_250/hsi/sourcecode/timing/include/timing/FLCmdGeneratorNode.hpp:68] prescale, divisor: 191, 10
2021-May-28 10:23:50,134 LOG [dunedaq::timing::PDIMasterNode::enable_fake_trigger(...) at /projects/HEP_Instrumentation/st15719/dune/daq_250/hsi/sourcecode/timing/src/PDIMasterNode.cpp:176] > Trigger rate for FakeTrig0 (0x8) set to 9.986e-01 Hz
2021-May-28 10:23:50,134 LOG [dunedaq::timing::PDIMasterNode::enable_fake_trigger(...) at /projects/HEP_Instrumentation/st15719/dune/daq_250/hsi/sourcecode/timing/src/PDIMasterNode.cpp:186] > Trigger mode: periodic

Configure partition to accept triggers

pdtbutler mst OVERLORD_FMC part 0 configure --no-spill-gate
pdtbutler mst OVERLORD_FMC part 0 start
pdtbutler mst OVERLORD_FMC part 0 trig

Status:

(dbt-pyvenv) [st15719@it018694 timing]$ pdtbutler mst OVERLORD_FMC part 0 status
Created device OVERLORD_FMC
-----------Hardware info----------
+----------------+---------------+
|   Board type   |      fmc      |
| Board revision |    kFMCRev3   |
|    Board UID   | 0x49162b675ea |
|  Carrier type  | enclustra-a35 |
|   Design type  |    overlord   |
+----------------+---------------+

Master FW rev: 0x50400, partitions: 4, channels: 5

-- Master state---

Timestamp: 0x12028d975a70d05 -> Fri, 28 May 2021 10:29:14 +0000

--------------Cmd gen counters--------------
+------+-----------------+-----------------+
|      | Accept counters | Reject counters |
+------+-----------------+-----------------+
| Chan |  cnts  |   hex  |  cnts  |   hex  |
+------+--------+--------+--------+--------+
|  0x0 |   147  |  0x93  |    0   |    0   |
|  0x1 |    0   |    0   |    0   |    0   |
|  0x2 |    0   |    0   |    0   |    0   |
|  0x3 |    0   |    0   |    0   |    0   |
|  0x4 |    0   |    0   |    0   |    0   |
+------+--------+--------+--------+--------+


=> Partition 0

---------Controls--------
+---------------+-------+
|    Register   | Value |
+---------------+-------+
|     buf_en    |  0x1  |
|   frag_mask   |   0   |
|    part_en    |  0x1  |
|  rate_ctrl_en |  0x1  |
|    run_req    |  0x1  |
| spill_gate_en |   0   |
|  trig_ctr_rst |   0   |
|    trig_en    |  0x1  |
|   trig_mask   |  0xf1 |
+---------------+-------+

--------State-------
+----------+-------+
| Register | Value |
+----------+-------+
|  buf_err |   0   |
| buf_warn |   0   |
|  in_run  |  0x1  |
| in_spill |   0   |
|  part_up |  0x1  |
|  run_int |  0x1  |
+----------+-------+

Event Counter: 4
Buffer status: OK
Buffer occupancy: 24

+-------------+-----------------+-----------------+
|             | Accept counters | Reject counters |
+-------------+-----------------+-----------------+
|     Cmd     |  cnts  |   hex  |  cnts  |   hex  |
+-------------+--------+--------+--------+--------+
|   TimeSync  |   13   |   0xd  |    0   |    0   |
|     Echo    |    0   |    0   |    0   |    0   |
|  SpillStart |    0   |    0   |    0   |    0   |
|  SpillStop  |    0   |    0   |    0   |    0   |
|   RunStart  |    1   |   0x1  |    0   |    0   |
|   RunStop   |    0   |    0   |    0   |    0   |
|   WibCalib  |    0   |    0   |    0   |    0   |
|   SSPCalib  |    0   |    0   |    0   |    0   |
|  FakeTrig0  |    4   |   0x4  |   13   |   0xd  |
|  FakeTrig1  |    0   |    0   |    0   |    0   |
|  FakeTrig2  |    0   |    0   |    0   |    0   |
|  FakeTrig3  |    0   |    0   |    0   |    0   |
|   BeamTrig  |    0   |    0   |    0   |    0   |
|  NoBeamTrig |    0   |    0   |    0   |    0   |
| ExtFakeTrig |    0   |    0   |    0   |    0   |
+-------------+--------+--------+--------+--------+

Buffer readout

(dbt-pyvenv) [st15719@it018694 timing]$ pdtbutler mst PRIMARY part 0 readback
Created device OVERLORD_FMC
-----------Hardware info----------
+----------------+---------------+
|   Board type   |      fmc      |
| Board revision |    kFMCRev3   |
|    Board UID   | 0x49162b675ea |
|  Carrier type  | enclustra-a35 |
|   Design type  |    overlord   |
+----------------+---------------+

Master FW rev: 0x50400, partitions: 4, channels: 5
Words available in readout buffer: 0x401
ev 0 - ts    : 81109707566612608 (0x12028d96b580080)
ev 1 - ts    : 81109707616944256 (0x12028d96e580080)
ev 2 - ts    : 81109707667275904 (0x12028d971580080)
ev 3 - ts    : 81109707717607552 (0x12028d974580080)
ev 4 - ts    : 81109707767939200 (0x12028d977580080)
ev 5 - ts    : 81109707818270848 (0x12028d97a580080)

Ouroboros PC053D - 28/05/2021

Standalone FMC to check execution of master/endpoint commands.

Hardware and partition control

The following sequence of commands successfully configured the master, and got partition 0 to running state
pdtbutler io PRIMARY reset
pdtbutler mst PRIMARY synctime
pdtbutler mst PRIMARY part 0 configure
pdtbutler mst PRIMARY part 0 start

Fake trigger configuration, and buffer readout

pdtbutler mst PRIMARY faketrig-conf 0 2
Created device PRIMARY
-----------Hardware info----------
+----------------+---------------+
|   Board type   |      fmc      |
| Board revision |    kFMCRev3   |
|    Board UID   | 0x49162b675ea |
|  Carrier type  | enclustra-a35 |
|   Design type  |   ouroboros   |
+----------------+---------------+

Master FW rev: 0x50400, partitions: 4, channels: 5
2021-May-28 10:44:10,397 LOG [dunedaq::timing::FakeTriggerConfig::print(...) at /projects/HEP_Instrumentation/st15719/dune/daq_250/hsi/sourcecode/timing/include/timing/FLCmdGeneratorNode.hpp:67] Requested rate, actual rate: 2, 1.99722
2021-May-28 10:44:10,401 LOG [dunedaq::timing::FakeTriggerConfig::print(...) at /projects/HEP_Instrumentation/st15719/dune/daq_250/hsi/sourcecode/timing/include/timing/FLCmdGeneratorNode.hpp:68] prescale, divisor: 191, 9
2021-May-28 10:44:10,401 LOG [dunedaq::timing::PDIMasterNode::enable_fake_trigger(...) at /projects/HEP_Instrumentation/st15719/dune/daq_250/hsi/sourcecode/timing/src/PDIMasterNode.cpp:176] > Trigger rate for FakeTrig0 (0x8) set to 1.997e+00 Hz
2021-May-28 10:44:10,401 LOG [dunedaq::timing::PDIMasterNode::enable_fake_trigger(...) at /projects/HEP_Instrumentation/st15719/dune/daq_250/hsi/sourcecode/timing/src/PDIMasterNode.cpp:186] > Trigger mode: periodic

Configure partition to accept triggers

pdtbutler mst PRIMARY part 0 configure --no-spill-gate
pdtbutler mst PRIMARY part 0 start
pdtbutler mst PRIMARY part 0 trig

Buffer readout

pdtbutler mst PRIMARY part 0 readback

Created device PRIMARY
-----------Hardware info----------
+----------------+---------------+
|   Board type   |      fmc      |
| Board revision |    kFMCRev3   |
|    Board UID   | 0x49162b675ea |
|  Carrier type  | enclustra-a35 |
|   Design type  |   ouroboros   |
+----------------+---------------+

Master FW rev: 0x50400, partitions: 4, channels: 5
Words available in readout buffer: 0xfc
ev 0 - ts    : 81109754796572800 (0x12028e46a780080)
ev 1 - ts    : 81109754821738624 (0x12028e46bf80080)
ev 2 - ts    : 81109754846904448 (0x12028e46d780080)
ev 3 - ts    : 81109754872070272 (0x12028e46ef80080)
ev 4 - ts    : 81109754897236096 (0x12028e470780080)
ev 5 - ts    : 81109754922401920 (0x12028e471f80080)

Internal endpoint control

pdtbutler ept PRIMARY 0 enable -a 1
pdtbutler ept PRIMARY 0 status

pdtbutler ept PRIMARY 0 status
Created endpoint device PRIMARY
-----------Hardware info----------
+----------------+---------------+
|   Board type   |      fmc      |
| Board revision |    kFMCRev3   |
|    Board UID   | 0x49162b675ea |
|  Carrier type  | enclustra-a35 |
|   Design type  |   ouroboros   |
+----------------+---------------+

+---------+
|    0    |
| 0x50100 |
+---------+
+------------------+---------------------------------+
|     Endpoint     |                0                |
+------------------+---------------------------------+
| State            | Ready (0x8)                     |
| Partition        | 0                               |
| Address          | 1                               |
| Timestamp        | Fri, 28 May 2021 10:48:24 +0000 |
| Timestamp (hex)  | 0x12028e6d95dbbf0               |
| EventCounter     | 0                               |
| Buffer status    | OK                              |
| Buffer occupancy | 198                             |
+------------------+---------------------------------+

--- Endpoint state ---
+------------+----------+
|  Endpoint  |    0     |
+------------+----------+
| buf_err    |   0x0    |
| buf_warn   |   0x0    |
| cdelay     |   0x0    |
| ep_rdy     |   0x1    |
| ep_rsto    |   0x0    |
| ep_stat    |   0x8    |
| fdelay     |   0x0    |
| in_run     |   0x0    |
| in_spill   |   0x0    |
| sfp_tx_dis |   0x1    |
+------------+----------+

--- Command counters ---
+--------------+----------+
|   Endpoint   |    0     |
+--------------+----------+
| TimeSync     |    13    |
| Echo         |          |
| SpillStart   |          |
| SpillStop    |          |
| RunStart     |          |
| RunStop      |          |
| WibCalib     |          |
| SSPCalib     |          |
| FakeTrig0    |    33    |
| FakeTrig1    |          |
| FakeTrig2    |          |
| FakeTrig3    |          |
| BeamTrig     |          |
| NoBeamTrig   |          |
| ExtFakeTrig  |          |
| None         |          |
+--------------+----------+

Boreas PC053D - 28/05/2021

Standalone FMC to check execution of master/hsi commands.

Hardware and partition control

The following sequence of commands successfully configured the master, and got partition 0 to running state
pdtbutler io BOREAS_FMC reset
pdtbutler mst BOREAS_FMC synctime
pdtbutler mst BOREAS_FMC part 0 configure
pdtbutler mst BOREAS_FMC part 0 start

Fake trigger configuration, and buffer readout

pdtbutler mst BOREAS_FMC faketrig-conf 0 3

Created device BOREAS_FMC
-----------Hardware info----------
+----------------+---------------+
|   Board type   |      fmc      |
| Board revision |    kFMCRev3   |
|    Board UID   | 0x49162b675ea |
|  Carrier type  | enclustra-a35 |
|   Design type  |     boreas    |
+----------------+---------------+

Master FW rev: 0x50400, partitions: 4, channels: 5
2021-May-28 10:53:13,190 LOG [dunedaq::timing::FakeTriggerConfig::print(...) at /projects/HEP_Instrumentation/st15719/dune/daq_250/hsi/sourcecode/timing/include/timing/FLCmdGeneratorNode.hpp:67] Requested rate, actual rate: 3, 3.0037
2021-May-28 10:53:13,194 LOG [dunedaq::timing::FakeTriggerConfig::print(...) at /projects/HEP_Instrumentation/st15719/dune/daq_250/hsi/sourcecode/timing/include/timing/FLCmdGeneratorNode.hpp:68] prescale, divisor: 254, 8
2021-May-28 10:53:13,194 LOG [dunedaq::timing::PDIMasterNode::enable_fake_trigger(...) at /projects/HEP_Instrumentation/st15719/dune/daq_250/hsi/sourcecode/timing/src/PDIMasterNode.cpp:176] > Trigger rate for FakeTrig0 (0x8) set to 3.004e+00 Hz
2021-May-28 10:53:13,194 LOG [dunedaq::timing::PDIMasterNode::enable_fake_trigger(...) at /projects/HEP_Instrumentation/st15719/dune/daq_250/hsi/sourcecode/timing/src/PDIMasterNode.cpp:186] > Trigger mode: periodic

Configure partition to accept triggers

pdtbutler mst BOREAS_FMC part 0 configure --no-spill-gate
pdtbutler mst BOREAS_FMC part 0 start
pdtbutler mst BOREAS_FMC part 0 trig

Buffer readout

pdtbutler mst BOREAS_FMC part 0 readback

Created device BOREAS_FMC
-----------Hardware info----------
+----------------+---------------+
|   Board type   |      fmc      |
| Board revision |    kFMCRev3   |
|    Board UID   | 0x49162b675ea |
|  Carrier type  | enclustra-a35 |
|   Design type  |     boreas    |
+----------------+---------------+

Master FW rev: 0x50400, partitions: 4, channels: 5
Words available in readout buffer: 0x114
ev 0 - ts    : 81109784602673280 (0x12028eb5b0d0080)
ev 1 - ts    : 81109784619384960 (0x12028eb5c0c0080)
ev 2 - ts    : 81109784636096640 (0x12028eb5d0b0080)
ev 3 - ts    : 81109784652808320 (0x12028eb5e0a0080)
ev 4 - ts    : 81109784669520000 (0x12028eb5f090080)
ev 5 - ts    : 81109784686231680 (0x12028eb60080080)

HSI control and buffer readout

Configure HSI including its endpoint

pdtbutler hsi BOREAS_FMC enable -a 1
pdtbutler hsi BOREAS_FMC configure -r 1024 -s 1
Created HSI device
-----------Hardware info----------
+----------------+---------------+
|   Board type   |      fmc      |
| Board revision |    kFMCRev3   |
|    Board UID   | 0x49162b675ea |
|  Carrier type  | enclustra-a35 |
|   Design type  |     boreas    |
+----------------+---------------+

HSI configured (and started)
------Endpoint summary-----
+-----------+-------------+
|  Enabled  |     0x1     |
| Partition |      0      |
|  Address  |     0x1     |
|   State   | Ready (0x8) |
+-----------+-------------+

---------HSI summary---------
+-------------------+-------+
|       Source      |  0x1  |
|      Enabled      |  0x1  |
|  Rising edge mask | 0x400 |
| Falling edge mask |   0   |
|    Invert mask    |   0   |
|   Buffer enabled  |  0x1  |
|    Buffer error   |   0   |
|   Buffer warning  |   0   |
|  Buffer occupancy |   60  |
+-------------------+-------+

Buffer readout

pdtbutler hsi BOREAS_FMC readback
Created HSI device
-----------Hardware info----------
+----------------+---------------+
|   Board type   |      fmc      |
| Board revision |    kFMCRev3   |
|    Board UID   | 0x49162b675ea |
|  Carrier type  | enclustra-a35 |
|   Design type  |     boreas    |
+----------------+---------------+

2021-May-28 10:58:47,644 WARNING [dunedaq::timing::HSINode::read_data_buffer(...) at /projects/HEP_Instrumentation/st15719/dune/daq_250/hsi/sourcecode/timing/src/HSINode.cpp:139] HSI buffer in state: WARNING
2021-May-28 10:58:47,649 ERROR [dunedaq::timing::HSINode::read_data_buffer(...) at /projects/HEP_Instrumentation/st15719/dune/daq_250/hsi/sourcecode/timing/src/HSINode.cpp:143] HSI buffer in state: ERROR
2021-May-28 10:58:47,649 ERROR [dunedaq::timing::HSINode::read_data_buffer(...) at /projects/HEP_Instrumentation/st15719/dune/daq_250/hsi/sourcecode/timing/src/HSINode.cpp:150] HSI buffer in state: OVERFLOW
------HSI buffer-----
+------+------------+
| Word |    Data    |
+------+------------+
| 0000 | 0xaa000000 |
| 0001 | 0x1f940000 |
| 0002 |  0x12028ef |
| 0003 | 0xef1f9400 |
| 0004 |    0x400   |

Overlord TLU - 28/05/2021

TLU to check execution of master/overlord commands.

Hardware and partition control

The following sequence of commands successfully configured the master, and got partition 0 to running state
pdtbutler io PROD_MASTER reset
pdtbutler mst PROD_MASTER synctime
pdtbutler mst PROD_MASTER part 0 configure
pdtbutler mst PROD_MASTER part 0 start

Fake trigger configuration, and buffer readout

pdtbutler mst PROD_MASTER faketrig-conf 0 4

Created device PROD_MASTER
-----------Hardware info-----------
+----------------+----------------+
|   Board type   |       tlu      |
| Board revision |    kTLURev1    |
|    Board UID   | 0x5410ecbba408 |
|  Carrier type  |  enclustra-a35 |
|   Design type  |    overlord    |
+----------------+----------------+

Master FW rev: 0x50400, partitions: 4, channels: 5
2021-May-28 11:16:08,983 LOG [dunedaq::timing::FakeTriggerConfig::print(...) at /projects/HEP_Instrumentation/st15719/dune/daq_250/hsi/sourcecode/timing/include/timing/FLCmdGeneratorNode.hpp:67] Requested rate, actual rate: 4, 3.99445
2021-May-28 11:16:08,991 LOG [dunedaq::timing::FakeTriggerConfig::print(...) at /projects/HEP_Instrumentation/st15719/dune/daq_250/hsi/sourcecode/timing/include/timing/FLCmdGeneratorNode.hpp:68] prescale, divisor: 191, 8
2021-May-28 11:16:08,991 LOG [dunedaq::timing::PDIMasterNode::enable_fake_trigger(...) at /projects/HEP_Instrumentation/st15719/dune/daq_250/hsi/sourcecode/timing/src/PDIMasterNode.cpp:176] > Trigger rate for FakeTrig0 (0x8) set to 3.994e+00 Hz
2021-May-28 11:16:08,991 LOG [dunedaq::timing::PDIMasterNode::enable_fake_trigger(...) at /projects/HEP_Instrumentation/st15719/dune/daq_250/hsi/sourcecode/timing/src/PDIMasterNode.cpp:186] > Trigger mode: periodic

Configure partition to accept triggers

pdtbutler mst PROD_MASTER part 0 configure --no-spill-gate
pdtbutler mst PROD_MASTER part 0 start
pdtbutler mst PROD_MASTER part 0 trig

Buffer readout

pdtbutler mst PROD_MASTER part 0 readback

Created device PROD_MASTER
-----------Hardware info-----------
+----------------+----------------+
|   Board type   |       tlu      |
| Board revision |    kTLURev1    |
|    Board UID   | 0x5410ecbba408 |
|  Carrier type  |  enclustra-a35 |
|   Design type  |    overlord    |
+----------------+----------------+

Master FW rev: 0x50400, partitions: 4, channels: 5
Words available in readout buffer: 0x1aa
ev 0 - ts    : 81109849990037632 (0x12028fa94710080)
ev 1 - ts    : 81109850002620544 (0x12028fa95310080)
ev 2 - ts    : 81109850015203456 (0x12028fa95f10080)
ev 3 - ts    : 81109850027786368 (0x12028fa96b10080)
ev 4 - ts    : 81109850040369280 (0x12028fa97710080)
ev 5 - ts    : 81109850052952192 (0x12028fa98310080)

External trigger endpoint control and status

pdtbutler mst PROD_MASTER ext-trig ept enable
pdtbutler mst PROD_MASTER ext-trig enable
pdtbutler mst PROD_MASTER ext-trig status

Output of status command

Created device PROD_MASTER
-----------Hardware info-----------
+----------------+----------------+
|   Board type   |       tlu      |
| Board revision |    kTLURev1    |
|    Board UID   | 0x5410ecbba408 |
|  Carrier type  |  enclustra-a35 |
|   Design type  |    overlord    |
+----------------+----------------+

Master FW rev: 0x50400, partitions: 4, channels: 5

--Trigger rx state--
+----------+-------+
| Register | Value |
+----------+-------+
|  ep_edge |  0x1  |
|  ep_fdel |  0x4  |
|  ep_rdy  |   0   |
|  ep_stat |  0x4  |
+----------+-------+
--Trigger rx controls--
+-------------+-------+
|   Register  | Value |
+-------------+-------+
|    ep_en    |  0x1  |
| ext_trig_en |  0x1  |
+-------------+-------+
--------Trig rx counters-------
+-------------+---------------+
|             |    Counters   |
+-------------+---------------+
|     Cmd     |  cnts |  hex  |
+-------------+-------+-------+
|   TimeSync  |   0   |   0   |
|     Echo    |   0   |   0   |
|  SpillStart |   0   |   0   |
|  SpillStop  |   0   |   0   |
|   RunStart  |   0   |   0   |
|   RunStop   |   0   |   0   |
|   WibCalib  |   0   |   0   |
|   SSPCalib  |   0   |   0   |
|  FakeTrig0  |   0   |   0   |
|  FakeTrig1  |   0   |   0   |
|  FakeTrig2  |   0   |   0   |
|  FakeTrig3  |   0   |   0   |
|   BeamTrig  |   0   |   0   |
|  NoBeamTrig |   0   |   0   |
| ExtFakeTrig |   0   |   0   |
+-------------+-------+-------+

Internal endpoint control

pdtbutler ept PROD_MASTER 0 enable -a 1
pdtbutler ept PROD_MASTER 0 status

pdtbutler ept PROD_MASTER 0 status
Created endpoint device PROD_MASTER
-----------Hardware info-----------
+----------------+----------------+
|   Board type   |       tlu      |
| Board revision |    kTLURev1    |
|    Board UID   | 0x5410ecbba408 |
|  Carrier type  |  enclustra-a35 |
|   Design type  |    overlord    |
+----------------+----------------+

+---------+
|    0    |
| 0x50100 |
+---------+
+------------------+---------------------------------+
|     Endpoint     |                0                |
+------------------+---------------------------------+
| State            | Ready (0x8)                     |
| Partition        | 0                               |
| Address          | 1                               |
| Timestamp        | Fri, 28 May 2021 11:21:21 +0000 |
| Timestamp (hex)  | 0x12028fddb2a839a               |
| EventCounter     | 0                               |
| Buffer status    | OK                              |
| Buffer occupancy | 66                              |
+------------------+---------------------------------+

--- Endpoint state ---
+------------+----------+
|  Endpoint  |    0     |
+------------+----------+
| buf_err    |   0x0    |
| buf_warn   |   0x0    |
| cdelay     |   0x0    |
| ep_rdy     |   0x1    |
| ep_rsto    |   0x0    |
| ep_stat    |   0x8    |
| fdelay     |   0x0    |
| in_run     |   0x0    |
| in_spill   |   0x0    |
| sfp_tx_dis |   0x1    |
+------------+----------+

--- Command counters ---
+--------------+----------+
|   Endpoint   |    0     |
+--------------+----------+
| TimeSync     |    2     |
| Echo         |          |
| SpillStart   |          |
| SpillStop    |          |
| RunStart     |          |
| RunStop      |          |
| WibCalib     |          |
| SSPCalib     |          |
| FakeTrig0    |    11    |
| FakeTrig1    |          |
| FakeTrig2    |          |
| FakeTrig3    |          |
| BeamTrig     |          |
| NoBeamTrig   |          |
| ExtFakeTrig  |          |
| None         |          |
+--------------+----------+

Boreas TLU - 28/05/2021

TLU to check execution of master/hsi commands.

Hardware and partition control

The following sequence of commands successfully configured the master, and got partition 0 to running state
pdtbutler io BOREAS_TLU reset
pdtbutler mst BOREAS_TLU synctime
pdtbutler mst BOREAS_TLU part 0 configure
pdtbutler mst BOREAS_TLU part 0 start

Fake trigger configuration, and buffer readout

pdtbutler mst BOREAS_TLU faketrig-conf 0 4

Created device BOREAS_TLU
-----------Hardware info-----------
+----------------+----------------+
|   Board type   |       tlu      |
| Board revision |    kTLURev1    |
|    Board UID   | 0x5410ecbba408 |
|  Carrier type  |  enclustra-a35 |
|   Design type  |     boreas     |
+----------------+----------------+

Master FW rev: 0x50400, partitions: 4, channels: 5
2021-May-28 11:24:12,433 LOG [dunedaq::timing::FakeTriggerConfig::print(...) at /projects/HEP_Instrumentation/st15719/dune/daq_250/hsi/sourcecode/timing/include/timing/FLCmdGeneratorNode.hpp:67] Requested rate, actual rate: 4, 3.99445
2021-May-28 11:24:12,442 LOG [dunedaq::timing::FakeTriggerConfig::print(...) at /projects/HEP_Instrumentation/st15719/dune/daq_250/hsi/sourcecode/timing/include/timing/FLCmdGeneratorNode.hpp:68] prescale, divisor: 191, 8
2021-May-28 11:24:12,442 LOG [dunedaq::timing::PDIMasterNode::enable_fake_trigger(...) at /projects/HEP_Instrumentation/st15719/dune/daq_250/hsi/sourcecode/timing/src/PDIMasterNode.cpp:176] > Trigger rate for FakeTrig0 (0x8) set to 3.994e+00 Hz
2021-May-28 11:24:12,442 LOG [dunedaq::timing::PDIMasterNode::enable_fake_trigger(...) at /projects/HEP_Instrumentation/st15719/dune/daq_250/hsi/sourcecode/timing/src/PDIMasterNode.cpp:186] > Trigger mode: periodic

Configure partition to accept triggers

pdtbutler mst BOREAS_TLU part 0 configure --no-spill-gate
pdtbutler mst BOREAS_TLU part 0 start
pdtbutler mst BOREAS_TLU part 0 trig

Buffer readout

pdtbutler mst BOREAS_TLU part 0 readback

Created device BOREAS_TLU
-----------Hardware info-----------
+----------------+----------------+
|   Board type   |       tlu      |
| Board revision |    kTLURev1    |
|    Board UID   | 0x5410ecbba408 |
|  Carrier type  |  enclustra-a35 |
|   Design type  |     boreas     |
+----------------+----------------+

Master FW rev: 0x50400, partitions: 4, channels: 5
Words available in readout buffer: 0x258
ev 0 - ts    : 81109874714804352 (0x120290056270080)
ev 1 - ts    : 81109874727387264 (0x120290056e70080)
ev 2 - ts    : 81109874739970176 (0x120290057a70080)
ev 3 - ts    : 81109874752553088 (0x120290058670080)
ev 4 - ts    : 81109874765136000 (0x120290059270080)
ev 5 - ts    : 81109874777718912 (0x120290059e70080)

HSI control and buffer readout

Configure HSI including its endpoint

pdtbutler hsi BOREAS_TLU enable -a 1
pdtbutler hsi BOREAS_TLU configure -r 4096 -s 1
Created HSI device
-----------Hardware info-----------
+----------------+----------------+
|   Board type   |       tlu      |
| Board revision |    kTLURev1    |
|    Board UID   | 0x5410ecbba408 |
|  Carrier type  |  enclustra-a35 |
|   Design type  |     boreas     |
+----------------+----------------+

HSI configured (and started)
------Endpoint summary-----
+-----------+-------------+
|  Enabled  |     0x1     |
| Partition |      0      |
|  Address  |      0      |
|   State   | Ready (0x8) |
+-----------+-------------+

----------HSI summary---------
+-------------------+--------+
|       Source      |   0x1  |
|      Enabled      |   0x1  |
|  Rising edge mask | 0x1000 |
| Falling edge mask |    0   |
|    Invert mask    |    0   |
|   Buffer enabled  |   0x1  |
|    Buffer error   |    0   |
|   Buffer warning  |    0   |
|  Buffer occupancy |   15   |
+-------------------+--------+

Buffer readout

pdtbutler hsi BOREAS_TLU readback
Created HSI device
-----------Hardware info-----------
+----------------+----------------+
|   Board type   |       tlu      |
| Board revision |    kTLURev1    |
|    Board UID   | 0x5410ecbba408 |
|  Carrier type  |  enclustra-a35 |
|   Design type  |     boreas     |
+----------------+----------------+

------HSI buffer-----
+------+------------+
| Word |    Data    |
+------+------------+
| 0000 | 0xaa000000 |
| 0001 | 0xa5700000 |
| 0002 |  0x1202903 |
| 0003 |  0x3a57000 |
| 0004 |   0x1000   |

Boreas TLU<->Endpoint FMC - 28/05/2021

Endpoint FMC connected to Boreas TLU to check execution of endpoint commands and endpoint delay setting. Boreas TLU in the state left after executing commands in previous section.

Hardware and endpoint control

The following sequence of commands successfully configured the endpoint
pdtbutler io EPT_0 reset
pdtbutler ept EPT_0 0 enable -a 2
pdtbutler mst BOREAS_TLU align apply-delay 2 3 4 --force
Created device BOREAS_TLU
-----------Hardware info-----------
+----------------+----------------+
|   Board type   |       tlu      |
| Board revision |    kTLURev1    |
|    Board UID   | 0x5410ecbba408 |
|  Carrier type  |  enclustra-a35 |
|   Design type  |     boreas     |
+----------------+----------------+

Master FW rev: 0x50400, partitions: 4, channels: 5
2021-May-28 11:36:20,572 LOG [dunedaq::timing::VLCmdGeneratorNode::apply_endpoint_delay(...) at /projects/HEP_Instrumentation/st15719/dune/daq_250/hsi/sourcecode/timing/src/VLCmdGeneratorNode.cpp:75] Coarse delay 0x3 applied
2021-May-28 11:36:20,581 LOG [dunedaq::timing::VLCmdGeneratorNode::apply_endpoint_delay(...) at /projects/HEP_Instrumentation/st15719/dune/daq_250/hsi/sourcecode/timing/src/VLCmdGeneratorNode.cpp:76] Fine delay   0x4 applied
2021-May-28 11:36:20,581 LOG [dunedaq::timing::VLCmdGeneratorNode::apply_endpoint_delay(...) at /projects/HEP_Instrumentation/st15719/dune/daq_250/hsi/sourcecode/timing/src/VLCmdGeneratorNode.cpp:77] Phase delay  0 applied

pdtbutler ept EPT_0 0 status
Created endpoint device EPT_0
-----------Hardware info----------
+----------------+---------------+
|   Board type   |      fmc      |
| Board revision |    kFMCRev3   |
|    Board UID   | 0x49162b675e3 |
|  Carrier type  | enclustra-a35 |
|   Design type  |    endpoint   |
+----------------+---------------+

+---------+
|    0    |
| 0x50100 |
+---------+
+------------------+---------------------------------+
|     Endpoint     |                0                |
+------------------+---------------------------------+
| State            | Ready (0x8)                     |
| Partition        | 0                               |
| Address          | 2                               |
| Timestamp        | Fri, 28 May 2021 11:40:44 +0000 |
| Timestamp (hex)  | 0x120290b64d031c3               |
| EventCounter     | 0                               |
| Buffer status    | Error                           |
| Buffer occupancy | 1025                            |
+------------------+---------------------------------+

--- Endpoint state ---
+------------+----------+
|  Endpoint  |    0     |
+------------+----------+
| buf_err    |   0x1    |
| buf_warn   |   0x1    |
| cdelay     |   0x3    |
| ep_rdy     |   0x1    |
| ep_rsto    |   0x0    |
| ep_stat    |   0x8    |
| fdelay     |   0x4    |
| in_run     |   0x0    |
| in_spill   |   0x0    |
| sfp_tx_dis |   0x0    |
+------------+----------+

--- Command counters ---
+--------------+----------+
|   Endpoint   |    0     |
+--------------+----------+
| TimeSync     |   114    |
| Echo         |          |
| SpillStart   |          |
| SpillStop    |          |
| RunStart     |          |
| RunStop      |          |
| WibCalib     |          |
| SSPCalib     |          |
| FakeTrig0    |   575    |
| FakeTrig1    |          |
| FakeTrig2    |          |
| FakeTrig3    |          |
| BeamTrig     |          |
| NoBeamTrig   |          |
| ExtFakeTrig  |          |
| None         |          |
+--------------+----------+

-- StoyanMiroslavovTrilov - 2020-05-28

Edit | Attach | Watch | Print version | History: r1 | Backlinks | Raw View | WYSIWYG | More topic actions
Topic revision: r1 - 2021-05-28 - StoyanMiroslavovTrilov
 
    • Cern Search Icon Cern Search
    • TWiki Search Icon TWiki Search
    • Google Search Icon Google Search

    CENF 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