23 use IEEE.STD_LOGIC_1164.
ALL;
35 Port ( clock : in STD_LOGIC;
37 tvalid : in STD_LOGIC;
39 tdata : in STD_logic_vector(63 downto 0);
40 channel_up : in STD_LOGIC;
41 soft_error : in STD_LOGIC;
42 hard_error : in STD_LOGIC;
44 l1id_mis_stretch : in std_logic
52 fex_check :
integer :=
0;
53 crc20_G_Poly :
std_logic_vector(
19 downto 0) := x"
8349f"
58 s_tvalid :
in std_logic;
59 s_tlast :
in std_logic;
60 s_tdata :
in std_logic_vector(
63 downto 0);
61 header_error :
out std_logic;
62 payload_error :
out std_logic;
63 length_error :
out std_logic
67 COMPONENT chan_crc_ila
71 probe0 :
IN STD_LOGIC_VECTOR(
63 DOWNTO 0);
72 probe1 :
IN STD_LOGIC_VECTOR(
0 DOWNTO 0);
73 probe2 :
IN STD_LOGIC_VECTOR(
0 DOWNTO 0);
74 probe3 :
IN STD_LOGIC_VECTOR(
0 DOWNTO 0);
75 probe4 :
IN STD_LOGIC_VECTOR(
0 DOWNTO 0);
76 probe5 :
IN STD_LOGIC_VECTOR(
0 DOWNTO 0);
77 probe6 :
IN STD_LOGIC_VECTOR(
0 DOWNTO 0);
78 probe7 :
IN STD_LOGIC_VECTOR(
0 DOWNTO 0);
79 probe8 :
IN STD_LOGIC_VECTOR(
0 DOWNTO 0);
80 probe9 :
IN STD_LOGIC_VECTOR(
0 DOWNTO 0);
81 probe10 :
IN STD_LOGIC_VECTOR(
0 DOWNTO 0)
85 signal header_crc9_error : std_logic;
86 signal payload_crc20_error : std_logic;
87 signal length_error : std_logic;
88 signal L1A_sync_cdc_to : std_logic;
89 signal L1A_sync2 : std_logic;
91 ATTRIBUTE async_reg : STRING;
92 ATTRIBUTE async_reg of L1A_sync_cdc_to : SIGNAL IS "true";
100 crc20_G_Poly => x"8359f"
108 header_error => header_crc9_error,
109 payload_error => payload_crc20_error,
110 length_error => length_error
114 ila_crc_check : chan_crc_ila
120 probe3
(0) => channel_up,
121 probe4
(0) => header_crc9_error,
122 probe5
(0) => payload_crc20_error,
123 probe6
(0) => length_error,
124 probe7
(0) => soft_error,
125 probe8
(0) => hard_error,
126 probe9
(0) => L1A_sync2,
127 probe10
(0) => l1id_mis_stretch
131 process (clock)
begin
132 if rising_edge(clock) then
133 L1A_sync_cdc_to <= L1A;
134 L1A_sync2 <= L1A_sync_cdc_to;