VME Commands For GAB_S30 Test                             V.1   4/5/2005

 

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