CMX
CMX firmware code in-line documentation
 All Classes Namespaces Files Functions Variables
CMX_top_Base.vhd
Go to the documentation of this file.
1 ----------------------------------------------------------------------------------
7 ----------------------------------------------------------------------------------
8 library IEEE;
9 use IEEE.STD_LOGIC_1164.ALL;
10 use IEEE.NUMERIC_STD.ALL;
11 
12 library UNISIM;
13 use UNISIM.VComponents.all;
14 
15 library work;
16 use work.CMXpackage.all;
17 use work.CMX_VME_defs.all;
18 use work.CMX_local_package.all;
19 use work.CMX_flavor_package.all;
20 
21 
22 
23 entity CMX_top_Base is
24  port (
25 
26  ----------------------------------------------------------------------------
27  -- VME-- backplane (65 signals)
28  ----------------------------------------------------------------------------
29  --GEOADDR0: in std_logic; -- GeoAddr0
30  OCB_GEO_ADRS_0: in std_logic;
31  --VMEADDR: in std_logic_vector(23 downto 1); -- Address bus
32  OCB_A01: in std_logic;
33  OCB_A02: in std_logic;
34  OCB_A03: in std_logic;
35  OCB_A04: in std_logic;
36  OCB_A05: in std_logic;
37  OCB_A06: in std_logic;
38  OCB_A07: in std_logic;
39  OCB_A08: in std_logic;
40  OCB_A09: in std_logic;
41  OCB_A10: in std_logic;
42  OCB_A11: in std_logic;
43  OCB_A12: in std_logic;
44  OCB_A13: in std_logic;
45  OCB_A14: in std_logic;
46  OCB_A15: in std_logic;
47  OCB_A16: in std_logic;
48  OCB_A17: in std_logic;
49  OCB_A18: in std_logic;
50  OCB_A19: in std_logic;
51  OCB_A20: in std_logic;
52  OCB_A21: in std_logic;
53  OCB_A22: in std_logic;
54  OCB_A23: in std_logic;
55  --VMEDS_L: in std_logic; -- DS strobe VMEDS_L
56  OCB_DS_B: in std_logic;
57  --VMEWR_L: in std_logic; -- VME Write VMEWR_L
58  OCB_WRITE_B: in std_logic;
59  --VMERST_L: in std_logic; -- System reset VMERST_L
60  OCB_SYS_RESET_B: in std_logic;
61  --VMEDATA: inout std_logic_vector(15 downto 0); -- Data bus VMEDATA
62  OCB_D: inout std_logic_vector(15 downto 0);
63  ----------------------------------------------------------------------------
64  --system monitor
65  BF_SYSMON_01_P : in STD_LOGIC; -- Auxiliary Channel 1
66  BF_SYSMON_01_N : in STD_LOGIC;
67  BF_SYSMON_03_P : in STD_LOGIC; -- Auxiliary Channel 3
68  BF_SYSMON_03_N : in STD_LOGIC;
69  BF_SYSMON_04_P : in STD_LOGIC; -- Auxiliary Channel 4
70  BF_SYSMON_04_N : in STD_LOGIC;
71  BF_SYSMON_07_P : in STD_LOGIC; -- Auxiliary Channel 7
72  BF_SYSMON_07_N : in STD_LOGIC;
73  BF_SYSMON_08_P : in STD_LOGIC; -- Auxiliary Channel 8
74  BF_SYSMON_08_N : in STD_LOGIC;
75  BF_SYSMON_09_P : in STD_LOGIC; -- Auxiliary Channel 9
76  BF_SYSMON_09_N : in STD_LOGIC;
77  BF_SYSMON_10_P : in STD_LOGIC; -- Auxiliary Channel 10
78  BF_SYSMON_10_N : in STD_LOGIC;
79  BF_SYSMON_11_P : in STD_LOGIC; -- Auxiliary Channel 11
80  BF_SYSMON_11_N : in STD_LOGIC;
81  BF_SYSMON_12_P : in STD_LOGIC; -- Auxiliary Channel 12
82  BF_SYSMON_12_N : in STD_LOGIC;
83  BF_SYSMON_13_P : in STD_LOGIC; -- Auxiliary Channel 13
84  BF_SYSMON_13_N : in STD_LOGIC;
85  BF_SYSMON_14_P : in STD_LOGIC; -- Auxiliary Channel 14
86  BF_SYSMON_14_N : in STD_LOGIC;
87  BF_SYSMON_15_P : in STD_LOGIC; -- Auxiliary Channel 15
88  BF_SYSMON_15_N : in STD_LOGIC;
89 
90 
91  P0_0 : in std_logic;
92  P0_1 : in std_logic;
93  P0_2 : in std_logic;
94  P0_3 : in std_logic;
95  P0_4 : in std_logic;
96  P0_5 : in std_logic;
97  P0_6 : in std_logic;
98  P0_7 : in std_logic;
99  P0_8 : in std_logic;
100  P0_9 : in std_logic;
101  P0_10 : in std_logic;
102  P0_11 : in std_logic;
103  P0_12 : in std_logic;
104  P0_13 : in std_logic;
105  P0_14 : in std_logic;
106  P0_15 : in std_logic;
107  P0_16 : in std_logic;
108  P0_17 : in std_logic;
109  P0_18 : in std_logic;
110  P0_19 : in std_logic;
111  P0_20 : in std_logic;
112  P0_21 : in std_logic;
113  P0_22 : in std_logic;
114  P0_23 : in std_logic;
115  P0_24 : in std_logic;
116  P1_0 : in std_logic;
117  P1_1 : in std_logic;
118  P1_2 : in std_logic;
119  P1_3 : in std_logic;
120  P1_4 : in std_logic;
121  P1_5 : in std_logic;
122  P1_6 : in std_logic;
123  P1_7 : in std_logic;
124  P1_8 : in std_logic;
125  P1_9 : in std_logic;
126  P1_10 : in std_logic;
127  P1_11 : in std_logic;
128  P1_12 : in std_logic;
129  P1_13 : in std_logic;
130  P1_14 : in std_logic;
131  P1_15 : in std_logic;
132  P1_16 : in std_logic;
133  P1_17 : in std_logic;
134  P1_18 : in std_logic;
135  P1_19 : in std_logic;
136  P1_20 : in std_logic;
137  P1_21 : in std_logic;
138  P1_22 : in std_logic;
139  P1_23 : in std_logic;
140  P1_24 : in std_logic;
141  P2_0 : in std_logic;
142  P2_1 : in std_logic;
143  P2_2 : in std_logic;
144  P2_3 : in std_logic;
145  P2_4 : in std_logic;
146  P2_5 : in std_logic;
147  P2_6 : in std_logic;
148  P2_7 : in std_logic;
149  P2_8 : in std_logic;
150  P2_9 : in std_logic;
151  P2_10 : in std_logic;
152  P2_11 : in std_logic;
153  P2_12 : in std_logic;
154  P2_13 : in std_logic;
155  P2_14 : in std_logic;
156  P2_15 : in std_logic;
157  P2_16 : in std_logic;
158  P2_17 : in std_logic;
159  P2_18 : in std_logic;
160  P2_19 : in std_logic;
161  P2_20 : in std_logic;
162  P2_21 : in std_logic;
163  P2_22 : in std_logic;
164  P2_23 : in std_logic;
165  P2_24 : in std_logic;
166  P3_0 : in std_logic;
167  P3_1 : in std_logic;
168  P3_2 : in std_logic;
169  P3_3 : in std_logic;
170  P3_4 : in std_logic;
171  P3_5 : in std_logic;
172  P3_6 : in std_logic;
173  P3_7 : in std_logic;
174  P3_8 : in std_logic;
175  P3_9 : in std_logic;
176  P3_10 : in std_logic;
177  P3_11 : in std_logic;
178  P3_12 : in std_logic;
179  P3_13 : in std_logic;
180  P3_14 : in std_logic;
181  P3_15 : in std_logic;
182  P3_16 : in std_logic;
183  P3_17 : in std_logic;
184  P3_18 : in std_logic;
185  P3_19 : in std_logic;
186  P3_20 : in std_logic;
187  P3_21 : in std_logic;
188  P3_22 : in std_logic;
189  P3_23 : in std_logic;
190  P3_24 : in std_logic;
191  P4_0 : in std_logic;
192  P4_1 : in std_logic;
193  P4_2 : in std_logic;
194  P4_3 : in std_logic;
195  P4_4 : in std_logic;
196  P4_5 : in std_logic;
197  P4_6 : in std_logic;
198  P4_7 : in std_logic;
199  P4_8 : in std_logic;
200  P4_9 : in std_logic;
201  P4_10 : in std_logic;
202  P4_11 : in std_logic;
203  P4_12 : in std_logic;
204  P4_13 : in std_logic;
205  P4_14 : in std_logic;
206  P4_15 : in std_logic;
207  P4_16 : in std_logic;
208  P4_17 : in std_logic;
209  P4_18 : in std_logic;
210  P4_19 : in std_logic;
211  P4_20 : in std_logic;
212  P4_21 : in std_logic;
213  P4_22 : in std_logic;
214  P4_23 : in std_logic;
215  P4_24 : in std_logic;
216  P5_0 : in std_logic;
217  P5_1 : in std_logic;
218  P5_2 : in std_logic;
219  P5_3 : in std_logic;
220  P5_4 : in std_logic;
221  P5_5 : in std_logic;
222  P5_6 : in std_logic;
223  P5_7 : in std_logic;
224  P5_8 : in std_logic;
225  P5_9 : in std_logic;
226  P5_10 : in std_logic;
227  P5_11 : in std_logic;
228  P5_12 : in std_logic;
229  P5_13 : in std_logic;
230  P5_14 : in std_logic;
231  P5_15 : in std_logic;
232  P5_16 : in std_logic;
233  P5_17 : in std_logic;
234  P5_18 : in std_logic;
235  P5_19 : in std_logic;
236  P5_20 : in std_logic;
237  P5_21 : in std_logic;
238  P5_22 : in std_logic;
239  P5_23 : in std_logic;
240  P5_24 : in std_logic;
241  P6_0 : in std_logic;
242  P6_1 : in std_logic;
243  P6_2 : in std_logic;
244  P6_3 : in std_logic;
245  P6_4 : in std_logic;
246  P6_5 : in std_logic;
247  P6_6 : in std_logic;
248  P6_7 : in std_logic;
249  P6_8 : in std_logic;
250  P6_9 : in std_logic;
251  P6_10 : in std_logic;
252  P6_11 : in std_logic;
253  P6_12 : in std_logic;
254  P6_13 : in std_logic;
255  P6_14 : in std_logic;
256  P6_15 : in std_logic;
257  P6_16 : in std_logic;
258  P6_17 : in std_logic;
259  P6_18 : in std_logic;
260  P6_19 : in std_logic;
261  P6_20 : in std_logic;
262  P6_21 : in std_logic;
263  P6_22 : in std_logic;
264  P6_23 : in std_logic;
265  P6_24 : in std_logic;
266  P7_0 : in std_logic;
267  P7_1 : in std_logic;
268  P7_2 : in std_logic;
269  P7_3 : in std_logic;
270  P7_4 : in std_logic;
271  P7_5 : in std_logic;
272  P7_6 : in std_logic;
273  P7_7 : in std_logic;
274  P7_8 : in std_logic;
275  P7_9 : in std_logic;
276  P7_10 : in std_logic;
277  P7_11 : in std_logic;
278  P7_12 : in std_logic;
279  P7_13 : in std_logic;
280  P7_14 : in std_logic;
281  P7_15 : in std_logic;
282  P7_16 : in std_logic;
283  P7_17 : in std_logic;
284  P7_18 : in std_logic;
285  P7_19 : in std_logic;
286  P7_20 : in std_logic;
287  P7_21 : in std_logic;
288  P7_22 : in std_logic;
289  P7_23 : in std_logic;
290  P7_24 : in std_logic;
291  P8_0 : in std_logic;
292  P8_1 : in std_logic;
293  P8_2 : in std_logic;
294  P8_3 : in std_logic;
295  P8_4 : in std_logic;
296  P8_5 : in std_logic;
297  P8_6 : in std_logic;
298  P8_7 : in std_logic;
299  P8_8 : in std_logic;
300  P8_9 : in std_logic;
301  P8_10 : in std_logic;
302  P8_11 : in std_logic;
303  P8_12 : in std_logic;
304  P8_13 : in std_logic;
305  P8_14 : in std_logic;
306  P8_15 : in std_logic;
307  P8_16 : in std_logic;
308  P8_17 : in std_logic;
309  P8_18 : in std_logic;
310  P8_19 : in std_logic;
311  P8_20 : in std_logic;
312  P8_21 : in std_logic;
313  P8_22 : in std_logic;
314  P8_23 : in std_logic;
315  P8_24 : in std_logic;
316  P9_0 : in std_logic;
317  P9_1 : in std_logic;
318  P9_2 : in std_logic;
319  P9_3 : in std_logic;
320  P9_4 : in std_logic;
321  P9_5 : in std_logic;
322  P9_6 : in std_logic;
323  P9_7 : in std_logic;
324  P9_8 : in std_logic;
325  P9_9 : in std_logic;
326  P9_10 : in std_logic;
327  P9_11 : in std_logic;
328  P9_12 : in std_logic;
329  P9_13 : in std_logic;
330  P9_14 : in std_logic;
331  P9_15 : in std_logic;
332  P9_16 : in std_logic;
333  P9_17 : in std_logic;
334  P9_18 : in std_logic;
335  P9_19 : in std_logic;
336  P9_20 : in std_logic;
337  P9_21 : in std_logic;
338  P9_22 : in std_logic;
339  P9_23 : in std_logic;
340  P9_24 : in std_logic;
341  P10_0 : in std_logic;
342  P10_1 : in std_logic;
343  P10_2 : in std_logic;
344  P10_3 : in std_logic;
345  P10_4 : in std_logic;
346  P10_5 : in std_logic;
347  P10_6 : in std_logic;
348  P10_7 : in std_logic;
349  P10_8 : in std_logic;
350  P10_9 : in std_logic;
351  P10_10 : in std_logic;
352  P10_11 : in std_logic;
353  P10_12 : in std_logic;
354  P10_13 : in std_logic;
355  P10_14 : in std_logic;
356  P10_15 : in std_logic;
357  P10_16 : in std_logic;
358  P10_17 : in std_logic;
359  P10_18 : in std_logic;
360  P10_19 : in std_logic;
361  P10_20 : in std_logic;
362  P10_21 : in std_logic;
363  P10_22 : in std_logic;
364  P10_23 : in std_logic;
365  P10_24 : in std_logic;
366  P11_0 : in std_logic;
367  P11_1 : in std_logic;
368  P11_2 : in std_logic;
369  P11_3 : in std_logic;
370  P11_4 : in std_logic;
371  P11_5 : in std_logic;
372  P11_6 : in std_logic;
373  P11_7 : in std_logic;
374  P11_8 : in std_logic;
375  P11_9 : in std_logic;
376  P11_10 : in std_logic;
377  P11_11 : in std_logic;
378  P11_12 : in std_logic;
379  P11_13 : in std_logic;
380  P11_14 : in std_logic;
381  P11_15 : in std_logic;
382  P11_16 : in std_logic;
383  P11_17 : in std_logic;
384  P11_18 : in std_logic;
385  P11_19 : in std_logic;
386  P11_20 : in std_logic;
387  P11_21 : in std_logic;
388  P11_22 : in std_logic;
389  P11_23 : in std_logic;
390  P11_24 : in std_logic;
391  P12_0 : in std_logic;
392  P12_1 : in std_logic;
393  P12_2 : in std_logic;
394  P12_3 : in std_logic;
395  P12_4 : in std_logic;
396  P12_5 : in std_logic;
397  P12_6 : in std_logic;
398  P12_7 : in std_logic;
399  P12_8 : in std_logic;
400  P12_9 : in std_logic;
401  P12_10 : in std_logic;
402  P12_11 : in std_logic;
403  P12_12 : in std_logic;
404  P12_13 : in std_logic;
405  P12_14 : in std_logic;
406  P12_15 : in std_logic;
407  P12_16 : in std_logic;
408  P12_17 : in std_logic;
409  P12_18 : in std_logic;
410  P12_19 : in std_logic;
411  P12_20 : in std_logic;
412  P12_21 : in std_logic;
413  P12_22 : in std_logic;
414  P12_23 : in std_logic;
415  P12_24 : in std_logic;
416  P13_0 : in std_logic;
417  P13_1 : in std_logic;
418  P13_2 : in std_logic;
419  P13_3 : in std_logic;
420  P13_4 : in std_logic;
421  P13_5 : in std_logic;
422  P13_6 : in std_logic;
423  P13_7 : in std_logic;
424  P13_8 : in std_logic;
425  P13_9 : in std_logic;
426  P13_10 : in std_logic;
427  P13_11 : in std_logic;
428  P13_12 : in std_logic;
429  P13_13 : in std_logic;
430  P13_14 : in std_logic;
431  P13_15 : in std_logic;
432  P13_16 : in std_logic;
433  P13_17 : in std_logic;
434  P13_18 : in std_logic;
435  P13_19 : in std_logic;
436  P13_20 : in std_logic;
437  P13_21 : in std_logic;
438  P13_22 : in std_logic;
439  P13_23 : in std_logic;
440  P13_24 : in std_logic;
441  P14_0 : in std_logic;
442  P14_1 : in std_logic;
443  P14_2 : in std_logic;
444  P14_3 : in std_logic;
445  P14_4 : in std_logic;
446  P14_5 : in std_logic;
447  P14_6 : in std_logic;
448  P14_7 : in std_logic;
449  P14_8 : in std_logic;
450  P14_9 : in std_logic;
451  P14_10 : in std_logic;
452  P14_11 : in std_logic;
453  P14_12 : in std_logic;
454  P14_13 : in std_logic;
455  P14_14 : in std_logic;
456  P14_15 : in std_logic;
457  P14_16 : in std_logic;
458  P14_17 : in std_logic;
459  P14_18 : in std_logic;
460  P14_19 : in std_logic;
461  P14_20 : in std_logic;
462  P14_21 : in std_logic;
463  P14_22 : in std_logic;
464  P14_23 : in std_logic;
465  P14_24 : in std_logic;
466  P15_0 : in std_logic;
467  P15_1 : in std_logic;
468  P15_2 : in std_logic;
469  P15_3 : in std_logic;
470  P15_4 : in std_logic;
471  P15_5 : in std_logic;
472  P15_6 : in std_logic;
473  P15_7 : in std_logic;
474  P15_8 : in std_logic;
475  P15_9 : in std_logic;
476  P15_10 : in std_logic;
477  P15_11 : in std_logic;
478  P15_12 : in std_logic;
479  P15_13 : in std_logic;
480  P15_14 : in std_logic;
481  P15_15 : in std_logic;
482  P15_16 : in std_logic;
483  P15_17 : in std_logic;
484  P15_18 : in std_logic;
485  P15_19 : in std_logic;
486  P15_20 : in std_logic;
487  P15_21 : in std_logic;
488  P15_22 : in std_logic;
489  P15_23 : in std_logic;
490  P15_24 : in std_logic;
491 
492 
493  --CLK_40MHz08_DSKW_2_BF_LOGIC_DIR : in std_logic;
494  --CLK_40MHz08_DSKW_2_BF_LOGIC_CMP : in std_logic;
495 
496  CLK_40MHz08_DSKW_1_BF_LOGIC_DIR : in std_logic;
497  CLK_40MHz08_DSKW_1_BF_LOGIC_CMP : in std_logic;
498 
499  CLK_40MHz08_DSKW_2_BF_LOGIC_DIR : in std_logic;
500  CLK_40MHz08_DSKW_2_BF_LOGIC_CMP : in std_logic;
501 
502 
503  --CLK_320MHz64_LHC_BF_LOGIC_DIR : in std_logic;
504  --CLK_320MHz64_LHC_BF_LOGIC_CMP : in std_logic;
505 
506  BF_DEBUG_0 : out std_logic;
507  BF_DEBUG_1 : out std_logic;
508  BF_DEBUG_2 : out std_logic;
509  BF_DEBUG_3 : out std_logic;
510  BF_DEBUG_4 : out std_logic;
511  BF_DEBUG_5 : out std_logic;
512  BF_DEBUG_6 : out std_logic;
513  BF_DEBUG_7 : out std_logic;
514  BF_DEBUG_8 : out std_logic;
515  BF_DEBUG_9 : out std_logic;
516 
517 
518  BF_REQ_CTP_1_INPUT : out std_logic;
519  BF_REQ_CTP_2_INPUT : out std_logic;
520  BF_REQ_CABLE_1_INPUT: out std_logic;
521  BF_REQ_CABLE_2_INPUT: out std_logic;
522  BF_REQ_CABLE_3_INPUT: out std_logic;
523  BF_LED_REQ_0 : out std_logic;
524  BF_LED_REQ_1 : out std_logic;
525  BF_LED_REQ_2 : out std_logic;
526  BF_LED_REQ_3 : out std_logic;
527  BF_LED_REQ_4 : out std_logic;
528  BF_TO_FROM_BSPT_0 : in std_logic;
529  BF_TO_FROM_BSPT_1 : in std_logic;
530  BF_TO_FROM_BSPT_2 : out std_logic;
531  BF_TO_FROM_BSPT_3 : out std_logic;
532  BF_TO_FROM_BSPT_4 : out std_logic;
533  BF_TO_FROM_BSPT_5 : out std_logic;
534  BF_TO_FROM_BSPT_6 : out std_logic;
535  BF_TO_FROM_BSPT_7 : out std_logic;
536 
537 
538  BF_DOUT_CTP_00 : out std_logic;
539  BF_DOUT_CTP_01 : out std_logic;
540  BF_DOUT_CTP_02 : out std_logic;
541  BF_DOUT_CTP_03 : out std_logic;
542  BF_DOUT_CTP_04 : out std_logic;
543  BF_DOUT_CTP_05 : out std_logic;
544  BF_DOUT_CTP_06 : out std_logic;
545  BF_DOUT_CTP_07 : out std_logic;
546  BF_DOUT_CTP_08 : out std_logic;
547  BF_DOUT_CTP_09 : out std_logic;
548  BF_DOUT_CTP_10 : out std_logic;
549  BF_DOUT_CTP_11 : out std_logic;
550  BF_DOUT_CTP_12 : out std_logic;
551  BF_DOUT_CTP_13 : out std_logic;
552  BF_DOUT_CTP_14 : out std_logic;
553  BF_DOUT_CTP_15 : out std_logic;
554  BF_DOUT_CTP_16 : out std_logic;
555  BF_DOUT_CTP_17 : out std_logic;
556  BF_DOUT_CTP_18 : out std_logic;
557  BF_DOUT_CTP_19 : out std_logic;
558  BF_DOUT_CTP_20 : out std_logic;
559  BF_DOUT_CTP_21 : out std_logic;
560  BF_DOUT_CTP_22 : out std_logic;
561  BF_DOUT_CTP_23 : out std_logic;
562  BF_DOUT_CTP_24 : out std_logic;
563  BF_DOUT_CTP_25 : out std_logic;
564  BF_DOUT_CTP_26 : out std_logic;
565  BF_DOUT_CTP_27 : out std_logic;
566  BF_DOUT_CTP_28 : out std_logic;
567  BF_DOUT_CTP_29 : out std_logic;
568  BF_DOUT_CTP_30 : out std_logic;
569  BF_DOUT_CTP_31 : out std_logic;
570  BF_DOUT_CTP_64 : out std_logic;
571 
572  BF_DOUT_CTP_32 : out std_logic;
573  BF_DOUT_CTP_33 : out std_logic;
574  BF_DOUT_CTP_34 : out std_logic;
575  BF_DOUT_CTP_35 : out std_logic;
576  BF_DOUT_CTP_36 : out std_logic;
577  BF_DOUT_CTP_37 : out std_logic;
578  BF_DOUT_CTP_38 : out std_logic;
579  BF_DOUT_CTP_39 : out std_logic;
580  BF_DOUT_CTP_40 : out std_logic;
581  BF_DOUT_CTP_41 : out std_logic;
582  BF_DOUT_CTP_42 : out std_logic;
583  BF_DOUT_CTP_43 : out std_logic;
584  BF_DOUT_CTP_44 : out std_logic;
585  BF_DOUT_CTP_45 : out std_logic;
586  BF_DOUT_CTP_46 : out std_logic;
587  BF_DOUT_CTP_47 : out std_logic;
588  BF_DOUT_CTP_48 : out std_logic;
589  BF_DOUT_CTP_49 : out std_logic;
590  BF_DOUT_CTP_50 : out std_logic;
591  BF_DOUT_CTP_51 : out std_logic;
592  BF_DOUT_CTP_52 : out std_logic;
593  BF_DOUT_CTP_53 : out std_logic;
594  BF_DOUT_CTP_54 : out std_logic;
595  BF_DOUT_CTP_55 : out std_logic;
596  BF_DOUT_CTP_56 : out std_logic;
597  BF_DOUT_CTP_57 : out std_logic;
598  BF_DOUT_CTP_58 : out std_logic;
599  BF_DOUT_CTP_59 : out std_logic;
600  BF_DOUT_CTP_60 : out std_logic;
601  BF_DOUT_CTP_61 : out std_logic;
602  BF_DOUT_CTP_62 : out std_logic;
603  BF_DOUT_CTP_63 : out std_logic;
604  BF_DOUT_CTP_65 : out std_logic;
605 
606  D_CBL_00_B : in std_logic;
607  D_CBL_01_B : in std_logic;
608  D_CBL_02_B : in std_logic;
609  D_CBL_03_B : in std_logic;
610  D_CBL_04_B : in std_logic;
611  D_CBL_05_B : in std_logic;
612  D_CBL_06_B : in std_logic;
613  D_CBL_07_B : in std_logic;
614  D_CBL_08_B : in std_logic;
615  D_CBL_09_B : in std_logic;
616  D_CBL_10_B : in std_logic;
617  D_CBL_11_B : in std_logic;
618  D_CBL_12_B : in std_logic;
619  D_CBL_13_B : in std_logic;
620  D_CBL_14_B : in std_logic;
621  D_CBL_15_B : in std_logic;
622  D_CBL_16_B : in std_logic;
623  D_CBL_17_B : in std_logic;
624  D_CBL_18_B : in std_logic;
625  D_CBL_19_B : in std_logic;
626  D_CBL_20_B : in std_logic;
627  D_CBL_21_B : in std_logic;
628  D_CBL_22_B : in std_logic;
629  D_CBL_23_B : in std_logic;
630  D_CBL_24_B : in std_logic;
631  D_CBL_25_B : in std_logic;
632  D_CBL_26_B : in std_logic;
633  D_CBL_81_B : in std_logic;
634 
635  D_CBL_27_B : in std_logic;
636  D_CBL_28_B : in std_logic;
637  D_CBL_29_B : in std_logic;
638  D_CBL_30_B : in std_logic;
639  D_CBL_31_B : in std_logic;
640  D_CBL_32_B : in std_logic;
641  D_CBL_33_B : in std_logic;
642  D_CBL_34_B : in std_logic;
643  D_CBL_35_B : in std_logic;
644  D_CBL_36_B : in std_logic;
645  D_CBL_37_B : in std_logic;
646  D_CBL_38_B : in std_logic;
647  D_CBL_39_B : in std_logic;
648  D_CBL_40_B : in std_logic;
649  D_CBL_41_B : in std_logic;
650  D_CBL_42_B : in std_logic;
651  D_CBL_43_B : in std_logic;
652  D_CBL_44_B : in std_logic;
653  D_CBL_45_B : in std_logic;
654  D_CBL_46_B : in std_logic;
655  D_CBL_47_B : in std_logic;
656  D_CBL_48_B : in std_logic;
657  D_CBL_49_B : in std_logic;
658  D_CBL_50_B : in std_logic;
659  D_CBL_51_B : in std_logic;
660  D_CBL_52_B : in std_logic;
661  D_CBL_53_B : in std_logic;
662  D_CBL_82_B : in std_logic;
663 
664  D_CBL_54_B : in std_logic;
665  D_CBL_55_B : in std_logic;
666  D_CBL_56_B : in std_logic;
667  D_CBL_57_B : in std_logic;
668  D_CBL_58_B : in std_logic;
669  D_CBL_59_B : in std_logic;
670  D_CBL_60_B : in std_logic;
671  D_CBL_61_B : in std_logic;
672  D_CBL_62_B : in std_logic;
673  D_CBL_63_B : in std_logic;
674  D_CBL_64_B : in std_logic;
675  D_CBL_65_B : in std_logic;
676  D_CBL_66_B : in std_logic;
677  D_CBL_67_B : in std_logic;
678  D_CBL_68_B : in std_logic;
679  D_CBL_69_B : in std_logic;
680  D_CBL_70_B : in std_logic;
681  D_CBL_71_B : in std_logic;
682  D_CBL_72_B : in std_logic;
683  D_CBL_73_B : in std_logic;
684  D_CBL_74_B : in std_logic;
685  D_CBL_75_B : in std_logic;
686  D_CBL_76_B : in std_logic;
687  D_CBL_77_B : in std_logic;
688  D_CBL_78_B : in std_logic;
689  D_CBL_79_B : in std_logic;
690  D_CBL_80_B : in std_logic;
691  D_CBL_83_B : in std_logic;
692 
693  BF_TO_TP_DAQ_SLINK_RETURN_DIR : in std_logic;
694  BF_TO_TP_DAQ_SLINK_RETURN_CMP : in std_logic;
695  BF_TO_TP_ROI_SLINK_RETURN_DIR : in std_logic;
696  BF_TO_TP_ROI_SLINK_RETURN_CMP : in std_logic;
697 
698  BUF_TTC_L1_ACCEPT : in std_logic;
699  BUF_TTC_BNCH_CNT_RES : in std_logic;
700 
701  -- sfp
702  CLK_120MHz000_XTAL_1_BF_TRNCV_DIR: in std_logic;
703  CLK_120MHz000_XTAL_1_BF_TRNCV_CMP: in std_logic;
704  BF_DAQ_DATA_OUT_DIR : out std_logic;
705  BF_DAQ_DATA_OUT_CMP : out std_logic;
706  BF_ROI_DATA_OUT_DIR : out std_logic;
707  BF_ROI_DATA_OUT_CMP : out std_logic;
708 
709  MP1_F01_QUAD_110_TRN_0_DIR : out std_logic;
710  MP1_F01_QUAD_110_TRN_0_CMP : out std_logic;
711  MP1_F03_QUAD_110_TRN_1_DIR : out std_logic;
712  MP1_F03_QUAD_110_TRN_1_CMP : out std_logic;
713  MP1_F07_QUAD_110_TRN_2_DIR : out std_logic;
714  MP1_F07_QUAD_110_TRN_2_CMP : out std_logic;
715  MP1_F05_QUAD_110_TRN_3_DIR : out std_logic;
716  MP1_F05_QUAD_110_TRN_3_CMP : out std_logic;
717  MP1_F09_QUAD_111_TRN_0_DIR : out std_logic;
718  MP1_F09_QUAD_111_TRN_0_CMP : out std_logic;
719  MP1_F11_QUAD_111_TRN_1_DIR : out std_logic;
720  MP1_F11_QUAD_111_TRN_1_CMP : out std_logic;
721  MP1_F10_QUAD_111_TRN_2_DIR : out std_logic;
722  MP1_F10_QUAD_111_TRN_2_CMP : out std_logic;
723  MP1_F08_QUAD_111_TRN_3_DIR : out std_logic;
724  MP1_F08_QUAD_111_TRN_3_CMP : out std_logic;
725  MP1_F04_QUAD_112_TRN_0_DIR : out std_logic;
726  MP1_F04_QUAD_112_TRN_0_CMP : out std_logic;
727  MP1_F06_QUAD_112_TRN_1_DIR : out std_logic;
728  MP1_F06_QUAD_112_TRN_1_CMP : out std_logic;
729  MP1_F02_QUAD_112_TRN_2_DIR : out std_logic;
730  MP1_F02_QUAD_112_TRN_2_CMP : out std_logic;
731  MP1_F00_QUAD_112_TRN_3_DIR : out std_logic;
732  MP1_F00_QUAD_112_TRN_3_CMP : out std_logic;
733  MP2_F01_QUAD_113_TRN_0_DIR : out std_logic;
734  MP2_F01_QUAD_113_TRN_0_CMP : out std_logic;
735  MP2_F03_QUAD_113_TRN_1_DIR : out std_logic;
736  MP2_F03_QUAD_113_TRN_1_CMP : out std_logic;
737  MP2_F07_QUAD_113_TRN_2_DIR : out std_logic;
738  MP2_F07_QUAD_113_TRN_2_CMP : out std_logic;
739  MP2_F05_QUAD_113_TRN_3_DIR : out std_logic;
740  MP2_F05_QUAD_113_TRN_3_CMP : out std_logic;
741  MP2_F09_QUAD_114_TRN_0_DIR : out std_logic;
742  MP2_F09_QUAD_114_TRN_0_CMP : out std_logic;
743  MP2_F11_QUAD_114_TRN_1_DIR : out std_logic;
744  MP2_F11_QUAD_114_TRN_1_CMP : out std_logic;
745  MP2_F10_QUAD_114_TRN_2_DIR : out std_logic;
746  MP2_F10_QUAD_114_TRN_2_CMP : out std_logic;
747  MP2_F08_QUAD_114_TRN_3_DIR : out std_logic;
748  MP2_F08_QUAD_114_TRN_3_CMP : out std_logic;
749  MP2_F04_QUAD_115_TRN_0_DIR : out std_logic;
750  MP2_F04_QUAD_115_TRN_0_CMP : out std_logic;
751  MP2_F06_QUAD_115_TRN_1_DIR : out std_logic;
752  MP2_F06_QUAD_115_TRN_1_CMP : out std_logic;
753  MP2_F02_QUAD_115_TRN_2_DIR : out std_logic;
754  MP2_F02_QUAD_115_TRN_2_CMP : out std_logic;
755  MP2_F00_QUAD_115_TRN_3_DIR : out std_logic;
756  MP2_F00_QUAD_115_TRN_3_CMP : out std_logic;
757  CLK_320MHz64_LHC_BF_QUAD_111_DIR : in std_logic;
758  CLK_320MHz64_LHC_BF_QUAD_111_CMP : in std_logic;
759  CLK_320MHz64_LHC_BF_QUAD_114_DIR : in std_logic;
760  CLK_320MHz64_LHC_BF_QUAD_114_CMP : in std_logic;
761  --clk40 : in std_logic;
762  RXN_IN : in std_logic_vector((num_GTX_per_group*num_GTX_groups)-1 downto 0);
763  RXP_IN : in std_logic_vector((num_GTX_per_group*num_GTX_groups)-1 downto 0)
764 
765 
766  );
767 
768 
769 end CMX_top_Base;
770 
771 architecture Behavioral of CMX_top_Base is
772 
773  attribute keep : string; -- keep signals in synthesis
774  attribute IOB : string;
775 
776 
777  ------------------------------------------------------------------------------
778  -- VME interface component used in BSPT FPGA (Ian's vme_interface)
779  ------------------------------------------------------------------------------
780  component CMX_BASE_VME_BSPT is
781  port (
782  clk40 : IN std_logic; -- 40MHz Clk
783  geoadd_0 : IN std_logic; -- GeoAddr0
784  n_ds0_int : IN std_logic; -- DS strobe
785  n_write : IN std_logic; -- VME Write
786  vme_address : IN std_logic_vector (23 DOWNTO 1); -- Address bus
787  board_ds : OUT std_logic; -- Board ds
788  brdsel_n : OUT std_logic -- Board select
789  );
790  end component;
791  -- signals for CMX_BASE_VME_INTERFACE component
792  signal ds: std_logic; -- board_ds output from VME (Ian model)
793  signal ncs: std_logic; -- brdsel_n output from VME (Ian model)
794 
795  signal vme_address : std_logic_vector(23 downto 1);
796 
797  component vme_outreg
798  generic (
799  ia_vme : integer;
800  width : integer);
801  port (
802  clk : in std_logic;
803  addr_vme : in std_logic_vector (15 downto 0);
804  ncs : in std_logic;
805  rd_nwr : in std_logic;
806  ds : in std_logic;
807  data_to_vme : in std_logic_vector (width-1 downto 0);
808  read_detect : out std_logic;
809  data_vme : out std_logic_vector (15 downto 0));
810  end component;
811 
812  signal read_detect_outreg_test : std_logic;
813  signal data_to_vme_outreg_test : std_logic_vector (15 downto 0);
814 
815 
816  component vme_inreg
817  generic (
818  ia_vme : integer;
819  width : integer);
820  port (
821  clk : in std_logic;
822  ncs : in std_logic;
823  rd_nwr : in std_logic;
824  ds : in std_logic;
825  data_from_vme : out std_logic_vector (width-1 downto 0);
826  data_to_vme : in std_logic_vector (width-1 downto 0);
827  addr_vme : in std_logic_vector (15 downto 0);
828  read_detect : out std_logic;
829  write_detect : out std_logic;
830  data_vme : inout std_logic_vector (15 downto 0));
831  end component;
832 
833  component vme_inreg_async is
834  generic (
835  ia_vme : integer;
836  width : integer);
837  port (
838  ncs : in std_logic;
839  rd_nwr : in std_logic;
840  ds : in std_logic;
841  addr_vme : in std_logic_vector (15 downto 0);
842  data_vme : inout std_logic_vector (15 downto 0);
843  data_from_vme : out std_logic_vector (width-1 downto 0);
844  data_to_vme : in std_logic_vector (width-1 downto 0));
845  end component vme_inreg_async;
846 
847 
848  component vme_local_switch is
849  port (
850  data_vme_up : out std_logic_vector (15 downto 0);
851  data_vme_from_below : in arr_16;
852  bus_drive_up : out std_logic;
853  bus_drive_from_below : in std_logic_vector);
854  end component vme_local_switch;
855 
856  component vme_main_hub is
857  port (
858  data_vme : inout std_logic_vector(15 downto 0);
859  data_vme_from_below : in std_logic_vector (15 downto 0);
860  bus_drive_from_below : in std_logic;
861  data_vme_going_below : out std_logic_vector(15 downto 0));
862  end component vme_main_hub;
863 
864  signal data_vme_from_below_top : arr_16(1762 downto 0);
865  signal bus_drive_from_below_top : std_logic_vector(1762 downto 0);
866  signal bus_drive_up_top : std_logic;
867  signal data_vme_up_top : std_logic_vector(15 downto 0);
868  signal data_vme_going_below : std_logic_vector(15 downto 0);
869 
870  component vme_inreg_notri_async is
871  generic (
872  ia_vme : integer;
873  width : integer);
874  port (
875  ncs : in std_logic;
876  rd_nwr : in std_logic;
877  ds : in std_logic;
878  addr_vme : in std_logic_vector (15 downto 0);
879  data_vme_in : in std_logic_vector (15 downto 0);
880  data_vme_out : out std_logic_vector (15 downto 0);
881  bus_drive : out std_logic;
882  data_from_vme : out std_logic_vector (width-1 downto 0);
883  data_to_vme : in std_logic_vector (width-1 downto 0));
884  end component vme_inreg_notri_async;
885 
886  component vme_outreg_notri_async is
887  generic (
888  ia_vme : integer;
889  width : integer);
890  port (
891  ncs : in std_logic;
892  rd_nwr : in std_logic;
893  ds : in std_logic;
894  addr_vme : in std_logic_vector (15 downto 0);
895  data_vme : out std_logic_vector (15 downto 0);
896  bus_drive : out std_logic;
897  data_to_vme : in std_logic_vector (width-1 downto 0));
898  end component vme_outreg_notri_async;
899 
900  component vme_inreg_notri is
901  generic (
902  ia_vme : integer;
903  width : integer);
904  port (
905  clk : in std_logic;
906  ncs : in std_logic;
907  rd_nwr : in std_logic;
908  ds : in std_logic;
909  addr_vme : in std_logic_vector (15 downto 0);
910  data_vme_in : in std_logic_vector (15 downto 0);
911  data_vme_out : out std_logic_vector (15 downto 0);
912  bus_drive : out std_logic;
913  data_from_vme : out std_logic_vector (width-1 downto 0);
914  data_to_vme : in std_logic_vector (width-1 downto 0);
915  read_detect : out std_logic;
916  write_detect : out std_logic);
917  end component vme_inreg_notri;
918 
919  component vme_outreg_notri is
920  generic (
921  ia_vme : integer;
922  width : integer);
923  port (
924  clk : in std_logic;
925  ncs : in std_logic;
926  rd_nwr : in std_logic;
927  ds : in std_logic;
928  addr_vme : in std_logic_vector (15 downto 0);
929  data_vme : out std_logic_vector (15 downto 0);
930  bus_drive : out std_logic;
931  data_to_vme : in std_logic_vector (width-1 downto 0);
932  read_detect : out std_logic);
933  end component vme_outreg_notri;
934 
935  signal data_from_vme_test_rw : std_logic_vector (15 downto 0);
936  signal data_to_vme_test_rw : std_logic_vector (15 downto 0);
937  signal read_detect_inreg_test : std_logic;
938  signal write_detect_inreg_test : std_logic;
939  signal test_rw_counter : unsigned(15 downto 0);
940  signal data_to_vme_test_r : std_logic_vector (15 downto 0);
941 
942 
943 
944  signal start_playback, start_playback_r1: std_logic; --r1 is the the
945  --BF_TO_FROM_BSPT_0
946  --registered once
947  -- the first variable is
948  -- yet one more register
949  -- (so synchroniser)
950 
951  component CMX_version is
952  port (
953  clk40 : in std_logic;
954  ncs : in std_logic;
955  rd_nwr : in std_logic;
956  ds : in std_logic;
957  addr_vme : in std_logic_vector (15 downto 0);
958  data_vme_out : out std_logic_vector (15 downto 0);
959  bus_drive : out std_logic);
960  end component CMX_version;
961 
962 
963  component sys_monitor is
964  generic (
966  port (
967  clk : in std_logic;
968  BF_SYSMON_01_P : in STD_LOGIC;
969  BF_SYSMON_01_N : in STD_LOGIC;
970  BF_SYSMON_03_P : in STD_LOGIC;
971  BF_SYSMON_03_N : in STD_LOGIC;
972  BF_SYSMON_04_P : in STD_LOGIC;
973  BF_SYSMON_04_N : in STD_LOGIC;
974  BF_SYSMON_07_P : in STD_LOGIC;
975  BF_SYSMON_07_N : in STD_LOGIC;
976  BF_SYSMON_08_P : in STD_LOGIC;
977  BF_SYSMON_08_N : in STD_LOGIC;
978  BF_SYSMON_09_P : in STD_LOGIC;
979  BF_SYSMON_09_N : in STD_LOGIC;
980  BF_SYSMON_10_P : in STD_LOGIC;
981  BF_SYSMON_10_N : in STD_LOGIC;
982  BF_SYSMON_11_P : in STD_LOGIC;
983  BF_SYSMON_11_N : in STD_LOGIC;
984  BF_SYSMON_12_P : in STD_LOGIC;
985  BF_SYSMON_12_N : in STD_LOGIC;
986  BF_SYSMON_13_P : in STD_LOGIC;
987  BF_SYSMON_13_N : in STD_LOGIC;
988  BF_SYSMON_14_P : in STD_LOGIC;
989  BF_SYSMON_14_N : in STD_LOGIC;
990  BF_SYSMON_15_P : in STD_LOGIC;
991  BF_SYSMON_15_N : in STD_LOGIC;
992  ncs : in std_logic;
993  rd_nwr : in std_logic;
994  ds : in std_logic;
995  addr_vme : in std_logic_vector (15 downto 0);
996  data_vme_in : in std_logic_vector (15 downto 0);
997  data_vme_out : out std_logic_vector (15 downto 0);
998  bus_drive : out std_logic);
999  end component sys_monitor;
1000 
1001 
1002  component CMX_input_module
1003  port (
1004  P : in mat_var (numactchan-1 downto 0);
1005  buf_clk40 : in std_logic;
1006  buf_clk40_m180o : in std_logic;
1007  buf_clk200 : in std_logic;
1008  pll_locked : in std_logic;
1009  ODATA : out arr_4Xword (numactchan-1 downto 0);
1010  ODATA_first_half : out arr_2Xword(numactchan -1 downto 0);
1011  PAR_ERROR_total : out std_logic;--_vector(numactchan-1 downto 0);
1012  counter_enable_out : out std_logic_vector(numactchan-1 downto 0);
1013  counter_values : out std_logic_vector(numactchan-1 downto 0);
1014  del_register : in del_register_type;
1015  upload_delays : in std_logic;
1016  quiet : in std_logic;
1017  start_playback : in std_logic;
1018  spy_write_inhibit : in std_logic;
1019  ncs : in std_logic;
1020  rd_nwr : in std_logic;
1021  ds : in std_logic;
1022  addr_vme : in std_logic_vector (15 downto 0);
1023  data_vme_in : in std_logic_vector (15 downto 0);
1024  data_vme_out : out std_logic_vector (15 downto 0);
1025  bus_drive : out std_logic
1026  );
1027  end component;
1028 
1029  signal counter_values : std_logic_vector(numactchan-1 downto 0);
1030  signal del_register : del_register_type;
1031  signal upload_delays : std_logic;
1032 
1033  --signal PAR_ERROR: std_logic_vector(numactchan-1 downto 0);
1034 
1035  signal quiet : std_logic;
1036  signal force : std_logic;
1037 
1038  signal data_from_vme_REG_RW_QUIET_FORCE : std_logic_vector(15 downto 0);
1039  signal data_to_vme_REG_RW_QUIET_FORCE : std_logic_vector(15 downto 0);
1040 
1041  signal DATA96 : arr_4Xword (numactchan-1 downto 0); --96 bit data at 40MHz
1042  signal ODATA_first_half : arr_2Xword(numactchan-1 downto 0);
1043 
1044  signal P : mat_var (numactchan-1 downto 0);
1045 
1046  signal BF_DEBUG : std_logic_vector(9 downto 0);
1047 
1048  signal counter_enable_inputmod_sig: std_logic_vector(numactchan-1 downto 0);
1049 
1050 
1051  component CMX_Memory_spy_inhibit is
1052  port (
1053  spy_write_inhibit : out std_logic;
1054  buf_clk40 : in std_logic;
1055  ncs : in std_logic;
1056  rd_nwr : in std_logic;
1057  ds : in std_logic;
1058  addr_vme : in std_logic_vector (15 downto 0);
1059  data_vme_in : in std_logic_vector (15 downto 0);
1060  data_vme_out : out std_logic_vector (15 downto 0);
1061  bus_drive : out std_logic);
1062  end component CMX_Memory_spy_inhibit;
1063 
1064  signal spy_write_inhibit : std_logic;
1065 
1066 -- VME signal definitions
1067  signal data_from_vme_REG_RW_MISS_E_THR_BLOCK : arr_16((2*num_thresholds)-1 downto 0);
1068  signal data_to_vme_REG_RW_MISS_E_THR_BLOCK : arr_16((2*num_thresholds)-1 downto 0);
1069 
1070  signal data_from_vme_REG_RW_MISS_E_RES_THR_BLOCK : arr_16((2*num_thresholds)-1 downto 0);
1071  signal data_to_vme_REG_RW_MISS_E_RES_THR_BLOCK : arr_16((2*num_thresholds)-1 downto 0);
1072 
1073  signal data_from_vme_REG_RW_SUM_ET_THR_BLOCK : arr_16(num_thresholds-1 downto 0);
1074  signal data_to_vme_REG_RW_SUM_ET_THR_BLOCK : arr_16(num_thresholds-1 downto 0);
1075 
1076  signal data_from_vme_REG_RW_SUM_ET_RES_THR_BLOCK : arr_16(num_thresholds-1 downto 0);
1077  signal data_to_vme_REG_RW_SUM_ET_RES_THR_BLOCK : arr_16(num_thresholds-1 downto 0);
1078 
1079  signal data_from_vme_REG_RW_XS_T2_A2_THR_BLOCK : arr_16((2*num_thresholds)-1 downto 0);
1080  signal data_to_vme_REG_RW_XS_T2_A2_THR_BLOCK : arr_16((2*num_thresholds)-1 downto 0);
1081 
1082  signal data_from_vme_REG_RW_T_MISS_E_MIN_PARAM_BLOCK : arr_16((2*num_thresholds)-1 downto 0);
1083  signal data_to_vme_REG_RW_T_MISS_E_MIN_PARAM_BLOCK : arr_16((2*num_thresholds)-1 downto 0);
1084 
1085  signal data_from_vme_REG_RW_T_MISS_E_MAX_PARAM_BLOCK : arr_16((2*num_thresholds)-1 downto 0);
1086  signal data_to_vme_REG_RW_T_MISS_E_MAX_PARAM_BLOCK : arr_16((2*num_thresholds)-1 downto 0);
1087 
1088  signal data_from_vme_REG_RW_T_SUM_E_MIN_PARAM_BLOCK : arr_16(num_thresholds-1 downto 0);
1089  signal data_to_vme_REG_RW_T_SUM_E_MIN_PARAM_BLOCK : arr_16(num_thresholds-1 downto 0);
1090 
1091  signal data_from_vme_REG_RW_T_SUM_E_MAX_PARAM_BLOCK : arr_16(num_thresholds-1 downto 0);
1092  signal data_to_vme_REG_RW_T_SUM_E_MAX_PARAM_BLOCK : arr_16(num_thresholds-1 downto 0);
1093 
1094  signal data_from_vme_REG_RW_XS_B2_PARAM_BLOCK : arr_16(num_thresholds-1 downto 0);
1095  signal data_to_vme_REG_RW_XS_B2_PARAM_BLOCK : arr_16(num_thresholds-1 downto 0);
1096 
1097 
1098  component CMX_Sum_Et is
1099  port (
1100  CLK : in std_logic;
1101  ENERGY_REMOTE : in std_logic_vector(26*4-1 downto 0);
1102  CTP_CABLE_0 : out std_logic_vector(23 downto 0);
1103  CTP_CABLE_1 : out std_logic_vector(23 downto 0);
1104  -- thresholds
1105  MISS_E_THR : in arr_ctr_31bit(num_thresholds-1 downto 0);
1106  MISS_E_RES_THR : in arr_ctr_31bit(num_thresholds-1 downto 0);
1107  SUM_ET_THR : in arr_ctr_15bit(num_thresholds-1 downto 0);
1108  SUM_ET_RES_THR : in arr_ctr_15bit(num_thresholds-1 downto 0);
1109  XS_T2_A2 : in arr_ctr_31bit(num_thresholds-1 downto 0);
1110  -- parameters
1111  T_MISS_E_MIN : in arr_ctr_31bit(num_thresholds-1 downto 0);
1112  T_MISS_E_MAX : in arr_ctr_31bit(num_thresholds-1 downto 0);
1113  T_SUM_E_MIN : in arr_ctr_15bit(num_thresholds-1 downto 0);
1114  T_SUM_E_MAX : in arr_ctr_15bit(num_thresholds-1 downto 0);
1115  XS_B2 : in arr_ctr_15bit(num_thresholds-1 downto 0);
1116  ov_all_out : out std_logic_vector(5 downto 0);
1117  sums_all_out : out arr_ctr_15bit(5 downto 0);
1118  BACKPLANE_DATA_IN : in energy_array;
1119  LOCAL_CABLE_OUT : out std_logic_vector(4*26-1 downto 0);
1120  BCID_in : in std_logic_vector(11 downto 0);
1121  BCID_delayed : out std_logic_vector(11 downto 0);
1122  -- counter signals
1123  counter_reset : in T_SL;
1124  counter_inhibit : in T_SL;
1125  par_err : in std_logic_vector(1 downto 0); -- parity error (input module - 0, RTM - 1)
1126  force : in T_SL; -- force
1127  ncs : in std_logic; --ports forwarded to the vme register instances
1128  rd_nwr : in std_logic;
1129  ds : in std_logic;
1130  addr_vme : in std_logic_vector (15 downto 0);
1131  data_vme_in : in std_logic_vector (15 downto 0);
1132  data_vme_out : out std_logic_vector (15 downto 0);
1133  bus_drive : out std_logic
1134  );
1135  end component CMX_Sum_Et;
1136 
1137  signal par_err : std_logic_vector(1 downto 0);
1138 
1139  signal ENERGY_REMOTE : std_logic_vector(26*4-1 downto 0);
1140  signal CTP_CABLE_0 : std_logic_vector(23 downto 0);
1141  signal CTP_CABLE_1 : std_logic_vector(23 downto 0);
1142  -- thresholds
1143  signal MISS_E_THR : arr_ctr_31bit(num_thresholds-1 downto 0);
1144  signal MISS_E_RES_THR : arr_ctr_31bit(num_thresholds-1 downto 0);
1145  signal SUM_ET_THR : arr_ctr_15bit(num_thresholds-1 downto 0);
1146  signal SUM_ET_RES_THR : arr_ctr_15bit(num_thresholds-1 downto 0);
1147  signal XS_T2_A2 : arr_ctr_31bit(num_thresholds-1 downto 0);
1148  -- parameters
1149  signal T_MISS_E_MIN : arr_ctr_31bit(num_thresholds-1 downto 0);
1150  signal T_MISS_E_MAX : arr_ctr_31bit(num_thresholds-1 downto 0);
1151  signal T_SUM_E_MIN : arr_ctr_15bit(num_thresholds-1 downto 0);
1152  signal T_SUM_E_MAX : arr_ctr_15bit(num_thresholds-1 downto 0);
1153  signal XS_B2 : arr_ctr_15bit(num_thresholds-1 downto 0);
1154 
1155  -- thresholds
1156  signal slv_MISS_E_THR : arr_31(num_thresholds-1 downto 0);
1157  signal slv_MISS_E_RES_THR : arr_31(num_thresholds-1 downto 0);
1158  signal slv_SUM_ET_THR : arr_15(num_thresholds-1 downto 0);
1159  signal slv_SUM_ET_RES_THR : arr_15(num_thresholds-1 downto 0);
1160  signal slv_XS_T2_A2 : arr_31(num_thresholds-1 downto 0);
1161  -- parameters
1162  signal slv_T_MISS_E_MIN : arr_31(num_thresholds-1 downto 0);
1163  signal slv_T_MISS_E_MAX : arr_31(num_thresholds-1 downto 0);
1164  signal slv_T_SUM_E_MIN : arr_15(num_thresholds-1 downto 0);
1165  signal slv_T_SUM_E_MAX : arr_15(num_thresholds-1 downto 0);
1166  signal slv_XS_B2 : arr_15(num_thresholds-1 downto 0);
1167 
1168  -- overflows and sums
1169  signal ov_all_out : std_logic_vector(5 downto 0);
1170  signal sums_all_out : arr_ctr_15bit(5 downto 0);
1171 
1172  signal BACKPLANE_DATA_IN : energy_array;
1173 
1174  signal LOCAL_CABLE_OUT : std_logic_vector(4*26-1 downto 0);
1175 
1176 
1177  signal ddr_data_in_RTM1 : std_logic_vector(numbits_in_RTM_connector downto 0);
1178  signal ddr_data_in_RTM2 : std_logic_vector(numbits_in_RTM_connector downto 0);
1179  signal sig_arr_RTM: arr_RTM(num_RTM_cables-1 downto 0);
1180  signal data_from_RTM : std_logic_vector(numbits_in_RTM_connector*2*num_RTM_cables - 1 downto 0);
1181 
1182  component CMX_system_cable_input_module is
1183  port (
1184  data : out std_logic_vector(numbits_in_RTM_connector*2*num_RTM_cables - 1 downto 0);
1185  parity_error_total : out std_logic;--_vector(num_RTM_cables-1 downto 0);
1186  ddr_data_in : in arr_RTM(num_RTM_cables-1 downto 0);
1187  buf_clk40 : in std_logic;
1188  buf_clk40_ds2 : in std_logic;
1189  pll_locked : in std_logic;
1190  pll_locked_ds2 : in std_logic;
1191  start_playback : in std_logic;
1192  spy_write_inhibit : in std_logic;
1193  ncs : in std_logic;
1194  rd_nwr : in std_logic;
1195  ds : in std_logic;
1196  addr_vme : in std_logic_vector (15 downto 0);
1197  data_vme_in : in std_logic_vector (15 downto 0);
1198  data_vme_out : out std_logic_vector (15 downto 0);
1199  bus_drive : out std_logic);
1200  end component CMX_system_cable_input_module;
1201 
1202  --component CMX_cable_clocked_80Mbps_input_module
1203  -- generic (
1204  -- numbits_in_cable_connector : integer);
1205  -- port (
1206  -- data : out std_logic_vector((numbits_in_cable_connector*2)-1 downto 0);
1207  -- parity : out std_logic;
1208  -- forwarded_clock : out std_logic;
1209  -- ddr_data_in : in std_logic_vector(numbits_in_cable_connector downto 0);
1210  -- buf_clk40 : in std_logic;
1211  -- buf_clk200 : in std_logic;
1212  -- pll_locked : in std_logic;
1213  -- del_array : in cable_del_array_type(numbits_in_cable_connector downto 0);
1214  -- upload_delays : in std_logic);
1215  --end component;
1216 
1217  --signal forwarded_clock_CTP2 : std_logic;
1218  --signal data_CTP2 : std_logic_vector((numbits_in_CTP_connector*2)-1 downto 0);
1219  --signal parity_CTP2 : std_logic;
1220  --signal ddr_data_in_CTP2 : std_logic_vector(numbits_in_CTP_connector downto 0);
1221  --
1222  --signal forwarded_clock_RTM3 : std_logic;
1223  --signal data_RTM3 : std_logic_vector((numbits_in_RTM_connector*2)-1 downto 0);
1224  --signal parity_RTM3 : std_logic;
1225  --signal ddr_data_in_RTM3 : std_logic_vector(numbits_in_RTM_connector downto 0);
1226 
1227  component BCID_counter
1228  port (
1229  reset : in std_logic;
1230  clk_40 : in std_logic;
1231  BCID_out : out std_logic_vector(11 downto 0);
1232  --VME control:
1233  ncs : in std_logic; --ports forwarded to the vme register instances
1234  rd_nwr : in std_logic;
1235  ds : in std_logic;
1236  addr_vme : in std_logic_vector (15 downto 0);
1237  data_vme_in : in std_logic_vector (15 downto 0);
1238  data_vme_out : out std_logic_vector (15 downto 0);
1239  bus_drive : out std_logic);
1240  end component;
1241  signal BCID_counter_sig : std_logic_vector(11 downto 0);
1242  signal BCID_delayed_decoder : std_logic_vector(11 downto 0);
1243  signal BCID_delayed_daq : std_logic_vector(11 downto 0);
1244 
1245 
1246  component Topo_Data_TX is
1247  port (
1248  MGTREFCLK_PAD_N_IN : in std_logic_vector(num_GTX_groups-1 downto 0);
1249  MGTREFCLK_PAD_P_IN : in std_logic_vector(num_GTX_groups-1 downto 0);
1250  GTXTXRESET_IN : in std_logic;
1251  GTXRXRESET_IN : in std_logic;
1252  GTX_TX_READY_OUT : out std_logic;
1253  GTX_RX_READY_OUT : out std_logic;
1254  RXN_IN : in std_logic_vector((num_GTX_per_group*num_GTX_groups)-1 downto 0);
1255  RXP_IN : in std_logic_vector((num_GTX_per_group*num_GTX_groups)-1 downto 0);
1256  TXN_OUT : out std_logic_vector((num_GTX_per_group*num_GTX_groups)-1 downto 0);
1257  TXP_OUT : out std_logic_vector((num_GTX_per_group*num_GTX_groups)-1 downto 0);
1258  clk40 : in std_logic;
1259  clk320 : in std_logic;
1260  pll_locked : in std_logic;
1261  send_align : in std_logic_vector((num_GTX_per_group*num_GTX_groups)-1 downto 0);
1262  BCID : in std_logic_vector(11 downto 0);
1263  indata : in std_logic_vector(TX_indata_length-1 downto 0);
1264  ext_trigger : in std_logic;
1265  ncs : in std_logic;
1266  rd_nwr : in std_logic;
1267  ds : in std_logic;
1268  addr_vme : in std_logic_vector (15 downto 0);
1269  data_vme_in : in std_logic_vector (15 downto 0);
1270  data_vme_out : out std_logic_vector (15 downto 0);
1271  bus_drive : out std_logic);
1272  end component Topo_Data_TX;
1273 
1274  component CMX_SumET_Topo_Encoder is
1275  port (
1276  local_data : in std_logic_vector(4*26-1 downto 0);
1277  send_align_out : out std_logic_vector(num_GTX_groups*num_GTX_per_group - 1 downto 0);
1278  Data_out : out std_logic_vector(TX_indata_length - 1 downto 0);
1279  bcid_in : in std_logic_vector(11 downto 0);
1280  bcid_adj : out std_logic_vector(11 downto 0);
1281  clk :in std_logic);
1282  end component CMX_SumET_Topo_Encoder;
1283 
1284  signal bcid_adj : std_logic_vector(11 downto 0);
1285 
1286  signal TXN_OUT : std_logic_vector((num_GTX_per_group*num_GTX_groups)-1 downto 0);
1287  signal TXP_OUT : std_logic_vector((num_GTX_per_group*num_GTX_groups)-1 downto 0);
1288 
1289  signal MGTREFCLK_PAD_N_IN : std_logic_vector(num_GTX_groups-1 downto 0);
1290  signal MGTREFCLK_PAD_P_IN : std_logic_vector(num_GTX_groups-1 downto 0);
1291 
1292  signal GTX_RX_READY_OUT : std_logic;
1293  signal GTX_TX_READY_OUT : std_logic;
1294 
1295 
1296  signal GTXTXRESET_IN : std_logic;
1297  signal GTXRXRESET_IN : std_logic;
1298 
1299  signal send_align : std_logic_vector(23 downto 0);
1300 
1301  signal indata_Topo_TX : std_logic_vector(TX_indata_length-1 downto 0);
1302 
1303  signal data_to_vme_REG_RW_TOPOTR_GTX_RESET : std_logic_vector(15 downto 0);
1304  signal data_from_vme_REG_RW_TOPOTR_GTX_RESET : std_logic_vector(15 downto 0);
1305 
1306  signal data_to_vme_REG_RO_TOPOTR_GTX_STATUS : std_logic_vector(15 downto 0);
1307 
1308  signal data_from_vme_REG_RW_DAQ_ROI_RESET : std_logic_vector(15 downto 0);
1309  signal data_to_vme_REG_RW_DAQ_ROI_RESET : std_logic_vector(15 downto 0);
1310 
1311  signal data_to_vme_REG_RO_DAQ_ROI_STATUS : std_logic_vector(15 downto 0);
1312 
1313  signal data_from_vme_REG_RW_DAQ_ROI_GTX_RESET: std_logic_vector(15 downto 0);
1314  signal data_to_vme_REG_RW_DAQ_ROI_GTX_RESET: std_logic_vector(15 downto 0);
1315  signal gtx_reset_SFP_DAQ, gtx_reset_SFP_ROI : std_logic;
1316 
1317  signal BUF_TTC_L1_ACCEPT_r: std_logic;
1318  signal l1a_synced: std_logic;
1319 
1320 
1321  signal bc_reset_synced : std_logic;
1322  signal BUF_TTC_BNCH_CNT_RES_r : std_logic;
1323 
1324  component CMX_rate_counter_inhibit is
1325  port (
1326  counter_inhibit : out std_logic;
1327  counter_reset : out std_logic;
1328  buf_clk40 : in std_logic;
1329  ncs : in std_logic;
1330  rd_nwr : in std_logic;
1331  ds : in std_logic;
1332  addr_vme : in std_logic_vector (15 downto 0);
1333  data_vme_in : in std_logic_vector (15 downto 0);
1334  data_vme_out : out std_logic_vector (15 downto 0);
1335  bus_drive : out std_logic);
1336  end component CMX_rate_counter_inhibit;
1337 
1338  signal counter_inhibit : std_logic;
1339  signal counter_reset : std_logic;
1340 
1341  --signal CONTROL2 : std_logic_vector(35 downto 0);
1342  --
1343  --
1344  --component chipscope_ila_CMX_top_inputmodclk
1345  -- port (
1346  -- CONTROL : inout std_logic_vector(35 downto 0);
1347  -- CLK : in std_logic;
1348  -- DATA : in std_logic_vector(2375 downto 0);
1349  -- TRIG0 : in std_logic_vector(35 downto 0));
1350  --end component;
1351  --
1352  --signal DATA_chipscope_ila_CMX_top_inputmodclk : std_logic_vector(2375 downto 0);
1353  --signal TRIG0_chipscope_ila_CMX_top_inputmodclk : std_logic_vector(35 downto 0);
1354  ----signal TRIG_forward_inputmodclk_outputmodclk : std_logic_vector(0 downto 0);
1355 
1356  --component chipscope_ila_IDELAY
1357  -- port (
1358  -- CONTROL : inout std_logic_vector(35 downto 0);
1359  -- CLK : in std_logic;
1360  -- DATA : in std_logic_vector(2000 downto 0);
1361  -- TRIG0 : in std_logic_vector(0 to 0));
1362  --end component;
1363 
1364  --signal DATA_chipscope_ila_IDELAY : std_logic_vector(2000 downto 0);
1365 
1366 
1367  --component chipscope_ila_CTP2
1368  -- port (
1369  -- CONTROL : inout std_logic_vector(35 downto 0);
1370  -- CLK : in std_logic;
1371  -- DATA : in std_logic_vector(64 downto 0);
1372  -- TRIG0 : in std_logic_vector(0 to 0));
1373  --end component;
1374  --
1375  --component chipscope_ila_RTM
1376  -- port (
1377  -- CONTROL : inout std_logic_vector(35 downto 0);
1378  -- CLK : in std_logic;
1379  -- DATA : in std_logic_vector(52 downto 0);
1380  -- TRIG0 : in std_logic_vector(0 to 0));
1381  --end component;
1382 
1383  --component chipscope_ila_LVDS_TX_CTP_RTM
1384  -- port (
1385  -- CONTROL : inout std_logic_vector(35 downto 0);
1386  -- CLK : in std_logic;
1387  -- DATA : in std_logic_vector(117 downto 0);
1388  -- TRIG0 : in std_logic_vector(1 downto 0));
1389  --end component;
1390 
1391  component CMX_clock_manager is
1392  port (
1393  I_DS1 : in std_logic;
1394  IB_DS1 : in std_logic;
1395  buf_clk40 : out std_logic;
1396  buf_clk40_90o : out std_logic;
1397  buf_clk40_m180o : out std_logic;
1398  buf_clk40_m90o : out std_logic;
1399  buf_clk320 : out std_logic;
1400  buf_clk160 : out std_logic;
1401  buf_clk200 : out std_logic;
1402  pll_locked : out std_logic;
1403  I_DS2 : in std_logic;
1404  IB_DS2 : in std_logic;
1405  buf_clk40_ds2 : out std_logic;
1406  pll_locked_ds2 : out std_logic;
1407  ncs : in std_logic;
1408  rd_nwr : in std_logic;
1409  ds : in std_logic;
1410  addr_vme : in std_logic_vector (15 downto 0);
1411  data_vme_in : in std_logic_vector (15 downto 0);
1412  data_vme_out : out std_logic_vector (15 downto 0);
1413  bus_drive : out std_logic);
1414  end component CMX_clock_manager;
1415 
1416 
1417  signal buf_clk40 : std_logic;
1418  signal buf_clk40_m180o : std_logic;
1419  signal buf_clk40_center : std_logic;
1420  signal buf_clk320 : std_logic;
1421  signal buf_clk160 : std_logic;
1422  signal buf_clk200 : std_logic;
1423  signal pll_locked : std_logic;
1424 
1425  signal buf_clk40_ds2 : std_logic;
1426  signal pll_locked_ds2 : std_logic;
1427 
1428  component CMX_delay_generator
1429  generic (
1430  start_address : integer);
1431  port (
1432  clk40 : in std_logic;
1433  ncs : in std_logic;
1434  rd_nwr : in std_logic;
1435  ds : in std_logic;
1436  addr_vme : in std_logic_vector (15 downto 0);
1437  data_vme_in : in std_logic_vector (15 downto 0);
1438  data_vme_out : out std_logic_vector (15 downto 0);
1439  bus_drive : out std_logic;
1440  del_register : out del_register_type;
1441  upload_delays : out std_logic);
1442  end component;
1443 
1444  component CMX_CTP_output_module is
1445  port (
1446  data : in std_logic_vector((numbits_in_CTP_connector*2)-1 downto 0);
1447  sdr_data_out : out arr_CTP;
1448  buf_clk40 : in std_logic;
1449  buf_clk40_center : in std_logic;
1450  buf_clk200 : in std_logic;
1451  pll_locked : in std_logic;
1452  start_playback : in std_logic;
1453  spy_write_inhibit : in std_logic;
1454  ncs : in std_logic;
1455  rd_nwr : in std_logic;
1456  ds : in std_logic;
1457  addr_vme : in std_logic_vector (15 downto 0);
1458  data_vme_in : in std_logic_vector (15 downto 0);
1459  data_vme_out : out std_logic_vector (15 downto 0);
1460  bus_drive : out std_logic);
1461  end component CMX_CTP_output_module;
1462 
1463  signal sdr_data_CTP: arr_CTP;
1464  signal data_to_CTP: std_logic_vector((numbits_in_CTP_connector*2)-1 downto 0);
1465 
1466 
1467  component CMX_CTP_out_tester
1468  port (
1469  sdr_data_out : out std_logic_vector(31 downto 0);
1470  buf_clk40 : in std_logic;
1471  pll_locked : in std_logic;
1472  ncs : in std_logic;
1473  rd_nwr : in std_logic;
1474  ds : in std_logic;
1475  addr_vme : in std_logic_vector (15 downto 0);
1476  data_vme : inout std_logic_vector (15 downto 0));
1477  end component;
1478 
1479 
1480 
1481  component SFP_Data_TXRX
1482  generic (
1483  direction : std_logic;
1484  clock_source : std_logic);
1485  port (
1486  MGTREFCLK : in std_logic;
1487  gtx_reset : in std_logic;
1488  local_pll_lock_out: out std_logic;
1489  GTX_TX_READY_OUT : out std_logic;
1490  GTX_RX_READY_OUT : out std_logic;
1491  PLLLKDET_diag : out std_logic;
1492  local_gtx_reset_diag : out std_logic;
1493  local_mmcm_reset_diag : out std_logic;
1494  GTXTEST_diag : out std_logic;
1495  RXN_IN : in std_logic;
1496  RXP_IN : in std_logic;
1497  TXN_OUT : out std_logic;
1498  TXP_OUT : out std_logic;
1499  clk40_out : out std_logic;
1500  clk120_out : out std_logic;
1501  clk40_in : in std_logic;
1502  clk120_in : in std_logic;
1503  indata : in std_logic_vector(7 downto 0);
1504  odata : out std_logic_vector(7 downto 0);
1505  TXPREEMPHASIS_IN : in std_logic_vector(3 downto 0);
1506  TXPOSTEMPHASIS_IN : in std_logic_vector(4 downto 0);
1507  TXDIFFCTRL_IN : in std_logic_vector(3 downto 0);
1508  RXEQMIX_IN : in std_logic_vector(2 downto 0);
1509  DFECLKDLYADJ : in std_logic_vector(5 downto 0);
1510  DFECLKDLYADJMON : out std_logic_vector(5 downto 0);
1511  DFEDLYOVRD : in std_logic;
1512  DFEEYEDACMON : out std_logic_vector(4 downto 0);
1513  DFESENSCAL : out std_logic_vector(2 downto 0);
1514  DFETAP1 : in std_logic_vector(4 downto 0);
1515  DFETAP1MONITOR : out std_logic_vector(4 downto 0);
1516  DFETAP2 : in std_logic_vector(4 downto 0);
1517  DFETAP2MONITOR : out std_logic_vector(4 downto 0);
1518  DFETAP3 : in std_logic_vector(3 downto 0);
1519  DFETAP3MONITOR : out std_logic_vector(3 downto 0);
1520  DFETAP4 : in std_logic_vector(3 downto 0);
1521  DFETAP4MONITOR : out std_logic_vector(3 downto 0);
1522  DFETAPOVRD : in std_logic);
1523  end component;
1524 
1525  signal MGTREFCLK_Q118 : std_logic;
1526 
1527  signal GTXTXRESET_IN_TX_SFP_DAQ : std_logic;
1528  signal GTXRXRESET_IN_TX_SFP_DAQ : std_logic;
1529  signal local_pll_lock_out_SFP_DAQ : std_logic;
1530  signal GTX_TX_READY_OUT_TX_SFP_DAQ : std_logic;
1531  signal GTX_RX_READY_OUT_TX_SFP_DAQ : std_logic;
1532  signal PLLLKDET_diag_TX_SFP_DAQ : std_logic;
1533  signal local_gtx_reset_diag_TX_SFP_DAQ : std_logic;
1534  signal local_mmcm_reset_diag_TX_SFP_DAQ : std_logic;
1535  signal GTXTEST_diag_TX_SFP_DAQ : std_logic;
1536  signal RXN_IN_TX_SFP_DAQ : std_logic;
1537  signal RXP_IN_TX_SFP_DAQ : std_logic;
1538  signal TXN_OUT_TX_SFP_DAQ : std_logic;
1539  signal TXP_OUT_TX_SFP_DAQ : std_logic;
1540  signal clk40_out_TX_SFP_DAQ : std_logic;
1541  signal clk120_out_TX_SFP_DAQ : std_logic;
1542  signal clk40_in_TX_SFP_DAQ : std_logic;
1543  signal clk120_in_TX_SFP_DAQ : std_logic;
1544  signal indata_TX_SFP_DAQ : std_logic_vector(7 downto 0);
1545  signal odata_TX_SFP_DAQ : std_logic_vector(7 downto 0);
1546  signal TXPREEMPHASIS_IN_TX_SFP_DAQ : std_logic_vector(3 downto 0);
1547  signal TXPOSTEMPHASIS_IN_TX_SFP_DAQ : std_logic_vector(4 downto 0);
1548  signal TXDIFFCTRL_IN_TX_SFP_DAQ : std_logic_vector(3 downto 0);
1549  signal RXEQMIX_IN_TX_SFP_DAQ : std_logic_vector(2 downto 0);
1550  signal DFECLKDLYADJ_TX_SFP_DAQ : std_logic_vector(5 downto 0);
1551  signal DFECLKDLYADJMON_TX_SFP_DAQ : std_logic_vector(5 downto 0);
1552  signal DFEDLYOVRD_TX_SFP_DAQ : std_logic;
1553  signal DFEEYEDACMON_TX_SFP_DAQ : std_logic_vector(4 downto 0);
1554  signal DFESENSCAL_TX_SFP_DAQ : std_logic_vector(2 downto 0);
1555  signal DFETAP1_TX_SFP_DAQ : std_logic_vector(4 downto 0);
1556  signal DFETAP1MONITOR_TX_SFP_DAQ : std_logic_vector(4 downto 0);
1557  signal DFETAP2_TX_SFP_DAQ : std_logic_vector(4 downto 0);
1558  signal DFETAP2MONITOR_TX_SFP_DAQ : std_logic_vector(4 downto 0);
1559  signal DFETAP3_TX_SFP_DAQ : std_logic_vector(3 downto 0);
1560  signal DFETAP3MONITOR_TX_SFP_DAQ : std_logic_vector(3 downto 0);
1561  signal DFETAP4_TX_SFP_DAQ : std_logic_vector(3 downto 0);
1562  signal DFETAP4MONITOR_TX_SFP_DAQ : std_logic_vector(3 downto 0);
1563  signal DFETAPOVRD_TX_SFP_DAQ : std_logic;
1564 
1565  signal GTXTXRESET_IN_TX_SFP_ROI : std_logic;
1566  signal GTXRXRESET_IN_TX_SFP_ROI : std_logic;
1567  signal local_pll_lock_out_SFP_ROI : std_logic;
1568  signal GTX_TX_READY_OUT_TX_SFP_ROI : std_logic;
1569  signal GTX_RX_READY_OUT_TX_SFP_ROI : std_logic;
1570  signal PLLLKDET_diag_TX_SFP_ROI : std_logic;
1571  signal local_gtx_reset_diag_TX_SFP_ROI : std_logic;
1572  signal local_mmcm_reset_diag_TX_SFP_ROI : std_logic;
1573  signal GTXTEST_diag_TX_SFP_ROI : std_logic;
1574  signal RXN_IN_TX_SFP_ROI : std_logic;
1575  signal RXP_IN_TX_SFP_ROI : std_logic;
1576  signal TXN_OUT_TX_SFP_ROI : std_logic;
1577  signal TXP_OUT_TX_SFP_ROI : std_logic;
1578  signal clk40_out_TX_SFP_ROI : std_logic;
1579  signal clk120_out_TX_SFP_ROI : std_logic;
1580  signal clk40_in_TX_SFP_ROI : std_logic;
1581  signal clk120_in_TX_SFP_ROI : std_logic;
1582  signal indata_TX_SFP_ROI : std_logic_vector(7 downto 0);
1583  signal odata_TX_SFP_ROI : std_logic_vector(7 downto 0);
1584  signal TXPREEMPHASIS_IN_TX_SFP_ROI : std_logic_vector(3 downto 0);
1585  signal TXPOSTEMPHASIS_IN_TX_SFP_ROI : std_logic_vector(4 downto 0);
1586  signal TXDIFFCTRL_IN_TX_SFP_ROI : std_logic_vector(3 downto 0);
1587  signal RXEQMIX_IN_TX_SFP_ROI : std_logic_vector(2 downto 0);
1588  signal DFECLKDLYADJ_TX_SFP_ROI : std_logic_vector(5 downto 0);
1589  signal DFECLKDLYADJMON_TX_SFP_ROI : std_logic_vector(5 downto 0);
1590  signal DFEDLYOVRD_TX_SFP_ROI : std_logic;
1591  signal DFEEYEDACMON_TX_SFP_ROI : std_logic_vector(4 downto 0);
1592  signal DFESENSCAL_TX_SFP_ROI : std_logic_vector(2 downto 0);
1593  signal DFETAP1_TX_SFP_ROI : std_logic_vector(4 downto 0);
1594  signal DFETAP1MONITOR_TX_SFP_ROI : std_logic_vector(4 downto 0);
1595  signal DFETAP2_TX_SFP_ROI : std_logic_vector(4 downto 0);
1596  signal DFETAP2MONITOR_TX_SFP_ROI : std_logic_vector(4 downto 0);
1597  signal DFETAP3_TX_SFP_ROI : std_logic_vector(3 downto 0);
1598  signal DFETAP3MONITOR_TX_SFP_ROI : std_logic_vector(3 downto 0);
1599  signal DFETAP4_TX_SFP_ROI : std_logic_vector(3 downto 0);
1600  signal DFETAP4MONITOR_TX_SFP_ROI : std_logic_vector(3 downto 0);
1601  signal DFETAPOVRD_TX_SFP_ROI : std_logic;
1602 
1603 
1604 -- glink emulator
1605 
1606  component glink_interface
1607  port (
1608  CLK_40MHz : in std_logic;
1609  CLK_120MHz : in std_logic;
1610  RST : in std_logic;
1611  DAQ_IN : in std_logic_vector (19 DOWNTO 0);
1612  ROI_IN : in std_logic_vector (19 DOWNTO 0);
1613  DAQ_DAV : in std_logic;
1614  ROI_DAV : in std_logic;
1615  DAQ_BYTE : OUT std_logic_vector (7 downto 0);
1616  ROI_BYTE : OUT std_logic_vector (7 downto 0);
1617  DAQ_ENCODED_DIAG : OUT std_logic_vector (23 downto 0);
1618  daq_byte_out : out std_logic_vector (1 downto 0);
1619  byte_pos_out : OUT std_logic_vector (5 downto 0);
1620  word_sel_out : OUT std_logic_vector(1 downto 0);
1621  readout_rst_out : OUT std_logic
1622  );
1623  end component;
1624 
1625  -- Glink emulator signals
1626 
1627  signal daq_in : std_logic_vector (19 DOWNTO 0);
1628  signal roi_in : std_logic_vector (19 DOWNTO 0);
1629  signal daq_dav : std_logic;
1630  signal roi_dav : std_logic;
1631  signal daq_byte : std_logic_vector (7 downto 0);
1632  signal roi_byte : std_logic_vector (7 downto 0);
1633  signal reset_daq : std_logic;
1634  signal daq_encoded_diag : std_logic_vector (23 downto 0);
1635  signal daq_byte_out : std_logic_vector (1 downto 0);
1636 
1637  signal byte_pos_out : std_logic_vector (5 downto 0);
1638  signal word_sel_out : std_logic_vector(1 downto 0);
1639  signal readout_rst_out : std_logic;
1640 
1641 -- masked out by Pawel Plucinski on 2015-04-28
1642 --
1643 -- component chipscope_icon_u2_c3
1644 -- port (
1645 -- CONTROL0 : inout std_logic_vector(35 downto 0);
1646 -- CONTROL1 : inout std_logic_vector(35 downto 0);
1647 -- CONTROL2 : inout std_logic_vector(35 downto 0)
1648 -- );
1649 -- end component;
1650 
1651 -- signal CONTROL0 : std_logic_vector(35 downto 0);
1652 -- signal CONTROL1 : std_logic_vector(35 downto 0);
1653 -- signal CONTROL2 : std_logic_vector(35 downto 0);
1654 --
1655 -- signal data_ila_daq : std_logic_vector (53 downto 0);
1656 -- signal trig_ila_daq : std_logic_vector (33 downto 0);
1657 --
1658 -- signal data_ila_encoder : std_logic_vector (20 downto 0);
1659 -- signal trig_ila_encoder : std_logic_vector (11 downto 0);
1660 --
1661 -- signal data_ila_gtx_start : std_logic_vector (12 downto 0);
1662 -- signal trig_ila_gtx_start : std_logic_vector (2 downto 0);
1663 
1664 
1665  --signal data_ila_1 : std_logic_vector (16 downto 0);
1666 
1667 -- component glink_chipscope_analyzer
1668 -- port (
1669 -- CONTROL: inout std_logic_vector(35 downto 0);
1670 -- CLK: in std_logic;
1671 -- DATA: in std_logic_vector(53 downto 0);
1672 -- TRIG0: in std_logic_vector(33 downto 0));
1673 -- end component;
1674 --
1675 -- component glink_chipscope_analyzer_encoder
1676 -- port (
1677 -- CONTROL: inout std_logic_vector(35 downto 0);
1678 -- CLK: in std_logic;
1679 -- DATA: in std_logic_vector(20 downto 0);
1680 -- TRIG0: in std_logic_vector(11 downto 0));
1681 -- end component;
1682 --
1683 -- component glink_chipscope_analyzer_gtx_start is
1684 -- port (
1685 -- CONTROL : inout std_logic_vector(35 downto 0);
1686 -- CLK : in std_logic;
1687 -- DATA : in std_logic_vector(10 downto 0);
1688 -- TRIG0 : in std_logic_vector(0 to 0));
1689 -- end component glink_chipscope_analyzer_gtx_start;
1690 
1691 
1692 
1693  component daq_glink
1694  port (
1695  data_in : in arr_96(19 downto 0);
1696  bc_counter : in unsigned(11 downto 0);
1697  l1a : in std_logic;
1698  data_out : out std_logic_vector(19 downto 0);
1699  dav : out std_logic;
1700  clk4000 : in std_logic;
1701  clk4008 : in std_logic;
1702  reset : in std_logic;
1703  RAM_global_offset : in unsigned(7 downto 0);
1704  RAM_rel_offsets : in arr_ctr_8bit(18 downto 0);
1705  nslices : in unsigned(7 downto 0));
1706  end component;
1707 
1708 
1709  signal RAM_global_offset : unsigned(7 downto 0);
1710  signal RAM_rel_offsets : arr_ctr_8bit(18 downto 0);
1711  signal nslices : unsigned(7 downto 0);
1712 
1713  signal data_in_daq: arr_96(19 downto 0);
1714 
1715  --control of daq delays
1716  signal data_from_vme_REG_RW_DAQ_SLICE: std_logic_vector(15 downto 0);
1717  signal data_to_vme_REG_RW_DAQ_SLICE: std_logic_vector(15 downto 0);
1718  signal data_from_vme_REG_RW_DAQ_RAM_OFFSET: std_logic_vector(15 downto 0);
1719  signal data_to_vme_REG_RW_DAQ_RAM_OFFSET: std_logic_vector(15 downto 0);
1720 
1721  signal data_from_vme_REG_RW_DAQ_RAM_RELATIVE_OFFSET: arr_16(18 downto 0);
1722  signal data_to_vme_REG_RW_DAQ_RAM_RELATIVE_OFFSET: arr_16(18 downto 0);
1723 
1724 
1725  attribute keep of start_playback_r1, BUF_TTC_L1_ACCEPT_r, BUF_TTC_BNCH_CNT_RES_r, send_align: signal is "TRUE"; --, ODATA_first_half
1726  attribute IOB of BUF_TTC_L1_ACCEPT_r, BUF_TTC_BNCH_CNT_RES_r : signal is "FORCE";
1727 
1728 
1729  --attribute IOB of BF_DOUT_CTP_00 : signal is "TRUE";
1730  --attribute IOB of BF_DOUT_CTP_01 : signal is "TRUE";
1731  --attribute IOB of BF_DOUT_CTP_02 : signal is "TRUE";
1732  --attribute IOB of BF_DOUT_CTP_03 : signal is "TRUE";
1733  --attribute IOB of BF_DOUT_CTP_04 : signal is "TRUE";
1734  --attribute IOB of BF_DOUT_CTP_05 : signal is "TRUE";
1735  --attribute IOB of BF_DOUT_CTP_06 : signal is "TRUE";
1736  --attribute IOB of BF_DOUT_CTP_07 : signal is "TRUE";
1737  --attribute IOB of BF_DOUT_CTP_08 : signal is "TRUE";
1738  --attribute IOB of BF_DOUT_CTP_09 : signal is "TRUE";
1739  --attribute IOB of BF_DOUT_CTP_10 : signal is "TRUE";
1740  --attribute IOB of BF_DOUT_CTP_11 : signal is "TRUE";
1741  --attribute IOB of BF_DOUT_CTP_12 : signal is "TRUE";
1742  --attribute IOB of BF_DOUT_CTP_13 : signal is "TRUE";
1743  --attribute IOB of BF_DOUT_CTP_14 : signal is "TRUE";
1744  --attribute IOB of BF_DOUT_CTP_15 : signal is "TRUE";
1745  --attribute IOB of BF_DOUT_CTP_16 : signal is "TRUE";
1746  --attribute IOB of BF_DOUT_CTP_17 : signal is "TRUE";
1747  --attribute IOB of BF_DOUT_CTP_18 : signal is "TRUE";
1748  --attribute IOB of BF_DOUT_CTP_19 : signal is "TRUE";
1749  --attribute IOB of BF_DOUT_CTP_20 : signal is "TRUE";
1750  --attribute IOB of BF_DOUT_CTP_21 : signal is "TRUE";
1751  --attribute IOB of BF_DOUT_CTP_22 : signal is "TRUE";
1752  --attribute IOB of BF_DOUT_CTP_23 : signal is "TRUE";
1753  --attribute IOB of BF_DOUT_CTP_24 : signal is "TRUE";
1754  --attribute IOB of BF_DOUT_CTP_25 : signal is "TRUE";
1755  --attribute IOB of BF_DOUT_CTP_26 : signal is "TRUE";
1756  --attribute IOB of BF_DOUT_CTP_27 : signal is "TRUE";
1757  --attribute IOB of BF_DOUT_CTP_28 : signal is "TRUE";
1758  --attribute IOB of BF_DOUT_CTP_29 : signal is "TRUE";
1759  --attribute IOB of BF_DOUT_CTP_64 : signal is "TRUE";
1760  --
1761  --attribute IOB of BF_DOUT_CTP_32 : signal is "TRUE";
1762  --attribute IOB of BF_DOUT_CTP_33 : signal is "TRUE";
1763  --attribute IOB of BF_DOUT_CTP_34 : signal is "TRUE";
1764  --attribute IOB of BF_DOUT_CTP_35 : signal is "TRUE";
1765  --attribute IOB of BF_DOUT_CTP_36 : signal is "TRUE";
1766  --attribute IOB of BF_DOUT_CTP_37 : signal is "TRUE";
1767  --attribute IOB of BF_DOUT_CTP_38 : signal is "TRUE";
1768  --attribute IOB of BF_DOUT_CTP_39 : signal is "TRUE";
1769  --attribute IOB of BF_DOUT_CTP_40 : signal is "TRUE";
1770  --attribute IOB of BF_DOUT_CTP_41 : signal is "TRUE";
1771  --attribute IOB of BF_DOUT_CTP_42 : signal is "TRUE";
1772  --attribute IOB of BF_DOUT_CTP_43 : signal is "TRUE";
1773  --attribute IOB of BF_DOUT_CTP_44 : signal is "TRUE";
1774  --attribute IOB of BF_DOUT_CTP_45 : signal is "TRUE";
1775  --attribute IOB of BF_DOUT_CTP_46 : signal is "TRUE";
1776  --attribute IOB of BF_DOUT_CTP_47 : signal is "TRUE";
1777  --attribute IOB of BF_DOUT_CTP_48 : signal is "TRUE";
1778  --attribute IOB of BF_DOUT_CTP_49 : signal is "TRUE";
1779  --attribute IOB of BF_DOUT_CTP_50 : signal is "TRUE";
1780  --attribute IOB of BF_DOUT_CTP_51 : signal is "TRUE";
1781  --attribute IOB of BF_DOUT_CTP_52 : signal is "TRUE";
1782  --attribute IOB of BF_DOUT_CTP_53 : signal is "TRUE";
1783  --attribute IOB of BF_DOUT_CTP_54 : signal is "TRUE";
1784  --attribute IOB of BF_DOUT_CTP_55 : signal is "TRUE";
1785  --attribute IOB of BF_DOUT_CTP_56 : signal is "TRUE";
1786  --attribute IOB of BF_DOUT_CTP_57 : signal is "TRUE";
1787  --attribute IOB of BF_DOUT_CTP_58 : signal is "TRUE";
1788  --attribute IOB of BF_DOUT_CTP_59 : signal is "TRUE";
1789  --attribute IOB of BF_DOUT_CTP_60 : signal is "TRUE";
1790  --attribute IOB of BF_DOUT_CTP_61 : signal is "TRUE";
1791 
1792 
1793 
1794 
1795 
1796 
1797 
1798 
1799 
1800 Begin
1801 
1802  --safety setup
1803  BF_REQ_CTP_1_INPUT <= '0';
1804  BF_REQ_CTP_2_INPUT <= '0';
1805  BF_REQ_CABLE_1_INPUT<= '1';
1806  BF_REQ_CABLE_2_INPUT<= '1';
1807  BF_REQ_CABLE_3_INPUT<= '1';
1808  BF_LED_REQ_0 <= '0';
1809  BF_LED_REQ_1 <= '0';
1810  BF_LED_REQ_2 <= '0';
1811  BF_LED_REQ_3 <= '0';
1812  BF_LED_REQ_4 <= '0';
1813  --BF_TO_FROM_BSPT_0 <= '0';
1814  --BF_TO_FROM_BSPT_1 <= '0';
1815  BF_TO_FROM_BSPT_2 <= '0';
1816  BF_TO_FROM_BSPT_3 <= '0';
1817  BF_TO_FROM_BSPT_4 <= '0';
1818  BF_TO_FROM_BSPT_5 <= '0';
1819  BF_TO_FROM_BSPT_6 <= '0';
1820  BF_TO_FROM_BSPT_7 <= '0';
1821 
1822  --sdr_data_out_CTP1
1823  BF_DOUT_CTP_00 <= sdr_data_CTP(0)(0);
1824  BF_DOUT_CTP_01 <= sdr_data_CTP(0)(1);
1825  BF_DOUT_CTP_02 <= sdr_data_CTP(0)(2);
1826  BF_DOUT_CTP_03 <= sdr_data_CTP(0)(3);
1827  BF_DOUT_CTP_04 <= sdr_data_CTP(0)(4);
1828  BF_DOUT_CTP_05 <= sdr_data_CTP(0)(5);
1829  BF_DOUT_CTP_06 <= sdr_data_CTP(0)(6);
1830  BF_DOUT_CTP_07 <= sdr_data_CTP(0)(7);
1831  BF_DOUT_CTP_08 <= sdr_data_CTP(0)(8);
1832  BF_DOUT_CTP_09 <= sdr_data_CTP(0)(9);
1833  BF_DOUT_CTP_10 <= sdr_data_CTP(0)(10);
1834  BF_DOUT_CTP_11 <= sdr_data_CTP(0)(11);
1835  BF_DOUT_CTP_12 <= sdr_data_CTP(0)(12);
1836  BF_DOUT_CTP_13 <= sdr_data_CTP(0)(13);
1837  BF_DOUT_CTP_14 <= sdr_data_CTP(0)(14);
1838  BF_DOUT_CTP_15 <= sdr_data_CTP(0)(15);
1839  BF_DOUT_CTP_16 <= sdr_data_CTP(0)(16);
1840  BF_DOUT_CTP_17 <= sdr_data_CTP(0)(17);
1841  BF_DOUT_CTP_18 <= sdr_data_CTP(0)(18);
1842  BF_DOUT_CTP_19 <= sdr_data_CTP(0)(19);
1843  BF_DOUT_CTP_20 <= sdr_data_CTP(0)(20);
1844  BF_DOUT_CTP_21 <= sdr_data_CTP(0)(21);
1845  BF_DOUT_CTP_22 <= sdr_data_CTP(0)(22);
1846  BF_DOUT_CTP_23 <= sdr_data_CTP(0)(23);
1847  BF_DOUT_CTP_24 <= sdr_data_CTP(0)(24);
1848  BF_DOUT_CTP_25 <= sdr_data_CTP(0)(25);
1849  BF_DOUT_CTP_26 <= sdr_data_CTP(0)(26);
1850  BF_DOUT_CTP_27 <= sdr_data_CTP(0)(27);
1851  BF_DOUT_CTP_28 <= sdr_data_CTP(0)(28);
1852  BF_DOUT_CTP_29 <= sdr_data_CTP(0)(29);
1853  BF_DOUT_CTP_30 <= '0';
1854  BF_DOUT_CTP_64 <= sdr_data_CTP(0)(30);
1855  BF_DOUT_CTP_31 <= sdr_data_CTP(0)(31);
1856 
1857 
1858  BF_DOUT_CTP_32 <= sdr_data_CTP(1)(0);
1859  BF_DOUT_CTP_33 <= sdr_data_CTP(1)(1);
1860  BF_DOUT_CTP_34 <= sdr_data_CTP(1)(2);
1861  BF_DOUT_CTP_35 <= sdr_data_CTP(1)(3);
1862  BF_DOUT_CTP_36 <= sdr_data_CTP(1)(4);
1863  BF_DOUT_CTP_37 <= sdr_data_CTP(1)(5);
1864  BF_DOUT_CTP_38 <= sdr_data_CTP(1)(6);
1865  BF_DOUT_CTP_39 <= sdr_data_CTP(1)(7);
1866  BF_DOUT_CTP_40 <= sdr_data_CTP(1)(8);
1867  BF_DOUT_CTP_41 <= sdr_data_CTP(1)(9);
1868  BF_DOUT_CTP_42 <= sdr_data_CTP(1)(10);
1869  BF_DOUT_CTP_43 <= sdr_data_CTP(1)(11);
1870  BF_DOUT_CTP_44 <= sdr_data_CTP(1)(12);
1871  BF_DOUT_CTP_45 <= sdr_data_CTP(1)(13);
1872  BF_DOUT_CTP_46 <= sdr_data_CTP(1)(14);
1873  BF_DOUT_CTP_47 <= sdr_data_CTP(1)(15);
1874  BF_DOUT_CTP_48 <= sdr_data_CTP(1)(16);
1875  BF_DOUT_CTP_49 <= sdr_data_CTP(1)(17);
1876  BF_DOUT_CTP_50 <= sdr_data_CTP(1)(18);
1877  BF_DOUT_CTP_51 <= sdr_data_CTP(1)(19);
1878  BF_DOUT_CTP_52 <= sdr_data_CTP(1)(20);
1879  BF_DOUT_CTP_53 <= sdr_data_CTP(1)(21);
1880  BF_DOUT_CTP_54 <= sdr_data_CTP(1)(22);
1881  BF_DOUT_CTP_55 <= sdr_data_CTP(1)(23);
1882  BF_DOUT_CTP_56 <= sdr_data_CTP(1)(24);
1883  BF_DOUT_CTP_57 <= sdr_data_CTP(1)(25);
1884  BF_DOUT_CTP_58 <= sdr_data_CTP(1)(26);
1885  BF_DOUT_CTP_59 <= sdr_data_CTP(1)(27);
1886  BF_DOUT_CTP_60 <= sdr_data_CTP(1)(28);
1887  BF_DOUT_CTP_61 <= sdr_data_CTP(1)(29);
1888  BF_DOUT_CTP_62 <= '0';
1889  BF_DOUT_CTP_65 <= sdr_data_CTP(1)(30);
1890  BF_DOUT_CTP_63 <= sdr_data_CTP(1)(31);
1891 
1892 
1893 
1894 
1895 
1896 
1897 
1898 
1899  --ddr_data_in_CTP2(0) <=BF_DOUT_CTP_32;
1900  --ddr_data_in_CTP2(1) <=BF_DOUT_CTP_33;
1901  --ddr_data_in_CTP2(2) <=BF_DOUT_CTP_34;
1902  --ddr_data_in_CTP2(3) <=BF_DOUT_CTP_35;
1903  --ddr_data_in_CTP2(4) <=BF_DOUT_CTP_36;
1904  --ddr_data_in_CTP2(5) <=BF_DOUT_CTP_37;
1905  --ddr_data_in_CTP2(6) <=BF_DOUT_CTP_38;
1906  --ddr_data_in_CTP2(7) <=BF_DOUT_CTP_39;
1907  --ddr_data_in_CTP2(8) <=BF_DOUT_CTP_40;
1908  --ddr_data_in_CTP2(9) <=BF_DOUT_CTP_41;
1909  --ddr_data_in_CTP2(10) <=BF_DOUT_CTP_42;
1910  --ddr_data_in_CTP2(11) <=BF_DOUT_CTP_43;
1911  --ddr_data_in_CTP2(12) <=BF_DOUT_CTP_44;
1912  --ddr_data_in_CTP2(13) <=BF_DOUT_CTP_45;
1913  --ddr_data_in_CTP2(14) <=BF_DOUT_CTP_46;
1914  --ddr_data_in_CTP2(15) <=BF_DOUT_CTP_47;
1915  --ddr_data_in_CTP2(16) <=BF_DOUT_CTP_48;
1916  --ddr_data_in_CTP2(17) <=BF_DOUT_CTP_49;
1917  --ddr_data_in_CTP2(18) <=BF_DOUT_CTP_50;
1918  --ddr_data_in_CTP2(19) <=BF_DOUT_CTP_51;
1919  --ddr_data_in_CTP2(20) <=BF_DOUT_CTP_52;
1920  --ddr_data_in_CTP2(21) <=BF_DOUT_CTP_53;
1921  --ddr_data_in_CTP2(22) <=BF_DOUT_CTP_54;
1922  --ddr_data_in_CTP2(23) <=BF_DOUT_CTP_55;
1923  --ddr_data_in_CTP2(24) <=BF_DOUT_CTP_56;
1924  --ddr_data_in_CTP2(25) <=BF_DOUT_CTP_57;
1925  --ddr_data_in_CTP2(26) <=BF_DOUT_CTP_58;
1926  --ddr_data_in_CTP2(27) <=BF_DOUT_CTP_59;
1927  --ddr_data_in_CTP2(28) <=BF_DOUT_CTP_60;
1928  --ddr_data_in_CTP2(29) <=BF_DOUT_CTP_61;
1929  --ddr_data_in_CTP2(30) <=BF_DOUT_CTP_62;
1930  --ddr_data_in_CTP2(31) <=BF_DOUT_CTP_65;
1931  --ddr_data_in_CTP2(32) <=BF_DOUT_CTP_63;
1932 
1933 
1934 
1935  ddr_data_in_RTM1(0) <= D_CBL_00_B;
1936  ddr_data_in_RTM1(1) <= D_CBL_01_B;
1937  ddr_data_in_RTM1(2) <= D_CBL_02_B;
1938  ddr_data_in_RTM1(3) <= D_CBL_03_B;
1939  ddr_data_in_RTM1(4) <= D_CBL_04_B;
1940  ddr_data_in_RTM1(5) <= D_CBL_05_B;
1941  ddr_data_in_RTM1(6) <= D_CBL_06_B;
1942  ddr_data_in_RTM1(7) <= D_CBL_07_B;
1943  ddr_data_in_RTM1(8) <= D_CBL_08_B;
1944  ddr_data_in_RTM1(9) <= D_CBL_09_B;
1945  ddr_data_in_RTM1(10) <= D_CBL_10_B;
1946  ddr_data_in_RTM1(11) <= D_CBL_11_B;
1947  ddr_data_in_RTM1(12) <= D_CBL_12_B;
1948  ddr_data_in_RTM1(13) <= D_CBL_13_B;
1949  ddr_data_in_RTM1(14) <= D_CBL_14_B;
1950  ddr_data_in_RTM1(15) <= D_CBL_15_B;
1951  ddr_data_in_RTM1(16) <= D_CBL_16_B;
1952  ddr_data_in_RTM1(17) <= D_CBL_17_B;
1953  ddr_data_in_RTM1(18) <= D_CBL_18_B;
1954  ddr_data_in_RTM1(19) <= D_CBL_19_B;
1955  ddr_data_in_RTM1(20) <= D_CBL_20_B;
1956  ddr_data_in_RTM1(21) <= D_CBL_21_B;
1957  ddr_data_in_RTM1(22) <= D_CBL_22_B;
1958  ddr_data_in_RTM1(23) <= D_CBL_23_B;
1959  ddr_data_in_RTM1(24) <= D_CBL_24_B;
1960  ddr_data_in_RTM1(26) <= D_CBL_25_B;
1961  ddr_data_in_RTM1(25) <= D_CBL_26_B;
1962 
1963 
1964  ddr_data_in_RTM2(0) <= D_CBL_27_B;
1965  ddr_data_in_RTM2(1) <= D_CBL_28_B;
1966  ddr_data_in_RTM2(2) <= D_CBL_29_B;
1967  ddr_data_in_RTM2(3) <= D_CBL_30_B;
1968  ddr_data_in_RTM2(4) <= D_CBL_31_B;
1969  ddr_data_in_RTM2(5) <= D_CBL_32_B;
1970  ddr_data_in_RTM2(6) <= D_CBL_33_B;
1971  ddr_data_in_RTM2(7) <= D_CBL_34_B;
1972  ddr_data_in_RTM2(8) <= D_CBL_35_B;
1973  ddr_data_in_RTM2(9) <= D_CBL_36_B;
1974  ddr_data_in_RTM2(10) <= D_CBL_37_B;
1975  ddr_data_in_RTM2(11) <= D_CBL_38_B;
1976  ddr_data_in_RTM2(12) <= D_CBL_39_B;
1977  ddr_data_in_RTM2(13) <= D_CBL_40_B;
1978  ddr_data_in_RTM2(14) <= D_CBL_41_B;
1979  ddr_data_in_RTM2(15) <= D_CBL_42_B;
1980  ddr_data_in_RTM2(16) <= D_CBL_43_B;
1981  ddr_data_in_RTM2(17) <= D_CBL_44_B;
1982  ddr_data_in_RTM2(18) <= D_CBL_45_B;
1983  ddr_data_in_RTM2(19) <= D_CBL_46_B;
1984  ddr_data_in_RTM2(20) <= D_CBL_47_B;
1985  ddr_data_in_RTM2(21) <= D_CBL_50_B;
1986  ddr_data_in_RTM2(22) <= D_CBL_51_B;
1987  ddr_data_in_RTM2(23) <= D_CBL_52_B;
1988  ddr_data_in_RTM2(24) <= D_CBL_53_B;
1989  ddr_data_in_RTM2(26) <= D_CBL_48_B;
1990  ddr_data_in_RTM2(25) <= D_CBL_49_B;
1991 
1992  sig_arr_RTM(0)<=ddr_data_in_RTM1;
1993  sig_arr_RTM(1)<=ddr_data_in_RTM2;
1994 
1995  --D_CBL_81_B <= '0';
1996  --D_CBL_82_B <= '0';
1997 
1998  --BF_TO_TP_DAQ_SLINK_RETURN_DIR ;--<= '0';
1999  --BF_TO_TP_DAQ_SLINK_RETURN_CMP ;--<= '0';
2000  --BF_TO_TP_ROI_SLINK_RETURN_DIR ;--<= '0';
2001  --BF_TO_TP_ROI_SLINK_RETURN_CMP ;--<= '0';
2002  --end safety setup
2003 
2004  --backplane bus assignment
2005  P(0)(0) <= P0_0;
2006  P(0)(1) <= P0_1;
2007  P(0)(2) <= P0_2;
2008  P(0)(3) <= P0_3;
2009  P(0)(4) <= P0_4;
2010  P(0)(5) <= P0_5;
2011  P(0)(6) <= P0_6;
2012  P(0)(7) <= P0_7;
2013  P(0)(8) <= P0_8;
2014  P(0)(9) <= P0_9;
2015  P(0)(10) <= P0_10;
2016  P(0)(11) <= P0_11;
2017  P(0)(12) <= P0_12;
2018  P(0)(13) <= P0_13;
2019  P(0)(14) <= P0_14;
2020  P(0)(15) <= P0_15;
2021  P(0)(16) <= P0_16;
2022  P(0)(17) <= P0_17;
2023  P(0)(18) <= P0_18;
2024  P(0)(19) <= P0_19;
2025  P(0)(20) <= P0_20;
2026  P(0)(21) <= P0_21;
2027  P(0)(22) <= P0_22;
2028  P(0)(23) <= P0_23;
2029  P(0)(24) <= P0_24;
2030  P(1)(0) <= P1_0;
2031  P(1)(1) <= P1_1;
2032  P(1)(2) <= P1_2;
2033  P(1)(3) <= P1_3;
2034  P(1)(4) <= P1_4;
2035  P(1)(5) <= P1_5;
2036  P(1)(6) <= P1_6;
2037  P(1)(7) <= P1_7;
2038  P(1)(8) <= P1_8;
2039  P(1)(9) <= P1_9;
2040  P(1)(10) <= P1_10;
2041  P(1)(11) <= P1_11;
2042  P(1)(12) <= P1_12;
2043  P(1)(13) <= P1_13;
2044  P(1)(14) <= P1_14;
2045  P(1)(15) <= P1_15;
2046  P(1)(16) <= P1_16;
2047  P(1)(17) <= P1_17;
2048  P(1)(18) <= P1_18;
2049  P(1)(19) <= P1_19;
2050  P(1)(20) <= P1_20;
2051  P(1)(21) <= P1_21;
2052  P(1)(22) <= P1_22;
2053  P(1)(23) <= P1_23;
2054  P(1)(24) <= P1_24;
2055  P(2)(0) <= P2_0;
2056  P(2)(1) <= P2_1;
2057  P(2)(2) <= P2_2;
2058  P(2)(3) <= P2_3;
2059  P(2)(4) <= P2_4;
2060  P(2)(5) <= P2_5;
2061  P(2)(6) <= P2_6;
2062  P(2)(7) <= P2_7;
2063  P(2)(8) <= P2_8;
2064  P(2)(9) <= P2_9;
2065  P(2)(10) <= P2_10;
2066  P(2)(11) <= P2_11;
2067  P(2)(12) <= P2_12;
2068  P(2)(13) <= P2_13;
2069  P(2)(14) <= P2_14;
2070  P(2)(15) <= P2_15;
2071  P(2)(16) <= P2_16;
2072  P(2)(17) <= P2_17;
2073  P(2)(18) <= P2_18;
2074  P(2)(19) <= P2_19;
2075  P(2)(20) <= P2_20;
2076  P(2)(21) <= P2_21;
2077  P(2)(22) <= P2_22;
2078  P(2)(23) <= P2_23;
2079  P(2)(24) <= P2_24;
2080  P(3)(0) <= P3_0;
2081  P(3)(1) <= P3_1;
2082  P(3)(2) <= P3_2;
2083  P(3)(3) <= P3_3;
2084  P(3)(4) <= P3_4;
2085  P(3)(5) <= P3_5;
2086  P(3)(6) <= P3_6;
2087  P(3)(7) <= P3_7;
2088  P(3)(8) <= P3_8;
2089  P(3)(9) <= P3_9;
2090  P(3)(10) <= P3_10;
2091  P(3)(11) <= P3_11;
2092  P(3)(12) <= P3_12;
2093  P(3)(13) <= P3_13;
2094  P(3)(14) <= P3_14;
2095  P(3)(15) <= P3_15;
2096  P(3)(16) <= P3_16;
2097  P(3)(17) <= P3_17;
2098  P(3)(18) <= P3_18;
2099  P(3)(19) <= P3_19;
2100  P(3)(20) <= P3_20;
2101  P(3)(21) <= P3_21;
2102  P(3)(22) <= P3_22;
2103  P(3)(23) <= P3_23;
2104  P(3)(24) <= P3_24;
2105  P(4)(0) <= P4_0;
2106  P(4)(1) <= P4_1;
2107  P(4)(2) <= P4_2;
2108  P(4)(3) <= P4_3;
2109  P(4)(4) <= P4_4;
2110  P(4)(5) <= P4_5;
2111  P(4)(6) <= P4_6;
2112  P(4)(7) <= P4_7;
2113  P(4)(8) <= P4_8;
2114  P(4)(9) <= P4_9;
2115  P(4)(10) <= P4_10;
2116  P(4)(11) <= P4_11;
2117  P(4)(12) <= P4_12;
2118  P(4)(13) <= P4_13;
2119  P(4)(14) <= P4_14;
2120  P(4)(15) <= P4_15;
2121  P(4)(16) <= P4_16;
2122  P(4)(17) <= P4_17;
2123  P(4)(18) <= P4_18;
2124  P(4)(19) <= P4_19;
2125  P(4)(20) <= P4_20;
2126  P(4)(21) <= P4_21;
2127  P(4)(22) <= P4_22;
2128  P(4)(23) <= P4_23;
2129  P(4)(24) <= P4_24;
2130  P(5)(0) <= P5_0;
2131  P(5)(1) <= P5_1;
2132  P(5)(2) <= P5_2;
2133  P(5)(3) <= P5_3;
2134  P(5)(4) <= P5_4;
2135  P(5)(5) <= P5_5;
2136  P(5)(6) <= P5_6;
2137  P(5)(7) <= P5_7;
2138  P(5)(8) <= P5_8;
2139  P(5)(9) <= P5_9;
2140  P(5)(10) <= P5_10;
2141  P(5)(11) <= P5_11;
2142  P(5)(12) <= P5_12;
2143  P(5)(13) <= P5_13;
2144  P(5)(14) <= P5_14;
2145  P(5)(15) <= P5_15;
2146  P(5)(16) <= P5_16;
2147  P(5)(17) <= P5_17;
2148  P(5)(18) <= P5_18;
2149  P(5)(19) <= P5_19;
2150  P(5)(20) <= P5_20;
2151  P(5)(21) <= P5_21;
2152  P(5)(22) <= P5_22;
2153  P(5)(23) <= P5_23;
2154  P(5)(24) <= P5_24;
2155  P(6)(0) <= P6_0;
2156  P(6)(1) <= P6_1;
2157  P(6)(2) <= P6_2;
2158  P(6)(3) <= P6_3;
2159  P(6)(4) <= P6_4;
2160  P(6)(5) <= P6_5;
2161  P(6)(6) <= P6_6;
2162  P(6)(7) <= P6_7;
2163  P(6)(8) <= P6_8;
2164  P(6)(9) <= P6_9;
2165  P(6)(10) <= P6_10;
2166  P(6)(11) <= P6_11;
2167  P(6)(12) <= P6_12;
2168  P(6)(13) <= P6_13;
2169  P(6)(14) <= P6_14;
2170  P(6)(15) <= P6_15;
2171  P(6)(16) <= P6_16;
2172  P(6)(17) <= P6_17;
2173  P(6)(18) <= P6_18;
2174  P(6)(19) <= P6_19;
2175  P(6)(20) <= P6_20;
2176  P(6)(21) <= P6_21;
2177  P(6)(22) <= P6_22;
2178  P(6)(23) <= P6_23;
2179  P(6)(24) <= P6_24;
2180  P(7)(0) <= P7_0;
2181  P(7)(1) <= P7_1;
2182  P(7)(2) <= P7_2;
2183  P(7)(3) <= P7_3;
2184  P(7)(4) <= P7_4;
2185  P(7)(5) <= P7_5;
2186  P(7)(6) <= P7_6;
2187  P(7)(7) <= P7_7;
2188  P(7)(8) <= P7_8;
2189  P(7)(9) <= P7_9;
2190  P(7)(10) <= P7_10;
2191  P(7)(11) <= P7_11;
2192  P(7)(12) <= P7_12;
2193  P(7)(13) <= P7_13;
2194  P(7)(14) <= P7_14;
2195  P(7)(15) <= P7_15;
2196  P(7)(16) <= P7_16;
2197  P(7)(17) <= P7_17;
2198  P(7)(18) <= P7_18;
2199  P(7)(19) <= P7_19;
2200  P(7)(20) <= P7_20;
2201  P(7)(21) <= P7_21;
2202  P(7)(22) <= P7_22;
2203  P(7)(23) <= P7_23;
2204  P(7)(24) <= P7_24;
2205  P(8)(0) <= P8_0;
2206  P(8)(1) <= P8_1;
2207  P(8)(2) <= P8_2;
2208  P(8)(3) <= P8_3;
2209  P(8)(4) <= P8_4;
2210  P(8)(5) <= P8_5;
2211  P(8)(6) <= P8_6;
2212  P(8)(7) <= P8_7;
2213  P(8)(8) <= P8_8;
2214  P(8)(9) <= P8_9;
2215  P(8)(10) <= P8_10;
2216  P(8)(11) <= P8_11;
2217  P(8)(12) <= P8_12;
2218  P(8)(13) <= P8_13;
2219  P(8)(14) <= P8_14;
2220  P(8)(15) <= P8_15;
2221  P(8)(16) <= P8_16;
2222  P(8)(17) <= P8_17;
2223  P(8)(18) <= P8_18;
2224  P(8)(19) <= P8_19;
2225  P(8)(20) <= P8_20;
2226  P(8)(21) <= P8_21;
2227  P(8)(22) <= P8_22;
2228  P(8)(23) <= P8_23;
2229  P(8)(24) <= P8_24;
2230  P(9)(0) <= P9_0;
2231  P(9)(1) <= P9_1;
2232  P(9)(2) <= P9_2;
2233  P(9)(3) <= P9_3;
2234  P(9)(4) <= P9_4;
2235  P(9)(5) <= P9_5;
2236  P(9)(6) <= P9_6;
2237  P(9)(7) <= P9_7;
2238  P(9)(8) <= P9_8;
2239  P(9)(9) <= P9_9;
2240  P(9)(10) <= P9_10;
2241  P(9)(11) <= P9_11;
2242  P(9)(12) <= P9_12;
2243  P(9)(13) <= P9_13;
2244  P(9)(14) <= P9_14;
2245  P(9)(15) <= P9_15;
2246  P(9)(16) <= P9_16;
2247  P(9)(17) <= P9_17;
2248  P(9)(18) <= P9_18;
2249  P(9)(19) <= P9_19;
2250  P(9)(20) <= P9_20;
2251  P(9)(21) <= P9_21;
2252  P(9)(22) <= P9_22;
2253  P(9)(23) <= P9_23;
2254  P(9)(24) <= P9_24;
2255  P(10)(0) <= P10_0;
2256  P(10)(1) <= P10_1;
2257  P(10)(2) <= P10_2;
2258  P(10)(3) <= P10_3;
2259  P(10)(4) <= P10_4;
2260  P(10)(5) <= P10_5;
2261  P(10)(6) <= P10_6;
2262  P(10)(7) <= P10_7;
2263  P(10)(8) <= P10_8;
2264  P(10)(9) <= P10_9;
2265  P(10)(10) <= P10_10;
2266  P(10)(11) <= P10_11;
2267  P(10)(12) <= P10_12;
2268  P(10)(13) <= P10_13;
2269  P(10)(14) <= P10_14;
2270  P(10)(15) <= P10_15;
2271  P(10)(16) <= P10_16;
2272  P(10)(17) <= P10_17;
2273  P(10)(18) <= P10_18;
2274  P(10)(19) <= P10_19;
2275  P(10)(20) <= P10_20;
2276  P(10)(21) <= P10_21;
2277  P(10)(22) <= P10_22;
2278  P(10)(23) <= P10_23;
2279  P(10)(24) <= P10_24;
2280  P(11)(0) <= P11_0;
2281  P(11)(1) <= P11_1;
2282  P(11)(2) <= P11_2;
2283  P(11)(3) <= P11_3;
2284  P(11)(4) <= P11_4;
2285  P(11)(5) <= P11_5;
2286  P(11)(6) <= P11_6;
2287  P(11)(7) <= P11_7;
2288  P(11)(8) <= P11_8;
2289  P(11)(9) <= P11_9;
2290  P(11)(10) <= P11_10;
2291  P(11)(11) <= P11_11;
2292  P(11)(12) <= P11_12;
2293  P(11)(13) <= P11_13;
2294  P(11)(14) <= P11_14;
2295  P(11)(15) <= P11_15;
2296  P(11)(16) <= P11_16;
2297  P(11)(17) <= P11_17;
2298  P(11)(18) <= P11_18;
2299  P(11)(19) <= P11_19;
2300  P(11)(20) <= P11_20;
2301  P(11)(21) <= P11_21;
2302  P(11)(22) <= P11_22;
2303  P(11)(23) <= P11_23;
2304  P(11)(24) <= P11_24;
2305  P(12)(0) <= P12_0;
2306  P(12)(1) <= P12_1;
2307  P(12)(2) <= P12_2;
2308  P(12)(3) <= P12_3;
2309  P(12)(4) <= P12_4;
2310  P(12)(5) <= P12_5;
2311  P(12)(6) <= P12_6;
2312  P(12)(7) <= P12_7;
2313  P(12)(8) <= P12_8;
2314  P(12)(9) <= P12_9;
2315  P(12)(10) <= P12_10;
2316  P(12)(11) <= P12_11;
2317  P(12)(12) <= P12_12;
2318  P(12)(13) <= P12_13;
2319  P(12)(14) <= P12_14;
2320  P(12)(15) <= P12_15;
2321  P(12)(16) <= P12_16;
2322  P(12)(17) <= P12_17;
2323  P(12)(18) <= P12_18;
2324  P(12)(19) <= P12_19;
2325  P(12)(20) <= P12_20;
2326  P(12)(21) <= P12_21;
2327  P(12)(22) <= P12_22;
2328  P(12)(23) <= P12_23;
2329  P(12)(24) <= P12_24;
2330  P(13)(0) <= P13_0;
2331  P(13)(1) <= P13_1;
2332  P(13)(2) <= P13_2;
2333  P(13)(3) <= P13_3;
2334  P(13)(4) <= P13_4;
2335  P(13)(5) <= P13_5;
2336  P(13)(6) <= P13_6;
2337  P(13)(7) <= P13_7;
2338  P(13)(8) <= P13_8;
2339  P(13)(9) <= P13_9;
2340  P(13)(10) <= P13_10;
2341  P(13)(11) <= P13_11;
2342  P(13)(12) <= P13_12;
2343  P(13)(13) <= P13_13;
2344  P(13)(14) <= P13_14;
2345  P(13)(15) <= P13_15;
2346  P(13)(16) <= P13_16;
2347  P(13)(17) <= P13_17;
2348  P(13)(18) <= P13_18;
2349  P(13)(19) <= P13_19;
2350  P(13)(20) <= P13_20;
2351  P(13)(21) <= P13_21;
2352  P(13)(22) <= P13_22;
2353  P(13)(23) <= P13_23;
2354  P(13)(24) <= P13_24;
2355  P(14)(0) <= P14_0;
2356  P(14)(1) <= P14_1;
2357  P(14)(2) <= P14_2;
2358  P(14)(3) <= P14_3;
2359  P(14)(4) <= P14_4;
2360  P(14)(5) <= P14_5;
2361  P(14)(6) <= P14_6;
2362  P(14)(7) <= P14_7;
2363  P(14)(8) <= P14_8;
2364  P(14)(9) <= P14_9;
2365  P(14)(10) <= P14_10;
2366  P(14)(11) <= P14_11;
2367  P(14)(12) <= P14_12;
2368  P(14)(13) <= P14_13;
2369  P(14)(14) <= P14_14;
2370  P(14)(15) <= P14_15;
2371  P(14)(16) <= P14_16;
2372  P(14)(17) <= P14_17;
2373  P(14)(18) <= P14_18;
2374  P(14)(19) <= P14_19;
2375  P(14)(20) <= P14_20;
2376  P(14)(21) <= P14_21;
2377  P(14)(22) <= P14_22;
2378  P(14)(23) <= P14_23;
2379  P(14)(24) <= P14_24;
2380  P(15)(0) <= P15_0;
2381  P(15)(1) <= P15_1;
2382  P(15)(2) <= P15_2;
2383  P(15)(3) <= P15_3;
2384  P(15)(4) <= P15_4;
2385  P(15)(5) <= P15_5;
2386  P(15)(6) <= P15_6;
2387  P(15)(7) <= P15_7;
2388  P(15)(8) <= P15_8;
2389  P(15)(9) <= P15_9;
2390  P(15)(10) <= P15_10;
2391  P(15)(11) <= P15_11;
2392  P(15)(12) <= P15_12;
2393  P(15)(13) <= P15_13;
2394  P(15)(14) <= P15_14;
2395  P(15)(15) <= P15_15;
2396  P(15)(16) <= P15_16;
2397  P(15)(17) <= P15_17;
2398  P(15)(18) <= P15_18;
2399  P(15)(19) <= P15_19;
2400  P(15)(20) <= P15_20;
2401  P(15)(21) <= P15_21;
2402  P(15)(22) <= P15_22;
2403  P(15)(23) <= P15_23;
2404  P(15)(24) <= P15_24;
2405 
2406 
2407 
2408  MP1_F01_QUAD_110_TRN_0_DIR <= TXP_OUT(0) ;
2409  MP1_F01_QUAD_110_TRN_0_CMP <= TXN_OUT(0) ;
2410  MP1_F03_QUAD_110_TRN_1_DIR <= TXP_OUT(1) ;
2411  MP1_F03_QUAD_110_TRN_1_CMP <= TXN_OUT(1) ;
2412  MP1_F07_QUAD_110_TRN_2_DIR <= TXP_OUT(2) ;
2413  MP1_F07_QUAD_110_TRN_2_CMP <= TXN_OUT(2) ;
2414  MP1_F05_QUAD_110_TRN_3_DIR <= TXP_OUT(3) ;
2415  MP1_F05_QUAD_110_TRN_3_CMP <= TXN_OUT(3) ;
2416  MP1_F09_QUAD_111_TRN_0_DIR <= TXP_OUT(4) ;
2417  MP1_F09_QUAD_111_TRN_0_CMP <= TXN_OUT(4) ;
2418  MP1_F11_QUAD_111_TRN_1_DIR <= TXP_OUT(5) ;
2419  MP1_F11_QUAD_111_TRN_1_CMP <= TXN_OUT(5) ;
2420  MP1_F10_QUAD_111_TRN_2_DIR <= TXP_OUT(6) ;
2421  MP1_F10_QUAD_111_TRN_2_CMP <= TXN_OUT(6) ;
2422  MP1_F08_QUAD_111_TRN_3_DIR <= TXP_OUT(7) ;
2423  MP1_F08_QUAD_111_TRN_3_CMP <= TXN_OUT(7) ;
2424  MP1_F04_QUAD_112_TRN_0_DIR <= TXP_OUT(8) ;
2425  MP1_F04_QUAD_112_TRN_0_CMP <= TXN_OUT(8) ;
2426  MP1_F06_QUAD_112_TRN_1_DIR <= TXP_OUT(9) ;
2427  MP1_F06_QUAD_112_TRN_1_CMP <= TXN_OUT(9) ;
2428  MP1_F02_QUAD_112_TRN_2_DIR <= TXP_OUT(10) ;
2429  MP1_F02_QUAD_112_TRN_2_CMP <= TXN_OUT(10) ;
2430  MP1_F00_QUAD_112_TRN_3_DIR <= TXP_OUT(11) ;
2431  MP1_F00_QUAD_112_TRN_3_CMP <= TXN_OUT(11) ;
2432  MP2_F01_QUAD_113_TRN_0_DIR <= TXP_OUT(12) ;
2433  MP2_F01_QUAD_113_TRN_0_CMP <= TXN_OUT(12) ;
2434  MP2_F03_QUAD_113_TRN_1_DIR <= TXP_OUT(13) ;
2435  MP2_F03_QUAD_113_TRN_1_CMP <= TXN_OUT(13) ;
2436  MP2_F07_QUAD_113_TRN_2_DIR <= TXP_OUT(14) ;
2437  MP2_F07_QUAD_113_TRN_2_CMP <= TXN_OUT(14) ;
2438  MP2_F05_QUAD_113_TRN_3_DIR <= TXP_OUT(15) ;
2439  MP2_F05_QUAD_113_TRN_3_CMP <= TXN_OUT(15) ;
2440  MP2_F09_QUAD_114_TRN_0_DIR <= TXP_OUT(16) ;
2441  MP2_F09_QUAD_114_TRN_0_CMP <= TXN_OUT(16) ;
2442  MP2_F11_QUAD_114_TRN_1_DIR <= TXP_OUT(17) ;
2443  MP2_F11_QUAD_114_TRN_1_CMP <= TXN_OUT(17) ;
2444  MP2_F10_QUAD_114_TRN_2_DIR <= TXP_OUT(18) ;
2445  MP2_F10_QUAD_114_TRN_2_CMP <= TXN_OUT(18) ;
2446  MP2_F08_QUAD_114_TRN_3_DIR <= TXP_OUT(19) ;
2447  MP2_F08_QUAD_114_TRN_3_CMP <= TXN_OUT(19) ;
2448  MP2_F04_QUAD_115_TRN_0_DIR <= TXP_OUT(20) ;
2449  MP2_F04_QUAD_115_TRN_0_CMP <= TXN_OUT(20) ;
2450  MP2_F06_QUAD_115_TRN_1_DIR <= TXP_OUT(21) ;
2451  MP2_F06_QUAD_115_TRN_1_CMP <= TXN_OUT(21) ;
2452  MP2_F02_QUAD_115_TRN_2_DIR <= TXP_OUT(22) ;
2453  MP2_F02_QUAD_115_TRN_2_CMP <= TXN_OUT(22) ;
2454  MP2_F00_QUAD_115_TRN_3_DIR <= TXP_OUT(23) ;
2455  MP2_F00_QUAD_115_TRN_3_CMP <= TXN_OUT(23) ;
2456 
2457  MGTREFCLK_PAD_P_IN(0) <= CLK_320MHz64_LHC_BF_QUAD_111_DIR;
2458  MGTREFCLK_PAD_N_IN(0) <= CLK_320MHz64_LHC_BF_QUAD_111_CMP;
2459  MGTREFCLK_PAD_P_IN(1) <= CLK_320MHz64_LHC_BF_QUAD_114_DIR;
2460  MGTREFCLK_PAD_N_IN(1) <= CLK_320MHz64_LHC_BF_QUAD_114_CMP;
2461 
2462 
2463 
2464  --debug pins bus assignment
2465  BF_DEBUG_0 <= BF_DEBUG(0);
2466  BF_DEBUG_1 <= BF_DEBUG(1);
2467  BF_DEBUG_2 <= BF_DEBUG(2);
2468  BF_DEBUG_3 <= BF_DEBUG(3);
2469  BF_DEBUG_4 <= BF_DEBUG(4);
2470  BF_DEBUG_5 <= BF_DEBUG(5);
2471  BF_DEBUG_6 <= BF_DEBUG(6);
2472  BF_DEBUG_7 <= BF_DEBUG(7);
2473  BF_DEBUG_8 <= BF_DEBUG(8);
2474  BF_DEBUG_9 <= BF_DEBUG(9);
2475 
2476 
2477  ODDR_inst_buf_clk_40 : ODDR
2478  generic map(
2479  DDR_CLK_EDGE => "SAME_EDGE", -- "OPPOSITE_EDGE" or "SAME_EDGE"
2480  INIT => '0', -- Initial value for Q port ('1' or '0')
2481  SRTYPE => "SYNC") -- Reset Type ("ASYNC" or "SYNC")
2482  port map (
2483  Q => BF_DEBUG(8), -- 1-bit DDR output
2484  C => buf_clk40, -- 1-bit clock input
2485  CE => '1', -- 1-bit clock enable input
2486  D1 => '1', -- 1-bit data input (positive edge)
2487  D2 => '0', -- 1-bit data input (negative edge)
2488  R => (not pll_locked), -- 1-bit reset input
2489  S => '0' -- 1-bit set input
2490  );
2491 
2492  ODDR_inst_buf_clk_40_ds2 : ODDR
2493  generic map(
2494  DDR_CLK_EDGE => "SAME_EDGE", -- "OPPOSITE_EDGE" or "SAME_EDGE"
2495  INIT => '0', -- Initial value for Q port ('1' or '0')
2496  SRTYPE => "SYNC") -- Reset Type ("ASYNC" or "SYNC")
2497  port map (
2498  Q => BF_DEBUG(9), -- 1-bit DDR output
2499  C => buf_clk40_ds2, -- 1-bit clock input
2500  CE => '1', -- 1-bit clock enable input
2501  D1 => '1', -- 1-bit data input (positive edge)
2502  D2 => '0', -- 1-bit data input (negative edge)
2503  R => (not pll_locked_ds2), -- 1-bit reset input
2504  S => '0' -- 1-bit set input
2505  );
2506 
2507 
2508  --BF_DEBUG(8) <= buf_clk40;
2509  --BF_DEBUG(9) <= DATA96(5)(0);--start_playback;--BF_TO_TP_DAQ_SLINK_RETURN_DIR;--send_align(0);-- BUF_TTC_BNCH_CNT_RES; --bunch counter reset
2510 
2511  BF_DEBUG(7 downto 0)<=(others=>'0');
2512 
2513  vme_address(1) <= OCB_A01;
2514  vme_address(2) <= OCB_A02;
2515  vme_address(3) <= OCB_A03;
2516  vme_address(4) <= OCB_A04;
2517  vme_address(5) <= OCB_A05;
2518  vme_address(6) <= OCB_A06;
2519  vme_address(7) <= OCB_A07;
2520  vme_address(8) <= OCB_A08;
2521  vme_address(9) <= OCB_A09;
2522  vme_address(10) <= OCB_A10;
2523  vme_address(11) <= OCB_A11;
2524  vme_address(12) <= OCB_A12;
2525  vme_address(13) <= OCB_A13;
2526  vme_address(14) <= OCB_A14;
2527  vme_address(15) <= OCB_A15;
2528  vme_address(16) <= OCB_A16;
2529  vme_address(17) <= OCB_A17;
2530  vme_address(18) <= OCB_A18;
2531  vme_address(19) <= OCB_A19;
2532  vme_address(20) <= OCB_A20;
2533  vme_address(21) <= OCB_A21;
2534  vme_address(22) <= OCB_A22;
2535  vme_address(23) <= OCB_A23;
2536 
2537  ------------------------------------------------------------------------------
2538  -- VME interface component used in BSPT FPGA (Ian's vme_interface)
2539  ------------------------------------------------------------------------------
2540  CMX_BASE_VMEIF_BSPT : CMX_BASE_VME_BSPT
2541  port map (
2542  ----------------------------------------------------------------------------
2543  -- inputs
2544  ----------------------------------------------------------------------------
2545  clk40 => buf_clk40 ,
2546  geoadd_0 => OCB_GEO_ADRS_0 ,
2547  n_ds0_int => OCB_DS_B,
2548  n_write => OCB_WRITE_B ,
2549  -- vme_address
2551  ----------------------------------------------------------------------------
2552  -- outputs
2553  ----------------------------------------------------------------------------
2554  board_ds => ds, -- board_ds output from VME (Ian model)
2555  brdsel_n => ncs -- brdsel_n output from VME (Ian model)
2556  );
2557 
2558 
2559 
2560  vme_main_hub_inst: entity work.vme_main_hub
2561  port map (
2562  data_vme => OCB_D,
2566 
2567 
2568  vme_local_switch_inst: entity work.vme_local_switch
2569  port map (
2574 
2575 
2576  CMX_version_inst: entity work.CMX_version
2577  port map (
2578  clk40 => buf_clk40 ,
2579  ncs => ncs,
2580  rd_nwr => OCB_WRITE_B ,
2581  ds => ds,
2582  addr_vme => vme_address(16 downto 1),
2585 
2586 
2587 
2588  sys_monitor_inst: entity work.sys_monitor
2589  generic map (
2590  ADDR_REG_RO_SYSMON_DATA_BLOCK => ADDR_REG_RO_SYSMON_DATA_BLOCK)
2591  port map (
2592  clk => buf_clk40 ,
2617  ncs => ncs,
2618  rd_nwr => OCB_WRITE_B ,
2619  ds => ds,
2620  addr_vme => vme_address(16 downto 1),
2624 
2625 
2626  process(buf_clk40)
2627  begin
2628  if rising_edge(buf_clk40) then
2631  elsif read_detect_outreg_test='1' then
2633  end if;
2634  end if;
2635  end process;
2636 
2637  data_to_vme_test_r<=std_logic_vector(test_rw_counter);
2638 
2639 
2640  vme_outreg_notri_test: entity work.vme_outreg_notri
2641  generic map (
2642  ia_vme => ADDR_REG_RO_test ,
2643  width => 16)
2644  port map (
2645  clk => buf_clk40 ,
2646  ncs => ncs,
2647  rd_nwr => OCB_WRITE_B ,
2648  ds => ds,
2649  addr_vme => vme_address(16 downto 1),
2654 
2655  --vme_outreg_test: vme_outreg
2656  -- generic map (
2657  -- ia_vme => ADDR_REG_RO_test,
2658  -- width => 16)
2659  -- port map (
2660  -- clk => buf_clk40,
2661  -- addr_vme => vme_address(16 downto 1),
2662  -- ncs => ncs,
2663  -- rd_nwr => OCB_WRITE_B,
2664  -- ds => ds,
2665  -- data_to_vme => data_to_vme_test_r,
2666  -- read_detect => read_detect_outreg_test,
2667  -- data_vme => OCB_D);
2668 
2669 
2670  vme_inreg_notri_test: entity work.vme_inreg_notri
2671  generic map (
2672  ia_vme => ADDR_REG_RW_test ,
2673  width => 16)
2674  port map (
2675  clk => buf_clk40 ,
2676  ncs => ncs,
2677  rd_nwr => OCB_WRITE_B ,
2678  ds => ds,
2679  addr_vme => vme_address(16 downto 1),
2687 
2688  --vme_inreg_test: vme_inreg
2689  -- generic map (
2690  -- ia_vme => ADDR_REG_RW_test,
2691  -- width => 16)
2692  -- port map (
2693  -- clk => buf_clk40,
2694  -- ncs => ncs,
2695  -- rd_nwr => OCB_WRITE_B,
2696  -- ds => ds,
2697  -- data_from_vme => data_from_vme_test_rw,
2698  -- data_to_vme => data_to_vme_test_rw,
2699  -- addr_vme => vme_address(16 downto 1),
2700  -- read_detect => read_detect_inreg_test,
2701  -- write_detect => write_detect_inreg_test,
2702  -- data_vme => OCB_D);
2703  --
2705 
2706  --chipscope_ila_CMX_top_inputmodclk_inst: chipscope_ila_CMX_top_inputmodclk
2707  -- port map (
2708  -- CONTROL => CONTROL0,
2709  -- CLK => buf_clk40,
2710  -- DATA => DATA_chipscope_ila_CMX_top_inputmodclk,
2711  -- TRIG0 => TRIG0_chipscope_ila_CMX_top_inputmodclk);
2712  --
2713  --TRIG0_chipscope_ila_CMX_top_inputmodclk(0)<=pll_locked;
2714  --TRIG0_chipscope_ila_CMX_top_inputmodclk(33)<=start_playback;
2715  --TRIG0_chipscope_ila_CMX_top_inputmodclk(34)<=data_to_CTP(0);
2716  --TRIG0_chipscope_ila_CMX_top_inputmodclk(35)<=data_from_RTM(0);
2717  --
2718  --
2719  --DATA_chipscope_ila_CMX_top_inputmodclk(0)<=pll_locked;
2720  --
2721  --gen_data_chipscope_ila: for ichannel in numactchan-1 downto 0 generate
2722  --
2723  -- TRIG0_chipscope_ila_CMX_top_inputmodclk(1+ichannel*2)<=PAR_ERROR(ichannel);
2724  -- TRIG0_chipscope_ila_CMX_top_inputmodclk(2+ichannel*2)<=counter_enable_inputmod_sig(ichannel);
2725  --
2726  -- DATA_chipscope_ila_CMX_top_inputmodclk(1+ichannel*98)<=PAR_ERROR(ichannel);
2727  -- DATA_chipscope_ila_CMX_top_inputmodclk(2+ichannel*98)<=counter_enable_inputmod_sig(ichannel);
2728  -- DATA_chipscope_ila_CMX_top_inputmodclk(95+3+ichannel*98 downto 3+ichannel*98)<=DATA96(ichannel);
2729  --
2730  --end generate gen_data_chipscope_ila;
2731  --
2732  --
2733  --
2734  --DATA_chipscope_ila_CMX_top_inputmodclk(1630 downto 1569)<=data_to_CTP;
2735  --DATA_chipscope_ila_CMX_top_inputmodclk(1734 downto 1631)<=data_from_RTM;
2736  --DATA_chipscope_ila_CMX_top_inputmodclk(1735)<=start_playback;
2737  --DATA_chipscope_ila_CMX_top_inputmodclk(2375 downto 1736)<=(others=>'0');
2738  --
2739 
2740  --chipscope_ila_IDELAY_1: chipscope_ila_IDELAY
2741  -- port map (
2742  -- CONTROL => CONTROL1,
2743  -- CLK => buf_clk40,
2744  -- DATA => DATA_chipscope_ila_IDELAY,
2745  -- TRIG0(0) => upload_delays);
2746  --
2747  --gen_chipscpe_data_idelay_ichan: for ichan in numactchan-1 downto 0 generate
2748  -- --no -1 because the clock adds one:
2749  -- gen_chipscpe_data_idelay_ibit: for ibit in numbitsinchan downto 0 generate
2750  -- DATA_chipscope_ila_IDELAY( (ichan*(numbitsinchan+1)+ibit)*5 + 4 downto (ichan*(numbitsinchan+1)+ibit)*5)<=
2751  -- del_register(ichan,ibit);
2752  -- end generate gen_chipscpe_data_idelay_ibit;
2753  --end generate gen_chipscpe_data_idelay_ichan;
2754  --DATA_chipscope_ila_IDELAY(2000)<=upload_delays;
2755 
2756  CMX_delay_generator_inst: CMX_delay_generator
2757  generic map (
2758  start_address => ADDR_REG_RW_IDELAY_BACKPLANE )
2759  port map (
2760  clk40 => buf_clk40 ,
2761  ncs => ncs,
2762  rd_nwr => OCB_WRITE_B ,
2763  ds => ds,
2764  addr_vme => vme_address(16 downto 1),
2770 
2771  --upload_delays<='0';
2772  --del_register<=(others=>(others=>(others=>'0')));
2773 
2774  BCID_counter_inst: BCID_counter
2775  port map (
2776  reset => bc_reset_synced ,
2777  clk_40 => buf_clk40,
2778  BCID_out => BCID_counter_sig ,
2779  ncs => ncs,
2780  rd_nwr => OCB_WRITE_B ,
2781  ds => ds,
2782  addr_vme => vme_address(16 downto 1),
2786 
2787 
2788 
2789  process(buf_clk40)
2790  begin
2791  if rising_edge(buf_clk40) then
2794  end if;
2795  end process;
2796 
2797  CMX_input_inst: CMX_input_module
2798  port map (
2799  P => P,
2800  buf_clk40 => buf_clk40,
2801  buf_clk40_m180o => buf_clk40_m180o,
2802  buf_clk200 => buf_clk200,
2803  pll_locked => pll_locked,
2804  ODATA => DATA96,
2805  ODATA_first_half => ODATA_first_half ,
2806  --ODATA_WORD0 => open,
2807  PAR_ERROR_total => par_err(0),
2808  counter_enable_out => counter_enable_inputmod_sig ,
2812  quiet => quiet,
2814  spy_write_inhibit => spy_write_inhibit ,
2815  ncs => ncs,
2816  rd_nwr => OCB_WRITE_B,
2817  ds => ds,
2818  addr_vme => vme_address(16 downto 1),
2822 
2823 
2824 
2825  vme_inreg_async_REG_RW_QUIET_FORCE : vme_inreg_notri_async
2826  generic map (
2827  ia_vme => ADDR_REG_RW_QUIET_FORCE ,
2828  width => 16)
2829  port map (
2830  ncs => ncs,
2831  rd_nwr => OCB_WRITE_B,
2832  ds => ds,
2833  addr_vme => vme_address(16 downto 1),
2837  data_from_vme => data_from_vme_REG_RW_QUIET_FORCE,
2838  data_to_vme => data_to_vme_REG_RW_QUIET_FORCE);
2839 
2840  data_to_vme_REG_RW_QUIET_FORCE<=data_from_vme_REG_RW_QUIET_FORCE;
2841  quiet<=data_from_vme_REG_RW_QUIET_FORCE(1);
2842  force<=data_from_vme_REG_RW_QUIET_FORCE(0);
2843 
2844  CMX_Memory_spy_inhibit_inst: entity work.CMX_Memory_spy_inhibit
2845  port map (
2846  spy_write_inhibit => spy_write_inhibit ,
2847  buf_clk40 => buf_clk40,
2848  ncs => ncs,
2849  rd_nwr => OCB_WRITE_B,
2850  ds => ds,
2851  addr_vme => vme_address(16 downto 1),
2855 
2856 
2857 
2858  --no decoder in the sense of jet/cp sense
2859  --zero out the bus slot that is not used in this flavor
2860  data_vme_from_below_top(1638)<=(others=>'0');
2861  bus_drive_from_below_top(1638)<='0';
2862 
2863  gen_data_vme_bus_drive_zeros: for i in 0 to 1599 generate
2864  data_vme_from_below_top(i)<=(others=>'0');
2865  bus_drive_from_below_top(i)<='0';
2866  end generate gen_data_vme_bus_drive_zeros;
2867 
2868 
2869  CMX_Sum_Et_inst: entity work.CMX_Sum_Et
2870  port map (
2871  CLK => buf_clk40,
2872  ENERGY_REMOTE => ENERGY_REMOTE,
2873  CTP_CABLE_0 => CTP_CABLE_0,
2874  CTP_CABLE_1 => CTP_CABLE_1,
2875  -- thresholds
2876  MISS_E_THR => MISS_E_THR,
2877  MISS_E_RES_THR => MISS_E_RES_THR,
2878  SUM_ET_THR => SUM_ET_THR,
2879  SUM_ET_RES_THR => SUM_ET_RES_THR,
2880  XS_T2_A2 => XS_T2_A2,
2881  -- parameters
2882  T_MISS_E_MIN => T_MISS_E_MIN,
2883  T_MISS_E_MAX => T_MISS_E_MAX,
2884  T_SUM_E_MIN => T_SUM_E_MIN,
2885  T_SUM_E_MAX => T_SUM_E_MAX,
2886  XS_B2 => XS_B2,
2887  ov_all_out => ov_all_out,
2888  sums_all_out => sums_all_out,
2889  BACKPLANE_DATA_IN => BACKPLANE_DATA_IN ,
2890  LOCAL_CABLE_OUT => LOCAL_CABLE_OUT,
2891  BCID_in => BCID_counter_sig ,
2892  BCID_delayed => BCID_delayed_decoder,
2893  counter_inhibit => counter_inhibit,
2894  counter_reset => counter_reset,
2895  par_err => par_err ,
2896  force => force,
2897  ncs => ncs,
2898  rd_nwr => OCB_WRITE_B,
2899  ds => ds,
2900  addr_vme => vme_address(16 downto 1),
2901  data_vme_in => data_vme_going_below,
2902  data_vme_out => data_vme_from_below_top (1606),
2903  bus_drive => bus_drive_from_below_top (1606)
2904  );
2905 
2906 -- ===========================================================================================
2907 --
2908 -- MISS_E_THR
2909 --
2910 -- ===========================================================================================
2911 
2912  gen_REG_RW_MISS_E_THR_BLOCK: for i_thr in 0 to (2*num_thresholds)-1 generate
2913 
2914  vme_inreg_notri_async_REG_RW_MISS_E_THR_BLOCK: entity work.vme_inreg_notri_async
2915  generic map (
2916  ia_vme => ADDR_REG_RW_MISS_E_THR_BLOCK+2*i_thr,
2917  width => 16)
2918  port map (
2919  ncs => ncs,
2920  rd_nwr => OCB_WRITE_B,
2921  ds => ds,
2922  addr_vme => vme_address(16 downto 1),
2924  data_vme_out => data_vme_from_below_top (1640+i_thr),
2925  bus_drive => bus_drive_from_below_top (1640+i_thr),
2926  data_from_vme => data_from_vme_REG_RW_MISS_E_THR_BLOCK(i_thr),
2927  data_to_vme => data_to_vme_REG_RW_MISS_E_THR_BLOCK(i_thr));
2928 
2929  data_to_vme_REG_RW_MISS_E_THR_BLOCK(i_thr)<=data_from_vme_REG_RW_MISS_E_THR_BLOCK(i_thr);
2930 
2931  end generate gen_REG_RW_MISS_E_THR_BLOCK;
2932 
2933  gen_MISS_E_THR: for i_thr in 0 to num_thresholds-1 generate
2934  MISS_E_THR(i_thr)<= unsigned(slv_MISS_E_THR(i_thr));
2935  slv_MISS_E_THR(i_thr)(15 downto 0) <= data_from_vme_REG_RW_MISS_E_THR_BLOCK(2*i_thr)(15 downto 0);
2936  slv_MISS_E_THR(i_thr)(30 downto 16) <= data_from_vme_REG_RW_MISS_E_THR_BLOCK(2*i_thr+1)(14 downto 0);
2937  end generate gen_MISS_E_THR;
2938 
2939 
2940 -- ===========================================================================================
2941 --
2942 -- MISS_E_RES_THR
2943 --
2944 -- ===========================================================================================
2945 
2946  gen_REG_RW_MISS_E_RES_THR_BLOCK: for i_thr in 0 to (2*num_thresholds)-1 generate
2947 
2948  vme_inreg_notri_async_REG_RW_MISS_E_RES_THR_BLOCK: entity work.vme_inreg_notri_async
2949  generic map (
2950  ia_vme => ADDR_REG_RW_MISS_E_RES_THR_BLOCK+2*i_thr,
2951  width => 16)
2952  port map (
2953  ncs => ncs,
2954  rd_nwr => OCB_WRITE_B,
2955  ds => ds,
2956  addr_vme => vme_address(16 downto 1),
2958  data_vme_out => data_vme_from_below_top (1640+i_thr+16),
2959  bus_drive => bus_drive_from_below_top (1640+i_thr+16),
2960  data_from_vme => data_from_vme_REG_RW_MISS_E_RES_THR_BLOCK(i_thr),
2961  data_to_vme => data_to_vme_REG_RW_MISS_E_RES_THR_BLOCK(i_thr));
2962 
2963  data_to_vme_REG_RW_MISS_E_RES_THR_BLOCK(i_thr)<=data_from_vme_REG_RW_MISS_E_RES_THR_BLOCK(i_thr);
2964 
2965  end generate gen_REG_RW_MISS_E_RES_THR_BLOCK;
2966 
2967  gen_MISS_E_RES_THR: for i_thr in 0 to num_thresholds-1 generate
2968  MISS_E_RES_THR(i_thr)<=unsigned(slv_MISS_E_RES_THR(i_thr));
2969  slv_MISS_E_RES_THR(i_thr)(15 downto 0) <= data_from_vme_REG_RW_MISS_E_RES_THR_BLOCK(2*i_thr)(15 downto 0);
2970  slv_MISS_E_RES_THR(i_thr)(30 downto 16) <= data_from_vme_REG_RW_MISS_E_RES_THR_BLOCK(2*i_thr+1)(14 downto 0);
2971  end generate gen_MISS_E_RES_THR;
2972 
2973 -- ===========================================================================================
2974 --
2975 -- SUM_ET_THR
2976 --
2977 -- ===========================================================================================
2978 
2979  gen_REG_RW_SUM_ET_THR_BLOCK: for i_thr in 0 to num_thresholds-1 generate
2980 
2981  vme_inreg_notri_async_REG_RW_SUM_ET_THR_BLOCK: entity work.vme_inreg_notri_async
2982  generic map (
2983  ia_vme => ADDR_REG_RW_SUM_ET_THR_BLOCK+2*i_thr,
2984  width => 16)
2985  port map (
2986  ncs => ncs,
2987  rd_nwr => OCB_WRITE_B,
2988  ds => ds,
2989  addr_vme => vme_address(16 downto 1),
2991  data_vme_out => data_vme_from_below_top (1640+i_thr+16+16),
2992  bus_drive => bus_drive_from_below_top (1640+i_thr+16+16),
2993  data_from_vme => data_from_vme_REG_RW_SUM_ET_THR_BLOCK(i_thr),
2994  data_to_vme => data_to_vme_REG_RW_SUM_ET_THR_BLOCK(i_thr));
2995 
2996  data_to_vme_REG_RW_SUM_ET_THR_BLOCK(i_thr)<=data_from_vme_REG_RW_SUM_ET_THR_BLOCK(i_thr);
2997  SUM_ET_THR(i_thr)<=unsigned(slv_SUM_ET_THR(i_thr));
2998  slv_SUM_ET_THR(i_thr) <= data_from_vme_REG_RW_SUM_ET_THR_BLOCK(i_thr)(14 downto 0);
2999 
3000  end generate gen_REG_RW_SUM_ET_THR_BLOCK;
3001 
3002 -- ===========================================================================================
3003 --
3004 -- SUM_ET_RES_THR
3005 --
3006 -- ===========================================================================================
3007 
3008 
3009  gen_REG_RW_SUM_ET_RES_THR_BLOCK: for i_thr in 0 to num_thresholds-1 generate
3010 
3011  vme_inreg_notri_async_REG_RW_SUM_ET_RES_THR_BLOCK: entity work.vme_inreg_notri_async
3012  generic map (
3013  ia_vme => ADDR_REG_RW_SUM_ET_RES_THR_BLOCK+2*i_thr,
3014  width => 16)
3015  port map (
3016  ncs => ncs,
3017  rd_nwr => OCB_WRITE_B,
3018  ds => ds,
3019  addr_vme => vme_address(16 downto 1),
3021  data_vme_out => data_vme_from_below_top (1640+i_thr+16+16+8),
3022  bus_drive => bus_drive_from_below_top (1640+i_thr+16+16+8),
3023  data_from_vme => data_from_vme_REG_RW_SUM_ET_RES_THR_BLOCK (i_thr),
3024  data_to_vme => data_to_vme_REG_RW_SUM_ET_RES_THR_BLOCK(i_thr));
3025 
3026  data_to_vme_REG_RW_SUM_ET_RES_THR_BLOCK(i_thr)<=data_from_vme_REG_RW_SUM_ET_RES_THR_BLOCK(i_thr);
3027  SUM_ET_RES_THR(i_thr)<=unsigned(slv_SUM_ET_RES_THR(i_thr));
3028  slv_SUM_ET_RES_THR(i_thr) <= data_from_vme_REG_RW_SUM_ET_RES_THR_BLOCK(i_thr)(14 downto 0);
3029 
3030  end generate gen_REG_RW_SUM_ET_RES_THR_BLOCK;
3031 
3032 -- ===========================================================================================
3033 --
3034 -- XS_T2_A2
3035 --
3036 -- ===========================================================================================
3037 
3038  gen_REG_RW_XS_T2_A2_THR_BLOCK: for i_thr in 0 to (2*num_thresholds)-1 generate
3039 
3040  vme_inreg_notri_async_REG_RW_XS_T2_A2_THR_BLOCK: entity work.vme_inreg_notri_async
3041  generic map (
3042  ia_vme => ADDR_REG_RW_XS_T2_A2_THR_BLOCK+2*i_thr,
3043  width => 16)
3044  port map (
3045  ncs => ncs,
3046  rd_nwr => OCB_WRITE_B,
3047  ds => ds,
3048  addr_vme => vme_address(16 downto 1),
3050  data_vme_out => data_vme_from_below_top (1640+i_thr+16+16+8+8),
3051  bus_drive => bus_drive_from_below_top (1640+i_thr+16+16+8+8),
3052  data_from_vme => data_from_vme_REG_RW_XS_T2_A2_THR_BLOCK(i_thr),
3053  data_to_vme => data_to_vme_REG_RW_XS_T2_A2_THR_BLOCK(i_thr));
3054 
3055  data_to_vme_REG_RW_XS_T2_A2_THR_BLOCK(i_thr)<=data_from_vme_REG_RW_XS_T2_A2_THR_BLOCK(i_thr);
3056 
3057  end generate gen_REG_RW_XS_T2_A2_THR_BLOCK;
3058 
3059  gen_XS_T2_A2_THR: for i_thr in 0 to num_thresholds-1 generate
3060  XS_T2_A2(i_thr)<=unsigned(slv_XS_T2_A2(i_thr));
3061  slv_XS_T2_A2(i_thr)(15 downto 0) <= data_from_vme_REG_RW_XS_T2_A2_THR_BLOCK(2*i_thr)(15 downto 0);
3062  slv_XS_T2_A2(i_thr)(30 downto 16) <= data_from_vme_REG_RW_XS_T2_A2_THR_BLOCK(2*i_thr+1)(14 downto 0);
3063  end generate gen_XS_T2_A2_THR;
3064 
3065 -- ===========================================================================================
3066 --
3067 -- T_MISS_E_MIN
3068 --
3069 -- ===========================================================================================
3070 
3071  gen_REG_RW_T_MISS_E_MIN_PARAM_BLOCK: for i_thr in 0 to (2*num_thresholds)-1 generate
3072 
3073  vme_inreg_notri_async_REG_RW_T_MISS_E_MIN_PARAM_BLOCK: entity work.vme_inreg_notri_async
3074  generic map (
3075  ia_vme => ADDR_REG_RW_T_MISS_E_MIN_PARAM_BLOCK+2*i_thr,
3076  width => 16)
3077  port map (
3078  ncs => ncs,
3079  rd_nwr => OCB_WRITE_B,
3080  ds => ds,
3081  addr_vme => vme_address(16 downto 1),
3083  data_vme_out => data_vme_from_below_top (1640+i_thr+16+16+8+8+16),
3084  bus_drive => bus_drive_from_below_top (1640+i_thr+16+16+8+8+16),
3085  data_from_vme => data_from_vme_REG_RW_T_MISS_E_MIN_PARAM_BLOCK(i_thr),
3086  data_to_vme => data_to_vme_REG_RW_T_MISS_E_MIN_PARAM_BLOCK(i_thr));
3087 
3088  data_to_vme_REG_RW_T_MISS_E_MIN_PARAM_BLOCK(i_thr)<=data_from_vme_REG_RW_T_MISS_E_MIN_PARAM_BLOCK(i_thr);
3089 
3090  end generate gen_REG_RW_T_MISS_E_MIN_PARAM_BLOCK;
3091 
3092  gen_T_MISS_E_MIN_PARAM: for i_thr in 0 to num_thresholds-1 generate
3093  T_MISS_E_MIN(i_thr)<=unsigned(slv_T_MISS_E_MIN(i_thr));
3094  slv_T_MISS_E_MIN(i_thr)(15 downto 0) <= data_from_vme_REG_RW_T_MISS_E_MIN_PARAM_BLOCK(2*i_thr)(15 downto 0);
3095  slv_T_MISS_E_MIN(i_thr)(30 downto 16) <= data_from_vme_REG_RW_T_MISS_E_MIN_PARAM_BLOCK(2*i_thr+1)(14 downto 0);
3096  end generate gen_T_MISS_E_MIN_PARAM;
3097 
3098 -- ===========================================================================================
3099 --
3100 -- T_MISS_E_MAX
3101 --
3102 -- ===========================================================================================
3103 
3104 
3105  gen_REG_RW_T_MISS_E_MAX_PARAM_BLOCK: for i_thr in 0 to (2*num_thresholds)-1 generate
3106 
3107  vme_inreg_notri_async_REG_RW_T_MISS_E_MAX_PARAM_BLOCK: entity work.vme_inreg_notri_async
3108  generic map (
3109  ia_vme => ADDR_REG_RW_T_MISS_E_MAX_PARAM_BLOCK+2*i_thr,
3110  width => 16)
3111  port map (
3112  ncs => ncs,
3113  rd_nwr => OCB_WRITE_B,
3114  ds => ds,
3115  addr_vme => vme_address(16 downto 1),
3117  data_vme_out => data_vme_from_below_top (1640+i_thr+16+16+8+8+16+16),
3118  bus_drive => bus_drive_from_below_top (1640+i_thr+16+16+8+8+16+16),
3119  data_from_vme => data_from_vme_REG_RW_T_MISS_E_MAX_PARAM_BLOCK(i_thr),
3120  data_to_vme => data_to_vme_REG_RW_T_MISS_E_MAX_PARAM_BLOCK(i_thr));
3121 
3122  data_to_vme_REG_RW_T_MISS_E_MAX_PARAM_BLOCK(i_thr)<=data_from_vme_REG_RW_T_MISS_E_MAX_PARAM_BLOCK(i_thr);
3123 
3124  end generate gen_REG_RW_T_MISS_E_MAX_PARAM_BLOCK;
3125 
3126  gen_T_MISS_E_MAX_PARAM: for i_thr in 0 to num_thresholds-1 generate
3127  T_MISS_E_MAX(i_thr)<=unsigned(slv_T_MISS_E_MAX(i_thr));
3128  slv_T_MISS_E_MAX(i_thr)(15 downto 0) <= data_from_vme_REG_RW_T_MISS_E_MAX_PARAM_BLOCK(2*i_thr)(15 downto 0);
3129  slv_T_MISS_E_MAX(i_thr)(30 downto 16) <= data_from_vme_REG_RW_T_MISS_E_MAX_PARAM_BLOCK(2*i_thr+1)(14 downto 0);
3130  end generate gen_T_MISS_E_MAX_PARAM;
3131 
3132 -- ===========================================================================================
3133 --
3134 -- T_SUM_E_MIN
3135 --
3136 -- ===========================================================================================
3137 
3138 
3139  gen_REG_RW_T_SUM_E_MIN_PARAM_BLOCK: for i_thr in 0 to num_thresholds-1 generate
3140 
3141  vme_inreg_notri_async_REG_RW_T_SUM_E_MIN_PARAM_BLOCK: entity work.vme_inreg_notri_async
3142  generic map (
3143  ia_vme => ADDR_REG_RW_T_SUM_E_MIN_PARAM_BLOCK+2*i_thr,
3144  width => 16)
3145  port map (
3146  ncs => ncs,
3147  rd_nwr => OCB_WRITE_B,
3148  ds => ds,
3149  addr_vme => vme_address(16 downto 1),
3151  data_vme_out => data_vme_from_below_top (1640+i_thr+16+16+8+8+16+16+16),
3152  bus_drive => bus_drive_from_below_top (1640+i_thr+16+16+8+8+16+16+16),
3153  data_from_vme => data_from_vme_REG_RW_T_SUM_E_MIN_PARAM_BLOCK(i_thr),
3154  data_to_vme => data_to_vme_REG_RW_T_SUM_E_MIN_PARAM_BLOCK(i_thr));
3155 
3156  data_to_vme_REG_RW_T_SUM_E_MIN_PARAM_BLOCK(i_thr)<=data_from_vme_REG_RW_T_SUM_E_MIN_PARAM_BLOCK(i_thr);
3157 
3158  T_SUM_E_MIN(i_thr)<=unsigned(slv_T_SUM_E_MIN(i_thr));
3159  slv_T_SUM_E_MIN(i_thr) <= data_from_vme_REG_RW_T_SUM_E_MIN_PARAM_BLOCK(i_thr)(14 downto 0);
3160 
3161  end generate gen_REG_RW_T_SUM_E_MIN_PARAM_BLOCK;
3162 
3163 -- ===========================================================================================
3164 --
3165 -- T_SUM_E_MAX
3166 --
3167 -- ===========================================================================================
3168 
3169 
3170  gen_REG_RW_T_SUM_E_MAX_PARAM_BLOCK: for i_thr in 0 to num_thresholds-1 generate
3171 
3172  vme_inreg_notri_async_REG_RW_T_SUM_E_MAX_PARAM_BLOCK: entity work.vme_inreg_notri_async
3173  generic map (
3174  ia_vme => ADDR_REG_RW_T_SUM_E_MAX_PARAM_BLOCK+2*i_thr,
3175  width => 16)
3176  port map (
3177  ncs => ncs,
3178  rd_nwr => OCB_WRITE_B,
3179  ds => ds,
3180  addr_vme => vme_address(16 downto 1),
3182  data_vme_out => data_vme_from_below_top (1640+i_thr+16+16+8+8+16+16+16+8),
3183  bus_drive => bus_drive_from_below_top (1640+i_thr+16+16+8+8+16+16+16+8),
3184  data_from_vme => data_from_vme_REG_RW_T_SUM_E_MAX_PARAM_BLOCK(i_thr),
3185  data_to_vme => data_to_vme_REG_RW_T_SUM_E_MAX_PARAM_BLOCK(i_thr));
3186 
3187  data_to_vme_REG_RW_T_SUM_E_MAX_PARAM_BLOCK(i_thr)<=data_from_vme_REG_RW_T_SUM_E_MAX_PARAM_BLOCK(i_thr);
3188  T_SUM_E_MAX(i_thr)<=unsigned(slv_T_SUM_E_MAX(i_thr));
3189  slv_T_SUM_E_MAX(i_thr) <= data_from_vme_REG_RW_T_SUM_E_MAX_PARAM_BLOCK(i_thr)(14 downto 0);
3190 
3191  end generate gen_REG_RW_T_SUM_E_MAX_PARAM_BLOCK;
3192 
3193 -- ===========================================================================================
3194 --
3195 -- XS_B2
3196 --
3197 -- ===========================================================================================
3198 
3199 
3200  gen_REG_RW_XS_B2_PARAM_BLOCK: for i_thr in 0 to num_thresholds-1 generate
3201 
3202  vme_inreg_notri_async_REG_RW_XS_B2_PARAM_BLOCK: entity work.vme_inreg_notri_async
3203  generic map (
3204  ia_vme => ADDR_REG_RW_XS_B2_PARAM_BLOCK+2*i_thr,
3205  width => 16)
3206  port map (
3207  ncs => ncs,
3208  rd_nwr => OCB_WRITE_B,
3209  ds => ds,
3210  addr_vme => vme_address(16 downto 1),
3212  data_vme_out => data_vme_from_below_top (1640+i_thr+16+16+8+8+16+16+16+8+8),
3213  bus_drive => bus_drive_from_below_top (1640+i_thr+16+16+8+8+16+16+16+8+8),
3214  data_from_vme => data_from_vme_REG_RW_XS_B2_PARAM_BLOCK(i_thr),
3215  data_to_vme => data_to_vme_REG_RW_XS_B2_PARAM_BLOCK(i_thr));
3216 
3217  data_to_vme_REG_RW_XS_B2_PARAM_BLOCK(i_thr)<=data_from_vme_REG_RW_XS_B2_PARAM_BLOCK(i_thr);
3218  XS_B2(i_thr)<=unsigned(slv_XS_B2(i_thr));
3219  slv_XS_B2(i_thr) <= data_from_vme_REG_RW_XS_B2_PARAM_BLOCK(i_thr)(14 downto 0);
3220 
3221  end generate gen_REG_RW_XS_B2_PARAM_BLOCK;
3222 
3223 -- ===========================================================================================
3224 --
3225 -- MARKER LINE
3226 --
3227 -- ===========================================================================================
3228 
3229  gen_ET_data : for ch in numactchan-1 downto 0 generate
3230  BACKPLANE_DATA_IN(ch)(13 downto 0)<=DATA96(ch)(13 downto 0);
3231  BACKPLANE_DATA_IN(ch)(27 downto 14)<=DATA96(ch)(37 downto 24);
3232  BACKPLANE_DATA_IN(ch)(41 downto 28)<=DATA96(ch)(61 downto 48);
3233  end generate gen_ET_data;
3234 
3235  ENERGY_REMOTE<=data_from_RTM;
3236 
3237  data_to_CTP(23 downto 0)<=CTP_CABLE_0;
3238  data_to_CTP(30)<=xor_reduce(CTP_CABLE_0) xor '1';
3239  data_to_CTP(29 downto 24)<=(others=>'0');
3240 
3241  data_to_CTP(54 downto 31)<=CTP_CABLE_1;
3242  data_to_CTP(61)<=xor_reduce(CTP_CABLE_1) xor '1';
3243  data_to_CTP(60 downto 55)<=(others=>'0');
3244 
3245 
3246  CMX_CTP_output_module_inst: entity work.CMX_CTP_output_module
3247  port map (
3248  data => data_to_CTP,
3249  sdr_data_out => sdr_data_CTP,
3250  buf_clk40 => buf_clk40,
3251  buf_clk40_center => buf_clk40_center ,
3252  buf_clk200 => buf_clk200,
3253  pll_locked => pll_locked,
3255  spy_write_inhibit => spy_write_inhibit ,
3256  ncs => ncs,
3257  rd_nwr => OCB_WRITE_B,
3258  ds => ds,
3259  addr_vme => vme_address(16 downto 1),
3263  );
3264 
3265 
3266  CMX_system_cable_input_module_inst: entity work.CMX_system_cable_input_module
3267  port map (
3268  data => data_from_RTM,
3269  parity_error_total => par_err(1),
3270  ddr_data_in => sig_arr_RTM,
3271  buf_clk40 => buf_clk40,
3272  buf_clk40_ds2 => buf_clk40_ds2,
3273  pll_locked => pll_locked,
3274  pll_locked_ds2 => pll_locked_ds2,
3275  quiet => quiet,
3277  spy_write_inhibit => spy_write_inhibit ,
3278  ncs => ncs,
3279  rd_nwr => OCB_WRITE_B,
3280  ds => ds,
3281  addr_vme => vme_address(16 downto 1),
3285 
3286  --chipscope_ila_LVDS_TX_CTP_RTM_inst: chipscope_ila_LVDS_TX_CTP_RTM
3287  -- port map (
3288  -- CONTROL => CONTROL1,
3289  -- CLK => buf_clk40,
3290  -- DATA(31 downto 0) => sdr_data_out,
3291  -- DATA(63 downto 32) => (others=>'0'),
3292  -- DATA(115 downto 64) => data_RTM,
3293  -- DATA(116) => '0',
3294  -- DATA(117) => '0',
3295  -- TRIG0(0) => '0',
3296  -- TRIG0(1) => '0'
3297  -- );
3298 
3299 
3300 
3301 
3302  CMX_clock_manager_inst: CMX_clock_manager
3303  port map (
3306  buf_clk40 => buf_clk40,
3307  buf_clk40_90o => buf_clk40_center,
3308  buf_clk40_m180o => buf_clk40_m180o,
3309  buf_clk40_m90o => open,
3310  buf_clk320 => buf_clk320,
3311  buf_clk160 => buf_clk160,
3312  buf_clk200 => buf_clk200,
3313  pll_locked => pll_locked,
3316  buf_clk40_ds2 => buf_clk40_ds2,
3317  pll_locked_ds2 => pll_locked_ds2,
3318  ncs => ncs,
3319  rd_nwr => OCB_WRITE_B ,
3320  ds => ds,
3321  addr_vme => vme_address(16 downto 1),
3325 
3326 
3327 
3328 
3329 
3330  --CMX_Jet_Topo_Encoder_inst: CMX_Jet_Topo_Encoder
3331  -- port map (
3332  -- DATA_Et1 => tot_Et1,
3333  -- DATA_Et2 => tot_Et2,
3334  -- DATA_pos => tot_pos,
3335  -- overflow => overflow,
3336  -- send_align_out => send_align,
3337  -- Data_out => indata_Topo_TX);
3338 
3339 
3340 
3341  Topo_Data_TX_inst: Topo_Data_TX
3342  port map (
3343  MGTREFCLK_PAD_N_IN => MGTREFCLK_PAD_N_IN,
3344  MGTREFCLK_PAD_P_IN => MGTREFCLK_PAD_P_IN,
3345  GTXTXRESET_IN => GTXTXRESET_IN,
3346  GTXRXRESET_IN => GTXRXRESET_IN,
3347  GTX_TX_READY_OUT => GTX_TX_READY_OUT ,
3348  GTX_RX_READY_OUT => GTX_RX_READY_OUT ,
3349  RXN_IN => RXN_IN,
3350  RXP_IN => RXP_IN,
3351  TXN_OUT => TXN_OUT,
3352  TXP_OUT => TXP_OUT,
3353  clk40 => buf_clk40,
3354  clk320 => buf_clk320,
3355  pll_locked => pll_locked,
3356  send_align => send_align,
3357  BCID => bcid_adj,
3358  indata => indata_Topo_TX ,
3359  ext_trigger => '0',
3360  ncs => ncs,
3361  rd_nwr => OCB_WRITE_B,
3362  ds => ds,
3363  addr_vme => vme_address(16 downto 1),
3367  );
3368 
3369 
3370  CMX_SumET_Topo_Encoder_inst: entity work.CMX_SumET_Topo_Encoder
3371  port map (
3372  local_data => LOCAL_CABLE_OUT ,
3373  send_align_out => send_align,
3374  Data_out => indata_Topo_TX ,
3375  bcid_in => BCID_delayed_decoder ,
3376  bcid_adj => bcid_adj,
3377  clk => buf_clk40
3378  );
3379 
3380  vme_inreg_REG_RW_TOPOTR_GTX_RESET: vme_inreg_notri_async
3381  generic map (
3382  ia_vme => ADDR_REG_RW_TOPOTR_GTX_RESET ,
3383  width => 16)
3384  port map (
3385  ncs => ncs,
3386  rd_nwr => OCB_WRITE_B,
3387  ds => ds,
3388  addr_vme => vme_address(16 downto 1),
3392  data_from_vme => data_from_vme_REG_RW_TOPOTR_GTX_RESET,
3393  data_to_vme => data_to_vme_REG_RW_TOPOTR_GTX_RESET
3394  );
3395 
3396  GTXTXRESET_IN<=data_from_vme_REG_RW_TOPOTR_GTX_RESET(1);
3397  GTXRXRESET_IN<=data_from_vme_REG_RW_TOPOTR_GTX_RESET(0);
3398 
3399  data_to_vme_REG_RW_TOPOTR_GTX_RESET<=data_from_vme_REG_RW_TOPOTR_GTX_RESET;
3400 
3401 
3402  vme_outreg_async_REG_RO_TOPOTR_GTX_STATUS : vme_outreg_notri_async
3403  generic map (
3404  ia_vme => ADDR_REG_RO_TOPOTR_GTX_STATUS ,
3405  width => 16)
3406  port map (
3407  ncs => ncs,
3408  rd_nwr => OCB_WRITE_B,
3409  ds => ds,
3410  addr_vme => vme_address(16 downto 1),
3413  data_to_vme => data_to_vme_REG_RO_TOPOTR_GTX_STATUS );
3414 
3415  data_to_vme_REG_RO_TOPOTR_GTX_STATUS(1)<=GTX_TX_READY_OUT;
3416  data_to_vme_REG_RO_TOPOTR_GTX_STATUS(0)<=GTX_RX_READY_OUT;
3417 
3418  data_to_vme_REG_RO_TOPOTR_GTX_STATUS(15 downto 2)<=(others=>'0');
3419 
3420  -- sfp
3421 
3422 
3423  SFP_Data_TXRX_TX_SFP_DAQ: SFP_Data_TXRX
3424  generic map(
3425  direction => '1',
3426  clock_source => '1')
3427  port map (
3428  MGTREFCLK => MGTREFCLK_Q118 ,
3429  gtx_reset => gtx_reset_SFP_DAQ ,
3430  local_pll_lock_out => local_pll_lock_out_SFP_DAQ ,
3431  GTX_TX_READY_OUT => GTX_TX_READY_OUT_TX_SFP_DAQ ,
3432  GTX_RX_READY_OUT => GTX_RX_READY_OUT_TX_SFP_DAQ ,
3433  PLLLKDET_diag => PLLLKDET_diag_TX_SFP_DAQ ,
3434  local_gtx_reset_diag => local_gtx_reset_diag_TX_SFP_DAQ ,
3435  local_mmcm_reset_diag => local_mmcm_reset_diag_TX_SFP_DAQ ,
3436  GTXTEST_diag => GTXTEST_diag_TX_SFP_DAQ ,
3437  RXN_IN => RXN_IN_TX_SFP_DAQ ,
3438  RXP_IN => RXP_IN_TX_SFP_DAQ ,
3439  TXN_OUT => TXN_OUT_TX_SFP_DAQ,
3440  TXP_OUT => TXP_OUT_TX_SFP_DAQ,
3441  clk40_out => clk40_out_TX_SFP_DAQ,
3442  clk120_out => clk120_out_TX_SFP_DAQ,
3443  clk40_in => clk40_in_TX_SFP_DAQ,
3444  clk120_in => clk120_in_TX_SFP_DAQ,
3445  indata => indata_TX_SFP_DAQ ,
3446  odata => odata_TX_SFP_DAQ ,
3447  TXPREEMPHASIS_IN => TXPREEMPHASIS_IN_TX_SFP_DAQ ,
3448  TXPOSTEMPHASIS_IN => TXPOSTEMPHASIS_IN_TX_SFP_DAQ ,
3449  TXDIFFCTRL_IN => TXDIFFCTRL_IN_TX_SFP_DAQ ,
3450  RXEQMIX_IN => RXEQMIX_IN_TX_SFP_DAQ,
3451  DFECLKDLYADJ => DFECLKDLYADJ_TX_SFP_DAQ ,
3452  DFECLKDLYADJMON => DFECLKDLYADJMON_TX_SFP_DAQ ,
3453  DFEDLYOVRD => DFEDLYOVRD_TX_SFP_DAQ,
3454  DFEEYEDACMON => DFEEYEDACMON_TX_SFP_DAQ ,
3455  DFESENSCAL => DFESENSCAL_TX_SFP_DAQ,
3456  DFETAP1 => DFETAP1_TX_SFP_DAQ,
3457  DFETAP1MONITOR => DFETAP1MONITOR_TX_SFP_DAQ ,
3458  DFETAP2 => DFETAP2_TX_SFP_DAQ,
3459  DFETAP2MONITOR => DFETAP2MONITOR_TX_SFP_DAQ ,
3460  DFETAP3 => DFETAP3_TX_SFP_DAQ,
3461  DFETAP3MONITOR => DFETAP3MONITOR_TX_SFP_DAQ ,
3462  DFETAP4 => DFETAP4_TX_SFP_DAQ,
3463  DFETAP4MONITOR => DFETAP4MONITOR_TX_SFP_DAQ ,
3464  DFETAPOVRD => DFETAPOVRD_TX_SFP_DAQ);
3465 
3466 
3467  SFP_Data_TXRX_TX_SFP_ROI: SFP_Data_TXRX
3468  generic map(
3469  direction => '1',
3470  clock_source => '0')
3471  port map (
3472  MGTREFCLK => MGTREFCLK_Q118 ,
3473  gtx_reset => gtx_reset_SFP_ROI ,
3474  local_pll_lock_out => local_pll_lock_out_SFP_ROI ,
3475  GTX_TX_READY_OUT => GTX_TX_READY_OUT_TX_SFP_ROI ,
3476  GTX_RX_READY_OUT => GTX_RX_READY_OUT_TX_SFP_ROI ,
3477  PLLLKDET_diag => PLLLKDET_diag_TX_SFP_ROI ,
3478  local_gtx_reset_diag => local_gtx_reset_diag_TX_SFP_ROI ,
3479  local_mmcm_reset_diag => local_mmcm_reset_diag_TX_SFP_ROI ,
3480  GTXTEST_diag => GTXTEST_diag_TX_SFP_ROI ,
3481  RXN_IN => RXN_IN_TX_SFP_ROI ,
3482  RXP_IN => RXP_IN_TX_SFP_ROI ,
3483  TXN_OUT => TXN_OUT_TX_SFP_ROI,
3484  TXP_OUT => TXP_OUT_TX_SFP_ROI,
3485  clk40_out => clk40_out_TX_SFP_ROI,
3486  clk120_out => clk120_out_TX_SFP_ROI,
3487  clk40_in => clk40_in_TX_SFP_ROI,
3488  clk120_in => clk120_in_TX_SFP_ROI,
3489  indata => indata_TX_SFP_ROI ,
3490  odata => odata_TX_SFP_ROI ,
3491  TXPREEMPHASIS_IN => TXPREEMPHASIS_IN_TX_SFP_ROI ,
3492  TXPOSTEMPHASIS_IN => TXPOSTEMPHASIS_IN_TX_SFP_ROI ,
3493  TXDIFFCTRL_IN => TXDIFFCTRL_IN_TX_SFP_ROI ,
3494  RXEQMIX_IN => RXEQMIX_IN_TX_SFP_ROI,
3495  DFECLKDLYADJ => DFECLKDLYADJ_TX_SFP_ROI ,
3496  DFECLKDLYADJMON => DFECLKDLYADJMON_TX_SFP_ROI ,
3497  DFEDLYOVRD => DFEDLYOVRD_TX_SFP_ROI,
3498  DFEEYEDACMON => DFEEYEDACMON_TX_SFP_ROI ,
3499  DFESENSCAL => DFESENSCAL_TX_SFP_ROI,
3500  DFETAP1 => DFETAP1_TX_SFP_ROI,
3501  DFETAP1MONITOR => DFETAP1MONITOR_TX_SFP_ROI ,
3502  DFETAP2 => DFETAP2_TX_SFP_ROI,
3503  DFETAP2MONITOR => DFETAP2MONITOR_TX_SFP_ROI ,
3504  DFETAP3 => DFETAP3_TX_SFP_ROI,
3505  DFETAP3MONITOR => DFETAP3MONITOR_TX_SFP_ROI ,
3506  DFETAP4 => DFETAP4_TX_SFP_ROI,
3507  DFETAP4MONITOR => DFETAP4MONITOR_TX_SFP_ROI ,
3508  DFETAPOVRD => DFETAPOVRD_TX_SFP_ROI);
3509 
3510 -- glink interface
3511 
3512 
3513  glink: glink_interface
3514  port map (
3515  CLK_40MHz => clk40_in_TX_SFP_ROI, -- clk40MHz
3516  CLK_120MHz => clk120_in_TX_SFP_ROI , -- clk120MHz
3517  RST => reset_daq , --not pll_locked, --reset(0), -- reset
3518  DAQ_IN => daq_in, -- Input data (DAQ)
3519  ROI_IN => roi_in, -- Input data (ROI)
3520  DAQ_DAV => daq_dav, -- Control (DAQ)
3521  ROI_DAV => roi_dav, -- Control (ROI)
3522  DAQ_BYTE => daq_byte, -- Output Byte (DAQ)
3523  ROI_BYTE => roi_byte, -- Output Byte (ROI)
3524  DAQ_ENCODED_DIAG => daq_encoded_diag,
3525  daq_byte_out => daq_byte_out,
3526  byte_pos_out => byte_pos_out,
3527  word_sel_out => word_sel_out,
3528  readout_rst_out => readout_rst_out
3529 
3530 
3531 
3532  ); -- daq_encoded_DIAG
3533 
3534  MGT_118_clk0_ibufds_i : IBUFDS_GTXE1
3535  port map
3536  (
3537  O => MGTREFCLK_Q118,
3538  ODIV2 => open,
3539  CEB => '0',
3542  );
3543 
3544  BF_DAQ_DATA_OUT_DIR<=TXP_OUT_TX_SFP_DAQ;
3545  BF_DAQ_DATA_OUT_CMP<=TXN_OUT_TX_SFP_DAQ;
3546 
3547  BF_ROI_DATA_OUT_DIR<=TXP_OUT_TX_SFP_ROI;
3548  BF_ROI_DATA_OUT_CMP<=TXN_OUT_TX_SFP_ROI;
3549 
3550  clk40_in_TX_SFP_ROI<=clk40_out_TX_SFP_DAQ;
3551  clk120_in_TX_SFP_ROI<=clk120_out_TX_SFP_DAQ;
3552 
3553  indata_TX_SFP_DAQ<=daq_byte; -- from GLINK emulator
3554  indata_TX_SFP_ROI<=roi_byte; -- from GLINK emulator;
3555 
3556 -- Reset control
3557 
3558  --vio_data_i : diagn_module_vio
3559  -- port map(
3560  -- CONTROL => control1,
3561  -- ASYNC_OUT => reset);
3562 
3563 
3564  vme_inreg_async_REG_RW_DAQ_ROI_RESET : vme_inreg_notri_async
3565  generic map (
3566  ia_vme => ADDR_REG_RW_DAQ_ROI_RESET ,
3567  width => 16)
3568  port map (
3569  ncs => ncs,
3570  rd_nwr => OCB_WRITE_B,
3571  ds => ds,
3572  addr_vme => vme_address(16 downto 1),
3576  data_from_vme => data_from_vme_REG_RW_DAQ_ROI_RESET,
3577  data_to_vme => data_to_vme_REG_RW_DAQ_ROI_RESET);
3578 
3579  reset_daq<=data_from_vme_REG_RW_DAQ_ROI_RESET(0);
3580  data_to_vme_REG_RW_DAQ_ROI_RESET<=data_from_vme_REG_RW_DAQ_ROI_RESET;
3581 
3582  vme_inreg_async_REG_RW_DAQ_ROI_GTX_RESET : vme_inreg_notri_async
3583  generic map (
3584  ia_vme => ADDR_REG_RW_DAQ_ROI_GTX_RESET ,
3585  width => 16)
3586  port map (
3587  ncs => ncs,
3588  rd_nwr => OCB_WRITE_B,
3589  ds => ds,
3590  addr_vme => vme_address(16 downto 1),
3594  data_from_vme => data_from_vme_REG_RW_DAQ_ROI_GTX_RESET,
3595  data_to_vme => data_to_vme_REG_RW_DAQ_ROI_GTX_RESET);
3596 
3597  gtx_reset_SFP_DAQ<=data_from_vme_REG_RW_DAQ_ROI_GTX_RESET(0);
3598  gtx_reset_SFP_ROI<=data_from_vme_REG_RW_DAQ_ROI_GTX_RESET(1);
3599  data_to_vme_REG_RW_DAQ_ROI_GTX_RESET<=data_from_vme_REG_RW_DAQ_ROI_GTX_RESET;
3600 
3601 
3602  vme_outreg_async_REG_RO_DAQ_ROI_STATUS : vme_outreg_notri_async
3603  generic map (
3604  ia_vme => ADDR_REG_RO_DAQ_ROI_STATUS ,
3605  width => 16)
3606  port map (
3607  ncs => ncs,
3608  rd_nwr => OCB_WRITE_B,
3609  ds => ds,
3610  addr_vme => vme_address(16 downto 1),
3613  data_to_vme => data_to_vme_REG_RO_DAQ_ROI_STATUS );
3614 
3615  data_to_vme_REG_RO_DAQ_ROI_STATUS(0)<=local_pll_lock_out_SFP_DAQ;
3616  data_to_vme_REG_RO_DAQ_ROI_STATUS(1)<=GTX_TX_READY_OUT_TX_SFP_DAQ;
3617  data_to_vme_REG_RO_DAQ_ROI_STATUS(2)<=GTX_RX_READY_OUT_TX_SFP_DAQ;
3618  data_to_vme_REG_RO_DAQ_ROI_STATUS(3)<=PLLLKDET_diag_TX_SFP_DAQ;
3619  data_to_vme_REG_RO_DAQ_ROI_STATUS(4)<=local_pll_lock_out_SFP_ROI;
3620  data_to_vme_REG_RO_DAQ_ROI_STATUS(5)<=GTX_TX_READY_OUT_TX_SFP_ROI;
3621  data_to_vme_REG_RO_DAQ_ROI_STATUS(6)<=GTX_RX_READY_OUT_TX_SFP_ROI;
3622  data_to_vme_REG_RO_DAQ_ROI_STATUS(7)<=PLLLKDET_diag_TX_SFP_ROI;
3623  data_to_vme_REG_RO_DAQ_ROI_STATUS(8)<=readout_rst_out;
3624 
3625  data_to_vme_REG_RO_DAQ_ROI_STATUS(15 downto 9) <= (others=>'0');
3626 
3627 
3628 -- masked by Pawel Plucinski on 2015-04-28
3629 --
3630 -- -- Chipscope analyzer
3631 -- chipscope_icon_u2_c3_inst: chipscope_icon_u2_c3
3632 -- port map (
3633 -- CONTROL0 => CONTROL0,
3634 -- CONTROL1 => CONTROL1,
3635 -- CONTROL2 => CONTROL2
3636 -- );
3637 --
3638 -- ila_daq_glink : glink_chipscope_analyzer
3639 -- port map (
3640 -- CONTROL => control0,
3641 -- CLK => clk40_in_TX_SFP_ROI,
3642 -- DATA => data_ila_daq,
3643 -- TRIG0 => trig_ila_daq);
3644 --
3645 -- ila_glink_encoder : glink_chipscope_analyzer_encoder
3646 -- port map (
3647 -- CONTROL => control1,
3648 -- CLK => clk120_in_TX_SFP_ROI,
3649 -- DATA => data_ila_encoder,
3650 -- TRIG0 => trig_ila_encoder);
3651 --
3652 -- ila_gtx_start: entity work.glink_chipscope_analyzer_gtx_start
3653 -- port map (
3654 -- CONTROL => CONTROL2,
3655 -- CLK => MGTREFCLK_Q118,
3656 -- DATA => data_ila_gtx_start,
3657 -- TRIG0 => trig_ila_gtx_start);
3658 --
3659 -- data_ila_daq <= daq_in &
3660 -- daq_encoded_diag &
3661 -- pll_locked &
3662 -- local_pll_lock_out_SFP_DAQ &
3663 -- GTX_TX_READY_OUT_TX_SFP_DAQ &
3664 -- GTX_RX_READY_OUT_TX_SFP_DAQ &
3665 -- local_pll_lock_out_SFP_ROI &
3666 -- GTX_TX_READY_OUT_TX_SFP_ROI &
3667 -- GTX_RX_READY_OUT_TX_SFP_ROI &
3668 -- reset_daq &
3669 -- l1a_synced &
3670 -- daq_dav ;
3671 --
3672 --
3673 -- trig_ila_daq <= daq_encoded_diag &
3674 -- pll_locked &
3675 -- local_pll_lock_out_SFP_DAQ &
3676 -- GTX_TX_READY_OUT_TX_SFP_DAQ &
3677 -- GTX_RX_READY_OUT_TX_SFP_DAQ &
3678 -- local_pll_lock_out_SFP_ROI &
3679 -- GTX_TX_READY_OUT_TX_SFP_ROI &
3680 -- GTX_RX_READY_OUT_TX_SFP_ROI &
3681 -- reset_daq &
3682 -- l1a_synced &
3683 -- daq_dav ;
3684 --
3685 --
3686 --
3687 -- trig_ila_encoder <= GTX_TX_READY_OUT_TX_SFP_DAQ &
3688 -- reset_daq &
3689 -- l1a_synced &
3690 -- daq_byte &
3691 -- pll_locked;
3692 --
3693 -- data_ila_encoder <= byte_pos_out &
3694 -- word_sel_out &
3695 -- readout_rst_out &
3696 -- GTX_TX_READY_OUT_TX_SFP_DAQ &
3697 -- reset_daq &
3698 -- l1a_synced &
3699 -- daq_byte&
3700 -- pll_locked;
3701 --
3702 -- trig_ila_gtx_start(0)<=pll_locked;
3703 -- trig_ila_gtx_start(1)<=gtx_reset_SFP_DAQ;
3704 -- trig_ila_gtx_start(2)<=gtx_reset_SFP_ROI;
3705 --
3706 --
3707 --
3708 -- data_ila_gtx_start(0)<= pll_locked;
3709 -- data_ila_gtx_start(1)<= gtx_reset_SFP_DAQ;
3710 -- data_ila_gtx_start(2)<= gtx_reset_SFP_ROI;
3711 -- data_ila_gtx_start(3)<= GTX_TX_READY_OUT_TX_SFP_DAQ;
3712 -- data_ila_gtx_start(4)<= PLLLKDET_diag_TX_SFP_DAQ;
3713 -- data_ila_gtx_start(5)<= local_gtx_reset_diag_TX_SFP_DAQ;
3714 -- data_ila_gtx_start(6)<= local_mmcm_reset_diag_TX_SFP_DAQ;
3715 -- data_ila_gtx_start(7)<= GTXTEST_diag_TX_SFP_DAQ;
3716 -- data_ila_gtx_start(8)<= GTX_TX_READY_OUT_TX_SFP_ROI;
3717 -- data_ila_gtx_start(9)<= PLLLKDET_diag_TX_SFP_ROI;
3718 -- data_ila_gtx_start(10)<= local_gtx_reset_diag_TX_SFP_ROI;
3719 -- data_ila_gtx_start(11)<= local_mmcm_reset_diag_TX_SFP_ROI;
3720 -- data_ila_gtx_start(12)<= GTXTEST_diag_TX_SFP_ROI;
3721 
3722 
3723 
3724 
3725 
3726  process(buf_clk40)
3727  begin
3728  if rising_edge(buf_clk40) then
3729  l1a_synced<=BUF_TTC_L1_ACCEPT_r;
3730  BUF_TTC_L1_ACCEPT_r<=BUF_TTC_L1_ACCEPT;
3731 
3732  bc_reset_synced<=BUF_TTC_BNCH_CNT_RES_r;
3733  BUF_TTC_BNCH_CNT_RES_r<=BUF_TTC_BNCH_CNT_RES;
3734  end if;
3735  end process;
3736 
3737 
3738  daq_collector_i: entity work.daq_collector
3739  port map (
3740  clk => buf_clk40 ,
3741  datai => DATA96,
3742  energy_remote => ENERGY_REMOTE,
3743  energy_local => LOCAL_CABLE_OUT,
3744  energy_total => sums_all_out,
3745  energy_ovflw => ov_all_out,
3746  energy_extra0 => CTP_CABLE_0,
3747  energy_extra1 => CTP_CABLE_1,
3748  data_in_daq => data_in_daq,
3749  BCID_in => BCID_counter_sig ,
3750  BCID_delayed => BCID_delayed_daq );
3751 
3752 
3753  CMX_rate_counter_inhibit_inst: entity work.CMX_rate_counter_inhibit
3754  port map (
3755  counter_inhibit => counter_inhibit,
3756  counter_reset => counter_reset,
3757  buf_clk40 => buf_clk40,
3758  ncs => ncs,
3759  rd_nwr => OCB_WRITE_B ,
3760  ds => ds,
3761  addr_vme => vme_address(16 downto 1),
3765 
3766  daq_readout: entity work.daq_glink
3767  port map (
3768  data_in => data_in_daq ,
3769  bc_counter => unsigned(BCID_delayed_daq),
3770  l1a => l1a_synced ,
3771  data_out => daq_in,
3772  dav => daq_dav ,
3773  clk4000 => clk40_out_TX_SFP_DAQ ,
3774  clk4008 => buf_clk40,
3775  reset => reset_daq ,--not pll_locked,
3776  RAM_global_offset => RAM_global_offset ,
3777  RAM_rel_offsets => RAM_rel_offsets,
3778  nslices => nslices
3779  );
3780 
3781 
3782  daq_roi: entity work.daq_glink
3783  port map (
3784  data_in => data_in_daq ,
3785  bc_counter => unsigned(BCID_delayed_daq),
3786  l1a => l1a_synced ,
3787  data_out => roi_in,
3788  dav => roi_dav ,
3789  clk4000 => clk40_out_TX_SFP_DAQ ,
3790  clk4008 => buf_clk40,
3791  reset => reset_daq ,--not pll_locked,
3792  RAM_global_offset => RAM_global_offset ,
3793  RAM_rel_offsets => RAM_rel_offsets,
3794  nslices => to_unsigned(0,8)
3795  );
3796 
3797 
3798 
3799  --readout control registers
3800  vme_inreg_async_REG_RW_DAQ_SLICE: entity work.vme_inreg_notri_async
3801  generic map (
3802  ia_vme => ADDR_REG_RW_DAQ_SLICE,
3803  width => 16)
3804  port map (
3805  ncs => ncs,
3806  rd_nwr => OCB_WRITE_B ,
3807  ds => ds,
3808  addr_vme => vme_address(16 downto 1),
3812  data_from_vme => data_from_vme_REG_RW_DAQ_SLICE,
3813  data_to_vme => data_to_vme_REG_RW_DAQ_SLICE );
3814 
3815  nslices(1 downto 0) <= unsigned(data_to_vme_REG_RW_DAQ_SLICE(1 downto 0));
3816  nslices(7 downto 2) <= (others=>'0');
3817 
3818  data_to_vme_REG_RW_DAQ_SLICE<=data_from_vme_REG_RW_DAQ_SLICE;
3819 
3820 
3821  vme_inreg_async_REG_DAQ_RAM_OFFSET: entity work.vme_inreg_notri_async
3822  generic map (
3823  ia_vme => ADDR_REG_RW_DAQ_RAM_OFFSET ,
3824  width => 16)
3825  port map (
3826  ncs => ncs,
3827  rd_nwr => OCB_WRITE_B ,
3828  ds => ds,
3829  addr_vme => vme_address(16 downto 1),
3833  data_from_vme => data_from_vme_REG_RW_DAQ_RAM_OFFSET,
3834  data_to_vme => data_to_vme_REG_RW_DAQ_RAM_OFFSET);
3835 
3836  data_to_vme_REG_RW_DAQ_RAM_OFFSET<=data_from_vme_REG_RW_DAQ_RAM_OFFSET;
3837  RAM_global_offset <= unsigned(data_from_vme_REG_RW_DAQ_RAM_OFFSET(7 downto 0));
3838 
3839 
3840  rel_offset_gen: for i_row in 1 to 19 generate
3841  vme_inreg_async_REG_DAQ_RAM_OFFSET: entity work.vme_inreg_notri_async
3842  generic map (
3843  ia_vme => (ADDR_REG_RW_DAQ_RAM_RELATIVE_OFFSET+2*(i_row-1)),
3844  width => 16)
3845  port map (
3846  ncs => ncs,
3847  rd_nwr => OCB_WRITE_B,
3848  ds => ds,
3850  addr_vme => vme_address(16 downto 1),
3851  data_vme_out => data_vme_from_below_top (1609+i_row),
3852  bus_drive => bus_drive_from_below_top (1609+i_row),
3853  data_from_vme => data_from_vme_REG_RW_DAQ_RAM_RELATIVE_OFFSET(i_row-1),
3854  data_to_vme => data_to_vme_REG_RW_DAQ_RAM_RELATIVE_OFFSET(i_row-1));
3855 
3856  data_to_vme_REG_RW_DAQ_RAM_RELATIVE_OFFSET(i_row-1)<=data_from_vme_REG_RW_DAQ_RAM_RELATIVE_OFFSET(i_row-1);
3857  RAM_rel_offsets(i_row-1)<=unsigned(data_from_vme_REG_RW_DAQ_RAM_RELATIVE_OFFSET(i_row-1)(7 downto 0));
3858  end generate rel_offset_gen;
3859 
3860 
3861 
3862 
3863 end Behavioral;
3864 
in P6_5std_logic
out BF_DOUT_CTP_41std_logic
in P3_21std_logic
in P9_17std_logic
in BF_SYSMON_13_NSTD_LOGIC
in P1_7std_logic
out TXN_OUTstd_logic_vector ((num_GTX_per_group * num_GTX_groups) - 1 downto 0)
in BF_SYSMON_14_PSTD_LOGIC
in P12_4std_logic
in P3_6std_logic
in P11_20std_logic
out D_CBL_48_Bstd_logic
in P6_24std_logic
out BF_DOUT_CTP_01std_logic
in P13_17std_logic
in P10_16std_logic
in P14_21std_logic
in P11_18std_logic
out BF_TO_FROM_BSPT_2std_logic
out read_detectstd_logic
out BF_DAQ_DATA_OUT_CMPstd_logic
in counter_inhibitT_SL
Definition: CMX_SumEt.vhd:47
in OCB_A10std_logic
in CLK_120MHz000_XTAL_1_BF_TRNCV_DIRstd_logic
in P11_7std_logic
in P14_13std_logic
out D_CBL_74_Bstd_logic
in P1_21std_logic
in BF_SYSMON_09_PSTD_LOGIC
Definition: sys_monitor.vhd:38
in P7_20std_logic
out D_CBL_32_Bstd_logic
out data_vme_outstd_logic_vector (15 downto 0)
in BF_TO_TP_ROI_SLINK_RETURN_CMPstd_logic
out BF_TO_FROM_BSPT_3std_logic
out MP1_F11_QUAD_111_TRN_1_CMPstd_logic
in P5_10std_logic
in P7_10std_logic
in P2_14std_logic
in P1_2std_logic
in P9_3std_logic
out ODATAarr_4Xword (numactchan - 1 downto 0)
in P1_10std_logic
out D_CBL_42_Bstd_logic
in P1_19std_logic
out bcid_adjstd_logic_vector (11 downto 0)
in P4_12std_logic
in P7_5std_logic
out write_detectstd_logic
in P12_6std_logic
std_logic read_detect_inreg_test
in rd_nwrstd_logic
out BF_LED_REQ_4std_logic
in P8_24std_logic
in OCB_A19std_logic
in clkstd_logic
in BF_TO_FROM_BSPT_0std_logic
out D_CBL_17_Bstd_logic
in P7_18std_logic
out read_detectstd_logic
in P6_15std_logic
out BF_DOUT_CTP_61std_logic
in P3_14std_logic
out PAR_ERROR_totalstd_logic
in P4_21std_logic
out data_in_daqarr_96 (19 downto 0)
in OCB_A21std_logic
in P1_11std_logic
out D_CBL_64_Bstd_logic
in P5_13std_logic
in P6_19std_logic
out sums_all_outarr_ctr_15bit (5 downto 0)
Definition: CMX_SumEt.vhd:39
in addr_vmestd_logic_vector (15 downto 0)
out data_vme_outstd_logic_vector (15 downto 0)
Definition: sys_monitor.vhd:58
out BF_DOUT_CTP_34std_logic
in MGTREFCLK_PAD_N_INstd_logic_vector (num_GTX_groups - 1 downto 0)
in P15_5std_logic
in P5_6std_logic
in P9_10std_logic
out MP1_F04_QUAD_112_TRN_0_DIRstd_logic
inout data_vmestd_logic_vector (15 downto 0)
out BF_DOUT_CTP_32std_logic
out D_CBL_81_Bstd_logic
in P11_3std_logic
out data_vme_outstd_logic_vector (15 downto 0)
Definition: CMX_version.vhd:26
in P6_4std_logic
in P9_7std_logic
in P9_12std_logic
in P13_18std_logic
out D_CBL_67_Bstd_logic
in P7_9std_logic
out MP1_F07_QUAD_110_TRN_2_DIRstd_logic
in P0_6std_logic
in P6_1std_logic
in P10_5std_logic
in P1_4std_logic
in rd_nwrstd_logic
Definition: sys_monitor.vhd:54
out data_vmestd_logic_vector (15 downto 0)
in P13_20std_logic
in D_CBL_24_Bstd_logic
out D_CBL_28_Bstd_logic
out BF_TO_FROM_BSPT_6std_logic
out data_vme_outstd_logic_vector (15 downto 0)
out local_gtx_reset_diagstd_logic
Definition: SFP_TXRX.vhd:39
in P8_19std_logic
out DFETAP2MONITORstd_logic_vector (4 downto 0)
Definition: SFP_TXRX.vhd:64
in P6_16std_logic
out BF_LED_REQ_1std_logic
out MP2_F01_QUAD_113_TRN_0_CMPstd_logic
in dsstd_logic
in P11_0std_logic
in P5_21std_logic
in data_vme_instd_logic_vector (15 downto 0)
out BF_DEBUG_2std_logic
in P5_8std_logic
out BF_DOUT_CTP_21std_logic
in P7_21std_logic
out buf_clk160std_logic
in BACKPLANE_DATA_INenergy_array
Definition: CMX_SumEt.vhd:41
in addr_vmestd_logic_vector (15 downto 0)
out MP1_F10_QUAD_111_TRN_2_DIRstd_logic
out D_CBL_79_Bstd_logic
in T_SUM_E_MAXarr_ctr_15bit (num_thresholds - 1 downto 0)
Definition: CMX_SumEt.vhd:36
in P1_8std_logic
out read_detectstd_logic
out D_CBL_59_Bstd_logic
in P6_0std_logic
std_logic_vector (15 downto 0) data_to_vme_test_rw
out BF_DOUT_CTP_46std_logic
in P2_18std_logic
in P10_23std_logic
out D_CBL_38_Bstd_logic
in addr_vmestd_logic_vector (15 downto 0)
in DFETAP4std_logic_vector (3 downto 0)
Definition: SFP_TXRX.vhd:67
in BF_SYSMON_03_NSTD_LOGIC
Definition: sys_monitor.vhd:31
in P11_8std_logic
out BF_DOUT_CTP_04std_logic
in P2_15std_logic
in OCB_A09std_logic
in counter_resetT_SL
Definition: CMX_SumEt.vhd:46
out TXN_OUTstd_logic
Definition: SFP_TXRX.vhd:44
out counter_enable_outstd_logic_vector (numactchan - 1 downto 0)
in P8_9std_logic
in BF_SYSMON_10_PSTD_LOGIC
Definition: sys_monitor.vhd:40
out BF_DOUT_CTP_65std_logic
in P3_11std_logic
in P11_1std_logic
out BF_DOUT_CTP_55std_logic
in BF_SYSMON_13_NSTD_LOGIC
Definition: sys_monitor.vhd:47
in P11_23std_logic
in upload_delaysstd_logic
std_logic_vector (15 downto 0) data_vme_up_top
in P0_8std_logic
in P9_6std_logic
in P4_20std_logic
in P12_12std_logic
in BF_SYSMON_13_PSTD_LOGIC
out BF_DOUT_CTP_19std_logic
in BF_SYSMON_12_PSTD_LOGIC
Definition: sys_monitor.vhd:44
in P1_16std_logic
in TXDIFFCTRL_INstd_logic_vector (3 downto 0)
Definition: SFP_TXRX.vhd:54
in OCB_A14std_logic
in P3_23std_logic
in OCB_DS_Bstd_logic
in OCB_A11std_logic
in P6_21std_logic
in buf_clk40_m180ostd_logic
out BF_DOUT_CTP_14std_logic
out BF_DOUT_CTP_47std_logic
in D_CBL_39_Bstd_logic
out send_align_outstd_logic_vector (num_GTX_groups * num_GTX_per_group - 1 downto 0)
in P4_18std_logic
in P9_2std_logic
in BF_SYSMON_01_NSTD_LOGIC
inout data_vmestd_logic_vector (15 downto 0)
the tri-stated port
in P4_14std_logic
out D_CBL_27_Bstd_logic
in P10_18std_logic
in data_vme_instd_logic_vector (15 downto 0)
in P9_21std_logic
in BF_SYSMON_10_NSTD_LOGIC
in P15_18std_logic
in OCB_A15std_logic
in P8_21std_logic
in addr_vmestd_logic_vector (15 downto 0)
in P2_1std_logic
out D_CBL_06_Bstd_logic
in P14_17std_logic
_library_ workwork
out BF_LED_REQ_2std_logic
in P7_6std_logic
in P9_13std_logic
in BF_TO_TP_DAQ_SLINK_RETURN_DIRstd_logic
in P9_18std_logic
out D_CBL_76_Bstd_logic
in P10_11std_logic
ia_vmeinteger :=0
out MP2_F11_QUAD_114_TRN_1_DIRstd_logic
out D_CBL_01_Bstd_logic
in rd_nwrstd_logic
out data_from_vmestd_logic_vector (width - 1 downto 0)
in P14_9std_logic
widthinteger :=16
in P3_16std_logic
in P4_13std_logic
out BF_LED_REQ_0std_logic
in P2_6std_logic
in Pmat_var (numactchan - 1 downto 0)
in P13_6std_logic
out BF_DOUT_CTP_00std_logic
in P15_19std_logic
out BCID_outstd_logic_vector (11 downto 0)
in TXPREEMPHASIS_INstd_logic_vector (3 downto 0)
Definition: SFP_TXRX.vhd:52
out data_from_vmestd_logic_vector (width - 1 downto 0)
in CLK_320MHz64_LHC_BF_QUAD_114_DIRstd_logic
in BF_SYSMON_03_PSTD_LOGIC
Definition: sys_monitor.vhd:30
in P6_11std_logic
in P1_20std_logic
in P15_15std_logic
in D_CBL_20_Bstd_logic
in P14_6std_logic
in P3_15std_logic
in P5_4std_logic
in P4_17std_logic
in P1_18std_logic
std_logic_vector (15 downto 0) data_to_vme_outreg_test
out MP2_F07_QUAD_113_TRN_2_DIRstd_logic
in RXP_INstd_logic_vector ((num_GTX_per_group * num_GTX_groups) - 1 downto 0)
out del_registerdel_register_type
in P5_2std_logic
out D_CBL_58_Bstd_logic
out BF_DOUT_CTP_49std_logic
in P14_10std_logic
in BF_SYSMON_09_NSTD_LOGIC
Definition: sys_monitor.vhd:39
in P7_7std_logic
in P12_23std_logic
in P10_15std_logic
in BF_SYSMON_13_PSTD_LOGIC
Definition: sys_monitor.vhd:46
out pll_lockedstd_logic
out BF_DEBUG_7std_logic
out TXP_OUTstd_logic
Definition: SFP_TXRX.vhd:45
in P9_11std_logic
in P0_11std_logic
out buf_clk320std_logic
out BF_DOUT_CTP_64std_logic
in dsstd_logic
in P7_3std_logic
out MP1_F04_QUAD_112_TRN_0_CMPstd_logic
in P1_1std_logic
in P5_14std_logic
in P14_7std_logic
out DFECLKDLYADJMONstd_logic_vector (5 downto 0)
Definition: SFP_TXRX.vhd:57
in P2_19std_logic
out BCID_delayedstd_logic_vector (11 downto 0)
in P8_16std_logic
in BF_SYSMON_15_PSTD_LOGIC
in del_registerdel_register_type
out D_CBL_21_Bstd_logic
out data_vme_outstd_logic_vector (15 downto 0)
out D_CBL_04_Bstd_logic
in BF_SYSMON_03_NSTD_LOGIC
out data_from_vmestd_logic_vector (width - 1 downto 0)
in P12_24std_logic
out BF_ROI_DATA_OUT_DIRstd_logic
in P0_18std_logic
in energy_extra1std_logic_vector (23 downto 0)
in P15_0std_logic
in P2_3std_logic
in P5_24std_logic
in P15_2std_logic
in P12_19std_logic
in P8_8std_logic
in P6_7std_logic
in P12_0std_logic
ia_vmeinteger :=0
in clk120_instd_logic
Definition: SFP_TXRX.vhd:49
in P12_17std_logic
in BF_SYSMON_11_NSTD_LOGIC
Definition: sys_monitor.vhd:43
in P13_9std_logic
in data_vme_from_belowarr_16
--! inputs from local registers and from
out data_from_vmestd_logic_vector (width - 1 downto 0)
out D_CBL_80_Bstd_logic
in ncsstd_logic
in dsstd_logic
out GTXTEST_diagstd_logic
Definition: SFP_TXRX.vhd:41
in bus_drive_from_belowstd_logic
--! a request to drive the outside
in P14_12std_logic
in ncsstd_logic
Definition: CMX_version.vhd:22
in addr_vmestd_logic_vector (15 downto 0)
Definition: CMX_version.vhd:25
in P12_2std_logic
out D_CBL_29_Bstd_logic
out D_CBL_57_Bstd_logic
out MP1_F01_QUAD_110_TRN_0_DIRstd_logic
in BF_SYSMON_07_NSTD_LOGIC
Definition: sys_monitor.vhd:35
out BF_DOUT_CTP_05std_logic
in energy_extra0std_logic_vector (23 downto 0)
in data_vme_instd_logic_vector (15 downto 0)
out BF_DEBUG_4std_logic
out D_CBL_14_Bstd_logic
in P10_6std_logic
out BF_DOUT_CTP_50std_logic
in P1_0std_logic
in P12_9std_logic
in BCID_instd_logic_vector (11 downto 0)
in P8_20std_logic
in P13_2std_logic
in P13_4std_logic
in P11_6std_logic
in BF_SYSMON_14_NSTD_LOGIC
in BF_SYSMON_01_NSTD_LOGIC
Definition: sys_monitor.vhd:29
out MP2_F04_QUAD_115_TRN_0_CMPstd_logic
out data_vme_outstd_logic_vector (15 downto 0)
out data_vmestd_logic_vector (15 downto 0)
in P8_1std_logic
in CLK_40MHz08_DSKW_2_BF_LOGIC_CMPstd_logic
in BF_SYSMON_04_NSTD_LOGIC
in P0_15std_logic
in data_vme_instd_logic_vector (15 downto 0)
out buf_clk40_m180ostd_logic
out data_vme_outstd_logic_vector (15 downto 0)
in P12_11std_logic
in BF_SYSMON_12_PSTD_LOGIC
out MP2_F04_QUAD_115_TRN_0_DIRstd_logic
in addr_vmestd_logic_vector (15 downto 0)
in P3_22std_logic
in ncsstd_logic
Definition: sys_monitor.vhd:53
std_logic_vector (23 downto 1) vme_address
in P3_2std_logic
out BF_DOUT_CTP_57std_logic
in P14_1std_logic
out D_CBL_25_Bstd_logic
in P10_19std_logic
out BF_DOUT_CTP_42std_logic
in P3_13std_logic
in P15_24std_logic
in P9_22std_logic
out LOCAL_CABLE_OUTstd_logic_vector (4 * 26 - 1 downto 0)
Definition: CMX_SumEt.vhd:42
in OCB_A12std_logic
in P3_4std_logic
in P6_18std_logic
in addr_vmestd_logic_vector (15 downto 0)
Definition: sys_monitor.vhd:56
in P3_0std_logic
in data_vme_instd_logic_vector (15 downto 0)
in send_alignstd_logic_vector ((num_GTX_per_group * num_GTX_groups) - 1 downto 0)
in rd_nwrstd_logic
in P2_17std_logic
in P2_13std_logic
in OCB_A07std_logic
in P10_9std_logic
out BF_DOUT_CTP_51std_logic
in data_to_vmestd_logic_vector (width - 1 downto 0)
out D_CBL_33_Bstd_logic
out BF_DOUT_CTP_54std_logic
in OCB_A03std_logic
out MP1_F02_QUAD_112_TRN_2_DIRstd_logic
in BF_TO_FROM_BSPT_1std_logic
in OCB_A22std_logic
in local_datastd_logic_vector (4 * 26 - 1 downto 0)
out BF_DOUT_CTP_45std_logic
in BF_SYSMON_07_PSTD_LOGIC
Definition: sys_monitor.vhd:34
in P4_22std_logic
out data_vme_outstd_logic_vector (15 downto 0)
out write_detectstd_logic
in P10_10std_logic
in P12_20std_logic
in P14_8std_logic
out MP2_F08_QUAD_114_TRN_3_DIRstd_logic
in P0_10std_logic
in P6_14std_logic
arr_16 (1762 downto 0) data_vme_from_below_top
in P5_16std_logic
in P3_8std_logic
in n_ds0_intstd_logic
in P13_19std_logic
out BF_DOUT_CTP_60std_logic
in ENERGY_REMOTEstd_logic_vector (26 * 4 - 1 downto 0)
Definition: CMX_SumEt.vhd:23
in P4_19std_logic
in P4_23std_logic
in gtx_resetstd_logic
Definition: SFP_TXRX.vhd:34
out BF_DOUT_CTP_07std_logic
out BF_TO_FROM_BSPT_5std_logic
out MP2_F01_QUAD_113_TRN_0_DIRstd_logic
in P11_2std_logic
in P2_0std_logic
out D_CBL_07_Bstd_logic
in P15_10std_logic
out local_mmcm_reset_diagstd_logic
Definition: SFP_TXRX.vhd:40
in data_to_vmestd_logic_vector (width - 1 downto 0)
out D_CBL_62_Bstd_logic
in quietstd_logic
in P12_3std_logic
in DFETAP3std_logic_vector (3 downto 0)
Definition: SFP_TXRX.vhd:65
in P13_24std_logic
in OCB_A16std_logic
in P7_2std_logic
in P1_5std_logic
in P4_24std_logic
out MP1_F07_QUAD_110_TRN_2_CMPstd_logic
in addr_vmestd_logic_vector (15 downto 0)
in P12_8std_logic
in P2_24std_logic
in BF_SYSMON_09_PSTD_LOGIC
in P4_9std_logic
out DFEEYEDACMONstd_logic_vector (4 downto 0)
Definition: SFP_TXRX.vhd:59
out BF_DOUT_CTP_17std_logic
out D_CBL_09_Bstd_logic
in P7_17std_logic
in BF_SYSMON_01_PSTD_LOGIC
in T_MISS_E_MINarr_ctr_31bit (num_thresholds - 1 downto 0)
Definition: CMX_SumEt.vhd:33
in start_playbackstd_logic
out BF_DOUT_CTP_31std_logic
out BF_DOUT_CTP_38std_logic
out D_CBL_22_Bstd_logic
in P1_24std_logic
out BF_DOUT_CTP_37std_logic
in P10_14std_logic
in P1_23std_logic
out bus_drivestd_logic
out MP2_F08_QUAD_114_TRN_3_CMPstd_logic
in P11_10std_logic
out D_CBL_83_Bstd_logic
in P6_3std_logic
in addr_vmestd_logic_vector (15 downto 0)
out BF_DEBUG_8std_logic
out BF_DOUT_CTP_29std_logic
in DFEDLYOVRDstd_logic
Definition: SFP_TXRX.vhd:58
in dsstd_logic
Definition: sys_monitor.vhd:55
out BF_REQ_CABLE_3_INPUTstd_logic
out D_CBL_82_Bstd_logic
out BF_DOUT_CTP_35std_logic
out D_CBL_69_Bstd_logic
in P3_1std_logic
out BF_DOUT_CTP_26std_logic
in P14_4std_logic
out BF_DOUT_CTP_39std_logic
in P4_15std_logic
out GTX_RX_READY_OUTstd_logic
in P1_22std_logic
out BF_DOUT_CTP_23std_logic
in P15_23std_logic
in DFECLKDLYADJstd_logic_vector (5 downto 0)
Definition: SFP_TXRX.vhd:56
in P6_8std_logic
in P5_0std_logic
in P1_15std_logic
out MP2_F09_QUAD_114_TRN_0_DIRstd_logic
out BF_DOUT_CTP_16std_logic
in pll_lockedstd_logic
out data_vme_outstd_logic_vector (15 downto 0)
in P4_8std_logic
in P4_4std_logic
in P3_7std_logic
out local_pll_lock_outstd_logic
Definition: SFP_TXRX.vhd:35
in P5_11std_logic
in P10_12std_logic
in P5_18std_logic
out D_CBL_03_Bstd_logic
in P10_13std_logic
in P0_13std_logic
in P8_3std_logic
std_logic_vector (numactchan - 1 downto 0) counter_values
in ddr_data_inarr_RTM (num_RTM_cables - 1 downto 0)
in BF_SYSMON_10_NSTD_LOGIC
Definition: sys_monitor.vhd:41
in RXN_INstd_logic
Definition: SFP_TXRX.vhd:42
in P0_19std_logic
out D_CBL_54_Bstd_logic
in P7_0std_logic
out D_CBL_30_Bstd_logic
in P3_10std_logic
in P12_7std_logic
out counter_valuesstd_logic_vector (numactchan - 1 downto 0)
in P7_15std_logic
in P3_24std_logic
in P13_22std_logic
in T_MISS_E_MAXarr_ctr_31bit (num_thresholds - 1 downto 0)
Definition: CMX_SumEt.vhd:34
out data_vme_going_belowstd_logic_vector (15 downto 0)
in P14_5std_logic
in TXPOSTEMPHASIS_INstd_logic_vector (4 downto 0)
Definition: SFP_TXRX.vhd:53
in vme_addressstd_logic_vector (23 downto 1)
in BCID_instd_logic_vector (11 downto 0)
Definition: CMX_SumEt.vhd:43
in T_SUM_E_MINarr_ctr_15bit (num_thresholds - 1 downto 0)
Definition: CMX_SumEt.vhd:35
out D_CBL_23_Bstd_logic
out D_CBL_73_Bstd_logic
out data_vme_outstd_logic_vector (15 downto 0)
std_logic_vector (15 downto 0) data_vme_going_below
in P0_17std_logic
in P15_20std_logic
_library_ IEEEIEEE
Definition: CMX_top_Base.vhd:8
in P4_10std_logic
in data_to_vmestd_logic_vector (width - 1 downto 0)
in P11_14std_logic
in P2_11std_logic
out MP1_F00_QUAD_112_TRN_3_CMPstd_logic
directionstd_logic
Definition: SFP_TXRX.vhd:24
in P9_4std_logic
in P5_7std_logic
out BF_DOUT_CTP_28std_logic
in data_to_vmestd_logic_vector (width - 1 downto 0)
widthinteger :=16
in P7_16std_logic
in GTXRXRESET_INstd_logic
in MGTREFCLK_PAD_P_INstd_logic_vector (num_GTX_groups - 1 downto 0)
in BF_SYSMON_04_NSTD_LOGIC
Definition: sys_monitor.vhd:33
in P11_19std_logic
in P0_1std_logic
in P15_12std_logic
out bus_drivestd_logic
Definition: CMX_version.vhd:27
in P2_23std_logic
in D_CBL_08_Bstd_logic
in OCB_A05std_logic
in P2_22std_logic
in BF_SYSMON_14_PSTD_LOGIC
Definition: sys_monitor.vhd:48
std_logic_vector (15 downto 0) data_from_vme_test_rw
in P2_21std_logic
in P8_15std_logic
out data_vme_upstd_logic_vector (15 downto 0)
--! connect this to
in addr_vmestd_logic_vector (15 downto 0)
in P1_17std_logic
in P12_18std_logic
in P8_6std_logic
out data_vme_outstd_logic_vector (15 downto 0)
in addr_vmestd_logic_vector (15 downto 0)
out BF_DOUT_CTP_24std_logic
in BF_TO_TP_DAQ_SLINK_RETURN_CMPstd_logic
in P3_5std_logic
out GTX_TX_READY_OUTstd_logic
in P4_6std_logic
in BF_SYSMON_09_NSTD_LOGIC
in P14_14std_logic
out D_CBL_78_Bstd_logic
in P13_23std_logic
in OCB_A18std_logic
out BF_DOUT_CTP_53std_logic
out MP2_F02_QUAD_115_TRN_2_DIRstd_logic
in P15_16std_logic
in datastd_logic_vector ((numbits_in_CTP_connector * 2) - 1 downto 0)
in addr_vmestd_logic_vector (15 downto 0)
in P15_14std_logic
in P13_0std_logic
in P7_14std_logic
in clk_40std_logic
out BF_REQ_CABLE_1_INPUTstd_logic
in P11_16std_logic
std_logic read_detect_outreg_test
in OCB_A17std_logic
del_register_type del_register
in SUM_ET_RES_THRarr_ctr_15bit (num_thresholds - 1 downto 0)
Definition: CMX_SumEt.vhd:30
in OCB_A23std_logic
in OCB_A01std_logic
in addr_vmestd_logic_vector (15 downto 0)
out MP2_F09_QUAD_114_TRN_0_CMPstd_logic
in P9_20std_logic
in P0_7std_logic
in data_vme_instd_logic_vector (15 downto 0)
Definition: sys_monitor.vhd:57
out D_CBL_15_Bstd_logic
in P0_22std_logic
out clk120_outstd_logic
Definition: SFP_TXRX.vhd:47
in P14_20std_logic
in CLK_120MHz000_XTAL_1_BF_TRNCV_CMPstd_logic
in P8_13std_logic
out BF_DOUT_CTP_18std_logic
out BF_DOUT_CTP_06std_logic
in rd_nwrstd_logic
out BF_DOUT_CTP_27std_logic
out BF_DOUT_CTP_43std_logic
out buf_clk200std_logic
out MP2_F03_QUAD_113_TRN_1_DIRstd_logic
out D_CBL_49_Bstd_logic
in ext_triggerstd_logic
in BF_SYSMON_11_NSTD_LOGIC
in RXN_INstd_logic_vector ((num_GTX_per_group * num_GTX_groups) - 1 downto 0)
out BCID_delayedstd_logic_vector (11 downto 0)
Definition: CMX_SumEt.vhd:44
in P3_19std_logic
std_logic_vector (15 downto 0) data_to_vme_test_r
out MP2_F11_QUAD_114_TRN_1_CMPstd_logic
in P2_16std_logic
in P9_14std_logic
out DFETAP3MONITORstd_logic_vector (3 downto 0)
Definition: SFP_TXRX.vhd:66
out D_CBL_11_Bstd_logic
in energy_localstd_logic_vector (26 * 4 - 1 downto 0)
in P2_7std_logic
in P12_10std_logic
in data_vme_instd_logic_vector (15 downto 0)
in P10_24std_logic
out TXP_OUTstd_logic_vector ((num_GTX_per_group * num_GTX_groups) - 1 downto 0)
in P0_0std_logic
in P9_1std_logic
out MP1_F00_QUAD_112_TRN_3_DIRstd_logic
in resetstd_logic
in P11_5std_logic
out MP1_F06_QUAD_112_TRN_1_CMPstd_logic
in P14_16std_logic
in BF_SYSMON_11_PSTD_LOGIC
out GTX_RX_READY_OUTstd_logic
Definition: SFP_TXRX.vhd:37
in BF_SYSMON_01_PSTD_LOGIC
Definition: sys_monitor.vhd:28
out D_CBL_34_Bstd_logic
out BF_DOUT_CTP_58std_logic
in P8_2std_logic
out BF_DOUT_CTP_10std_logic
in data_to_vmestd_logic_vector (width - 1 downto 0)
in OCB_SYS_RESET_Bstd_logic
in P10_1std_logic
in P7_22std_logic
in par_errstd_logic_vector (1 downto 0)
Definition: CMX_SumEt.vhd:49
in DFETAP1std_logic_vector (4 downto 0)
Definition: SFP_TXRX.vhd:61
in SUM_ET_THRarr_ctr_15bit (num_thresholds - 1 downto 0)
Definition: CMX_SumEt.vhd:29
in P15_4std_logic
out D_CBL_70_Bstd_logic
in P3_3std_logic
in ncsstd_logic
in addr_vmestd_logic_vector (15 downto 0)
out bus_drive_upstd_logic
or of all bus drive requests from below
out BF_DOUT_CTP_03std_logic
out D_CBL_65_Bstd_logic
out buf_clk40std_logic
in P14_22std_logic
in BUF_TTC_BNCH_CNT_RESstd_logic
out BF_DEBUG_9std_logic
in P12_22std_logic
out D_CBL_51_Bstd_logic
in P6_22std_logic
in P11_22std_logic
in P13_15std_logic
in P10_8std_logic
out D_CBL_72_Bstd_logic
out D_CBL_00_Bstd_logic
out BF_DEBUG_5std_logic
out MP2_F10_QUAD_114_TRN_2_CMPstd_logic
in data_vme_instd_logic_vector (15 downto 0)
in P11_21std_logic
in P12_16std_logic
out datastd_logic_vector (numbits_in_RTM_connector * 2 * num_RTM_cables - 1 downto 0)
out MP1_F10_QUAD_111_TRN_2_CMPstd_logic
in P9_16std_logic
in P0_21std_logic
in BF_SYSMON_07_PSTD_LOGIC
in addr_vmestd_logic_vector (15 downto 0)
out D_CBL_77_Bstd_logic
out D_CBL_41_Bstd_logic
in P1_6std_logic
in energy_totalarr_ctr_15bit (5 downto 0)
in P13_8std_logic
out D_CBL_53_Bstd_logic
in P15_13std_logic
in data_vme_instd_logic_vector (15 downto 0)
in P8_5std_logic
out BF_DEBUG_0std_logic
in BF_SYSMON_08_NSTD_LOGIC
Definition: sys_monitor.vhd:37
in P3_20std_logic
in P10_21std_logic
in P11_12std_logic
out MP1_F09_QUAD_111_TRN_0_DIRstd_logic
in OCB_A08std_logic
out BF_REQ_CTP_1_INPUTstd_logic
out BF_LED_REQ_3std_logic
out data_vme_outstd_logic_vector (15 downto 0)
out BF_TO_FROM_BSPT_7std_logic
in P4_11std_logic
out BF_DOUT_CTP_25std_logic
out D_CBL_63_Bstd_logic
out ODATA_first_halfarr_2Xword (numactchan - 1 downto 0)
in CLK_320MHz64_LHC_BF_QUAD_114_CMPstd_logic
in BF_SYSMON_14_NSTD_LOGIC
Definition: sys_monitor.vhd:49
in data_vme_instd_logic_vector (15 downto 0)
in BF_SYSMON_07_NSTD_LOGIC
in P14_24std_logic
in dsstd_logic
in clk40_instd_logic
Definition: SFP_TXRX.vhd:48
in P14_18std_logic
in P7_23std_logic
in BF_SYSMON_08_PSTD_LOGIC
Definition: sys_monitor.vhd:36
in P5_12std_logic
in P13_11std_logic
in energy_ovflwstd_logic_vector (5 downto 0)
out DFETAP4MONITORstd_logic_vector (3 downto 0)
Definition: SFP_TXRX.vhd:68
out MP1_F05_QUAD_110_TRN_3_DIRstd_logic
in P2_10std_logic
in P3_18std_logic
in P3_12std_logic
in P8_17std_logic
out BF_DOUT_CTP_20std_logic
in BF_SYSMON_15_NSTD_LOGIC
in P13_5std_logic
in P13_14std_logic
in data_vme_from_belowstd_logic_vector (15 downto 0)
--! input: ORed
in P11_11std_logic
out buf_clk40_m90ostd_logic
in OCB_A06std_logic
out D_CBL_05_Bstd_logic
in P1_9std_logic
in P9_9std_logic
in P15_6std_logic
in P0_16std_logic
in P11_4std_logic
out MP1_F06_QUAD_112_TRN_1_DIRstd_logic
in P14_3std_logic
out board_dsstd_logic
out BF_DOUT_CTP_30std_logic
in P13_13std_logic
in BF_SYSMON_11_PSTD_LOGIC
Definition: sys_monitor.vhd:42
out MP2_F05_QUAD_113_TRN_3_DIRstd_logic
in P4_1std_logic
in clkstd_logic
Definition: sys_monitor.vhd:27
in P0_5std_logic
in spy_write_inhibitstd_logic
in addr_vmestd_logic_vector (15 downto 0)
in P6_6std_logic
in P5_15std_logic
out MP1_F09_QUAD_111_TRN_0_CMPstd_logic
in P5_1std_logic
out MP1_F05_QUAD_110_TRN_3_CMPstd_logic
in BUF_TTC_L1_ACCEPTstd_logic
in P6_10std_logic
in bcid_instd_logic_vector (11 downto 0)
in addr_vmestd_logic_vector (15 downto 0)
out BF_DEBUG_3std_logic
in ncsstd_logic
in BF_SYSMON_08_NSTD_LOGIC
in P2_4std_logic
in P12_14std_logic
in P8_7std_logic
in BF_SYSMON_10_PSTD_LOGIC
in P12_1std_logic
in P7_12std_logic
in RXEQMIX_INstd_logic_vector (2 downto 0)
Definition: SFP_TXRX.vhd:55
in P14_11std_logic
in MISS_E_THRarr_ctr_31bit (num_thresholds - 1 downto 0)
Definition: CMX_SumEt.vhd:27
in P0_14std_logic
out D_CBL_37_Bstd_logic
in P8_10std_logic
in clk320std_logic
out BF_DAQ_DATA_OUT_DIRstd_logic
out BF_DOUT_CTP_22std_logic
in indatastd_logic_vector (7 downto 0)
Definition: SFP_TXRX.vhd:50
in P5_17std_logic
out BF_DOUT_CTP_08std_logic
in P7_19std_logic
out D_CBL_44_Bstd_logic
in clkstd_logic
in P15_8std_logic
in CLK_320MHz64_LHC_BF_QUAD_111_CMPstd_logic
in P14_2std_logic
ADDR_REG_RO_SYSMON_DATA_BLOCKinteger :=16#1364#
Definition: sys_monitor.vhd:22
in data_to_vmestd_logic_vector (width - 1 downto 0)
in P8_0std_logic
out BF_TO_FROM_BSPT_4std_logic
out BF_DEBUG_6std_logic
out data_vmestd_logic_vector (15 downto 0)
in P15_22std_logic
out BF_DOUT_CTP_09std_logic
in P8_14std_logic
out odatastd_logic_vector (7 downto 0)
Definition: SFP_TXRX.vhd:51
out MP1_F08_QUAD_111_TRN_3_CMPstd_logic
in P15_3std_logic
in P11_24std_logic
in P9_15std_logic
in P4_16std_logic
out GTX_TX_READY_OUTstd_logic
Definition: SFP_TXRX.vhd:36
in P15_21std_logic
out bus_drivestd_logic
in BF_SYSMON_15_PSTD_LOGIC
Definition: sys_monitor.vhd:50
in CLK_320MHz64_LHC_BF_QUAD_111_DIRstd_logic
in P12_21std_logic
in P7_13std_logic
in P13_21std_logic
in P0_12std_logic
in OCB_A13std_logic
in D_CBL_16_Bstd_logic
out MP1_F11_QUAD_111_TRN_1_DIRstd_logic
in P7_4std_logic
out MP1_F03_QUAD_110_TRN_1_CMPstd_logic
in P7_24std_logic
in OCB_A04std_logic
out BF_REQ_CABLE_2_INPUTstd_logic
out MP2_F03_QUAD_113_TRN_1_CMPstd_logic
in CLKstd_logic
Definition: CMX_SumEt.vhd:21
in P8_23std_logic
in P9_8std_logic
out data_vme_outstd_logic_vector (15 downto 0)
out pll_locked_ds2std_logic
in OCB_WRITE_Bstd_logic
in P4_2std_logic
in OCB_GEO_ADRS_0std_logic
in P13_3std_logic
in rd_nwrstd_logic
Definition: CMX_version.vhd:23
in P5_9std_logic
in P10_4std_logic
in P2_9std_logic
in P0_20std_logic
out DFETAP1MONITORstd_logic_vector (4 downto 0)
Definition: SFP_TXRX.vhd:62
out MP2_F10_QUAD_114_TRN_2_DIRstd_logic
in data_vme_instd_logic_vector (15 downto 0)
in P1_14std_logic
in DFETAP2std_logic_vector (4 downto 0)
Definition: SFP_TXRX.vhd:63
in P12_13std_logic
in indatastd_logic_vector (TX_indata_length - 1 downto 0)
out BF_DOUT_CTP_63std_logic
out D_CBL_75_Bstd_logic
in P6_20std_logic
in BF_SYSMON_03_PSTD_LOGIC
in P1_13std_logic
in XS_B2arr_ctr_15bit (num_thresholds - 1 downto 0)
Definition: CMX_SumEt.vhd:37
in P2_12std_logic
in P5_19std_logic
in P6_23std_logic
in P11_13std_logic
out Data_outstd_logic_vector (TX_indata_length - 1 downto 0)
in BF_SYSMON_04_PSTD_LOGIC
Definition: sys_monitor.vhd:32
in BCIDstd_logic_vector (11 downto 0)
out BF_DOUT_CTP_40std_logic
in buf_clk40std_logic
in dataiarr_4Xword (max_jems - 1 downto 0)
out PLLLKDET_diagstd_logic
Definition: SFP_TXRX.vhd:38
in P5_20std_logic
in P5_22std_logic
in BF_SYSMON_04_PSTD_LOGIC
out D_CBL_60_Bstd_logic
out BF_ROI_DATA_OUT_CMPstd_logic
out BF_DOUT_CTP_15std_logic
in P6_9std_logic
in D_CBL_43_Bstd_logic
in P2_5std_logic
out BF_DOUT_CTP_62std_logic
in P10_2std_logic
in P14_19std_logic
out brdsel_nstd_logic
clock_sourcestd_logic
Definition: SFP_TXRX.vhd:27
out BF_DOUT_CTP_33std_logic
in P0_23std_logic
out D_CBL_26_Bstd_logic
out bus_drivestd_logic
in P12_5std_logic
in P8_18std_logic
in P0_24std_logic
out bus_drivestd_logic
in addr_vmestd_logic_vector (15 downto 0)
in BF_SYSMON_15_NSTD_LOGIC
Definition: sys_monitor.vhd:51
out MP2_F00_QUAD_115_TRN_3_DIRstd_logic
in RXN_INstd_logic_vector ((num_GTX_per_group * num_GTX_groups) - 1 downto 0)
out D_CBL_47_Bstd_logic
in P8_11std_logic
out bus_drivestd_logic
out D_CBL_68_Bstd_logic
in ncsstd_logic
in P12_15std_logic
in RXP_INstd_logic_vector ((num_GTX_per_group * num_GTX_groups) - 1 downto 0)
unsigned (15 downto 0) test_rw_counter
in P7_11std_logic
in P8_12std_logic
out D_CBL_55_Bstd_logic
in P4_3std_logic
in P0_9std_logic
out DFESENSCALstd_logic_vector (2 downto 0)
Definition: SFP_TXRX.vhd:60
in P11_9std_logic
in P6_12std_logic
in P13_7std_logic
out D_CBL_36_Bstd_logic
in energy_remotestd_logic_vector (26 * 4 - 1 downto 0)
out D_CBL_56_Bstd_logic
in CLK_40MHz08_DSKW_1_BF_LOGIC_CMPstd_logic
in P9_24std_logic
out buf_clk40_90ostd_logic
out BF_DOUT_CTP_48std_logic
in OCB_A02std_logic
in MGTREFCLKstd_logic
Definition: SFP_TXRX.vhd:33
in P4_0std_logic
out D_CBL_50_Bstd_logic
out D_CBL_40_Bstd_logic
out BF_DOUT_CTP_44std_logic
in BF_SYSMON_08_PSTD_LOGIC
in P9_23std_logic
in P13_12std_logic
out BF_DOUT_CTP_52std_logic
in P15_9std_logic
test registers
in MISS_E_RES_THRarr_ctr_31bit (num_thresholds - 1 downto 0)
Definition: CMX_SumEt.vhd:28
out D_CBL_12_Bstd_logic
in OCB_A20std_logic
in P0_4std_logic
in P6_13std_logic
std_logic_vector (1762 downto 0) bus_drive_from_below_top
in P10_3std_logic
in P1_3std_logic
in P0_3std_logic
out BF_REQ_CTP_2_INPUTstd_logic
in P14_15std_logic
in P9_5std_logic
out clk40_outstd_logic
Definition: SFP_TXRX.vhd:46
in P9_19std_logic
out D_CBL_46_Bstd_logic
in P7_8std_logic
out MP1_F02_QUAD_112_TRN_2_CMPstd_logic
in P14_0std_logic
in P2_2std_logic
in P10_0std_logic
out bus_drivestd_logic
Definition: sys_monitor.vhd:59
out MP2_F00_QUAD_115_TRN_3_CMPstd_logic
in P6_2std_logic
in P10_7std_logic
in BF_SYSMON_12_NSTD_LOGIC
Definition: sys_monitor.vhd:45
in P10_22std_logic
in P4_5std_logic
in P8_4std_logic
in P7_1std_logic
in clk40std_logic
out MP2_F05_QUAD_113_TRN_3_CMPstd_logic
in XS_T2_A2arr_ctr_31bit (num_thresholds - 1 downto 0)
Definition: CMX_SumEt.vhd:31
out MP1_F08_QUAD_111_TRN_3_DIRstd_logic
std_logic write_detect_inreg_test
out ov_all_outstd_logic_vector (5 downto 0)
Definition: CMX_SumEt.vhd:38
in pll_lockedstd_logic
in P15_1std_logic
in data_vme_instd_logic_vector (15 downto 0)
inout OCB_Dstd_logic_vector (15 downto 0)
in P13_10std_logic
in D_CBL_35_Bstd_logic
in DFETAPOVRDstd_logic
Definition: SFP_TXRX.vhd:69
in dsstd_logic
Definition: CMX_version.vhd:24
in P0_2std_logic
in P10_20std_logic
in P2_8std_logic
in P5_5std_logic
in P15_11std_logic
out BF_DOUT_CTP_02std_logic
out MP1_F01_QUAD_110_TRN_0_CMPstd_logic
in P3_9std_logic
in D_CBL_31_Bstd_logic
inout data_vmestd_logic_vector (15 downto 0)
out CTP_CABLE_1std_logic_vector (23 downto 0)
Definition: CMX_SumEt.vhd:25
out read_detectstd_logic
in data_to_vmestd_logic_vector (width - 1 downto 0)
out D_CBL_13_Bstd_logic
in CLK_40MHz08_DSKW_1_BF_LOGIC_DIRstd_logic
out BF_DOUT_CTP_13std_logic
in P13_1std_logic
out MP2_F02_QUAD_115_TRN_2_CMPstd_logic
in P15_7std_logic
out MP2_F06_QUAD_115_TRN_1_CMPstd_logic
out D_CBL_61_Bstd_logic
in clk40std_logic
Definition: CMX_version.vhd:21
out buf_clk40_ds2std_logic
in P6_17std_logic
in P5_3std_logic
out BF_DOUT_CTP_59std_logic
out D_CBL_71_Bstd_logic
in buf_clk200std_logic
in CLK_40MHz08_DSKW_2_BF_LOGIC_DIRstd_logic
in BF_TO_TP_ROI_SLINK_RETURN_DIRstd_logic
in rd_nwrstd_logic
out BF_DOUT_CTP_56std_logic
in P15_17std_logic
in GTXTXRESET_INstd_logic
out MP2_F07_QUAD_113_TRN_2_CMPstd_logic
in P4_7std_logic
in P2_20std_logic
out D_CBL_19_Bstd_logic
in P14_23std_logic
out BF_DOUT_CTP_11std_logic
in P3_17std_logic
out BF_DOUT_CTP_36std_logic
out MP1_F03_QUAD_110_TRN_1_DIRstd_logic
_library_ UNISIMUNISIM
out D_CBL_66_Bstd_logic
in bus_drive_from_belowstd_logic_vector
in RXP_INstd_logic
Definition: SFP_TXRX.vhd:43
in P11_15std_logic
in P5_23std_logic
in P13_16std_logic
in P9_0std_logic
in P1_12std_logic
in BF_SYSMON_12_NSTD_LOGIC
in P8_22std_logic
out CTP_CABLE_0std_logic_vector (23 downto 0)
Definition: CMX_SumEt.vhd:24
out BF_DEBUG_1std_logic
out D_CBL_02_Bstd_logic
out D_CBL_52_Bstd_logic
in P11_17std_logic
out D_CBL_18_Bstd_logic
out D_CBL_10_Bstd_logic
in P10_17std_logic
out MP2_F06_QUAD_115_TRN_1_DIRstd_logic
out BF_DOUT_CTP_12std_logic
out D_CBL_45_Bstd_logic