VME Commands For GAB_S30 Test V.1
Signals used:
To the GAB:
serfrm (MSB first) seradr (MSB first) serdat (LSB first)
Form the GAB:
serfrmout (MSB first) serdatout (MSB first)
protocol format:
serfrm:
|->frame bit (bit15)
| |->chip address (bit 14-11) = “0101” for gab
| | |->operation select (bit10-7)
| | | |->all zeros (bit6-0)
| | | |
| | | |
| | | |
1010100100000000
|
Op. select Bit(10..7) |
set |
operation |
|
1 |
-- |
Resetpll (not used) |
|
2 |
wpar |
load a parameter to register file |
|
3 |
rdstat |
Read status |
|
4 |
rdpar |
Read a parameter to VME |
|
5 |
rdtab |
Read TAB data to VME |
|
6 |
rdtrg |
Read trigger data to VME |
|
7 |
rdl2 |
Read level2 data to VME |
seradr:
|
operation |
valid bits |
note |
|
Load parameters |
(5..0) |
Load select (0-23, 48-55) |
|
Read parameters |
(5..0) |
Read select |
|
Read TAB inputs |
(8..5) |
Memory read address: data group select (0-31) |
|
|
(4..0) |
Memory read address: word address (0-11) |
|
Read trigger data |
(8..4) |
Memory read address: BC frame # of the 11 words |
|
|
(3..0) |
Memory read address: word address (0-11) |
|
Read level2 data |
(8..0) |
Memory read address |
Commands For Loading
Parameters From VME
|
serframe |
seradr |
serdat |
parameter |
note |
|
101010010000000 |
0000000000000000 |
0000100100100100 |
th_eq1 |
ceq |
|
101010010000000 |
0000000000000001 |
0000101101101101 |
th_eq2 |
ceq |
|
101010010000000 |
0000000000000010 |
0000000000101101 |
th_jq1 |
cjq |
|
101010010000000 |
0000000000000011 |
0000000000100100 |
th_jq2 |
cjq |
|
101010010000000 |
0000000000000100 |
0000000101101101 |
th_er1 |
cer |
|
101010010000000 |
0000000000000101 |
0000000100100100 |
th_er2 |
cer |
|
101010010000000 |
0000000000000110 |
0000000011011011 |
th_jr1 |
cjr |
|
101010010000000 |
0000000000000111 |
0000000101101101 |
th_jr2 |
cjr |
|
101010010000000 |
0000000000001000 |
0000101101101101 |
th_em1 |
cem |
|
101010010000000 |
0000000000001001 |
0000101101101101 |
th_em2 |
cem |
|
101010010000000 |
0000000000001010 |
0000100100100100 |
th_jt1 |
cjt |
|
101010010000000 |
0000000000001011 |
0000101101101101 |
th_jt2 |
cjt |
|
101010010000000 |
0000000000001100 |
0000101101101101 |
th_jt3 |
cjt |
|
101010010000000 |
0000000000001101 |
0000101101101101 |
th_jt4 |
cjt |
|
101010010000000 |
0000000000001110 |
0000101101101101 |
th_ta1 |
cta |
|
101010010000000 |
0000000000001111 |
0000101101101101 |
th_ta2 |
cta |
|
101010010000000 |
0000000000010000 |
0110101010101011 |
th_et |
cet |
|
101010010000000 |
0000000000010001 |
0100000000001010 |
th_me0 |
cme |
|
101010010000000 |
0000000000010010 |
0100000000000010 |
th_me1 |
cme |
|
101010010000000 |
0000000000010011 |
0100000000000011 |
th_me2 |
cme |
|
101010010000000 |
0000000000010100 |
0100000000000100 |
th_me3 |
cme |
|
101010010000000 |
0000000000010101 |
0000000000000101 |
th_jfr |
jetfr |
|
101010010000000 |
0000000000010110 |
0000000000000011 |
th_cop |
acopj |
|
101010010000000 |
0000000000010111 |
0000000000000100 |
th_bkb |
bkbk |
|
|
|
|
|
|
|
101010010000000 |
0000000000110000 |
1111000011110000 |
hdsize |
|
|
101010010000000 |
0000000000110001 |
0000000011110000 |
hdtype |
|
|
101010010000000 |
0000000000110010 |
1000100010001000 |
hdformat |
|
|
101010010000000 |
0000000000110011 |
0000000000000001 |
hdversion |
|
|
101010010000000 |
0000000000110100 |
0000000010000001 |
hdbits |
|
|
101010010000000 |
0000000000110101 |
0000000000010001 |
scldelay |
adjusted |
|
101010010000000 |
0000000000110110 |
0000000000010010 |
L2delay |
adjusted |
|
101010010000000 |
0000000000110111 |
0000000000000001 |
maxerror |
|
Commands For Reading
Parameters To VME
Same seradr
as loading
|
serframe |
seradr |
parameter |
note |
|
101010100000000 |
0000000000000000 |
th_eq1 |
ceq |
|
101010100000000 |
0000000000000001 |
th_eq2 |
ceq |
|
-- |
-- |
-- |
|
.
.
.
.
.
Commands For Reading Tab
Inputs To VME
Read a 12-bit data at each VME frame. Read one group of the data requires 32 or 8 VME read frames and addresses.
Example1: read 12 jetsouth data from the memory
|
serframe |
seradr |
note |
|
101010101000000 |
0000000001100000 |
Read bit0 of the 12 words |
|
101010101000000 |
0000000001100001 |
Read bit1 of the 12 words |
|
101010101000000 |
0000000001100010 |
Read bit2 of the 12 words |
|
101010101000000 |
0000000001100011 |
Read bit3 of the 12 words |
|
101010101000000 |
0000000001100100 |
Read bit4 of the 12 words |
|
101010101000000 |
0000000001100101 |
Read bit5 of the 12 words |
|
101010101000000 |
0000000001100110 |
Read bit6 of the 12 words |
|
-- |
-- |
-- |
|
-- |
-- |
-- |
|
101010101000000 |
0000000001111111 |
read bit32 of the 12 words |
Example2: read 8 scl data from the memory
|
serframe |
seradr |
note |
|
101010101000000 |
0000000110000000 |
Read bit0 of the 12 words, sclsync |
|
101010101000000 |
0000000110000001 |
Read bit1 of the 12 words, sclbc |
|
101010101000000 |
0000000110000010 |
Read bit2 of the 12 words, sclturn |
|
101010101000000 |
0000000110000011 |
Read bit3 of the 12 words, sclrun |
|
101010101000000 |
0000000110000100 |
Read bit4 of the 12 words, sclaccept |
|
101010101000000 |
0000000110000101 |
Read bit5 of the 12 words sclinit |
|
101010101000000 |
0000000110000110 |
Read bit6 of the 12 words, extra1 |
|
101010101000000 |
0000000110000111 |
Read bit7 of the 12 words, extra2 |
Commands For Reading Trigger
Data To VME
Read one 16-bit memory word at each VME read frame. 12 VME read frames and addresses are required to read out all 12 words for a BC frame.
The seradr(8..4) specifies the BC frame #, and seradr(3..0) is the word address.
Example: read 12 words which associate with BC frame = 31
|
serframe |
seradr |
note |
|
101010110000000 |
0000000111110000 |
Read aterms |
|
101010110000000 |
0000000111110001 |
Read bterms |
|
101010110000000 |
0000000111110010 |
Read cterms |
|
101010110000000 |
0000000111110011 |
Read dterms |
|
101010110000000 |
0000000111110100 |
Read ot, serdatout(14..0) |
|
101010110000000 |
0000000111110101 |
Read ox, serdatout(14..0) |
|
101010110000000 |
0000000111110110 |
Read oy, serdatout(14..0) |
|
101010110000000 |
0000000111110111 |
Read bco, serdatout(7..0) |
|
101010110000000 |
0000000111111000 |
Read sclbco, serdatout(7..0) |
|
101010110000000 |
0000000111111001 |
Read sclturno |
|
101010110000000 |
0000000111111010 |
Read statuso, serdatout(7..0) |
|
101010110000000 |
0000000111111011 |
Read all zeros (spare) |
Commands For Reading Level 2
Data To Vme
14 16-bit words from vhd_l2port are written into the memory at each davo=1
Read one word at each VME read frame. Seradr specifies memory read address.
Example: read qterm0 at address=9
|
serframe |
seradr |
note |
|
101010111000000 |
0000000000001001 |
Read out 16-bit terms0 to level 2 |