VME Commands For GAB_S30 Test                   V.2

 updated on 4/19/05. Add maps for vme reading tab inputs.    

 

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

1010100100000000

0000000000000000

0000100100100100

th_eq1

ceq

1010100100000000

0000000000000001

0000101101101101

th_eq2

ceq

1010100100000000

0000000000000010

0000000000101101

th_jq1

cjq

1010100100000000

0000000000000011

0000000000100100

th_jq2

cjq

1010100100000000

0000000000000100

0000000101101101

th_er1

cer

1010100100000000

0000000000000101

0000000100100100

th_er2

cer

1010100100000000

0000000000000110

0000000011011011

th_jr1

cjr

1010100100000000

0000000000000111

0000000101101101

th_jr2

cjr

1010100100000000

0000000000001000

0000101101101101

th_em1

cem

1010100100000000

0000000000001001

0000101101101101

th_em2

cem

1010100100000000

0000000000001010

0000100100100100

th_jt1

cjt

1010100100000000

0000000000001011

0000101101101101

th_jt2

cjt

1010100100000000

0000000000001100

0000101101101101

th_jt3

cjt

1010100100000000

0000000000001101

0000101101101101

th_jt4

cjt

1010100100000000

0000000000001110

0000101101101101

th_ta1

cta

1010100100000000

0000000000001111

0000101101101101

th_ta2

cta

1010100100000000

0000000000010000

0110101010101011

th_et

cet

1010100100000000

0000000000010001

0100000000001010

th_me0

cme

1010100100000000

0000000000010010

0100000000000010

th_me1

cme

1010100100000000

0000000000010011

0100000000000011

th_me2

cme

1010100100000000

0000000000010100

0100000000000100

th_me3

cme

1010100100000000

0000000000010101

0000000000000101

th_jfr

jetfr

1010100100000000

0000000000010110

0000000000000011

th_cop

acopj

1010100100000000

0000000000010111

0000000000000100

th_bkb

bkbk

 

 

 

 

 

1010100100000000

0000000000110000

1111000011110000

hdsize

 

1010100100000000

0000000000110001

0000000011110000

hdtype

 

1010100100000000

0000000000110010

1000100010001000

hdformat

 

1010100100000000

0000000000110011

0000000000000001

hdversion

 

1010100100000000

0000000000110100

0000000010000001

hdbits

 

1010100100000000

0000000000110101

0000000000010001

scldelay

adjusted

1010100100000000

0000000000110110

0000000000010010

L2delay

adjusted

1010100100000000

0000000000110111

0000000000000001

maxerror

 

 

 

 

 

 

 

 

 

       

Commands For Reading Parameters To VME

Same seradr as loading

 

serframe

seradr

parameter

note

1010101000000000

0000000000000000

th_eq1

ceq

1010101000000000

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 32 jetsouth data from the memory

serframe

seradr

note

1010101010000000

0000000001100000

Read bit0 of the 12 memory words

1010101010000000

0000000001100001

Read bit1 of the 12 memory words

1010101010000000

0000000001100010

Read bit2 of the 12 memory words

1010101010000000

0000000001100011

Read bit3 of the 12 memory words

1010101010000000

0000000001100100

Read bit4 of the 12 memory words

1010101010000000

0000000001100101

Read bit5 of the 12 memory words

1010101010000000

0000000001100110

Read bit6 of the 12 memory words

--

--

--

--

--

--

1010101010000000

0000000001111111

read bit32 of the 12 memory words

 

 

Example2: read 8 scl data from the memory

serframe

seradr

note

1010101010000000

0000000110000000

Read bit0 of the 12 memory words: sclsync

1010101010000000

0000000110000001

Read bit1 of the 12 memory words: sclbc

1010101010000000

0000000110000010

Read bit2 of the 12 memory words: sclturn

1010101010000000

0000000110000011

Read bit3 of the 12 memory words: sclrun

1010101010000000

0000000110000100

Read bit4 of the 12 memory words: sclaccept

1010101010000000

0000000110000101

Read bit5 of the 12 memory words: sclinit

1010101010000000

0000000110000110

Read bit6 of the 12 memory words: extra1

1010101010000000

0000000110000111

Read bit7 of the 12 memory words: extra2

 

 

 

 

Map of VME reading out input data : emsouth

Seradr(8..5)

Seradr(4..0)

Tab_data to read out by vme: 12 bits,  lsb first

Input to term decision module

0

0

Tab0_data(0)

Emsouth: word0

0

1

Tab0_data(1)

Emsouth: word1

0

2

Tab0_data(2)

Emsouth: word2

0

3

Tab0_data(3)

..

0

4

Tab1_data(0)

..

0

5

Tab1_data(1)

..

0

6

Tab1_data(2)

..

0

7

Tab1_data(3)

..

0

8

Tab2_data(0)

..

0

9

Tab2_data(1)

..

0

10

Tab2_data(2)