With the SLIDAS it is possible to generate a wide variety of data patterns and data block lengths, runnning at different clock frequencies, and at different block frequencies withouth having to set up a real S-LINK. The device does not require any software, as you may set all parameters with switches. With an optional cable you can emulate the Start/Stop button with one of the return lines, which makes that you may send data under program control.
Except for positions 0, 6 and 7 of SW1, the data sent by the SLIDAS will have the format shown in table 1.
Contents | Type |
---|---|
|
|
Total block length (including the control words) set by SW3 |
|
|
|
Furthermore there are two positions in which the data sent is fully compliant to the Transition Radiation Tracker format from the Format Definition for Read-Out Links document. With those positions software that should interpret this data can be tested. Certain fields in the header such as Level 1 ID, BCID and Trigger Type are incremented.
Table 2 shows the different switch settings with examples of sent data.
|
|
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
example of 64 Byte with explanation of the fields |
|
|
*The random data generator is in fact a pseudo-random generator, which, after a reset or a change of pattern-type or any of the other rotary switches will start with the same value. A function in the C-language exists which calculates the random data.
The SLIDAS will always use the flow control signal UXOFF#. To let the flow control work as a normal LDC would do, SW8 (LDC/FEMB) should be set to position LDC. In this position, when UXOFF# goes low, the SLIDAS will send another two words, which is compliant to the S-LINK specification.
During the time the UXOFF# signal is active, the SLIDAS will count the
trigger pulses that come at the rate of the frequency set by SW2 as shown
in table 3. Once UXOFF# becomes inactive the SLIDAS will start again to
send out the data and it will decrease this trigger counter for each block
sent.
The trigger counter can store up to 1023 events, after which it will
ignore extra triggers. Once it overflows, the LED marked with 'reserved'
will light up and can only be turned off by a reset. Also, the signal on
pin 5 of the Pattern Generator Connector (J5) will become 1 when an overflow
happens. If the trigger counter is at 511, the signal on pin 3 of connector
J5 will become 1, which effectively shows the counter is half full.
|
|
Function |
---|---|---|
|
|
Pressing the Run/Step button once will start data generation.
By pressing Run/Step again, the datablock that is being transferred will still be sent out completely before the SLIDAS stops. The LED on the RUN/STEP button will go off only after the last word of the datablock has been transferred. |
|
|
Pressing the Run/Step button once will generate a single dataword |
|
|
Pressing the Run/Step button once will generate a single datablock |
|
|
Data blocks sent at 50 kHz |
|
|
Data blocks sent at 75 kHz |
|
|
Data blocks sent at 90 kHz |
|
|
Data blocks sent at 100 kHz |
|
|
Data blocks sent at 110 kHz |
|
|
Data blocks sent at 125 kHz |
|
|
Data blocks sent at 150 kHz |
Position |
|
|
|
|
|
|
|
|
|
|
---|---|---|---|---|---|---|---|---|---|---|
Block length
(words) |
|
|
|
|
|
|
|
|
|
|
(bytes) |
|
|
|
|
|
|
|
|
|
|
Position |
|
|
|
|
|
|
|
|
|
|
---|---|---|---|---|---|---|---|---|---|---|
Frequency |
|
|
|
|
|
|
|
|
|
|
If the DATA_ERROR switch (SW6) is in the position 'ON', the block will contain an error on the fourth data word.
If the CTRL_ERROR switch (SW7) is in the position 'ON', the block will contain an error on the control word at the end of the block.
The errors are introduced on the first block following the activation of the INJ_ERR button. This means that pressing the button will not affect a block if its transfer started before the button was pressed. Only the next-coming block will be affected. Note that it is not possible to generate an error for the control word at the beginning of the block.
The LED on the ERROR switch will be on when the next block will get an error.
The LEMO connector on the card can emulate the pressing of the Run/Step button. With an optional cable you may emulate the pressing of the Run/Step button by changing the value of the return line 0 (URL[0]) from 0 to 1.
The LED on the RUN/STEP button will go off only after the last word
of the datablock has been transferred.
The SLIDAS does not support the injection of data errors in blocks containing less than four data words.
In the 'BLOCK' position, LDERR# can only be active together with a control word. See example.
In the 'WORD' position, LDERR# goes active whenever an error occurs, be it a data word or a control word. See example.
Technical function of SW8: The pin UXOFF# on the LDC occupies the same position as the pin LFF# on the FEMB. However, UXOFF# is asynchronous and LFF# is synchronous. Thus, if the SLIDAS is acting as an LDC, UXOFF# must be synchronised. This introduces a latency that is not acceptable in case the SLIDAS acts as a FEMB. SW8 switches in a synchronisation circuit in position LDC, and disables this circuit in position FEMB.
Name | On when | Meaning |
---|---|---|
Power | Vcc on | Board is powered |
LCLK | LCLK=1
normally LED should be 'half-lit' |
Link clock is active |
LDOWN | LDOWN#=0 | Link is down |
URESET | URESET#=0
even a short pulse on ureset# will give a flash on the LED |
Reset is active.
A reset will abort the transfers in progress |
UXOFF | UXOFF#=0 | Temporarily stop sending data |
UTDO | UTDO#=0 | Test data will be sent out
Note that UTDO# is only sampled after reset |
UDW[1:0] | UDW[1:0]=1 | User data width. e.g. 00 is 32 bits |
URL[3:0] | URL[3:0]=1 | User Return Lines |
D[31:0] | D[31:0]=1
value of last dataword written |
Data lines |
LCTRL | LCTRL#=0 | Control word is sent |
LDERR | LDERR#=0 | Link Data Error detected |
LWEN | LWEN#=0 | A word will be written on next clock edge |
Reserved | Trigger counter overflowed | The ROMB could not accept the data at the rate set by the switches.
Once on, will go off only by a reset or by changing the position of one of the switches |
A rising edge on the LEMO input is an exact equivalence to pressing once the STEP/RUN push-button. An optional cable exists that connects the return line 0 (URL[0]) to this LEMO connector. With this cable you may emulate the STEP/RUN button by writing a 0 followed by a 1 to URL[0], which makes that you can generate data under program control.
J3: Bits 31..16 | J2: Bits 15..0 | J1: Control | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
|
CERN - High Speed Interconnect
- S-LINK
Philippe Brodier-Yourstone & Erik
van der Bij - 20 February 2002 - Copyright