SLIDAS User's Guide 

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

CONTENTS 


INTRODUCTION 

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


ROTARY SWITCHES 

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
0xB1000000
Control
Data pattern set by SW1
Length set by SW3
Data
0xE1000000
Control
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. Table 2 shows the different switch settings with examples of sent data.
Table 2: pattern type switch settings
Position
Pattern type
0
Test mode (as described in the S-LINK specification)
1
Walking 1
2
Walking 0
3
FFFFFFFF-00000000
4
AAAAAAAA-55555555
5
Random data*
6
Random data (without control words)*
7
Random control words (without data words)*
8
ROB data blocks (with fixed block length)
9
ROB data blocks (with four block lengths)
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 LDC. In positions 1 and 2, the SLIDAS will only send a specific amount of datawords. In all other positions the SLIDAS will send continously data. In position 0 it will send data at the maximum possible rate, while in positions 3 to 9 the datarate will be reduced from half down to 1/128th of the clock frequency set by SW4. 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.
Table 3: delivery mode switch settings
Position
Delivery mode
Function
0
Continuous
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.
1
Single step
Pressing the Run/Step button once will generate a single dataword
2
Single block
Pressing the Run/Step button once will generate a single datablock
3
Every 2
Like Continuous, but data will be generated only every other clock cycle
4
Every 4
Like Continuous, but data will be generated only every fourth clock cycle
5
Every 8
Like Continuous, but data will be generated only every eighth clock cycle
6
Every 16
Like Continuous, but data will be generated only every sixteenth clock cycle
7
Every 32
Like Continuous, but data will be generated only every thirty-second clock cycle
8
Every 64
Like Continuous, but data will be generated only every sixty-fourth clock cycle
9
Every 128
Like Continuous, but data will be generated only every hundred-twenty-eighth clock cycle


Block length (SW3)

With SW3 you can set the amount of datawords sent between the two control words (see dataformat). Table 4 shows the different length settings. In position 0 no data is sent, but only control words.
Table 4: block length switch settings
Position
0
1
2
3
4
5
6
7
8
9
Block length 
(words)
0
1
4
16
64
256
1024
2048
4096
8192

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
Position
0
1
2
3
4
5
6
7
8
9
Frequency
40 MHz
20 MHz
10 MHz
5 MHz
2.5 MHz
1.25 MHz
40 Hz
2 Hz
1 Hz
0.5 Hz


PUSH BUTTONS 

ERROR (SW10)

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.

RUN/STEP (SW11)

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.


SLIDING SWITCHES 

DATA_ERROR (SW6)

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.

CTRL_ERROR (SW7)

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.

BLOCK/WORD (SW5)

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.

LDOWN (SW9)

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.

LDC/FEMB (SW8)

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.


LEDs 

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
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 Always off Not used

LEMO CONNECTOR 

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.


LOGIC STATE ANALYZER CONNECTORS


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*
LDERR# 7 8 UXOFF#
LDOWN# 9 10 URESET#
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) is used only 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 0xB1000000 and 0xE1000000 respectively (see Table 1).
Figure 2: jumper location to set other control word contents


List of modifications to this document

9 March 1998: Corrected description of LDOWN switch.

CERN - High Speed Interconnect - S-LINK
Philippe Brodier-Yourstone & Erik van der Bij - 9 March 1998 - Copyright