Production testing of Receiver Card
This description assumes that you are using the green crate, which is our dedicated
production testing crate.
Test 1: Visual inspection
Must be finished before the card is tested in the green crate.
Check in the e-log book hat the appropriate entry is there.
Other preliminaries:
At this point, the 8 Receiver Mezzanine Cards should NOT be mounted on
the RC. If they are mounted on an otherwise untested RC, DO NOT PROCEED
and return the card to the mechanical team to take the Receiver
Mezzanine Cards off again. The Receiver Mezzanine Cards should be
mounted only for Test 9 - Serial Link test (Vitesse to ASIC)
Test 2 to Test 8
Require running scripts on the cmslab account and from the directory
~cmslab/RCTtest. The following decription assumes that you are testing
with the green crate and that the SBS of the green crate is connected to
daffodil.
So before testing can begin:
login as cmslab onto daffodil
> cd ~cmslab/RCTtest
Each script logs its screen output also in a file. Assuming you are
running the scripts on daffodil, you can monitor the log in a separate
window:
> tail -f
/afs/hep.wisc.edu/cms/RCTlog/daffodil/RC_[date].log
Elog:
After you've ran a test, make a note into the E-log
book. Open the elog in a separate window by typing
>cd ~cmslab/elog
>java RCTtest &
or
>run_elog
Scan the barcode of the EIC to be tested into the corresponding text
field on the elog window. Select "RC"from
the cards type button. Enter your name in the "who makes entry" field.
Retrieve the already existing elog entries for the RC to be tested by
clicking on the "Retrieve elog" button.
IMPORTANT: After you've scanned in a new barcode, always retrieve the
log file first. Unfortunately, at the moment, the elog screen does not
clear automatically when the barcode in the barcode field changes.
Check that for the RC you want to test the elog already shows
the entry" "RC TEST 1 - Visual inspection: PASSED". If you don't
find this entry, DO NOT PROCEED with this card.
In order to record that a test was done, click on the "Sequence of
tests" button, select the appropriate list item and click on the PASSED
or FAILED button, as the case may be. This should result in an entry in
the "Text to enter into log" screen. Assume that test 2 for example
failed. Selecting the correct list item and clicking "FAILED" results in
the standardized text "RC TEST 2 - VME access tests: FAILED" showing up
in the "Text to enter into the log" screen. You can add comments after
this. Please, under no circumstances change the standardized text itself
because this would make it impossible to search the elog files for these
standardized markers at a later time.
IMPORTANT: The text on the "Text to enter into log" screen is actually
added to the log file of the card in question ONLY AFTER clicking on the
"Enter" button. Upon clicking on that button, the text, preceeded by a
time stamp and your name, should appear in the "Log book" window
and disappear from the "Text to enter into log" window. While the latter
window is editable, the "Log book" window isn't. Whatever you have
entered into the log book is supposed to stay there. If you find you
want to modify or correct an entry, you have to do so by adding a new
entry to the log book.
Test 2 - VME access test
Cards plugged into the crate: CCC
and the RC to be tested.
The RC to be tested has to be located in RC slot 3, marked with a red
permanent marker.
Switch crate power on.
> cd ~cmslab/RCTtest
> run_RC_test2
==>> This annotated version of the script output gives
directions what to look for in the test.
==>> Note: Each RC has a VME register (8 bits) with a value that
corresponds to the RC bar code.
The correspondance requires some math
and is recorded as table in this
excel
file. Please check that the VME ID register value read back by the
script (look for barcode in its output) is the correct one for the
actual RC bar code. Example: RC with bar code 3101110095 - VME ID
register is A0.
==>> Report success or failure of the test in the elog, along with any comments or
observations.
==>> Check that the test screen output made it into the screen output log file:
>
more /afs/hep.wisc.edu/cms/RCTlog/daffodil/RC_[today's date].log
Test 3 - Write/read data to/from
LUTs
Cards plugged into the crate: CCC
and the RC to be tested.
The RC to be tested has to be located in RC slot 3, marked with a red
permanent marker.
>run_RC_test3
==>> Look for the script reporting that all tests were successful.
This
annotated
version of the script
output gives directions what to look for in detail.
Running the script takes about 2 minutes. The red LED at the front of
the RC stays one while the test is running.
==>> Report success or failure of the test in the elog, along with any comments or
observations.
Test 4 - JTAG all ASICS
Cards plugged into the crate: CCC
and the RC to be tested.
The RC to be tested has to be located in RC slot 3, marked with a red
permanent marker.
>run_RC_test4
==>> Look for the script reporting that all tests were successful.
This
annotated
version of the script
output gives directions what to look for in detail.
==>> Report success or failure of the test in the elog, along with any comments or
observations.
In the case of failure, write into the
elog where the program failed, for example " Checking Phase 1 and 3 to
Adder 0, Route OP 2 pin 7", if that were the program's last words on the
screen before failing.
Test 5 - Backplane data paths
Power down the crate and plug in one EIC in slot 2 and 6 RCs, so that:
Cards plugged into the crate: CCC, 1
EIC, 6 RCs, and the RC to be tested.
In the course of the test, the RC to be tested will change its RC slot
such that in the end it has been plugged into 6 of the 7 possible RC
slot (RC slots 0 to 5) at some point during testing. RC slot 0 is
on the right-most slot, RC slot 6 is the left-most one.
To start, put the RC to be tested into RC
slot 2 and power up the crate.
>run_RC_test5a
Here is an annotated version of the script output.
Power down the crate, swap the RC to be tested to RC slot 3, power up again.
>run_RC_test5b
Here is an annotated
version of the script output.
Power down the crate, swap the RC to be tested to RC slot 0, power up again.
>run_RC_test5c
Here is an annotated version of the script output.
Power down the crate, swap the RC to be tested to RC slot 4, power up again.
>run_RC_test5d
Here is an annotated version of the script output.
Power down the crate, swap the RC to be tested to RC slot 5, power up again.
>run_RC_test5e
Here is an annotated version of the script output.
Power down the crate, swap the RC to be tested to RC slot 1, power up again.
>run_RC_test5f
Here is an annotated version of the script output.
==>> Follow the directions the scripts print out.
==>> The scripts each take about 4.5 minutes to run.
Before the test patterns are written to
the memories (LUTs), the content of each memory addresses is set to zero
first. This takes about 0.5 minutes per RC. The red LED on the front of
an RC is on while writing to its memories takes place.
==>> Some of the scripts require the use of a 68-pin cable to
connect RCs. Follow the directions the script prints to the screen.
Attention: Do connect with a cable ONLY
those two cards the script in question specifies. Take all other cables
off, they can interfer with the test results in unexpected and
undesirable ways.
==>> Check the relevant
pins of U125, U126, U66, U128
on the EIC for the expected values. The relevant pins are defined on the annotated
version of the scripts output and on the backplane
paths checklist.
These chips are located on the top side
of the EIC board, the red squares
here give you
a hint where. The chips are PLCC, with 28 pins. Pin 1 is marked by a
little dot over it on the chip plastic case, and the pin numbers
increase counter-clock-wise, i.e. the pins at the corners are: Pins 4
& 5, 11 & 12, 18 & 19, 25 & 26.
On the
scope, trigger threshold
should be about -1.3 V, trigger on the rising edge, use "auto" trigger
mode, time axis scale 10 ns, y axis scale 500 mV. The signals are 160
MHz ECL signals, i.e. one bit is 6.25 ns long. Connect the scope probe
ground to any of the metal ground pins on the RC.
==>> Report the results, with card bar code and date, in a copy
of this backplane paths checklist.
This checklist and the
annotated
version of the output of the scripts give directions which pins to
check and which values to expect.
The instructions on the checklist
concerning running specific vmedia scripts are carried out automatically
by the tun_RC_test5n scripts. You do not have to carry them out yourself.
==>> Report success or failure of the test in the elog, along with any comments or
observations.
==>> File the completed checklist in the appropriate folder.
Test 6 -Data sharing via cables
Power down the crate.
Swap the EIC from slot 2 to slot 1.
Cards plugged into the crate: CCC, 1
EIC in slot 1, 6 RCs, and the RC to be tested.
In the course of the test, the RC to be tested will change its RC slot
from slot 5 to slot 0 to slot 1.
To start, put the RC to be tested in slot 5, power up the
crate.
Connect the J5 (50 pin)
connector on RC in slot 1 and RC in slot 5 with the appropriate cable.
>run_RC_test6a
Here is an annotated version of the script output.
Power down the crate, swap the RCs in slot 5 and slot 1 with
each other. The RC to be tested is now in RC slot 1.
Reconnect the J5 (50 pin)
connector on RC in slot 1 and RC in slot 5.
Rerun the test script.
>run_RC_test6b
Here is an annotated version of the script output.
Disconnect the cable from the J5 connectors. The RC to be tested is
still in slot 1.
Connect the J3 (50 pin)
connector on RC in slot 1 and RC in slot 0 with the cable.
>run_RC_test6c
Here is an annotated version of the script output.
Power down the crate, swap the RCs in slot 1 and slot 0 with each
other. The RC to be tested is now in RC slot 0.
Reconnect the J3 (50 pin)
connector on RC in slot 1 and RC in slot 0.
Rerun the test script.
>run_RC_test6d
Here is an annotated version of the script output.
==>> Follow the directions the scripts print out.
==>> The scripts each take about 4.5 minutes to run.
Before the test patterns are written to
the memories (LUTs), the content of each memory addresses is set to zero
first. This takes about 0.5 minutes per RC. The red LED on the front of
an RC is on while writing to its memories takes place.
==>> Some of the scripts require the use of a 50-pin cable to
connect RCs. Follow the directions the script prints to the screen.
==>> Check the relevant pins on the
EIC on U125, U126 and on U66 for the expected values.
These chips are located on the top side
of the EIC board, the red squares
here
give you a hint where. The chips are PLCC, with 28 pins. Pin 1 is marked
by a little dot over it on the chip plastic case, and the pin numbers
increase counter-clock-wise, i.e. the pins at the corners are: Pins 4
& 5, 11 & 12, 18 & 19, 25 & 26.
On the
scope, trigger
threshold should be about -1.3 V, trigger on the rising edge, use "auto"
trigger mode, time axis scale 10 ns, y axis scale 500 mV. The signals
are 160 MHz ECL signals, i.e. one bit is 6.25 ns long. Connect the scope
probe ground to any of the metal ground pins on the RC.
==>> Report the results, together with card bar code and date, in
a copy of this cable paths checklist.
This checklist and the annotated version of the output of the scripts give
directions which pins to check and which values to expect.
The instructions on the checklist concerning running specific vmedia
scripts are carried out automatically by the tun_RC_test6n scripts. You
do not have to carry them out yourself.
==>> Report success or failure of the test in the elog, along with any comments or
observations.
==>> File the completed checklist in the appropriate folder.
Test 7 - Pattern test (energy
sums)
Powed down the crate to load it fully.
Cards plugged into the crate: CCC,
JSC, 7 EICs, 6 RCs and the RC to be tested in slot 3.
The JSC has to be located in the slot marked with a green permanent
marker.
Power up the crate.
>run_RC_test7
==>> After this script has run, these bit patterns should be visible on
the JSC output connectors J4, J5 and J6.
Attention: You have to probe on the JSC
connectors J4, J5, J6, NOT on the corresponding connectors on the JSC
Mezzanine card.
The pin numbering of J4, J5, J6 is
here.
Attention: Pin 34 on J4, J5, J6 on the JSC is in the LOWER LEFT CORNER.
Attention: When the RC to be tested is in slot 3, as it should, you
have to check only those pins on the JSC output connectors that
correspond to RC slot3, i.e. J6 pins 13 - 29 and pins 59 - 63.
On the
scope, thrigger
threshold should be about -1.3 V, trigger on the rising edge, time axis
scale 50 ns, y axis scale 500 mV. The signals are 80 MHz ECL signals,
i.e. one bit is 12.5 ns long.
Use pin 35 on J6 as trigger source. The bit pattern on this pin is 0001
(hex) = 00000000000001, i.e. only a single bit should be set to "1". It
is pratical to use a thin wire to connect the scope probe to the trigger
pin. For this, use the scope probe with one of the cylindrical hoods
with a hook at their tip. Use the connector metal shell as the scope
probe ground.
Look at the other pins with the second scope probe. The table below
lists what you should see on the scope. The bottom signal on the scope
shots is always one of the trigger bits.
Note: The direction of the time axis on the scope is from left to right
and the LSB comes first in time, i.e. the LSB is in the leftmost
position. When writing/reading a binary number on paper, the direction
is also from left to right, but with the LSB on the rightmost position.
Hex
|
Binary
|
Scope shot
|
0303
|
0000 0101 0000 0101
|
0303 |
0F0F
|
0000 1010 0000 1010
|
0F0F |
3333
|
0000 1111 0000 1111
|
3333 |
3C3C
|
0101 0000 0101 0000
|
3C3C |
3F3F
|
0101 0101 0101 0101
|
3F3F |
C3C3
|
0101 1111 0101 1111
|
C3C3 |
CFCF
|
1111 0101 1111 0101
|
CFCF |
This annotated version of the script output
give some more directions.
Before the test patterns are written to the memories (LUTs), the
content of each memory addresses is set to zero first. For the RCs, this
takes a while. The red LED on the front of the cards are on while
writing to the memories takes place.
==>> Report success or failure of the test in the elog, along with any comments or
observations.
Test 8 - Pattern test (electrons)
Cards plugged into the crate: CCC,
JSC, 7 RCs, 6 RCs and the RC to be tested in RC slot 3.
The JSC has to be located in the slot marked with a green permanent
marker.
>run_RC_test8
==>> After this script has run, these
bit patterns should be visible on the JSC Mezzanine card output connectors J5 and
J6.
Attention: You have to rpobe on the JSC
Mezzanine card connectors J5, J6, NOT the J5, J6 connectors directly on
the JSC.
The pin numbering of J5 and J6 is
here. Attention: Pin 34
on J5, J6 on the JSC Mezzanine card is in the UPPER RIGHT CORNER.
On the
scope, thrigger
threshold should be about -1.3 V, trigger on the rising edge, time axis
scale 50 ns, y axis scale 500 mV. The signals are 80 MHz ECL signals,
i.e. one bit is 12.5 ns long.
Use either pin 27 or pin 29 as trigger source. The bit pattern on these
pins is 0002 (hex) = 00000000000010, i.e. only a single bit should be
set to "1". It is pratical to use a thin wire to connect the scope probe
to the trigger pin. For this, use the scope probe with one of the
cylindrical hoods with a hook at their tip. Use the connector metal
shell as the scope probe ground.
Look at the other pins with the second scope probe. The table below
lists what you should see on the scope. The bottom signal on the scope
shots is always one of the trigger bits.
Note: The direction of the time axis on the scope is from left to right
and the LSB comes first in time, i.e. the LSB is in the leftmost
position. When writing/reading a binary number on paper, the direction
is also from left to right, but with the LSB on the rightmost position.
Hex
|
Binary
|
Scope shot
|
0002
|
0000 0000 0000 0010
|
|
0000
|
0000 0000 0000 0000
|
0000 |
0505
|
0000 0101 0000 0101
|
0505 |
0A0A
|
0000 1010 0000 1010
|
0A0A |
0F0F
|
0000 1111 0000 1111
|
0F0F |
5050
|
0101 0000 0101 0000
|
5050 |
5555
|
0101 0101 0101 0101
|
5555 |
5F5F
|
0101 1111 0101 1111
|
5F5F |
F5F5
|
1111 0101 1111 0101
|
F5F5 |
FFFF
|
1111 1111 1111 1111
|
FFFF |
This
annotated version of the script output
give some more directions.
Before the test patterns are written to the memories (LUTs), the
content of each memory addresses is set to zero first. For the RCs, this
takes a while. The red LED on the front of the cards are on while
writing to the memories takes place.
==>> Report success or failure of the test in the elog, along with any comments or
observations.
Before test 9 can be performed, the 8 Receiver Mezzanine Cards have to
be mounted first. Return the card to the mechanical team.
Test 9 - Serial link test
(Vitesse to phase ASIC)
RC components layout top
POINT OUT BELOW MENTIONED CHIPS/RESISTORS ON LAYOUTS
RC component
layout bottom
Example: RC schematics D0717, RECV_EMC_0-1 and D0734, RECV_HAD_0-1
Note: "ZRO", "ONE" refer to two neighboring bins in eta, called
Data_ZRO and Data_ONE at the output of the phase ASIC.
|
EM - Scope view
|
EM - Where to probe
|
Had - Scope view
|
Had - Where to probe
|
Data0
|
Bit
0
|
D0717: U333, pin 1
|
see EM
|
D0734: U375, pin 1
|
Data1
|
Bit
1
|
D0717: U333, pin 4
|
see EM
|
D0734: U375, pin 4
|
Data2
|
Bit
2
|
D0717: U357, pin 1
|
see EM
|
D0734: U401, pin 1
|
Data3
|
Bit
3
|
D0717: U357, pin 4
|
see EM
|
D0734: U401, pin 4
|
Data4
|
Bit
4
|
D0717: U400, pin 1
|
see EM
|
D0734: U358, pin 1
|
Data5
|
Bit
5
|
D0717: U400, pin 4
|
see EM
|
D0734: U358, pin 4
|
Data6
|
Bit
6
|
D0717: U374, pin 1
|
see EM
|
D0734: U334, pin 1
|
Data7
|
Bit
7
|
D0717: U374, pin 4
|
see EM
|
D0734: U334, pin 4
|
Data8 - Data15
|
see Bit 0 - Bit 7
|
D0717: U335, U359, U403, U377
|
|
D0734: U378, U404, U360, U336
|
Quality bit 1
|
FG0
|
D0717: U373, pin 4
|
QB_AB
|
D0716: R167
|
Quality bit 2
|
see FG0
|
D0717: U376, pin 4
|
see QB_AB
|
D0716: R168
|
Bunch crossing 0 |
BX0
|
D0738: U453, pin 4
|
see EM
|
D0738: U453, pin 7
|
Error detection code (EDC)
|
|
D0738: R110, pins 1, 3
D0738: R111, pins 1, 3
|
|
D0738: R110, pins 2, 4
D0738: R111, pins 2, 4 |
==>> Read Pam's "STC to RC link test" checklist
for more explanations.
==>> The pattern send by the vmedia scripts
"inc_long_error_cn.txt" is incrementing. The very first cycle has an
error in its Hamming code.
With SW 16.1 on, this results in the
data on the first clock cycle being zeroed as result of the non-zero EDC
(error detection code).
This is visible in the Data0 - Data15 patterns. To see them on the scope, thrigger threshold should be
about -1.3 V, time axis scale 100 ns, y axis scale 500 mV. The signals
are 80 MHz ECL signals, i.e. one bit is 12.5 ns long. Trigger on
the EDC of the phase ASIC in question. The data bits should be zero on
the clock cycle that coincides with the EDC being "1".
==>> The test assumes that 4
STC-T cards with these base address settings (ADD THEM HERE) are
used on 4 links of the RC.
==>> Fill in Pam's "STC to RC link test" checklist
after each test.
==>> Report success or failure of the test in the elog, along with any comments or
observations.
==>> File the completed checklist in the appropriate folder.
Questions or comments to: Pam Klabbers
(pamc@hep.wisc.edu)
or
Monika
Grothe (grothe@hep.wisc.edu)