23 use IEEE.STD_LOGIC_1164.
ALL;
39 init_clk : in STD_LOGIC;
40 chan_reg_reset : in STD_LOGIC;
41 bp_reg_reset : in STD_LOGIC;
42 master_reset : in STD_LOGIC;
43 channel_up : in STD_LOGIC;
44 error_counter_reset : in STD_LOGIC;
45 aurora_reset_out : out STD_LOGIC;
46 GT_reset : out STD_LOGIC;
47 fex_reset : out STD_LOGIC;
48 self_reset_count : out std_logic_vector(31 downto 0);
49 chan_up_time : out std_logic_vector(31 downto 0);
50 channel_down_auto_reset_disable : in std_logic
60 Port ( init_clk :
in STD_LOGIC;
62 rst_sw :
in STD_LOGIC;
63 tx_reset :
out STD_LOGIC;
64 tx_GTReset :
out STD_LOGIC := '
0';
65 rx_reset :
out STD_LOGIC;
66 rx_GTReset :
out STD_LOGIC := '
0');
72 GAP_WIDTH :
integer :=
17;
78 channel_up :
in STD_LOGIC;
79 reset_in :
in STD_LOGIC;
80 aurora_reset :
in STD_LOGIC;
81 error_counter_reset:
in STD_LOGIC;
82 channel_down_auto_reset_disable :
in STD_LOGIC;
83 reset_out :
out std_logic;
84 reset_count :
out std_logic_vector(
31 downto 0);
85 chan_up_time :
out std_logic_vector(
31 downto 0)
91 COUNTER_WIDTH :
integer :=
5
96 pulse_in :
in STD_LOGIC;
97 pulse_out :
out STD_LOGIC
103 signal start_seq : STD_LOGIC;
104 signal chan_good : STD_LOGIC := '0';
105 signal rx_reset : STD_LOGIC;
106 signal chan_down : STD_LOGIC := '0';
107 signal reset_in : std_logic;
108 signal reg_pulse : std_logic;
109 signal stretch_pulse : std_logic;
113 reg_pulse <= chan_reg_reset or bp_reg_reset;
121 reset => master_reset,
122 pulse_in => reg_pulse,
123 pulse_out => stretch_pulse
129 reset_in <= master_reset or stretch_pulse;
133 init_clk => init_clk,
138 rx_reset => rx_reset,
139 rx_GTReset => GT_reset
150 channel_up => channel_up,
151 reset_in => reset_in,
152 aurora_reset => rx_reset,
153 error_counter_reset => error_counter_reset,
154 channel_down_auto_reset_disable => channel_down_auto_reset_disable,
155 reset_out => start_seq,
156 reset_count => self_reset_count,
157 chan_up_time => chan_up_time
161 aurora_reset_out <= rx_reset;
162 fex_reset <= start_seq;
170 process (init_clk)
begin
171 if rising_edge (init_clk) then
172 if channel_up = '1' and rx_reset = '0' then
175 elsif rx_reset = '0' and channel_up = '0' then
178 elsif chan_down = '1' then
The clock input is connected to the 125MHz ethernet clock. A Gap width of 17-bits therefore equates t...