SURF  1.0
Gtx7TxRst.vhd
Go to the documentation of this file.
1 --////////////////////////////////////////////////////////////////////////////////
2 --// ____ ____
3 --// / /\/ /
4 --// /___/ \ / Vendor: Xilinx
5 --// \ \ \/ Version : 2.2
6 --// \ \ Application : 7 Series FPGAs Transceivers Wizard
7 --// / / Filename :Gtx7TxRst.vhd
8 --// /___/ /\
9 --// \ \ / \
10 --// \___\/\___\
11 --//
12 --//
13 -- Description : This module performs TX reset and initialization.
14 --
15 --
16 --
17 -- Module Gtx7TxRst
18 -- Generated by Xilinx 7 Series FPGAs Transceivers Wizard
19 --
20 --
21 -- (c) Copyright 2010-2012 Xilinx, Inc. All rights reserved.
22 --
23 -- This file contains confidential and proprietary information
24 -- of Xilinx, Inc. and is protected under U.S. and
25 -- international copyright and other intellectual property
26 -- laws.
27 --
28 -- DISCLAIMER
29 -- This disclaimer is not a license and does not grant any
30 -- rights to the materials distributed herewith. Except as
31 -- otherwise provided in a valid license issued to you by
32 -- Xilinx, and to the maximum extent permitted by applicable
33 -- law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND
34 -- WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES
35 -- AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING
36 -- BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON-
37 -- INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and
38 -- (2) Xilinx shall not be liable (whether in contract or tort,
39 -- including negligence, or under any other theory of
40 -- liability) for any loss or damage of any kind or nature
41 -- related to, arising under or in connection with these
42 -- materials, including for any direct, or any indirect,
43 -- special, incidental, or consequential loss or damage
44 -- (including loss of data, profits, goodwill, or any type of
45 -- loss or damage suffered as a result of any action brought
46 -- by a third party) even if such damage or loss was
47 -- reasonably foreseeable or Xilinx had been advised of the
48 -- possibility of the same.
49 --
50 -- CRITICAL APPLICATIONS
51 -- Xilinx products are not designed or intended to be fail-
52 -- safe, or for use in any application requiring fail-safe
53 -- performance, such as life-support or safety devices or
54 -- systems, Class III medical devices, nuclear facilities,
55 -- applications related to the deployment of airbags, or any
56 -- other applications that could lead to death, personal
57 -- injury, or severe property or environmental damage
58 -- (individually and collectively, "Critical
59 -- Applications"). Customer assumes the sole risk and
60 -- liability of any use of Xilinx products in Critical
61 -- Applications, subject only to applicable laws and
62 -- regulations governing limitations on product liability.
63 --
64 -- THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS
65 -- PART OF THIS FILE AT ALL TIMES.
66 
67 
68 --*****************************************************************************
69 
70 library IEEE;
71 use IEEE.STD_LOGIC_1164.all;
72 use IEEE.NUMERIC_STD.all;
73 
74 --! @see entity
75  --! @ingroup xilinx_7Series_gtx7
76 entity Gtx7TxRst is
77  generic(
78  TPD_G : time := 1 ns;
79  GT_TYPE : string := "GTX";
80  STABLE_CLOCK_PERIOD : integer range 4 to 20 := 8; --Period of the stable clock driving this state-machine, unit is [ns]
81  RETRY_COUNTER_BITWIDTH : integer range 2 to 8 := 8
82  );
83  port (
84  STABLE_CLOCK : in std_logic; --Stable Clock, either a stable clock from the PCB
85  --or reference-clock present at startup.
86  TXUSERCLK : in std_logic; --TXUSERCLK as used in the design
87  SOFT_RESET : in std_logic; --User Reset, can be pulled any time
88  PLLREFCLKLOST : in std_logic; --PLL Reference-clock for the GT is lost
89  PLLLOCK : in std_logic; --Lock Detect from the PLL of the GT
90  TXRESETDONE : in std_logic;
91  MMCM_LOCK : in std_logic;
92  GTTXRESET : out std_logic := '0';
93  MMCM_RESET : out std_logic := '1';
94  PLL_RESET : out std_logic := '0'; --Reset PLL
95  TX_FSM_RESET_DONE : out std_logic; --Reset-sequence has sucessfully been finished.
96  TXUSERRDY : out std_logic := '0';
97  RUN_PHALIGNMENT : out std_logic := '0';
98  RESET_PHALIGNMENT : out std_logic := '0';
99  PHALIGNMENT_DONE : in std_logic;
100 
101  RETRY_COUNTER : out std_logic_vector (RETRY_COUNTER_BITWIDTH-1 downto 0) := (others => '0') -- Number of
102  -- Retries it took to get the transceiver up and running
103  );
104 end Gtx7TxRst;
105 
106 --Interdependencies:
107 -- * Timing depends on the frequency of the stable clock. Hence counters-sizes
108 -- are calculated at design-time based on the Generics
109 --
110 -- * if either of PLLs is reset during TX-startup, it does not need to be reset again by RX
111 -- => signal which PLL has been reset
112 -- *
113 
114 
115 
116 architecture RTL of Gtx7TxRst is
117 
119  INIT, ASSERT_ALL_RESETS, RELEASE_PLL_RESET,
120  RELEASE_MMCM_RESET, WAIT_RESET_DONE, DO_PHASE_ALIGNMENT,
121  RESET_FSM_DONE);
122 
123  signal tx_state : tx_rst_fsm_type := INIT;
124 
125  constant MMCM_LOCK_CNT_MAX : integer := 1024;
126  constant STARTUP_DELAY : integer := 500; --AR43482: Transceiver needs to wait for 500 ns after configuration
127  constant WAIT_CYCLES : integer := STARTUP_DELAY / STABLE_CLOCK_PERIOD; -- Number of Clock-Cycles to wait after configuration
128  constant WAIT_MAX : integer := WAIT_CYCLES + 10; -- 500 ns plus some additional margin
129 
130  constant WAIT_TIMEOUT_2ms : integer := 2000000 / STABLE_CLOCK_PERIOD; -- 2 ms time-out
131  constant WAIT_TLOCK_MAX : integer := 100000 / STABLE_CLOCK_PERIOD; --100 us time-out
132  constant WAIT_TIMEOUT_500us : integer := 500000 / STABLE_CLOCK_PERIOD; --100 us time-out
133 
134  signal soft_reset_sync : std_logic;
135  signal soft_reset_rise : std_logic;
136  signal soft_reset_fall : std_logic;
137 
138  signal init_wait_count : integer range 0 to WAIT_MAX := 0;
139  signal init_wait_done : std_logic := '0';
140  signal pll_reset_asserted : std_logic := '0';
141 
142  signal tx_fsm_reset_done_int : std_logic := '0';
143  signal tx_fsm_reset_done_int_s3 : std_logic := '0';
144 
145  signal txresetdone_s3 : std_logic := '0';
146 
147  constant MAX_RETRIES : integer := 2**RETRY_COUNTER_BITWIDTH-1;
148  signal retry_counter_int : integer range 0 to MAX_RETRIES;
149  signal time_out_counter : integer range 0 to WAIT_TIMEOUT_2ms := 0;
150 
151  signal reset_time_out : std_logic := '0';
152  signal time_out_2ms : std_logic := '0'; --\Flags that the various time-out points
153  signal time_tlock_max : std_logic := '0'; --|have been reached.
154  signal time_out_500us : std_logic := '0'; --/
155 
156  signal mmcm_lock_count : integer range 0 to MMCM_LOCK_CNT_MAX-1 := 0;
157  signal mmcm_lock_int : std_logic := '0';
158  signal mmcm_lock_reclocked : std_logic_vector(3 downto 0) := (others => '0');
159 
160  signal run_phase_alignment_int : std_logic := '0';
161  signal run_phase_alignment_int_s3 : std_logic := '0';
162 
163  constant MAX_WAIT_BYPASS : integer := 110000; --110000 TXUSRCLK cycles is the max time for Multi lane designs
164  signal wait_bypass_count : integer range 0 to MAX_WAIT_BYPASS-1;
165  signal time_out_wait_bypass : std_logic := '0';
166  signal time_out_wait_bypass_s3 : std_logic := '0';
167  signal refclk_lost : std_logic;
168 
169  signal plllock_sync : std_logic := '0';
170 
171  attribute KEEP_HIERARCHY : string;
172  attribute KEEP_HIERARCHY of
173  Synchronizer_run_phase_alignment,
174  Synchronizer_fsm_reset_done,
175  Synchronizer_SOFT_RESET,
176  Synchronizer_TXRESETDONE,
177  Synchronizer_time_out_wait_bypass,
178  Synchronizer_mmcm_lock_reclocked,
179  Synchronizer_PLLLOCK : label is "TRUE";
180 
181 begin
182 
183  --Alias section, signals used within this module mapped to output ports:
184  RETRY_COUNTER <= std_logic_vector(TO_UNSIGNED(retry_counter_int, RETRY_COUNTER_BITWIDTH));
187 
188  process(STABLE_CLOCK)
189  begin
190  if rising_edge(STABLE_CLOCK) then
191  -- The counter starts running when configuration has finished and
192  -- the clock is stable. When its maximum count-value has been reached,
193  -- the 500 ns from Answer Record 43482 have been passed.
194  if init_wait_count = WAIT_MAX then
195  init_wait_done <= '1';
196  else
198  end if;
199  end if;
200  end process;
201 
202 
203  timeouts : process(STABLE_CLOCK)
204  begin
205  if rising_edge(STABLE_CLOCK) then
206  -- One common large counter for generating three time-out signals.
207  -- Intermediate time-outs are derived from calculated values, based
208  -- on the period of the provided clock.
209  if reset_time_out = '1' then
210  time_out_counter <= 0;
211  time_out_2ms <= '0';
212  time_tlock_max <= '0';
213  time_out_500us <= '0';
214  else
216  time_out_2ms <= '1';
217  else
219  end if;
220 
222  time_tlock_max <= '1';
223  end if;
224 
226  time_out_500us <= '1';
227  end if;
228  end if;
229  end if;
230  end process;
231 
232  mmcm_lock_wait : process(TXUSERCLK, MMCM_LOCK)
233  begin
234  if MMCM_LOCK = '0' then
235  mmcm_lock_count <= 0;
236  mmcm_lock_int <= '0';
237  elsif rising_edge(TXUSERCLK) then
238  if mmcm_lock_count < MMCM_LOCK_CNT_MAX - 1 then
240  else
241  mmcm_lock_int <= '1';
242  end if;
243  end if;
244  end process;
245 
246 
247  -- Clock Domain Crossing
248  Synchronizer_run_phase_alignment : entity work.Synchronizer
249  generic map (
250  TPD_G => TPD_G,
251  STAGES_G => 3,
252  INIT_G => "000")
253  port map (
254  clk => TXUSERCLK,
257 
258  Synchronizer_fsm_reset_done : entity work.Synchronizer
259  generic map (
260  TPD_G => TPD_G,
261  STAGES_G => 3,
262  INIT_G => "000")
263  port map (
264  clk => TXUSERCLK,
267 
268  Synchronizer_SOFT_RESET : entity work.SynchronizerEdge
269  generic map (
270  TPD_G => TPD_G)
271  port map (
272  clk => STABLE_CLOCK,
273  dataIn => SOFT_RESET,
277 
278  Synchronizer_TXRESETDONE : entity work.Synchronizer
279  generic map (
280  TPD_G => TPD_G,
281  STAGES_G => 3,
282  INIT_G => "000")
283  port map (
284  clk => STABLE_CLOCK,
285  dataIn => TXRESETDONE,
287 
288  Synchronizer_time_out_wait_bypass : entity work.Synchronizer
289  generic map (
290  TPD_G => TPD_G,
291  STAGES_G => 3,
292  INIT_G => "000")
293  port map (
294  clk => STABLE_CLOCK,
297 
298  Synchronizer_mmcm_lock_reclocked : entity work.Synchronizer
299  generic map (
300  TPD_G => TPD_G)
301  port map (
302  clk => STABLE_CLOCK,
305 
306  Synchronizer_PLLLOCK : entity work.Synchronizer
307  generic map (
308  TPD_G => TPD_G)
309  port map (
310  clk => STABLE_CLOCK,
311  dataIn => PLLLOCK,
312  dataOut => plllock_sync);
313 
314 
315  timeout_buffer_bypass : process(TXUSERCLK)
316  begin
317  if rising_edge(TXUSERCLK) then
318  if run_phase_alignment_int_s3 = '0' then
319  wait_bypass_count <= 0;
320  time_out_wait_bypass <= '0';
321  elsif (run_phase_alignment_int_s3 = '1') and (tx_fsm_reset_done_int_s3 = '0') then
322  if wait_bypass_count = MAX_WAIT_BYPASS - 1 then
323  time_out_wait_bypass <= '1';
324  else
326  end if;
327  end if;
328  end if;
329  end process;
330 
332 
333 
334  --FSM for resetting the GTX/GTH/GTP in the 7-series.
335  --~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
336  --
337  -- Following steps are performed:
338  -- 1) Only for GTX - After configuration wait for approximately 500 ns as specified in
339  -- answer-record 43482
340  -- 2) Assert all resets on the GT and on an MMCM potentially connected.
341  -- After that wait until a reference-clock has been detected.
342  -- 3) Release the reset to the GT and wait until the GT-PLL has locked.
343  -- 4) Release the MMCM-reset and wait until the MMCM has signalled lock.
344  -- Also signal to the RX-side which PLL has been reset.
345  -- 5) Wait for the RESET_DONE-signal from the GT.
346  -- 6) Signal to start the phase-alignment procedure and wait for it to
347  -- finish.
348  -- 7) Reset-sequence has successfully run through. Signal this to the
349  -- rest of the design by asserting TX_FSM_RESET_DONE.
350 
351  reset_fsm : process(STABLE_CLOCK)
352  begin
353  if rising_edge(STABLE_CLOCK) then
354  if(soft_reset_sync = '1' or
355  (not(tx_state = INIT) and not(tx_state = ASSERT_ALL_RESETS) and refclk_lost = '1')) then
356  tx_state <= INIT;
357  TXUSERRDY <= '0';
358  GTTXRESET <= '0';
359  MMCM_RESET <= '1';
360  tx_fsm_reset_done_int <= '0';
361  PLL_RESET <= '0';
362  pll_reset_asserted <= '0'; -- Only assert after powerup?
363  reset_time_out <= '0';
364  retry_counter_int <= 0;
366  RESET_PHALIGNMENT <= '1';
367  else
368 
369  case tx_state is
370  when INIT =>
371  --Initial state after configuration. This state will be left after
372  --approx. 500 ns and not be re-entered.
373  if init_wait_done = '1' then
374  tx_state <= ASSERT_ALL_RESETS;
375  reset_time_out <= '1';
376  end if;
377 
378  when ASSERT_ALL_RESETS =>
379  --This is the state into which the FSM will always jump back if any
380  --time-outs will occur.
381  --The number of retries is reported on the output RETRY_COUNTER. In
382  --case the transceiver never comes up for some reason, this machine
383  --will still continue its best and rerun until the FPGA is turned off
384  --or the transceivers come up correctly.
385 
386  if pll_reset_asserted = '0' then
387  PLL_RESET <= '1';
388  pll_reset_asserted <= '1';
389  else
390  PLL_RESET <= '0';
391  end if;
392 
393  TXUSERRDY <= '0';
394  GTTXRESET <= '1';
395  MMCM_RESET <= '1';
396  reset_time_out <= '0';
398  RESET_PHALIGNMENT <= '1';
399 
400  if (PLLREFCLKLOST = '0' and pll_reset_asserted = '1') then
401  tx_state <= RELEASE_PLL_RESET;
402  end if;
403 
404  when RELEASE_PLL_RESET =>
405  --PLL-Reset of the GTX gets released and the time-out counter
406  --starts running.
407  pll_reset_asserted <= '1';
408 
409  if (plllock_sync = '1') then
410  tx_state <= RELEASE_MMCM_RESET;
411  reset_time_out <= '1';
412  end if;
413 
414  if time_out_2ms = '1' then
416  -- If too many retries are performed compared to what is specified in
417  -- the generic, the counter simply wraps around.
418  retry_counter_int <= 0;
419  else
421  end if;
422  tx_state <= ASSERT_ALL_RESETS;
423  end if;
424 
425  when RELEASE_MMCM_RESET =>
426  GTTXRESET <= '0';
427  reset_time_out <= '0';
428  --Release of the MMCM-reset. Waiting for the MMCM to lock.
429  MMCM_RESET <= '0';
430  if mmcm_lock_reclocked(0) = '1' then
431  tx_state <= WAIT_RESET_DONE;
432  reset_time_out <= '1';
433  end if;
434 
435  if time_tlock_max = '1' and mmcm_lock_reclocked(0) = '0' then
437  -- If too many retries are performed compared to what is specified in
438  -- the generic, the counter simply wraps around.
439  retry_counter_int <= 0;
440  else
442  end if;
443  tx_state <= ASSERT_ALL_RESETS;
444  end if;
445 
446  when WAIT_RESET_DONE =>
447  TXUSERRDY <= '1';
448  reset_time_out <= '0';
449  if txresetdone_s3 = '1' then
450  tx_state <= DO_PHASE_ALIGNMENT;
451  reset_time_out <= '1';
452  end if;
453 
454  if time_out_500us = '1' then
456  -- If too many retries are performed compared to what is specified in
457  -- the generic, the counter simply wraps around.
458  retry_counter_int <= 0;
459  else
461  end if;
462  tx_state <= ASSERT_ALL_RESETS;
463  end if;
464 
465  when DO_PHASE_ALIGNMENT =>
466  --The direct handling of the signals for the Phase Alignment is done outside
467  --this state-machine.
468  RESET_PHALIGNMENT <= '0';
470  reset_time_out <= '0';
471 
472  if PHALIGNMENT_DONE = '1' then
473  tx_state <= RESET_FSM_DONE;
474  end if;
475 
476  if time_out_wait_bypass_s3 = '1' then
478  -- If too many retries are performed compared to what is specified in
479  -- the generic, the counter simply wraps around.
480  retry_counter_int <= 0;
481  else
483  end if;
484  tx_state <= ASSERT_ALL_RESETS;
485  end if;
486 
487  when RESET_FSM_DONE =>
488  reset_time_out <= '1';
489  tx_fsm_reset_done_int <= '1';
490 
491  when others =>
492  tx_state <= INIT;
493 
494  end case;
495  end if;
496  end if;
497  end process;
498 
499 end RTL;
500 
INIT_Gslv := "0"
std_logic soft_reset_rise
Definition: Gtx7TxRst.vhd:135
integer := 500 STARTUP_DELAY
Definition: Gtx7TxRst.vhd:126
std_logic refclk_lost
Definition: Gtx7TxRst.vhd:167
std_logic soft_reset_fall
Definition: Gtx7TxRst.vhd:136
std_logic := '0' txresetdone_s3
Definition: Gtx7TxRst.vhd:145
integer := 2000000/ STABLE_CLOCK_PERIOD WAIT_TIMEOUT_2ms
Definition: Gtx7TxRst.vhd:130
integer := 2** RETRY_COUNTER_BITWIDTH- 1 MAX_RETRIES
Definition: Gtx7TxRst.vhd:147
integer := STARTUP_DELAY/ STABLE_CLOCK_PERIOD WAIT_CYCLES
Definition: Gtx7TxRst.vhd:127
in SOFT_RESETstd_logic
Definition: Gtx7TxRst.vhd:87
integer := 1024 MMCM_LOCK_CNT_MAX
Definition: Gtx7TxRst.vhd:125
out MMCM_RESETstd_logic := '1'
Definition: Gtx7TxRst.vhd:93
in TXRESETDONEstd_logic
Definition: Gtx7TxRst.vhd:90
integer := 100000/ STABLE_CLOCK_PERIOD WAIT_TLOCK_MAX
Definition: Gtx7TxRst.vhd:131
in MMCM_LOCKstd_logic
Definition: Gtx7TxRst.vhd:91
STAGES_Gpositive := 2
out TXUSERRDYstd_logic := '0'
Definition: Gtx7TxRst.vhd:96
std_logic := '0' time_out_500us
Definition: Gtx7TxRst.vhd:154
integer := 110000 MAX_WAIT_BYPASS
Definition: Gtx7TxRst.vhd:163
out dataOutsl
std_logic := '0' plllock_sync
Definition: Gtx7TxRst.vhd:169
RETRY_COUNTER_BITWIDTHinteger range 2 to 8:= 8
Definition: Gtx7TxRst.vhd:82
tx_rst_fsm_type := INIT tx_state
Definition: Gtx7TxRst.vhd:123
std_logic soft_reset_sync
Definition: Gtx7TxRst.vhd:134
integer := WAIT_CYCLES+ 10 WAIT_MAX
Definition: Gtx7TxRst.vhd:128
integer range 0 to WAIT_TIMEOUT_2ms:= 0 time_out_counter
Definition: Gtx7TxRst.vhd:149
integer range 0 to MAX_WAIT_BYPASS- 1 wait_bypass_count
Definition: Gtx7TxRst.vhd:164
(INIT,ASSERT_ALL_RESETS,RELEASE_PLL_RESET,RELEASE_MMCM_RESET,WAIT_RESET_DONE,DO_PHASE_ALIGNMENT,RESET_FSM_DONE) tx_rst_fsm_type
Definition: Gtx7TxRst.vhd:118
out RETRY_COUNTERstd_logic_vector( RETRY_COUNTER_BITWIDTH- 1 downto 0) :=( others => '0')
Definition: Gtx7TxRst.vhd:103
GT_TYPEstring := "GTX"
Definition: Gtx7TxRst.vhd:79
out RUN_PHALIGNMENTstd_logic := '0'
Definition: Gtx7TxRst.vhd:97
STABLE_CLOCK_PERIODinteger range 4 to 20:= 8
Definition: Gtx7TxRst.vhd:80
std_logic := '0' mmcm_lock_int
Definition: Gtx7TxRst.vhd:157
integer range 0 to WAIT_MAX:= 0 init_wait_count
Definition: Gtx7TxRst.vhd:138
TPD_Gtime := 1 ns
std_logic := '0' pll_reset_asserted
Definition: Gtx7TxRst.vhd:140
in STABLE_CLOCKstd_logic
Definition: Gtx7TxRst.vhd:84
integer := 500000/ STABLE_CLOCK_PERIOD WAIT_TIMEOUT_500us
Definition: Gtx7TxRst.vhd:132
std_logic := '0' init_wait_done
Definition: Gtx7TxRst.vhd:139
out RESET_PHALIGNMENTstd_logic := '0'
Definition: Gtx7TxRst.vhd:98
std_logic := '0' run_phase_alignment_int_s3
Definition: Gtx7TxRst.vhd:161
std_logic := '0' reset_time_out
Definition: Gtx7TxRst.vhd:151
integer range 0 to MMCM_LOCK_CNT_MAX- 1:= 0 mmcm_lock_count
Definition: Gtx7TxRst.vhd:156
std_logic := '0' time_out_wait_bypass_s3
Definition: Gtx7TxRst.vhd:166
string KEEP_HIERARCHY
Definition: Gtx7TxRst.vhd:171
in TXUSERCLKstd_logic
Definition: Gtx7TxRst.vhd:86
out GTTXRESETstd_logic := '0'
Definition: Gtx7TxRst.vhd:92
std_logic := '0' tx_fsm_reset_done_int_s3
Definition: Gtx7TxRst.vhd:143
in PLLLOCKstd_logic
Definition: Gtx7TxRst.vhd:89
in PHALIGNMENT_DONEstd_logic
Definition: Gtx7TxRst.vhd:99
in PLLREFCLKLOSTstd_logic
Definition: Gtx7TxRst.vhd:88
std_logic := '0' time_tlock_max
Definition: Gtx7TxRst.vhd:153
TPD_Gtime := 1 ns
Definition: Gtx7TxRst.vhd:78
std_logic := '0' time_out_wait_bypass
Definition: Gtx7TxRst.vhd:165
std_logic_vector( 3 downto 0) :=( others => '0') mmcm_lock_reclocked
Definition: Gtx7TxRst.vhd:158
out TX_FSM_RESET_DONEstd_logic
Definition: Gtx7TxRst.vhd:95
std_logic := '0' tx_fsm_reset_done_int
Definition: Gtx7TxRst.vhd:142
out PLL_RESETstd_logic := '0'
Definition: Gtx7TxRst.vhd:94
std_logic := '0' run_phase_alignment_int
Definition: Gtx7TxRst.vhd:160
std_logic := '0' time_out_2ms
Definition: Gtx7TxRst.vhd:152
integer range 0 to MAX_RETRIES retry_counter_int
Definition: Gtx7TxRst.vhd:148