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)

..

0

11

Tab2_data(3)

Emsouth: word11

 

..                      ..                          ..

..                      ..                          ..

..                      ..                          ..

..                      ..                          ..

..                      ..                          ..

 

Seradr(8..5)

Seradr(4..0)

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

Input to term decision module

0

24

Tab6_data(0)

Emsouth: word24

0

25

Tab6_data(1)

..

0

26

Tab6_data(2)

..

0

27

Tab6_data(3)

..

0

28

Tab7_data(0)

..

0

29

Tab7_data(1)

..

0

30

Tab7_data(2)

..

0

31

Tab7_data(3)

Emsouth: word31

 

 

      

 

 

 

 

 

Map of VME reading out input data : emnorth

Seradr(8..5)

Seradr(4..0)

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

Input to term decision module

2

0

Tab0_data(8)

Emnorth: word0

2

1

Tab0_data(9)

Emnorth: word1

2

2

Tab0_data(10)

Emnorth: word2

2

3

Tab0_data(11)

..

2

4

Tab1_data(8)

..

2

5

Tab1_data(9)

..

2

6

Tab1_data(10)

..

2

7

Tab1_data(11)

..

2

8

Tab2_data(8)

..

2

9

Tab2_data(9)

..

2

10

Tab2_data(10)

..

2

11

Tab2_data(11)

Emnorth: word11

 

..                      ..                          ..

..                      ..                          ..

..                      ..                          ..

..                      ..                          ..

..                      ..                          ..

 

Seradr(8..5)

Seradr(4..0)

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

Input to term decision module

2

24

Tab6_data(8)

Emnorth: word24

2

25

Tab6_data(9)

..

2

26

Tab6_data(10)

..

2

27

Tab6_data(11)

..

2

28

Tab7_data(8)

..

2

29

Tab7_data(9)

..

2

30

Tab7_data(10)

..

2

31

Tab7_data(11)

Emnorth: word31

 

 

 

 

 

 

 

 

 

Map of VME reading out input data :

Seradr(8..5)

Seradr(4..0)

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

Input to term decision module

10

0

Tab0_data(40)

Status from tab0

10

1

Tab0_data(41)

Sync from tab0

10

2

Tab0_data(42)

run from tab0

10

3

Tab0_data(43)

bc from tab0

10

4

Tab1_data(40)

Status from tab1

10

5

Tab1_data(41)

Sync from tab1

10

6

Tab1_data(42)

run from tab1

10

7

Tab1_data(43)

bc from tab1

10

8

Tab2_data(40)

Status from tab2

10

9

Tab2_data(41)

Sync from tab2

10

10

Tab2_data(42)

run from tab2

10

11

Tab2_data(43)

bc from tab2

 

..                      ..                          ..

..                      ..                          ..

..                      ..                          ..

..                      ..                          ..

..                      ..                          ..

 

Seradr(8..5)

Seradr(4..0)

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

Input to term decision module

10

24

Tab6_data(40)

Status from tab6

10

25

Tab6_data(41)

Sync from tab6

10

26

Tab6_data(42)

run from tab6

10

27

Tab6_data(43)

bc from tab6

10

28

Tab7_data(40)

Status from tab7

10

29

Tab7_data(41)

Sync from tab7

10

30

Tab7_data(42)

run from tab7

10

31

Tab7_data(43)

bc from tab7

 

 

 

 

 

 

 

 

Map of VME reading out input data :  SCL data

Seradr(8..5)

Seradr(4..0)

data to read out by

Vme: 12 bits, lsb first

12

0

sclsync

12

1

sclbc

12

2

sclturn

12

3

sclrun

12

4

sclaccept

12

5

sclinit

12

6

Extra1

12

7

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

1010101100000000

0000000111110000

Read  aterms

1010101100000000

0000000111110001

Read bterms

1010101100000000

0000000111110010

Read cterms

1010101100000000

0000000111110011

Read dterms

1010101100000000

0000000111110100

Read ot,  serdatout(14..0)

1010101100000000

0000000111110101

Read ox,  serdatout(14..0)

1010101100000000

0000000111110110

Read oy,  serdatout(14..0)

1010101100000000

0000000111110111

Read bco, serdatout(7..0)

1010101100000000

0000000111111000

Read sclbco, serdatout(7..0)

1010101100000000

0000000111111001

Read sclturno

1010101100000000

0000000111111010

Read statuso, serdatout(7..0)

1010101100000000

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

1010101110000000

0000000000001001

Read out 16-bit terms0 to level 2

 

 

 

Command For Reading GAB Status To VME

 

serframe

1010100110000000