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