Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
W
White Rabbit Trigger Distribution
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
Wiki
Wiki
image/svg+xml
Discourse
Discourse
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Projects
White Rabbit Trigger Distribution
Commits
1d3f43d3
Commit
1d3f43d3
authored
Jul 19, 2019
by
Dimitris Lampridis
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[doc] add section on reference Nodes
parent
5f841531
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
175 additions
and
21 deletions
+175
-21
wrtd_ref_design_spec_adc_simple.png
doc/graphics/wrtd_ref_design_spec_adc_simple.png
+0
-0
wrtd_ref_design_svec_list_simple.png
doc/graphics/wrtd_ref_design_svec_list_simple.png
+0
-0
wrtd_ref_designs_simple.drawio
doc/graphics/wrtd_ref_designs_simple.drawio
+1
-0
ref_nodes.rst
doc/ref_nodes.rst
+10
-21
ref_spec_fmc_adc.rst
doc/ref_spec_fmc_adc.rst
+89
-0
ref_svec_tdc_fd.rst
doc/ref_svec_tdc_fd.rst
+75
-0
No files found.
doc/graphics/wrtd_ref_design_spec_adc_simple.png
0 → 100644
View file @
1d3f43d3
173 KB
doc/graphics/wrtd_ref_design_svec_list_simple.png
0 → 100644
View file @
1d3f43d3
191 KB
doc/graphics/wrtd_ref_designs_simple.drawio
0 → 100644
View file @
1d3f43d3
<mxfile modified="2019-07-19T11:30:00.330Z" host="www.draw.io" agent="Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0" etag="dVAsjTgn41owFf55ERsg" version="11.0.0" type="device"><diagram id="YKdj9BhTBNf1aPVHSjrr" name="Page-1">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</diagram></mxfile>
\ No newline at end of file
doc/ref_nodes.rst
View file @
1d3f43d3
...
...
@@ -4,28 +4,17 @@
Reference Nodes
---------------
.. _spec150t_ref_adc:
WRTD provides so-called "reference" :ref:`Nodes <node>` for the most common use-cases.
SPEC150T-based FMC-ADC
======================
Currently these include:
.. figure:: graphics/wrtd_ref_design_spec_adc.png
:name: fig-ref_spec_adc
:align: center
:alt: alternate text
:figclass: align-center
#. :ref:`spec150t_ref_adc`: A four channel, 100MHz, 14bit PCIe-based ADC capable of triggering via
WRTD.
#. :ref:`svec_ref_tdc_fd`: A pulse-in/pulse-out WRTD Node in VME format, for generic trigger
distribution applications.
SPEC150T-based FMC-ADC reference WRTD Node
.. toctree::
:hidden:
.. _svec_ref_tdc_fd:
SVEC-based TDC+FDELAY
=====================
.. figure:: graphics/wrtd_ref_design_svec_list.png
:name: fig-ref_svec_list
:align: center
:alt: alternate text
:figclass: align-center
SVEC-based TDC+FDELAY reference WRTD Node
ref_spec_fmc_adc
ref_svec_tdc_fd
doc/ref_spec_fmc_adc.rst
0 → 100644
View file @
1d3f43d3
.. _spec150t_ref_adc:
SPEC150T-based FMC-ADC
======================
+----------------------------------------+------------+
| **Parameter** | **Value** |
+========================================+============+
| # of :ref:`Applications <application>` | 1 |
+----------------------------------------+------------+
| Name | wrtd-adc |
+----------------------------------------+------------+
| Local input Channels | 5 |
+----------------------------------------+------------+
| Local output Channels | 1 |
+----------------------------------------+------------+
| Maximum :ref:`Rules <rule>` | 16 |
+----------------------------------------+------------+
| Maximum :ref:`Alarms <alarm>` | 1 |
+----------------------------------------+------------+
| Average input to Message latency | 10μs (TBC) |
+----------------------------------------+------------+
| Average Message to output latency | 10μs (TBC) |
+----------------------------------------+------------+
| Can receive Messages over WR | YES |
+----------------------------------------+------------+
| Can send Messages over WR | YES |
+----------------------------------------+------------+
This is a WRTD :ref:`node` based on the `Simple PCIe FMC Carrier (SPEC)
<https://www.ohwr.org/project/spec/wikis/home>`_ and the `FMC ADC 100M 14b 4cha (FMC-ADC)
<https://www.ohwr.org/project/fmc-adc-100m14b4cha/wikis/home>`_.
.. important:: This :ref:`node` does not use the standard SPEC, because the FPGA (XC6SLX45T) is not
large enough for the complete design. Instead it uses the pin-compatible XC6SLX150T
FPGA (the rest of the board is exactly the same, only the FPGA chip is
different). This special version is available from the manufacturers of the SPEC
board upon request.
This :ref:`node` provides the possibility to generate WRTD :ref:`Messages <message>` based on
trigger events of the FMC-ADC, as well as to trigger the FMC-ADC from incoming WRTD :ref:`Messages
<message>`.
.. figure:: graphics/wrtd_ref_design_spec_adc_simple.png
:name: fig-ref_spec_adc
:width: 400pt
:align: center
:alt: alternate text
:figclass: align-center
SPEC150T-based FMC-ADC reference WRTD Node
The architecture of the :ref:`node` can be seen in :numref:`fig-ref_spec_adc`. The user communicates
with the :ref:`node` using one of the methods mentioned in :numref:`usage`. At the same time, the
user accesses the FMC-ADC core to configure everything not related to WRTD (acquisition parameters,
trigger source selection, data retrieval, etc.) using the existing `ADC library
<https://www.ohwr.org/project/adc-lib/wikis/home>`_. Internally, the :ref:`node` is running one
:ref:`application`, responsible for configuring the WRTD-related aspects of the FMC-ADC.
The five :ref:`Local Input Channels <local_channel>` are mapped as follows:
+-------------+---------------------------------+
| **Channel** | **Function** |
+=============+=================================+
| ``LC-I1`` | ADC Channel #1 internal trigger |
+-------------+---------------------------------+
| ``LC-I2`` | ADC Channel #2 internal trigger |
+-------------+---------------------------------+
| ``LC-I3`` | ADC Channel #3 internal trigger |
+-------------+---------------------------------+
| ``LC-I4`` | ADC Channel #4 internal trigger |
+-------------+---------------------------------+
| ``LC-I5`` | External trigger input |
+-------------+---------------------------------+
.. note:: In order for any of the :ref:`Local Input Channels <local_channel>` to produce an
:ref:`event`, the user must also properly configure the trigger source of the FMC-ADC via
the ADC library. This falls outside the the scope of WRTD library.
The single :ref:`Local Output Channel <local_channel>` (``LC-O1``) is mapped to the "WRTD" trigger
input of the FMC-ADC.
.. note:: In order for :ref:`Local Output Channel <local_channel>` to trigger the FMC-ADC, the user
must also properly configure the trigger source of the FMC-ADC via the ADC library, to
enable triggering from the "WRTD" trigger input. This falls outside the scope of WRTD
library.
.. hint:: The User Application and the WRTD Application access different and separate parts of the
FMC-ADC, so there is no danger of accessing the same resources simultaneously.
doc/ref_svec_tdc_fd.rst
0 → 100644
View file @
1d3f43d3
.. _svec_ref_tdc_fd:
SVEC-based TDC+FD
=================
+----------------------------------------+------------+------------+
| **Parameter** | **Value** |
+========================================+============+============+
| # of :ref:`Applications <application>` | 2 |
+----------------------------------------+------------+------------+
| | **App #1** | **App #2** |
+----------------------------------------+------------+------------+
| Name | wrtd-tdc | wrtd-fd |
+----------------------------------------+------------+------------+
| Local input Channels | 5 | 0 |
+----------------------------------------+------------+------------+
| Local output Channels | 0 | 4 |
+----------------------------------------+------------+------------+
| Maximum :ref:`Rules <rule>` | 16 | 16 |
+----------------------------------------+------------+------------+
| Maximum :ref:`Alarms <alarm>` | 0 | 1 |
+----------------------------------------+------------+------------+
| Average input to Message latency | 20μs (TBC) | N.A. |
+----------------------------------------+------------+------------+
| Average Message to output latency | N.A. | 40μs (TBC) |
+----------------------------------------+------------+------------+
| Can receive Messages over WR | NO | YES |
+----------------------------------------+------------+------------+
| Can send Messages over WR | YES | NO |
+----------------------------------------+------------+------------+
This is a WRTD :ref:`node` based on the `Simple VME FMC Carrier (SVEC)
<https://www.ohwr.org/project/svec/wikis/home>`_, the `FMC Time to Digital Converter (FMC-TDC)
<https://www.ohwr.org/project/fmc-tdc-1ns-5cha-hw/wikis/home>`_ and the `FMC Fine Delay generator
(FMC-FD) <https://www.ohwr.org/project/fmc-delay-1ns-8cha/wikis/home>`_.
.. important:: The FMC-TDC should always be attached to "FMC Slot 1" of the SVEC, and the FMC-FD
should always be attached to "FMC Slot 2". It is not necessary though to have both
the FMCs attached, the :ref:`Node` will work if only one of the two (TDC or FD) is
present, as long as it is connected to the correct FMC slot.
The basic principle of this :ref:`node` is simple: It takes in external pulses on its FMC-TDC
inputs, timestamps them using WR time and converts them to WRTD :ref:`Messages <message>`, to be
sent over the WR network. Conversely, the :ref:`node` also receives WRTD :ref:`Messages <message>`
which are then used to generate pulses at a predefined moment on one of the FMC-FD outputs. As such,
it can be seen as a "pulse-to-message" and "message-to-pulse" converter with apllications in the
field of pulse distribution, trigger syncrhonisation, etc.
.. figure:: graphics/wrtd_ref_design_svec_list_simple.png
:name: fig-ref_svec_list
:width: 400pt
:align: center
:alt: alternate text
:figclass: align-center
SVEC-based TDC+FD reference WRTD Node
The architecture of the :ref:`node` can be seen in :numref:`fig-ref_svec_list`. The user
communicates with the :ref:`node` using one of the methods mentioned in :numref:`usage`. Internally,
the :ref:`node` is running two :ref:`Applications <application>`, each on a dedicated CPU. One is
responsible for the FMC-TDC peripheral, while the other handles the FMC-FD.
The five :ref:`Local Input Channels <local_channel>` are mapped to the five inputs of the
FMC-TDC. Thus, :ref:`event_id` ``LC-I1`` corresponds to the first FMC-TDC channel, ``LC-I2`` to the
second one, and so on, up to ``LC-I5``.
The four :ref:`Local Output Channels <local_channel>` are mapped to the four outputs of the
FMC-FD. :ref:`event_id` ``LC-O1`` corresponds to the first FMC-FD output, and so on, up to
``LC-O4``.
.. hint:: It is possible for the User Application in :numref:`fig-ref_svec_list` to access directly
the FMC-TDC and FMC-FD cores by means of their respective libraries (not shown in
:numref:`fig-ref_svec_list`), in order to fine-tune them and/or change their default
behaviour. However this should be done with extreme care, as it could lead to a race
condition between the User Application and the WRTD Applications running inside the FPGA.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment