SLIDAS 3.0 User's Guide 

Figure 1: SLIDAS layout
Click on the component you want information about



The SLIDAS is a device that helps the designer of a Read-out Motherboard (ROMB) during the process of debugging the S-LINK interface hardware and software. It emulates the function of the Link Destination Card by generating data as if it was transmitted through a real S-LINK. With the help of a SLITEST, the SLIDAS may also be used to test links and to send data to a ROMB via an S-LINK.

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.


There are four rotary switches on the SLITEST. SW1 sets the data pattern sent out. SW2 sets the delivery mode, i.e. single step, single block, etc. Switch SW3 sets the length of the datablock and finally SW4 sets the clock frequency at which the data is sent.

Except for positions 0, 6 and 7 of SW1, the data sent by the SLIDAS will have the format shown in table 1.

Table 1: SLIDAS data format
Contents Type
Data pattern set by SW1
Total block length 
(including the control words)
set by SW3
The contents of the two control words can be set to 0x11111110 and 0xFFFFFFF0 respectively if a jumper is inserted in the pattern generator connector.

Pattern type (SW1)

The SLIDAS can generate different types of data patterns. With the pattern type switch you can select the pattern. Several selections are useful to do hardware testing such as checking for pattern related problems; other selections send only control words or only datawords.

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.

Table 2: pattern type switch settings
Pattern type
Test mode (as described in the S-LINK specification)
Walking 1
Walking 0
Random data*
Random data (without control words)*
Random control words (without data words)*
ROB data blocks (with fixed block length 256 Byte) (64 Byte) (52 Byte)
example of 64 Byte with explanation of the fields
ROB data blocks (with four block lengths, default 256 Byte)
When turning SW1 in position 0 (Test Mode), the SLIDAS will behave as an LDC that is in test mode. I.e. LDOWN# will be 0 and the test mode pattern will be sent. To receive the test data, UTDO# should be set to 0 as otherwise an LDC will not sent out the test data. Note that UTDO# is only sampled after a reset.

*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.

Delivery mode (SW2)

With the Delivery mode switch you can specify the rate with which data will be sent by the SLIDAS. In positions 1 and 2, the SLIDAS will only send a specific amount of datawords (one word or one full data block respectively). In all other positions the SLIDAS will send continously data blocks, but only at a defined trigger frequency. In position 0 it will send data blocks at the maximum possible rate, while in positions 3 to 9 the rate at which data blocks are sent will be reduced to 50 to 150 kHz. Table 3 shows the different delivery mode settings with several examples of data sent.

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.
Table 3: delivery mode switch settings
Delivery mode
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.
Single step
Pressing the Run/Step button once will generate a single dataword
Single block
Pressing the Run/Step button once will generate a single datablock
50 kHz
Data blocks sent at 50 kHz
75 kHz
Data blocks sent at 75 kHz
90 kHz
Data blocks sent at 90 kHz
100 kHz
Data blocks sent at 100 kHz
110 kHz
Data blocks sent at 110 kHz
125 kHz
Data blocks sent at 125 kHz
150 kHz
Data blocks sent at 150 kHz

Block length (SW3)

With SW3 you can set the amount of datawords sent for each block (including the two contol words, see dataformat). Table 4 shows the different length settings.
Table 4: block length switch settings
Block length 
Block length

LCLK frequency (SW4)

SW4 sets the frequency of the LCLK signal. An LDC will have an LCLK frequency up to 40 MHz. Positions 6 to 9 of SW4 will set a very low frequency LCLK which can be useful for demonstrations of the S-LINK protocol.
Table 5: LCLK frequency switch settings
40 MHz
20 MHz
10 MHz
5 MHz
2.5 MHz
1.25 MHz
40 Hz
2 Hz
1 Hz
0.5 Hz



Pressing the Error push-button will introduce errors in a data block according to the position of the switches DATA_ERROR and CTRL_ERROR.

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.


By pressing this push-button the SLIDAS starts or stops transferring data. The way the data is transferred is defined by the position of the rotary switch SW2. In all positons except Single Step, 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. Only in the Single Step mode (SW2 in position 1) a single push of the button will make the SLIDAS send out one single word.

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.



When the Data Error switch is in the "on" position, an error is introduced in the fourth dataword of the next-coming data block after pressing 'Inject error'. See example of data error generated in Word mode.

The SLIDAS does not support the injection of data errors in blocks containing less than four data words.


When this switch is in the "on" position, an error is introduced in the next-coming control word after pressing 'Inject error'. See example of control word error.


This switch selects between block-basis error detection or word-by-word error detection.

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.


Setting this switch in the position 'down' will make that the SLIDAS LDOWN# signal is unasserted. That is, the link will be up (yes, I know,this is an error in the silkscreen - EB). When the switch is in the 'up' position, the SLIDAS will assert the LDOWN# signal, i.e. the link will be down. When the link has gone down (and the switch is put back in the 'down' position), the SLIDAS needs a reset to let the link go up again, thereby following the protocol as described in the "S-LINK interface specification".
For normal operation, this switch must be put in the position 'down', i.e. the slider is moved to the Step pushbutton.


This switch tells the SLIDAS whether it is acting as a Link Destination Card (LDC) or as a Front-end Motherboard (FEMB). For normal use you should set this switch to LDC. Only when the SLIDAS is used on a SLITEST to generate data for an LSC, it should be set to FEMB.

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.


The state of all S-LINK signals are shown on LEDs. All LEDs are on when the signal is active.
Table 6: SLIDAS LEDs
Name On when Meaning
Power Vcc on Board is powered
normally LED should be 'half-lit'
Link clock is active
LDOWN LDOWN#=0 Link is down
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


This connector allows the user to start and stop the SLIDAS by means of an electrical signal instead of using the STEP/RUN push button. The signal is terminated by a 50 Ohm resistor. The signal should have TTL levels.

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.


There are three logic state analyzer connectors on the SLIDAS that are wired up directly to the S-LINK signals. The layout of the connectors is made for an Hewlett Packard 16500 Logic State Analyser with an 100 KOhm Termination Adapter (HP part number 01650-63203). Pre-made setups for making state and timing analysis on S-LINK can be obtained from Erik van der Bij.
Table 7: Logic State Analyser connectors
J3: Bits 31..16 J2: Bits 15..0 J1: Control
Signal Pin Pin Signal
nc 1 2 nc
nc 3 4 LD[31]
LD[30] 5 6 LD[29]
LD[28] 7 8 LD[27]
LD[26] 9 10 LD[25]
LD[24] 11 12 LD[23]
LD[22] 13 14 LD[21]
LD[20] 15 16 LD[19]
LD[18] 17 18 LD[17]
LD[16] 19 20 Ground
nc) not connected
Signal Pin Pin Signal
nc 1 2 nc
nc 3 4 LD[15]
LD[14] 5 6 LD[13]
LD[12] 7 8 LD[11]
LD[10] 9 10 LD[9]
LD[8] 11 12 LD[7]
LD[6] 13 14 LD[5]
LD[4] 15 16 LD[3]
LD[2] 17 18 LD[1]
LD[0] 19 20 Ground
Signal Pin Pin Signal
nc 1 2 nc
LCLK 3 4 ST1*
LCLK 5 6 ST2*
UTDO# 11 12 LWEN#
LCTLR# 13 14 UDW[1]
UDW[0] 15 16 URL[3]
URL[2] 17 18 URL[1]
URL[0] 19 20 Ground
*) User connectable test point

Pattern Generator Connector 

The Pattern Generator Connector (J5) can be used to set a different type of control word at the beginning and end of the datablock. If a jumper is inserted between pin 1 and 2 (see figure 2), 0x11111110 and 0xFFFFFFF0 are sent instead of 0xB0F00000 and 0xE0F00000 respectively (see Table 1).

Figure 2: jumper location to set other control word contents
Two other pins on the connector are used to describe the status of the trigger counter. The signal on pin 5 will become 1 when an overflow happens (i.e. the ROMB was busy during the time that 1024 data blocks should have been sent). If the trigger counter is at 511 (i.e. half full), the signal on pin 3 of connector J5 will become 1.

List of modifications to this document

9 March 1998: Corrected description of LDOWN switch.
16 September 1999: Modifications for trigger counter and switch settings for version 3.0 of SLIDAS
20 February 2002: Added example with explanation of ROD dataformat

CERN - High Speed Interconnect - S-LINK
Philippe Brodier-Yourstone & Erik van der Bij - 20 February 2002 - Copyright