1 -- (c) Copyright 2008 Xilinx, Inc. All rights reserved. 3 -- This file contains confidential and proprietary information 4 -- of Xilinx, Inc. and is protected under U.S. and 5 -- international copyright and other intellectual property 9 -- This disclaimer is not a license and does not grant any 10 -- rights to the materials distributed herewith. Except as 11 -- otherwise provided in a valid license issued to you by 12 -- Xilinx, and to the maximum extent permitted by applicable 13 -- law: (1) THESE MATERIALS ARE MADE AVAILABLE "AS IS" AND 14 -- WITH ALL FAULTS, AND XILINX HEREBY DISCLAIMS ALL WARRANTIES 15 -- AND CONDITIONS, EXPRESS, IMPLIED, OR STATUTORY, INCLUDING 16 -- BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY, NON- 17 -- INFRINGEMENT, OR FITNESS FOR ANY PARTICULAR PURPOSE; and 18 -- (2) Xilinx shall not be liable (whether in contract or tort, 19 -- including negligence, or under any other theory of 20 -- liability) for any loss or damage of any kind or nature 21 -- related to, arising under or in connection with these 22 -- materials, including for any direct, or any indirect, 23 -- special, incidental, or consequential loss or damage 24 -- (including loss of data, profits, goodwill, or any type of 25 -- loss or damage suffered as a result of any action brought 26 -- by a third party) even if such damage or loss was 27 -- reasonably foreseeable or Xilinx had been advised of the 28 -- possibility of the same. 30 -- CRITICAL APPLICATIONS 31 -- Xilinx products are not designed or intended to be fail- 32 -- safe, or for use in any application requiring fail-safe 33 -- performance, such as life-support or safety devices or 34 -- systems, Class III medical devices, nuclear facilities, 35 -- applications related to the deployment of airbags, or any 36 -- other applications that could lead to death, personal 37 -- injury, or severe property or environmental damage 38 -- (individually and collectively, "Critical 39 -- Applications"). Customer assumes the sole risk and 40 -- liability of any use of Xilinx products in Critical 41 -- Applications, subject only to applicable laws and 42 -- regulations governing limitations on product liability. 44 -- THIS COPYRIGHT NOTICE AND DISCLAIMER MUST BE RETAINED AS 45 -- PART OF THIS FILE AT ALL TIMES. 54 -- Description: The GLOBAL_LOGIC module handles channel bonding, channel 55 -- verification, channel error manangement and idle generation. 57 -- This module supports 1 2-byte lane designs 61 use IEEE.STD_LOGIC_1164.
all;
67 -- Aurora Lane Interface 83 CHANNEL_SOFT_ERR : out ;
84 CHANNEL_HARD_ERR : out );
89 -- External Register Declarations -- 91 signal EN_CHAN_SYNC_Buffer : ;
92 signal GEN_A_Buffer : ;
93 signal GEN_K_Buffer : (0 to 1);
94 signal GEN_R_Buffer : (0 to 1);
95 signal GEN_V_Buffer : (0 to 1);
96 signal RESET_LANES_Buffer : ;
97 signal CHANNEL_UP_Buffer : ;
98 signal START_RX_Buffer : ;
99 signal CHANNEL_SOFT_ERR_Buffer : ;
100 signal CHANNEL_HARD_ERR_Buffer : ;
102 -- Wire Declarations -- 105 signal reset_channel_i : ;
108 -- Component Declarations -- 118 -- Aurora Lane Interface 130 -- Idle and Verification Sequence Generator Interface 135 -- Channel Init State Machine Interface 148 -- Channel Init SM Interface 153 -- Aurora Lane Interface 156 GEN_K :
out (
0 to 1);
157 GEN_R :
out (
0 to 1);
158 GEN_V :
out (
0 to 1);
174 -- Aurora Lane Interface 185 CHANNEL_SOFT_ERR :
out ;
186 CHANNEL_HARD_ERR :
out ;
188 -- Channel Init SM Interface 198 EN_CHAN_SYNC <= EN_CHAN_SYNC_Buffer;
199 GEN_A <= GEN_A_Buffer;
200 GEN_K <= GEN_K_Buffer;
201 GEN_R <= GEN_R_Buffer;
202 GEN_V <= GEN_V_Buffer;
203 RESET_LANES <= RESET_LANES_Buffer;
204 CHANNEL_UP <= CHANNEL_UP_Buffer;
205 START_RX <= START_RX_Buffer;
206 CHANNEL_SOFT_ERR <= CHANNEL_SOFT_ERR_Buffer;
207 CHANNEL_HARD_ERR <= CHANNEL_HARD_ERR_Buffer;
209 -- Main Body of Code -- 211 -- State Machine for channel bonding and verification. 218 EN_CHAN_SYNC => EN_CHAN_SYNC_Buffer,
220 -- Aurora Lane Interface 222 RESET_LANES => RESET_LANES_Buffer,
226 USER_CLK => USER_CLK,
228 START_RX => START_RX_Buffer,
229 CHANNEL_UP => CHANNEL_UP_Buffer,
231 -- Idle and Verification Sequence Generator Interface 233 DID_VER => did_ver_i,
234 GEN_VER => gen_ver_i,
236 -- Channel Error Management Module Interface 238 RESET_CHANNEL => reset_channel_i
243 -- Idle and verification sequence generator module. 249 -- Channel Init SM Interface 251 GEN_VER => gen_ver_i,
252 DID_VER => did_ver_i,
254 -- Aurora Lane Interface 256 GEN_A => GEN_A_Buffer,
257 GEN_K => GEN_K_Buffer,
258 GEN_R => GEN_R_Buffer,
259 GEN_V => GEN_V_Buffer,
270 -- Channel Error Management module. 276 -- Aurora Lane Interface 278 SOFT_ERR => SOFT_ERR,
279 HARD_ERR => HARD_ERR,
284 USER_CLK => USER_CLK,
285 POWER_DOWN => POWER_DOWN,
286 CHANNEL_SOFT_ERR => CHANNEL_SOFT_ERR_Buffer,
287 CHANNEL_HARD_ERR => CHANNEL_HARD_ERR_Buffer,
289 -- Channel Init State Machine Interface 291 RESET_CHANNEL => reset_channel_i