CMX
CMX firmware code in-line documentation
 All Classes Namespaces Files Functions Variables
CMX_flavor_package.vhd
Go to the documentation of this file.
1 
12 
13 
14 library IEEE;
15 use IEEE.STD_LOGIC_1164.ALL;
16 use IEEE.NUMERIC_STD.ALL;
17 
18 library work;
19 
20 use work.CMXpackage.all;
21 
22 package CMX_flavor_package is
23 
24  constant version_flavor_common : std_logic_vector(15 downto 0):=x"F0A3";
25 
26 
27  type arr_s0word is array(3 downto 0) of std_logic_vector(15 downto 0);
28  type arr_s1word is array(3 downto 0) of std_logic_vector(7 downto 0);
29 
30 
31  CONSTANT max_tobs_tot : integer := 70;
32  CONSTANT max_tobs_topo : integer := 30;
33  CONSTANT max_cps : integer := 14;
34  CONSTANT max_tobs_pcp : integer := 5;
35  CONSTANT thresholds_num : integer := 16;
36  CONSTANT thresholds_width : integer := 10;
37  CONSTANT max_eta_slices : integer := 4;
38 
39  constant num_presence_bits_pcp : integer :=16;
40 
41 
42  type Low_word is array (integer range <>) of arr_s0word;
43  type High_word is array (integer range <>) of arr_s1word;
44 
45  --from first/last four CP chips
46  type num_tobs_half is array(max_cps-1 downto 0) of std_logic_vector(3 downto 0);
47  --sum of the number of tobs from two subsets of CP chips
48  type num_tobs is array(max_cps-1 downto 0) of unsigned(4 downto 0);
49  type ntobs_type is array(15 downto 0) of std_logic_vector(2 downto 0);
50  type ptr_sort is array(15 downto 0) of std_logic_vector(6 downto 0);
51  type ptr_presort is array(15 downto 0) of std_logic_vector(3 downto 0);
52  type ptr_jem is array(16 downto 0) of std_logic_vector(6 downto 0);
53 
54  --four top bits contain number of TOBs in that half of the CPM
55  type pos_type_ext is array(max_cps-1 downto 0) of std_logic_vector(23 downto 0);
56  type pos_type is array(max_cps-1 downto 0) of std_logic_vector(19 downto 0);
57 
58  type thPatG_type is array(integer range <>) of std_logic_vector(120 downto 0);
59 
60 
61 
62  type EmTauTOB is record
63  CLE : std_logic_vector (7 downto 0); -- cluster energy
64  ISO : std_logic_vector (4 downto 0); -- isolations bits
65  POS : std_logic_vector (9 downto 0); -- combined position information
66  end record;
67 
68  type arr_TOB is array (integer range <>) of EmTauTOB;
69 
70  constant num_copies : integer :=4;
71 
72  type copy_arr_TOB is array (num_copies-1 downto 0) of arr_TOB(max_tobs_topo-1 downto 0);
73 
74 
75  constant num_sort_layers: integer := 28;
76  type type_TOB_sort_layers is array(num_sort_layers-1 downto 0) of arr_TOB(max_tobs_tot-1 downto 0);
77 
78  --this is for holding adresses of the fields in the backplane data
79  type t_arr_addr is array(4 downto 0) of integer range 0 to 90;
80  constant arr_addr_CLE_Lo : t_arr_addr:= (72,56,48,32,24); -- (24,32,48,56,72);
81  constant arr_addr_ISO_Lo : t_arr_addr:= (90,82,66,42,18); -- (18,42,66,82,90);
82  constant arr_addr_POS_Lo : t_arr_addr:= (88,80,64,40,16); -- (16,40,64,80,88);
83 
84 
85  constant TO_EmTau_CLE_size : integer := 8;
86  constant TO_EmTau_ISO_size : integer := 5;
87  constant TO_EmTau_POS_size : integer := 10;
88 
90 
91 
92 
93  --type adder_type is array(15 downto 0) of std_logic_vector(2 downto 0);
94  --constant mult_i : adder_type:=("100","011","011","010",
95  -- "011","010","010","001",
96 -- "011","010","010","001",
97 -- "010","001","001","000");
98 
99 
100 
101  type fpos_type is array(integer range <>) of std_logic_vector(19 downto 0);
102  type thPatL_type is array(integer range <>) of std_logic_vector(79 downto 0);
103 
104  type par_type is array(integer range <>) of std_logic;
105 
106  constant zero : std_logic:='0';
107  constant frame_8 : std_logic_vector(7 downto 0):=(others => '0');
108  constant frame_7 : std_logic_vector(6 downto 0):=(others => '0');
109  constant frame_6 : std_logic_vector(5 downto 0):=(others => '0');
110 
111  subtype T_SL is std_logic;
112  subtype T_SLV2 is std_logic_vector(1 downto 0);
113  subtype T_SLV3 is std_logic_vector(2 downto 0);
114  subtype T_SLV4 is std_logic_vector(3 downto 0);
115  subtype T_SLV12 is std_logic_vector(11 downto 0);
116  subtype T_SLV13 is std_logic_vector(12 downto 0);
117  subtype T_SLV14 is std_logic_vector(13 downto 0);
118  subtype T_SLV24 is std_logic_vector(23 downto 0);
119  subtype T_SLV25 is std_logic_vector(24 downto 0);
120  subtype T_SLV30 is std_logic_vector(29 downto 0);
121  subtype T_SLV32 is std_logic_vector(31 downto 0);
122  subtype T_SLV16 is std_logic_vector(15 downto 0);
123  subtype T_SLV42 is std_logic_vector(41 downto 0);
124  subtype T_SLV48 is std_logic_vector(47 downto 0);
125  subtype T_SLV49 is std_logic_vector(48 downto 0);
126  subtype T_SLV50 is std_logic_vector(49 downto 0);
127  subtype T_SLV60 is std_logic_vector(59 downto 0);
128  subtype T_SLV61 is std_logic_vector(60 downto 0);
129  subtype T_SLV62 is std_logic_vector(61 downto 0);
130  subtype T_SLV65 is std_logic_vector(64 downto 0);
131  subtype T_SLV75 is std_logic_vector(74 downto 0);
132  subtype T_SLV120 is std_logic_vector(119 downto 0);
133  subtype T_SLV150 is std_logic_vector(149 downto 0);
134  subtype T_SLV121 is std_logic_vector(120 downto 0);
135  subtype T_SLV1936 is std_logic_vector(1935 downto 0);
136 
137 
138  type nx3_array is array (integer range <>) of std_logic_vector ( 2 downto 0);
139  type nx4_array is array(integer range <>) of std_logic_vector(3 downto 0);
140  type nx8_array is array (integer range <>) of std_logic_vector(7 downto 0);
141  type nx13_array is array (integer range <>) of std_logic_vector(12 downto 0);
142  type nx24_array is array (integer range <>) of std_logic_vector(23 downto 0);
143  type nx25_array is array (integer range <>) of std_logic_vector(24 downto 0);
144  type nx26_array is array (integer range <>) of std_logic_vector(25 downto 0);
145  type nx32_array is array (integer range <>) of std_logic_vector(31 downto 0);
146  type nx35_array is array (integer range <>) of std_logic_vector(34 downto 0);
147  type nx60_array is array (integer range <>) of std_logic_vector(59 downto 0);
148  type nx100_array is array(integer range <>) of std_logic_vector(99 downto 0);
149  type nx121_array is array(integer range <>) of std_logic_vector(120 downto 0);
150 
151  type nxmx4_array is array(integer range <>,integer range <> ) of std_logic_vector(3 downto 0);
152 
153  type int_array is array (integer range <>) of integer;
154 
155  type threshold_slice is array(integer range <>) of T_SLV13;
156  type threshold_cp is array(integer range <>) of threshold_slice(max_eta_slices-1 downto 0);
157  type threshold_type is array(integer range <>) of threshold_cp(thresholds_num-1 downto 0);
158 
159  type mult_type_a is array (integer range <>) of std_logic_vector(2 downto 0);
160  type mult_type is array (integer range <>) of mult_type_a(15 downto 0);
161 
162  type xsum_type_a is array(integer range <>) of std_logic_vector(3 downto 0);
163  type xsum_type is array(integer range <>) of xsum_type_a(6 downto 0);
164 
165  type totsum_type is array(integer range <>) of integer;
166 
167 
168  type adder_type is array(31 downto 0) of std_logic_vector(2 downto 0);
169  constant mult_i : adder_type:=("101","100","100","011","100","011","011","010","100","011","011",
170  "010","011","010","010","001","100","011","011","010","011","010",
171  "010","001","011","010","010","001","010","001","001","000");
172 
173  type loc_type_a is array(integer range <>) of std_logic_vector(1 downto 0);
174  type loc_type is array(integer range <>) of loc_type_a(max_tobs_pcp-1 downto 0);
175  type Rxpos_type is array(integer range <>) of std_logic_vector(4 downto 0);
176  type ntobsA_type is array(integer range <>) of std_logic_vector(2 downto 0);
177  type ntobstot_type is array(integer range <>) of std_logic_vector(3 downto 0);
178 
179  type calc_parity_typa_a is array(integer range <>) of T_SL;
180  type calc_parity_type is array(integer range <>) of calc_parity_typa_a(3 downto 0);
181 
182  type Rxpos_sort_type is array(0 to 255) of std_logic_vector(7 downto 0);
184  "00000000",
185  "00100000",
186  "00100001",
187  "01000010",
188  "00100000",
189  "01000000",
190  "01000001",
191  "01100010",
192  "00100001",
193  "01000010",
194  "01000011",
195  "01100110",
196  "01000010",
197  "01100100",
198  "01100101",
199  "10001010",
200  "00100000",
201  "01000000",
202  "01000001",
203  "01100010",
204  "01000000",
205  "01100000",
206  "01100001",
207  "10000010",
208  "01000001",
209  "01100010",
210  "01100011",
211  "10000110",
212  "01100010",
213  "10000100",
214  "10000101",
215  "10101010",
216  "00100001",
217  "01000010",
218  "01000011",
219  "01100110",
220  "01000010",
221  "01100100",
222  "01100101",
223  "10001010",
224  "01000011",
225  "01100110",
226  "01100111",
227  "10001110",
228  "01100110",
229  "10001100",
230  "10001101",
231  "10111010",
232  "01000010",
233  "01100100",
234  "01100101",
235  "10001010",
236  "01100100",
237  "10001000",
238  "10001001",
239  "10110010",
240  "01100101",
241  "10001010",
242  "10001011",
243  "10110110",
244  "10001010",
245  "10110100",
246  "10110101",
247  "11001010",
248  "00100000",
249  "01000000",
250  "01000001",
251  "01100010",
252  "01000000",
253  "01100000",
254  "01100001",
255  "10000010",
256  "01000001",
257  "01100010",
258  "01100011",
259  "10000110",
260  "01100010",
261  "10000100",
262  "10000101",
263  "10101010",
264  "01000000",
265  "01100000",
266  "01100001",
267  "10000010",
268  "01100000",
269  "10000000",
270  "10000001",
271  "10100010",
272  "01100001",
273  "10000010",
274  "10000011",
275  "10100110",
276  "10000010",
277  "10100100",
278  "10100101",
279  "11001010",
280  "01000001",
281  "01100010",
282  "01100011",
283  "10000110",
284  "01100010",
285  "10000100",
286  "10000101",
287  "10101010",
288  "01100011",
289  "10000110",
290  "10000111",
291  "10101110",
292  "10000110",
293  "10101100",
294  "10101101",
295  "11011010",
296  "01100010",
297  "10001000",
298  "10000101",
299  "10101010",
300  "10000100",
301  "10101000",
302  "10101001",
303  "11010010",
304  "10000101",
305  "10101010",
306  "10101011",
307  "11010110",
308  "10101010",
309  "11010100",
310  "11010101",
311  "10101010",
312  "00100001",
313  "01000010",
314  "01000011",
315  "01100110",
316  "01000010",
317  "01100100",
318  "01100101",
319  "10001010",
320  "01000011",
321  "01100110",
322  "01100111",
323  "10001110",
324  "01100110",
325  "10001100",
326  "10001101",
327  "10111010",
328  "01000010",
329  "01100100",
330  "01100101",
331  "10001010",
332  "01100100",
333  "10001000",
334  "10001001",
335  "10110010",
336  "01100101",
337  "10001010",
338  "10001011",
339  "10110110",
340  "10001010",
341  "10110100",
342  "10110101",
343  "11001010",
344  "01000011",
345  "01100110",
346  "01100111",
347  "10001110",
348  "01100110",
349  "10001100",
350  "10001101",
351  "10111010",
352  "01100111",
353  "10001110",
354  "10001111",
355  "10111110",
356  "10001110",
357  "10111100",
358  "10111101",
359  "11011010",
360  "01100110",
361  "10001100",
362  "10001101",
363  "10111010",
364  "10001100",
365  "10111000",
366  "10111001",
367  "11010010",
368  "10001101",
369  "10111010",
370  "10111011",
371  "11010110",
372  "10111010",
373  "11010100",
374  "11010101",
375  "11101010",
376  "01000010",
377  "01100100",
378  "01100101",
379  "10001010",
380  "01100100",
381  "10001000",
382  "10001001",
383  "10110010",
384  "01100101",
385  "10001010",
386  "10001011",
387  "10110110",
388  "10001010",
389  "10110100",
390  "10110101",
391  "11001010",
392  "01100100",
393  "10001000",
394  "10001001",
395  "10110010",
396  "10001000",
397  "10110000",
398  "10110001",
399  "11000010",
400  "10001001",
401  "10110010",
402  "10110011",
403  "11000110",
404  "10110010",
405  "11000100",
406  "11000101",
407  "11101010",
408  "01100101",
409  "10001010",
410  "10001011",
411  "10110110",
412  "10001010",
413  "10110100",
414  "10110101",
415  "10101010",
416  "10001011",
417  "10110110",
418  "10110111",
419  "10101110",
420  "10110110",
421  "10101100",
422  "10101101",
423  "10111010",
424  "10001010",
425  "10110100",
426  "10110101",
427  "10101010",
428  "10110100",
429  "10101000",
430  "10101001",
431  "10110010",
432  "10110101",
433  "10101010",
434  "10101011",
435  "10110110",
436  "10101010",
437  "10110100",
438  "10110101",
439  "10101010");
440 
441 
442  type cnt_mult_arr is array(integer range <>) of std_logic_vector(31 downto 0);
443  type cnt_mult_arr_2x16 is array(integer range <>) of std_logic_vector(15 downto 0);
444 
445  procedure Conv3to2
446  ( signal a: in std_logic_vector (2 downto 0);
447  signal b: out std_logic_vector (1 downto 0)) is
448  begin
449  if a(2) = '1' then
450  b <= "11";
451  else
452  b <= a(1 downto 0);
453  end if;
454  end Conv3to2;
455 
456  ----------
457  function add3x2 (
458  a: std_logic_vector (2 downto 0);
459  b: std_logic_vector (2 downto 0)
460  )
461  return std_logic_vector is
462  ----------
463  -- add two 3-bit numbers, return 4-bit sum
464  --
465  variable isum: integer range 0 to 15;
466  variable vsum: std_logic_vector(3 downto 0);
467  ----------
468  begin
469  isum := to_integer(unsigned(a))
470  + to_integer(unsigned(b));
471  vsum := std_logic_vector(to_unsigned(isum,4));
472  return vsum;
473  end add3x2;
474 
475 
476 
477 end CMX_flavor_package;
std_logic_vector (3 downto 0) T_SLV4
array ( integer range<> ) of std_logic_vector (4 downto 0) Rxpos_type
array (15 downto 0 ) of std_logic_vector (3 downto 0) ptr_presort
array ( integer range<> ) of threshold_slice (max_eta_slices - 1 downto 0) threshold_cp
std_logic_vector (12 downto 0) T_SLV13
std_logic_vector (59 downto 0) T_SLV60
array (num_copies - 1 downto 0 ) of arr_TOB (max_tobs_topo - 1 downto 0) copy_arr_TOB
std_logic_vector (15 downto 0) T_SLV16
array ( integer range<> ) of std_logic_vector (23 downto 0) nx24_array
std_logic_vector (6 downto 0) :=( others =>'0' ) frame_7
array (num_sort_layers - 1 downto 0 ) of arr_TOB (max_tobs_tot - 1 downto 0) type_TOB_sort_layers
std_logic_vector (49 downto 0) T_SLV50
array (0 to 255 ) of std_logic_vector (7 downto 0) Rxpos_sort_type
array (16 downto 0 ) of std_logic_vector (6 downto 0) ptr_jem
integer :=5 TO_EmTau_ISO_size
integer :=21 num_sort_layers
array ( integer range<> , integer range<> ) of std_logic_vector (3 downto 0) nxmx4_array
array ( integer range<> ) of std_logic_vector (24 downto 0) nx25_array
integer :=16 num_presence_bits_pcp
array ( integer range<> ) of std_logic calc_parity_typa_a
std_logic_vector (15 downto 0) :=x"F0A5" version_flavor_common
t_arr_addr := ( 72,56,48,32,24 ) arr_addr_CLE_Lo
integer :=25 thresholds_num
std_logic_vector (149 downto 0) T_SLV150
t_arr_addr := ( 88,80,64,40,16 ) arr_addr_POS_Lo
array ( integer range<> ) of std_logic_vector (59 downto 0) nx60_array
array ( integer range<> ) of std_logic_vector (3 downto 0) xsum_type_a
std_logic_vector (7 downto 0) :=( others =>'0' ) frame_8
std_logic_vector (41 downto 0) T_SLV42
integer :=10 thresholds_width
array ( integer range<> ) of std_logic_vector (2 downto 0) ntobsA_type
std_logic_vector (5 downto 0) :=( others =>'0' ) frame_6
std_logic_vector (2 downto 0) T_SLV3
t_arr_addr := ( 90,82,66,42,18 ) arr_addr_ISO_Lo
std_logic_vector (60 downto 0) T_SLV61
std_logic_vector (31 downto 0) T_SLV32
array ( integer range<> ) of std_logic_vector (10 downto 0) threshold_slice
std_logic_vector (120 downto 0) T_SLV121
std_logic_vector (11 downto 0) T_SLV12
array ( integer range<> ) of std_logic_vector (120 downto 0) thPatG_type
array ( integer range<> ) of std_logic_vector (31 downto 0) cnt_mult_arr
array (15 downto 0 ) of std_logic_vector (6 downto 0) ptr_sort
array ( integer range<> ) of std_logic_vector (2 downto 0) mult_type_a
array ( integer range<> ) of std_logic_vector (31 downto 0) nx32_array
array ( integer range<> ) of std_logic_vector (2 downto 0) nx3_array
std_logic :='0' zero
std_logic_vector (23 downto 0) T_SLV24
array (15 downto 0 ) of std_logic_vector (3 downto 0) num_tobs
std_logic_vector (24 downto 0) T_SLV25
array (4 downto 0 ) of integer range 0 to 90 t_arr_addr
std_logic_vector (119 downto 0) T_SLV120
array ( integer range<> ) of std_logic_vector (12 downto 0) nx13_array
array ( integer range<> ) of std_logic_vector (99 downto 0) nx100_array
array ( integer range<> ) of arr_s1word High_word
array ( integer range<> ) of std_logic_vector (99 downto 0) thPatL_type
array (3 downto 0 ) of std_logic_vector (15 downto 0) arr_s0word
std_logic_vector (64 downto 0) T_SLV65
array ( integer range<> ) of xsum_type_a (7 downto 0) xsum_type
array ( integer range<> ) of std_logic par_type
integer :=10 TO_EmTau_POS_size
integer :=32 max_tobs_topo
std_logic_vector (61 downto 0) T_SLV62
adder_type := ( "100","011","011","010","011","010","010","001","011","010","010","001","010","001","001","000" ) mult_i
array ( integer range<> ) of threshold_jem (thresholds_num - 1 downto 0) threshold_type
array ( integer range<> ) of std_logic_vector (19 downto 0) fpos_type
array (3 downto 0 ) of std_logic_vector (7 downto 0) arr_s1word
CLE:std_logic_vector (7 downto 0)# ISO:std_logic_vector (4 downto 0)# POS:std_logic_vector (9 downto 0)# EmTauTOBrecordCLE:std_logic_vector%(7%%%downto%%%0)#%%ISO:std_logic_vector%(4%%%downto%%%0)#%POS:std_logic_vector%(9%%%downto%%%0)#
std_logic_vector (48 downto 0) T_SLV49
array (15 downto 0 ) of std_logic_vector (2 downto 0) adder_type
array ( integer range<> ) of std_logic_vector (3 downto 0) ntobstot_type
array ( integer range<> ) of integer totsum_type
array ( integer range<> ) of integer int_array
array ( integer range<> ) of calc_parity_typa_a (3 downto 0) calc_parity_type
array ( integer range<> ) of std_logic_vector (3 downto 0) nx4_array
std_logic_vector (13 downto 0) T_SLV14
array ( integer range<> ) of std_logic_vector (25 downto 0) nx26_array
Rxpos_sort_type := ( "00000000","00100000","00100001","01000010","00100000","01000000","01000001","01100010","00100001","01000010","01000011","01100110","01000010","01100100","01100101","10001010","00100000","01000000","01000001","01100010","01000000","01100000","01100001","10000010","01000001","01100010","01100011","10000110","01100010","10000100","10000101","10101010","00100001","01000010","01000011","01100110","01000010","01100100","01100101","10001010","01000011","01100110","01100111","10001110","01100110","10001100","10001101","10111010","01000010","01100100","01100101","10001010","01100100","10001000","10001001","10110010","01100101","10001010","10001011","10110110","10001010","10110100","10110101","11001010","00100000","01000000","01000001","01100010","01000000","01100000","01100001","10000010","01000001","01100010","01100011","10000110","01100010","10000100","10000101","10101010","01000000","01100000","01100001","10000010","01100000","10000000","10000001","10100010","01100001","10000010","10000011","10100110","10000010","10100100","10100101","11001010","01000001","01100010","01100011","10000110","01100010","10000100","10000101","10101010","01100011","10000110","10000111","10101110","10000110","10101100","10101101","11011010","01100010","10001000","10000101","10101010","10000100","10101000","10101001","11010010","10000101","10101010","10101011","11010110","10101010","11010100","11010101","10101010","00100001","01000010","01000011","01100110","01000010","01100100","01100101","10001010","01000011","01100110","01100111","10001110","01100110","10001100","10001101","10111010","01000010","01100100","01100101","10001010","01100100","10001000","10001001","10110010","01100101","10001010","10001011","10110110","10001010","10110100","10110101","11001010","01000011","01100110","01100111","10001110","01100110","10001100","10001101","10111010","01100111","10001110","10001111","10111110","10001110","10111100","10111101","11011010","01100110","10001100","10001101","10111010","10001100","10111000","10111001","11010010","10001101","10111010","10111011","11010110","10111010","11010100","11010101","11101010","01000010","01100100","01100101","10001010","01100100","10001000","10001001","10110010","01100101","10001010","10001011","10110110","10001010","10110100","10110101","11001010","01100100","10001000","10001001","10110010","10001000","10110000","10110001","11000010","10001001","10110010","10110011","11000110","10110010","11000100","11000101","11101010","01100101","10001010","10001011","10110110","10001010","10110100","10110101","10101010","10001011","10110110","10110111","10101110","10110110","10101100","10101101","10111010","10001010","10110100","10110101","10101010","10110100","10101000","10101001","10110010","10110101","10101010","10101011","10110110","10101010","10110100","10110101","10101010" ) Rxpos_sort
array ( integer range<> ) of std_logic_vector (34 downto 0) nx35_array
array ( integer range<> ) of std_logic_vector (7 downto 0) nx8_array
integer :=TO_EmTau_CLE_size + TO_EmTau_ISO_size + TO_EmTau_POS_size TO_EmTau_size
array ( integer range<> ) of loc_type_a (max_tobs_pjem - 1 downto 0) loc_type
array ( integer range<> ) of JetTOB arr_TOB
std_logic_vector (74 downto 0) T_SLV75
std_logic_vector (47 downto 0) T_SLV48
array ( integer range<> ) of arr_s0word Low_word
array ( integer range<> ) of mult_type_a (24 downto 0) mult_type
array (15 downto 0 ) of std_logic_vector (2 downto 0) ntobs_type
integer :=8 TO_EmTau_CLE_size
array (15 downto 0 ) of std_logic_vector (11 downto 0) pos_type
array (max_cps - 1 downto 0 ) of std_logic_vector (3 downto 0) num_tobs_half
array ( integer range<> ) of std_logic_vector (120 downto 0) nx121_array
array ( integer range<> ) of std_logic_vector (1 downto 0) loc_type_a
std_logic_vector (1 downto 0) T_SLV2
array (max_cps - 1 downto 0 ) of std_logic_vector (23 downto 0) pos_type_ext
array ( integer range<> ) of std_logic_vector (15 downto 0) cnt_mult_arr_2x16
std_logic_vector (29 downto 0) T_SLV30
std_logic_vector (1935 downto 0) T_SLV1936