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