Belle II KLM Scint Firmware
1
b2tt_symbols.vhd
1
------------------------------------------------------------------------
2
-- b2tt_symbols.vhd
3
--
4
-- Mikihiko Nakao, KEK IPNS
5
--
6
-- 20120130 first version
7
-- 20130403 renamed to tt_symbols
8
-- 20130507 renamed back to b2tt_symbols
9
-- 20131002 TTYP_TEST added
10
-- 20160830 TTREG symbols added
11
------------------------------------------------------------------------
12
library
ieee
;
13
use
ieee.std_logic_1164.
all
;
14
use
ieee.std_logic_unsigned.
all
;
15
use
ieee.numeric_std.
all
;
16
17
package
b2tt_symbols
is
18
-- - kcode
19
subtype
octet10b_t
is
std_logic_vector
(
9
downto
0
)
;
20
subtype
octet_t
is
std_logic_vector
(
7
downto
0
)
;
21
22
constant
K28_0
:
octet_t
:=
x
"1c"
;
-- K.28.0 28 000 11100
23
constant
K28_1
:
octet_t
:=
x
"3c"
;
-- K.28.1 60 001 11100
24
constant
K28_2
:
octet_t
:=
x
"5c"
;
-- K.28.2 92 010 11100
25
constant
K28_3
:
octet_t
:=
x
"7c"
;
-- K.28.3 124 011 11100
26
constant
K28_4
:
octet_t
:=
x
"9c"
;
-- K.28.4 156 100 11100
27
constant
K28_5
:
octet_t
:=
x
"bc"
;
-- K.28.5 188 101 11100
28
constant
K28_6
:
octet_t
:=
x
"dc"
;
-- K.28.6 220 110 11100
29
constant
K28_7
:
octet_t
:=
x
"fc"
;
-- K.28.7 252 111 11100
30
constant
K23_7
:
octet_t
:=
x
"f7"
;
-- K.23.7 247 111 10111
31
constant
K27_7
:
octet_t
:=
x
"fb"
;
-- K.27.7 251 111 11011
32
constant
K29_7
:
octet_t
:=
x
"fd"
;
-- K.29.7 253 111 11101
33
constant
K30_7
:
octet_t
:=
x
"fe"
;
-- K.30.7 254 111 11110
34
35
constant
K28_0N
:
octet10b_t
:=
"001111"
&
"0100"
;
-- K.28.0 x"0f4"
36
constant
K28_1N
:
octet10b_t
:=
"001111"
&
"1001"
;
-- K.28.1 x"0f9"
37
constant
K28_2N
:
octet10b_t
:=
"001111"
&
"0101"
;
-- K.28.2 x"0f5"
38
constant
K28_3N
:
octet10b_t
:=
"001111"
&
"0011"
;
-- K.28.3 x"0f3"
39
constant
K28_4N
:
octet10b_t
:=
"001111"
&
"0010"
;
-- K.28.4 x"0f2"
40
constant
K28_5N
:
octet10b_t
:=
"001111"
&
"1010"
;
-- K.28.5 x"0fa"
41
constant
K28_6N
:
octet10b_t
:=
"001111"
&
"0110"
;
-- K.28.6 x"0f6"
42
constant
K28_7N
:
octet10b_t
:=
"001111"
&
"1000"
;
-- K.28.7 x"0f8"
43
constant
K23_7N
:
octet10b_t
:=
"111010"
&
"1000"
;
-- K.23.7 x"3a8"
44
constant
K27_7N
:
octet10b_t
:=
"110110"
&
"1000"
;
-- K.27.7 x"368"
45
constant
K29_7N
:
octet10b_t
:=
"101110"
&
"1000"
;
-- K.29.7 x"2e8"
46
constant
K30_7N
:
octet10b_t
:=
"011110"
&
"1000"
;
-- K.30.7 x"1e8"
47
48
constant
K28_0P
:
octet10b_t
:=
"110000"
&
"1011"
;
-- K.28.0 x"30b"
49
constant
K28_1P
:
octet10b_t
:=
"110000"
&
"0110"
;
-- K.28.1 x"306"
50
constant
K28_2P
:
octet10b_t
:=
"110000"
&
"1010"
;
-- K.28.2 x"30a"
51
constant
K28_3P
:
octet10b_t
:=
"110000"
&
"1100"
;
-- K.28.3 x"30c"
52
constant
K28_4P
:
octet10b_t
:=
"110000"
&
"1101"
;
-- K.28.4 x"30d"
53
constant
K28_5P
:
octet10b_t
:=
"110000"
&
"0101"
;
-- K.28.5 x"305"
54
constant
K28_6P
:
octet10b_t
:=
"110000"
&
"1001"
;
-- K.28.6 x"309"
55
constant
K28_7P
:
octet10b_t
:=
"110000"
&
"0111"
;
-- K.28.7 x"307"
56
constant
K23_7P
:
octet10b_t
:=
"000101"
&
"0111"
;
-- K.23.7 x"057"
57
constant
K27_7P
:
octet10b_t
:=
"001001"
&
"0111"
;
-- K.27.7 x"097"
58
constant
K29_7P
:
octet10b_t
:=
"010001"
&
"0111"
;
-- K.29.7 x"117"
59
constant
K30_7P
:
octet10b_t
:=
"100001"
&
"0111"
;
-- K.30.7 x"217"
60
61
-- fee subsystem (copy of B2LFEE, with addition of PXD)
62
63
constant
TTFEE_UNDEF
:
std_logic_vector
(
3
downto
0
)
:=
"0000"
;
-- 0
64
constant
TTFEE_SVD
:
std_logic_vector
(
3
downto
0
)
:=
"0001"
;
-- 1
65
constant
TTFEE_CDC
:
std_logic_vector
(
3
downto
0
)
:=
"0010"
;
-- 2
66
constant
TTFEE_BPID
:
std_logic_vector
(
3
downto
0
)
:=
"0011"
;
-- 3
67
constant
TTFEE_EPID
:
std_logic_vector
(
3
downto
0
)
:=
"0100"
;
-- 4
68
constant
TTFEE_ECL
:
std_logic_vector
(
3
downto
0
)
:=
"0101"
;
-- 5
69
constant
TTFEE_BECL
:
std_logic_vector
(
3
downto
0
)
:=
"0101"
;
-- 5
70
constant
TTFEE_EECL
:
std_logic_vector
(
3
downto
0
)
:=
"0110"
;
-- 6
71
constant
TTFEE_KLM
:
std_logic_vector
(
3
downto
0
)
:=
"0111"
;
-- 7
72
constant
TTFEE_BKLM
:
std_logic_vector
(
3
downto
0
)
:=
"0111"
;
-- 7
73
constant
TTFEE_EKLM
:
std_logic_vector
(
3
downto
0
)
:=
"1000"
;
-- 8
74
constant
TTFEE_TRG
:
std_logic_vector
(
3
downto
0
)
:=
"1001"
;
-- 9
75
constant
TTFEE_PXD
:
std_logic_vector
(
3
downto
0
)
:=
"1010"
;
-- 10
76
constant
TTFEE_DEMO
:
std_logic_vector
(
3
downto
0
)
:=
"1110"
;
-- 14
77
constant
TTFEE_TEST
:
std_logic_vector
(
3
downto
0
)
:=
"1111"
;
-- 15
78
79
-- - trigger type
80
-- TTYP_PIDx contains 2ns interval info from PID
81
-- TTYP_RSVx also cointains 2ns interval, usage to be defined later
82
-- other TTYP have no 2ns interval info
83
84
subtype
trigtyp_t
is
std_logic_vector
(
3
downto
0
)
;
85
constant
TTYP_PID0
:
trigtyp_t
:=
"0000"
;
-- 0
86
constant
TTYP_PID1
:
trigtyp_t
:=
"0100"
;
-- 4
87
constant
TTYP_PID2
:
trigtyp_t
:=
"1000"
;
-- 8
88
constant
TTYP_PID3
:
trigtyp_t
:=
"1100"
;
-- c
89
constant
TTYP_RSV0
:
trigtyp_t
:=
"0010"
;
-- 2
90
constant
TTYP_RSV1
:
trigtyp_t
:=
"0110"
;
-- 6
91
constant
TTYP_RSV2
:
trigtyp_t
:=
"1010"
;
-- a
92
constant
TTYP_RSV3
:
trigtyp_t
:=
"1110"
;
-- e
93
94
constant
TTYP_ECL
:
trigtyp_t
:=
"0001"
;
-- 1
95
constant
TTYP_CDC
:
trigtyp_t
:=
"0011"
;
-- 3
96
constant
TTYP_DPHY
:
trigtyp_t
:=
"0101"
;
-- 5 delayed physics
97
constant
TTYP_RAND
:
trigtyp_t
:=
"0111"
;
-- 7
98
constant
TTYP_TEST
:
trigtyp_t
:=
"1001"
;
-- 9 test pulse input
99
constant
TTYP_RSV4
:
trigtyp_t
:=
"1011"
;
-- b
100
constant
TTYP_RSV5
:
trigtyp_t
:=
"1101"
;
-- d
101
constant
TTYP_NONE
:
trigtyp_t
:=
"1111"
;
-- f also used for begin-run
102
103
-- - payload
104
subtype
payload_t
is
std_logic_vector
(
76
downto
0
)
;
105
constant
PAYLOAD_EMPTY
:
payload_t
:=
x
"0000000000000000000"
&
'
0
'
;
106
107
-- - command
108
subtype
ttpkt_t
is
std_logic_vector
(
11
downto
0
)
;
109
constant
TTPKT_IDLE
:
ttpkt_t
:=
x
"fff"
;
-- unused
110
constant
TTPKT_TTAG
:
ttpkt_t
:=
x
"000"
;
111
constant
TTPKT_FREQ
:
ttpkt_t
:=
x
"001"
;
112
constant
TTPKT_RST
:
ttpkt_t
:=
x
"002"
;
113
constant
TTPKT_CMD
:
ttpkt_t
:=
x
"003"
;
114
constant
TTPKT_DISP
:
ttpkt_t
:=
x
"007"
;
115
constant
TTPKT_REVO
:
ttpkt_t
:=
x
"00d"
;
116
constant
TTPKT_INJV
:
ttpkt_t
:=
x
"00e"
;
117
constant
TTPKT_SYNC
:
ttpkt_t
:=
x
"00f"
;
118
119
-- - ttreg
120
-- 1f-1e, 01-00 are reserved for later addition
121
subtype
ttreg_t
is
std_logic_vector
(
4
downto
0
)
;
122
constant
TTREG_CLOST
:
ttreg_t
:=
"11101"
;
-- 1d
123
constant
TTREG_TDOWN
:
ttreg_t
:=
"11100"
;
-- 1c
124
125
constant
TTREG_TLOST
:
ttreg_t
:=
"11011"
;
-- 1b
126
constant
TTREG_TERR
:
ttreg_t
:=
"11010"
;
-- 1a
127
constant
TTREG_FERR
:
ttreg_t
:=
"11001"
;
-- 19
128
constant
TTREG_RERR
:
ttreg_t
:=
"11000"
;
-- 18
129
130
constant
TTREG_LDOWN
:
ttreg_t
:=
"10111"
;
-- 17
131
constant
TTREG_LLOST
:
ttreg_t
:=
"10110"
;
-- 16
132
constant
TTREG_EBIT
:
ttreg_t
:=
"10101"
;
-- 15
133
constant
TTREG_BUSY
:
ttreg_t
:=
"10100"
;
-- 14
134
135
constant
TTREG_IDLY
:
ttreg_t
:=
"10011"
;
-- 13
136
constant
TTREG_RDLY
:
ttreg_t
:=
"10010"
;
-- 12
137
constant
TTREG_ALIVE
:
ttreg_t
:=
"10001"
;
-- 11
138
constant
TTREG_BOUND
:
ttreg_t
:=
"10000"
;
-- 10
139
140
constant
TTREG_TMASK
:
ttreg_t
:=
"01111"
;
-- 0f
141
constant
TTREG_EMASK
:
ttreg_t
:=
"01110"
;
-- 0e
142
constant
TTREG_JTAGE
:
ttreg_t
:=
"01101"
;
-- 0d
143
constant
TTREG_SEM
:
ttreg_t
:=
"01100"
;
-- 0c
144
145
constant
TTREG_TTAG
:
ttreg_t
:=
"01011"
;
-- 0b
146
constant
TTREG_FTAG
:
ttreg_t
:=
"01010"
;
-- 0a
147
constant
TTREG_WCNTH
:
ttreg_t
:=
"01001"
;
-- 09
148
constant
TTREG_WCNTL
:
ttreg_t
:=
"01000"
;
-- 08
149
150
constant
TTREG_ETIME
:
ttreg_t
:=
"00111"
;
-- 07 (error or start)
151
constant
TTREG_BTIME
:
ttreg_t
:=
"00110"
;
-- 06 (boot)
152
constant
TTREG_EREG
:
ttreg_t
:=
"00101"
;
-- 05 (error or start)
153
constant
TTREG_PREG
:
ttreg_t
:=
"00100"
;
-- 04 (now)
154
155
constant
TTREG_ID
:
ttreg_t
:=
"00011"
;
-- 03
156
constant
TTREG_VER
:
ttreg_t
:=
"00010"
;
-- 02
157
constant
TTREG_USR
:
ttreg_t
:=
"00001"
;
-- 01
158
159
end
package
b2tt_symbols
;
160
161
-- - emacs outline mode setup
162
-- Local Variables: ***
163
-- mode:outline-minor ***
164
-- outline-regexp:"-- -+" ***
165
-- End: ***
b2tt_symbols
Definition:
b2tt_symbols.vhd:17
b2tt
b2tt
b2tt_symbols.vhd
Generated by
1.8.13