OpenCores
URL https://opencores.org/ocsvn/sgmii/sgmii/trunk

Subversion Repositories sgmii

[/] [sgmii/] [trunk/] [sim/] [BFMs/] [SGMII_altera/] [triple_speed_ethernet-library/] [altera_tse_multi_mac_pcs_pma_gige_phyip.v] - Blame information for rev 9

Go to most recent revision | Details | Compare with Previous | View Log

Line No. Rev Author Line
1 9 jefflieu
 
2
// -------------------------------------------------------------------------
3
// -------------------------------------------------------------------------
4
//
5
// Revision Control Information
6
//
7
// $RCSfile: altera_tse_multi_mac_pcs_pma_gige.v,v $
8
// $Source: /ipbu/cvs/sio/projects/TriSpeedEthernet/src/RTL/Top_level_modules/altera_tse_multi_mac_pcs_pma_gige_phyip.v,v $
9
//
10
// $Revision: #2 $
11
// $Date: 2011/01/31 $
12
// Check in by : $Author: wyleong $
13
// Author      : Arul Paniandi
14
//
15
// Project     : Triple Speed Ethernet - 10/100/1000 MAC
16
//
17
// Description : 
18
//
19
// Top Level Triple Speed Ethernet(10/100/1000) MAC with MII/GMII
20
// interfaces, mdio module and register space (statistic, control and 
21
// management)
22
 
23
// 
24
// ALTERA Confidential and Proprietary
25
// Copyright 2006 (c) Altera Corporation  
26
// All rights reserved
27
//
28
// -------------------------------------------------------------------------
29
// -------------------------------------------------------------------------
30
 
31
(*altera_attribute = {"-name SYNCHRONIZER_IDENTIFICATION OFF;SUPPRESS_DA_RULE_INTERNAL=\"R102,R105,D102,D101,D103\"" } *)
32
module altera_tse_multi_mac_pcs_pma_gige_phyip
33
#(
34
parameter USE_SYNC_RESET        = 0,                    //  Use Synchronized Reset Inputs
35
parameter RESET_LEVEL           = 1'b 1 ,               //  Reset Active Level
36
parameter ENABLE_GMII_LOOPBACK  = 1,                    //  GMII_LOOPBACK_ENA : Enable GMII Loopback Logic 
37
parameter ENABLE_HD_LOGIC       = 1,                    //  HD_LOGIC_ENA : Enable Half Duplex Logic
38
parameter ENABLE_SUP_ADDR       = 1,                    //  SUP_ADDR_ENA : Enable Supplemental Addresses
39
parameter ENA_HASH              = 1,                    //  ENA_HASH Enable Hash Table 
40
parameter STAT_CNT_ENA          = 1,                    //  STAT_CNT_ENA Enable Statistic Counters
41
parameter MDIO_CLK_DIV          = 40 ,                  //  Host Clock Division - MDC Generation
42
parameter CORE_VERSION          = 16'h3,                //  ALTERA Core Version
43
parameter CUST_VERSION          = 1 ,                   //  Customer Core Version
44
parameter REDUCED_INTERFACE_ENA = 0,                    //  Enable the RGMII Interface
45
parameter ENABLE_MDIO           = 1,                    //  Enable the MDIO Interface
46
parameter ENABLE_MAGIC_DETECT   = 1,                    //  Enable magic packet detection 
47
parameter ENABLE_PADDING        = 1,                    //  Enable padding operation.
48
parameter ENABLE_LGTH_CHECK     = 1,                    //  Enable frame length checking.
49
parameter GBIT_ONLY             = 1,                    //  Enable Gigabit only operation.
50
parameter MBIT_ONLY             = 1,                    //  Enable Megabit (10/100) only operation.
51
parameter REDUCED_CONTROL       = 0,                    //  Reduced control for MAC LITE
52
parameter CRC32DWIDTH           = 4'b 1000,             //  input data width (informal, not for change)
53
parameter CRC32GENDELAY         = 3'b 110,              //  when the data from the generator is valid
54
parameter CRC32CHECK16BIT       = 1'b 0,                //  1 compare two times 16 bit of the CRC (adds one pipeline step) 
55
parameter CRC32S1L2_EXTERN      = 1'b0,                 //  false: merge enable
56
parameter ENABLE_SHIFT16        = 0,                    //  Enable byte stuffing at packet header 
57
parameter ENABLE_MAC_FLOW_CTRL  = 1'b1,                 //  Option to enable flow control 
58
parameter ENABLE_MAC_TXADDR_SET = 1'b1,                 //  Option to enable MAC address insertion onto 'to-be-transmitted' Ethernet frames on MAC TX data path
59
parameter ENABLE_MAC_RX_VLAN    = 1'b1,                 //  Option to enable VLAN tagged Ethernet frames on MAC RX data path
60
parameter ENABLE_MAC_TX_VLAN    = 1'b1,                 //  Option to enable VLAN tagged Ethernet frames on MAC TX data path
61
parameter PHY_IDENTIFIER        = 32'h 00000000,        //  PHY Identifier
62
parameter DEV_VERSION           = 16'h 0001 ,           //  Customer Phy's Core Version
63
parameter ENABLE_SGMII          = 1,                    //  Enable SGMII logic for synthesis
64
parameter ENABLE_CLK_SHARING    = 1,                    //  Option to share clock for multiple channels (Clocks are rate-matched).
65
parameter ENABLE_REG_SHARING    = 0,                    //  Option to share register space. Uses certain hard-coded values from input.
66
parameter ENABLE_EXTENDED_STAT_REG = 0,                 //  Enable a few extended statistic registers
67
parameter MAX_CHANNELS          = 1,                    //  The number of channels in Multi-TSE component
68
parameter ENABLE_PKT_CLASS      = 1,                    //  Enable Packet Classification Av-ST Interface
69
parameter ENABLE_RX_FIFO_STATUS = 1,                    //  Enable Receive FIFO Almost Full status interface
70
parameter CHANNEL_WIDTH         = 1,                    //  The width of the channel interface
71
parameter EXPORT_PWRDN          = 1'b0,                 //  Option to export the Alt2gxb powerdown signal
72
parameter DEVICE_FAMILY         = "ARRIAGX",            //  The device family the the core is targetted for.
73
parameter TRANSCEIVER_OPTION    = 1'b0,                 //  Option to select transceiver block for MAC PCS PMA Instantiation. Valid Values are 0 and 1:  0 - GXB (GIGE Mode) 1 - LVDS IO
74
parameter ENABLE_ALT_RECONFIG   = 0,                    //  Option to expose the altreconfig ports
75
parameter SYNCHRONIZER_DEPTH    = 3,                    //  Number of synchronizer
76
// Internal parameters
77
parameter STARTING_CHANNEL_NUMBER = 0,
78
parameter ADDR_WIDTH = (MAX_CHANNELS > 16)? 13 :
79
                       (MAX_CHANNELS > 8)? 12 :
80
                       (MAX_CHANNELS > 4)? 11 :
81
                       (MAX_CHANNELS > 2)? 10 :
82
                       (MAX_CHANNELS > 1)? 9 : 8
83
)
84
 
85
 
86
// Port List
87
(
88
 
89
    // RESET / MAC REG IF / MDIO
90
    input wire   reset,                      //  Asynchronous Reset - clk Domain
91
    input wire   clk,                        //  25MHz Host Interface Clock
92
    input wire   read,                       //  Register Read Strobe
93
    input wire   write,                      //  Register Write Strobe
94
    input wire   [ADDR_WIDTH-1:0] address,   //  Register Address
95
    input wire   [31:0] writedata,           //  Write Data for Host Bus
96
    output wire  [31:0] readdata,            //  Read Data to Host Bus
97
    output wire  waitrequest,                //  Interface Busy
98
    output wire  mdc,                        //  2.5MHz Inteface
99
    input wire   mdio_in,                    //  MDIO Input
100
    output wire  mdio_out,                   //  MDIO Output
101
    output wire  mdio_oen,                   //  MDIO Output Enable
102
 
103
    // DEVICE SPECIFIC SIGNALS
104
    input wire   gxb_cal_blk_clk,            //  GXB Calibration Clock
105
    input wire   ref_clk,                    //  Rference Clock
106
 
107
        // SHARED CLK SIGNALS
108
    output wire  mac_rx_clk,                 //  Av-ST Receive Clock
109
    output wire  mac_tx_clk,                 //  Av-ST Transmit Clock 
110
 
111
        // SHARED RX STATUS
112
    input wire   rx_afull_clk,                             //  Almost full clk
113
    input wire   [1:0] rx_afull_data,                      //  Almost full data
114
    input wire   rx_afull_valid,                           //  Almost full valid
115
    input wire   [CHANNEL_WIDTH-1:0] rx_afull_channel,     //  Almost full channel
116
 
117
 
118
    // CHANNEL 0
119
 
120
    // PCS SIGNALS TO PHY
121
    input wire   rxp_0,                    //  Differential Receive Data 
122
    output wire  txp_0,                    //  Differential Transmit Data 
123
    output wire  rx_recovclkout_0,         //  Receiver Recovered Clock 
124
    output wire  led_crs_0,                //  Carrier Sense
125
    output wire  led_link_0,               //  Valid Link 
126
    output wire  led_col_0,                //  Collision Indication
127
    output wire  led_an_0,                 //  Auto-Negotiation Status
128
    output wire  led_char_err_0,           //  Character Error
129
    output wire  led_disp_err_0,           //  Disparity Error
130
 
131
    // AV-ST TX & RX
132
    output wire  mac_rx_clk_0,             //  Av-ST Receive Clock
133
    output wire  mac_tx_clk_0,             //  Av-ST Transmit Clock   
134
    output wire  data_rx_sop_0,            //  Start of Packet
135
    output wire  data_rx_eop_0,            //  End of Packet
136
    output wire  [7:0] data_rx_data_0,     //  Data from FIFO
137
    output wire  [4:0] data_rx_error_0,    //  Receive packet error
138
    output wire  data_rx_valid_0,          //  Data Receive FIFO Valid
139
    input wire   data_rx_ready_0,          //  Data Receive Ready
140
    output wire  [4:0] pkt_class_data_0,   //  Frame Type Indication
141
    output wire  pkt_class_valid_0,        //  Frame Type Indication Valid 
142
    input wire   data_tx_error_0,          //  STATUS FIFO (Tx frame Error from Apps)
143
    input wire   [7:0] data_tx_data_0,     //  Data from FIFO transmit
144
    input wire   data_tx_valid_0,          //  Data FIFO transmit Empty
145
    input wire   data_tx_sop_0,            //  Start of Packet
146
    input wire   data_tx_eop_0,            //  END of Packet
147
    output wire  data_tx_ready_0,          //  Data FIFO transmit Read Enable   
148
 
149
    // STAND_ALONE CONDUITS 
150
    output wire  tx_ff_uflow_0,            //  TX FIFO underflow occured (Synchronous with tx_clk)
151
    input wire   tx_crc_fwd_0,             //  Forward Current Frame with CRC from Application
152
    input wire   xoff_gen_0,               //  Xoff Pause frame generate 
153
    input wire   xon_gen_0,                //  Xon Pause frame generate 
154
    input wire   magic_sleep_n_0,          //  Enable Sleep Mode
155
    output wire  magic_wakeup_0,           //  Wake Up Request
156
 
157
    // RECONFIG BLOCK SIGNALS
158
    input wire   [139:0] reconfig_togxb_0,  //  Signals from the reconfig block to the GXB block
159
    output wire  [91:0] reconfig_fromgxb_0,  //  Signals from the gxb block to the reconfig block
160
    input wire  [8:0]phy_mgmt_address_0,   //  address to PHYIP management interface 
161
    input wire  phy_mgmt_read_0,           //  read to PHYIP management interface 
162
    output wire [31:0]phy_mgmt_readdata_0, //  readdata from PHYIP management interface 
163
    output wire  phy_mgmt_waitrequest_0,    //  waitrequest from PHYIP management interface 
164
    input wire  phy_mgmt_write_0,          //  write to PHYIP management interface 
165
    input wire  [31:0]phy_mgmt_writedata_0,//  writedata to PHYIP management interface 
166
 
167
 
168
    // CHANNEL 1
169
 
170
    // PCS SIGNALS TO PHY
171
    input wire   rxp_1,                    //  Differential Receive Data 
172
    output wire  txp_1,                    //  Differential Transmit Data 
173
    output wire  rx_recovclkout_1,         //  Receiver Recovered Clock 
174
    output wire  led_crs_1,                //  Carrier Sense
175
    output wire  led_link_1,               //  Valid Link 
176
    output wire  led_col_1,                //  Collision Indication
177
    output wire  led_an_1,                 //  Auto-Negotiation Status
178
    output wire  led_char_err_1,           //  Character Error
179
    output wire  led_disp_err_1,           //  Disparity Error
180
 
181
    // AV-ST TX & RX
182
    output wire  mac_rx_clk_1,             //  Av-ST Receive Clock
183
    output wire  mac_tx_clk_1,             //  Av-ST Transmit Clock   
184
    output wire  data_rx_sop_1,            //  Start of Packet
185
    output wire  data_rx_eop_1,            //  End of Packet
186
    output wire  [7:0] data_rx_data_1,     //  Data from FIFO
187
    output wire  [4:0] data_rx_error_1,    //  Receive packet error
188
    output wire  data_rx_valid_1,          //  Data Receive FIFO Valid
189
    input wire   data_rx_ready_1,          //  Data Receive Ready
190
    output wire  [4:0] pkt_class_data_1,   //  Frame Type Indication
191
    output wire  pkt_class_valid_1,        //  Frame Type Indication Valid 
192
    input wire   data_tx_error_1,          //  STATUS FIFO (Tx frame Error from Apps)
193
    input wire   [7:0] data_tx_data_1,     //  Data from FIFO transmit
194
    input wire   data_tx_valid_1,          //  Data FIFO transmit Empty
195
    input wire   data_tx_sop_1,            //  Start of Packet
196
    input wire   data_tx_eop_1,            //  END of Packet
197
    output wire  data_tx_ready_1,          //  Data FIFO transmit Read Enable   
198
 
199
    // STAND_ALONE CONDUITS 
200
    output wire  tx_ff_uflow_1,            //  TX FIFO underflow occured (Synchronous with tx_clk)
201
    input wire   tx_crc_fwd_1,             //  Forward Current Frame with CRC from Application
202
    input wire   xoff_gen_1,               //  Xoff Pause frame generate 
203
    input wire   xon_gen_1,                //  Xon Pause frame generate 
204
    input wire   magic_sleep_n_1,          //  Enable Sleep Mode
205
    output wire  magic_wakeup_1,           //  Wake Up Request
206
 
207
    // RECONFIG BLOCK SIGNALS
208
    input wire   [139:0] reconfig_togxb_1,  //  Signals from the reconfig block to the GXB block
209
    output wire  [91:0] reconfig_fromgxb_1,  //  Signals from the gxb block to the reconfig block
210
    input wire  [8:0]phy_mgmt_address_1,   //  address to PHYIP management interface 
211
    input wire  phy_mgmt_read_1,           //  read to PHYIP management interface 
212
    output wire [31:0]phy_mgmt_readdata_1, //  readdata from PHYIP management interface 
213
    output wire  phy_mgmt_waitrequest_1,    //  waitrequest from PHYIP management interface 
214
    input wire  phy_mgmt_write_1,          //  write to PHYIP management interface 
215
    input wire  [31:0]phy_mgmt_writedata_1,//  writedata to PHYIP management interface 
216
 
217
 
218
    // CHANNEL 2
219
 
220
    // PCS SIGNALS TO PHY
221
    input wire   rxp_2,                    //  Differential Receive Data 
222
    output wire  txp_2,                    //  Differential Transmit Data 
223
    output wire  rx_recovclkout_2,         //  Receiver Recovered Clock 
224
    output wire  led_crs_2,                //  Carrier Sense
225
    output wire  led_link_2,               //  Valid Link 
226
    output wire  led_col_2,                //  Collision Indication
227
    output wire  led_an_2,                 //  Auto-Negotiation Status
228
    output wire  led_char_err_2,           //  Character Error
229
    output wire  led_disp_err_2,           //  Disparity Error
230
 
231
    // AV-ST TX & RX
232
    output wire  mac_rx_clk_2,             //  Av-ST Receive Clock
233
    output wire  mac_tx_clk_2,             //  Av-ST Transmit Clock   
234
    output wire  data_rx_sop_2,            //  Start of Packet
235
    output wire  data_rx_eop_2,            //  End of Packet
236
    output wire  [7:0] data_rx_data_2,     //  Data from FIFO
237
    output wire  [4:0] data_rx_error_2,    //  Receive packet error
238
    output wire  data_rx_valid_2,          //  Data Receive FIFO Valid
239
    input wire   data_rx_ready_2,          //  Data Receive Ready
240
    output wire  [4:0] pkt_class_data_2,   //  Frame Type Indication
241
    output wire  pkt_class_valid_2,        //  Frame Type Indication Valid 
242
    input wire   data_tx_error_2,          //  STATUS FIFO (Tx frame Error from Apps)
243
    input wire   [7:0] data_tx_data_2,     //  Data from FIFO transmit
244
    input wire   data_tx_valid_2,          //  Data FIFO transmit Empty
245
    input wire   data_tx_sop_2,            //  Start of Packet
246
    input wire   data_tx_eop_2,            //  END of Packet
247
    output wire  data_tx_ready_2,          //  Data FIFO transmit Read Enable   
248
 
249
    // STAND_ALONE CONDUITS 
250
    output wire  tx_ff_uflow_2,            //  TX FIFO underflow occured (Synchronous with tx_clk)
251
    input wire   tx_crc_fwd_2,             //  Forward Current Frame with CRC from Application
252
    input wire   xoff_gen_2,               //  Xoff Pause frame generate 
253
    input wire   xon_gen_2,                //  Xon Pause frame generate 
254
    input wire   magic_sleep_n_2,          //  Enable Sleep Mode
255
    output wire  magic_wakeup_2,           //  Wake Up Request
256
 
257
    // RECONFIG BLOCK SIGNALS
258
    input wire   [139:0] reconfig_togxb_2,  //  Signals from the reconfig block to the GXB block
259
    output wire  [91:0] reconfig_fromgxb_2,  //  Signals from the gxb block to the reconfig block
260
    input wire  [8:0]phy_mgmt_address_2,   //  address to PHYIP management interface 
261
    input wire  phy_mgmt_read_2,           //  read to PHYIP management interface 
262
    output wire [31:0]phy_mgmt_readdata_2, //  readdata from PHYIP management interface 
263
    output wire  phy_mgmt_waitrequest_2,    //  waitrequest from PHYIP management interface 
264
    input wire  phy_mgmt_write_2,          //  write to PHYIP management interface 
265
    input wire  [31:0]phy_mgmt_writedata_2,//  writedata to PHYIP management interface 
266
 
267
 
268
    // CHANNEL 3
269
 
270
    // PCS SIGNALS TO PHY
271
    input wire   rxp_3,                    //  Differential Receive Data 
272
    output wire  txp_3,                    //  Differential Transmit Data 
273
    output wire  rx_recovclkout_3,         //  Receiver Recovered Clock 
274
    output wire  led_crs_3,                //  Carrier Sense
275
    output wire  led_link_3,               //  Valid Link 
276
    output wire  led_col_3,                //  Collision Indication
277
    output wire  led_an_3,                 //  Auto-Negotiation Status
278
    output wire  led_char_err_3,           //  Character Error
279
    output wire  led_disp_err_3,           //  Disparity Error
280
 
281
    // AV-ST TX & RX
282
    output wire  mac_rx_clk_3,             //  Av-ST Receive Clock
283
    output wire  mac_tx_clk_3,             //  Av-ST Transmit Clock   
284
    output wire  data_rx_sop_3,            //  Start of Packet
285
    output wire  data_rx_eop_3,            //  End of Packet
286
    output wire  [7:0] data_rx_data_3,     //  Data from FIFO
287
    output wire  [4:0] data_rx_error_3,    //  Receive packet error
288
    output wire  data_rx_valid_3,          //  Data Receive FIFO Valid
289
    input wire   data_rx_ready_3,          //  Data Receive Ready
290
    output wire  [4:0] pkt_class_data_3,   //  Frame Type Indication
291
    output wire  pkt_class_valid_3,        //  Frame Type Indication Valid 
292
    input wire   data_tx_error_3,          //  STATUS FIFO (Tx frame Error from Apps)
293
    input wire   [7:0] data_tx_data_3,     //  Data from FIFO transmit
294
    input wire   data_tx_valid_3,          //  Data FIFO transmit Empty
295
    input wire   data_tx_sop_3,            //  Start of Packet
296
    input wire   data_tx_eop_3,            //  END of Packet
297
    output wire  data_tx_ready_3,          //  Data FIFO transmit Read Enable   
298
 
299
    // STAND_ALONE CONDUITS 
300
    output wire  tx_ff_uflow_3,            //  TX FIFO underflow occured (Synchronous with tx_clk)
301
    input wire   tx_crc_fwd_3,             //  Forward Current Frame with CRC from Application
302
    input wire   xoff_gen_3,               //  Xoff Pause frame generate 
303
    input wire   xon_gen_3,                //  Xon Pause frame generate 
304
    input wire   magic_sleep_n_3,          //  Enable Sleep Mode
305
    output wire  magic_wakeup_3,           //  Wake Up Request
306
 
307
    // RECONFIG BLOCK SIGNALS
308
    input wire   [139:0] reconfig_togxb_3,  //  Signals from the reconfig block to the GXB block
309
    output wire  [91:0] reconfig_fromgxb_3,  //  Signals from the gxb block to the reconfig block
310
    input wire  [8:0]phy_mgmt_address_3,   //  address to PHYIP management interface 
311
    input wire  phy_mgmt_read_3,           //  read to PHYIP management interface 
312
    output wire [31:0]phy_mgmt_readdata_3, //  readdata from PHYIP management interface 
313
    output wire  phy_mgmt_waitrequest_3,    //  waitrequest from PHYIP management interface 
314
    input wire  phy_mgmt_write_3,          //  write to PHYIP management interface 
315
    input wire  [31:0]phy_mgmt_writedata_3,//  writedata to PHYIP management interface 
316
 
317
 
318
    // CHANNEL 4
319
 
320
    // PCS SIGNALS TO PHY
321
    input wire   rxp_4,                    //  Differential Receive Data 
322
    output wire  txp_4,                    //  Differential Transmit Data 
323
    output wire  rx_recovclkout_4,         //  Receiver Recovered Clock 
324
    output wire  led_crs_4,                //  Carrier Sense
325
    output wire  led_link_4,               //  Valid Link 
326
    output wire  led_col_4,                //  Collision Indication
327
    output wire  led_an_4,                 //  Auto-Negotiation Status
328
    output wire  led_char_err_4,           //  Character Error
329
    output wire  led_disp_err_4,           //  Disparity Error
330
 
331
    // AV-ST TX & RX
332
    output wire  mac_rx_clk_4,             //  Av-ST Receive Clock
333
    output wire  mac_tx_clk_4,             //  Av-ST Transmit Clock   
334
    output wire  data_rx_sop_4,            //  Start of Packet
335
    output wire  data_rx_eop_4,            //  End of Packet
336
    output wire  [7:0] data_rx_data_4,     //  Data from FIFO
337
    output wire  [4:0] data_rx_error_4,    //  Receive packet error
338
    output wire  data_rx_valid_4,          //  Data Receive FIFO Valid
339
    input wire   data_rx_ready_4,          //  Data Receive Ready
340
    output wire  [4:0] pkt_class_data_4,   //  Frame Type Indication
341
    output wire  pkt_class_valid_4,        //  Frame Type Indication Valid 
342
    input wire   data_tx_error_4,          //  STATUS FIFO (Tx frame Error from Apps)
343
    input wire   [7:0] data_tx_data_4,     //  Data from FIFO transmit
344
    input wire   data_tx_valid_4,          //  Data FIFO transmit Empty
345
    input wire   data_tx_sop_4,            //  Start of Packet
346
    input wire   data_tx_eop_4,            //  END of Packet
347
    output wire  data_tx_ready_4,          //  Data FIFO transmit Read Enable   
348
 
349
    // STAND_ALONE CONDUITS 
350
    output wire  tx_ff_uflow_4,            //  TX FIFO underflow occured (Synchronous with tx_clk)
351
    input wire   tx_crc_fwd_4,             //  Forward Current Frame with CRC from Application
352
    input wire   xoff_gen_4,               //  Xoff Pause frame generate 
353
    input wire   xon_gen_4,                //  Xon Pause frame generate 
354
    input wire   magic_sleep_n_4,          //  Enable Sleep Mode
355
    output wire  magic_wakeup_4,           //  Wake Up Request
356
 
357
    // RECONFIG BLOCK SIGNALS
358
    input wire   [139:0] reconfig_togxb_4,  //  Signals from the reconfig block to the GXB block
359
    output wire  [91:0] reconfig_fromgxb_4,  //  Signals from the gxb block to the reconfig block
360
    input wire  [8:0]phy_mgmt_address_4,   //  address to PHYIP management interface 
361
    input wire  phy_mgmt_read_4,           //  read to PHYIP management interface 
362
    output wire [31:0]phy_mgmt_readdata_4, //  readdata from PHYIP management interface 
363
    output wire  phy_mgmt_waitrequest_4,    //  waitrequest from PHYIP management interface 
364
    input wire  phy_mgmt_write_4,          //  write to PHYIP management interface 
365
    input wire  [31:0]phy_mgmt_writedata_4,//  writedata to PHYIP management interface 
366
 
367
 
368
    // CHANNEL 5
369
 
370
    // PCS SIGNALS TO PHY
371
    input wire   rxp_5,                    //  Differential Receive Data 
372
    output wire  txp_5,                    //  Differential Transmit Data 
373
    output wire  rx_recovclkout_5,         //  Receiver Recovered Clock 
374
    output wire  led_crs_5,                //  Carrier Sense
375
    output wire  led_link_5,               //  Valid Link 
376
    output wire  led_col_5,                //  Collision Indication
377
    output wire  led_an_5,                 //  Auto-Negotiation Status
378
    output wire  led_char_err_5,           //  Character Error
379
    output wire  led_disp_err_5,           //  Disparity Error
380
 
381
    // AV-ST TX & RX
382
    output wire  mac_rx_clk_5,             //  Av-ST Receive Clock
383
    output wire  mac_tx_clk_5,             //  Av-ST Transmit Clock   
384
    output wire  data_rx_sop_5,            //  Start of Packet
385
    output wire  data_rx_eop_5,            //  End of Packet
386
    output wire  [7:0] data_rx_data_5,     //  Data from FIFO
387
    output wire  [4:0] data_rx_error_5,    //  Receive packet error
388
    output wire  data_rx_valid_5,          //  Data Receive FIFO Valid
389
    input wire   data_rx_ready_5,          //  Data Receive Ready
390
    output wire  [4:0] pkt_class_data_5,   //  Frame Type Indication
391
    output wire  pkt_class_valid_5,        //  Frame Type Indication Valid 
392
    input wire   data_tx_error_5,          //  STATUS FIFO (Tx frame Error from Apps)
393
    input wire   [7:0] data_tx_data_5,     //  Data from FIFO transmit
394
    input wire   data_tx_valid_5,          //  Data FIFO transmit Empty
395
    input wire   data_tx_sop_5,            //  Start of Packet
396
    input wire   data_tx_eop_5,            //  END of Packet
397
    output wire  data_tx_ready_5,          //  Data FIFO transmit Read Enable   
398
 
399
    // STAND_ALONE CONDUITS 
400
    output wire  tx_ff_uflow_5,            //  TX FIFO underflow occured (Synchronous with tx_clk)
401
    input wire   tx_crc_fwd_5,             //  Forward Current Frame with CRC from Application
402
    input wire   xoff_gen_5,               //  Xoff Pause frame generate 
403
    input wire   xon_gen_5,                //  Xon Pause frame generate 
404
    input wire   magic_sleep_n_5,          //  Enable Sleep Mode
405
    output wire  magic_wakeup_5,           //  Wake Up Request
406
 
407
    // RECONFIG BLOCK SIGNALS
408
    input wire   [139:0] reconfig_togxb_5,  //  Signals from the reconfig block to the GXB block
409
    output wire  [91:0] reconfig_fromgxb_5,  //  Signals from the gxb block to the reconfig block
410
    input wire  [8:0]phy_mgmt_address_5,   //  address to PHYIP management interface 
411
    input wire  phy_mgmt_read_5,           //  read to PHYIP management interface 
412
    output wire [31:0]phy_mgmt_readdata_5, //  readdata from PHYIP management interface 
413
    output wire  phy_mgmt_waitrequest_5,    //  waitrequest from PHYIP management interface 
414
    input wire  phy_mgmt_write_5,          //  write to PHYIP management interface 
415
    input wire  [31:0]phy_mgmt_writedata_5,//  writedata to PHYIP management interface 
416
 
417
 
418
    // CHANNEL 6
419
 
420
    // PCS SIGNALS TO PHY
421
    input wire   rxp_6,                    //  Differential Receive Data 
422
    output wire  txp_6,                    //  Differential Transmit Data 
423
    output wire  rx_recovclkout_6,         //  Receiver Recovered Clock 
424
    output wire  led_crs_6,                //  Carrier Sense
425
    output wire  led_link_6,               //  Valid Link 
426
    output wire  led_col_6,                //  Collision Indication
427
    output wire  led_an_6,                 //  Auto-Negotiation Status
428
    output wire  led_char_err_6,           //  Character Error
429
    output wire  led_disp_err_6,           //  Disparity Error
430
 
431
    // AV-ST TX & RX
432
    output wire  mac_rx_clk_6,             //  Av-ST Receive Clock
433
    output wire  mac_tx_clk_6,             //  Av-ST Transmit Clock   
434
    output wire  data_rx_sop_6,            //  Start of Packet
435
    output wire  data_rx_eop_6,            //  End of Packet
436
    output wire  [7:0] data_rx_data_6,     //  Data from FIFO
437
    output wire  [4:0] data_rx_error_6,    //  Receive packet error
438
    output wire  data_rx_valid_6,          //  Data Receive FIFO Valid
439
    input wire   data_rx_ready_6,          //  Data Receive Ready
440
    output wire  [4:0] pkt_class_data_6,   //  Frame Type Indication
441
    output wire  pkt_class_valid_6,        //  Frame Type Indication Valid 
442
    input wire   data_tx_error_6,          //  STATUS FIFO (Tx frame Error from Apps)
443
    input wire   [7:0] data_tx_data_6,     //  Data from FIFO transmit
444
    input wire   data_tx_valid_6,          //  Data FIFO transmit Empty
445
    input wire   data_tx_sop_6,            //  Start of Packet
446
    input wire   data_tx_eop_6,            //  END of Packet
447
    output wire  data_tx_ready_6,          //  Data FIFO transmit Read Enable   
448
 
449
    // STAND_ALONE CONDUITS 
450
    output wire  tx_ff_uflow_6,            //  TX FIFO underflow occured (Synchronous with tx_clk)
451
    input wire   tx_crc_fwd_6,             //  Forward Current Frame with CRC from Application
452
    input wire   xoff_gen_6,               //  Xoff Pause frame generate 
453
    input wire   xon_gen_6,                //  Xon Pause frame generate 
454
    input wire   magic_sleep_n_6,          //  Enable Sleep Mode
455
    output wire  magic_wakeup_6,           //  Wake Up Request
456
 
457
    // RECONFIG BLOCK SIGNALS
458
    input wire   [139:0] reconfig_togxb_6,  //  Signals from the reconfig block to the GXB block
459
    output wire  [91:0] reconfig_fromgxb_6,  //  Signals from the gxb block to the reconfig block
460
    input wire  [8:0]phy_mgmt_address_6,   //  address to PHYIP management interface 
461
    input wire  phy_mgmt_read_6,           //  read to PHYIP management interface 
462
    output wire [31:0]phy_mgmt_readdata_6, //  readdata from PHYIP management interface 
463
    output wire  phy_mgmt_waitrequest_6,    //  waitrequest from PHYIP management interface 
464
    input wire  phy_mgmt_write_6,          //  write to PHYIP management interface 
465
    input wire  [31:0]phy_mgmt_writedata_6,//  writedata to PHYIP management interface 
466
 
467
 
468
    // CHANNEL 7
469
 
470
    // PCS SIGNALS TO PHY
471
    input wire   rxp_7,                    //  Differential Receive Data 
472
    output wire  txp_7,                    //  Differential Transmit Data 
473
    output wire  rx_recovclkout_7,         //  Receiver Recovered Clock 
474
    output wire  led_crs_7,                //  Carrier Sense
475
    output wire  led_link_7,               //  Valid Link 
476
    output wire  led_col_7,                //  Collision Indication
477
    output wire  led_an_7,                 //  Auto-Negotiation Status
478
    output wire  led_char_err_7,           //  Character Error
479
    output wire  led_disp_err_7,           //  Disparity Error
480
 
481
    // AV-ST TX & RX
482
    output wire  mac_rx_clk_7,             //  Av-ST Receive Clock
483
    output wire  mac_tx_clk_7,             //  Av-ST Transmit Clock   
484
    output wire  data_rx_sop_7,            //  Start of Packet
485
    output wire  data_rx_eop_7,            //  End of Packet
486
    output wire  [7:0] data_rx_data_7,     //  Data from FIFO
487
    output wire  [4:0] data_rx_error_7,    //  Receive packet error
488
    output wire  data_rx_valid_7,          //  Data Receive FIFO Valid
489
    input wire   data_rx_ready_7,          //  Data Receive Ready
490
    output wire  [4:0] pkt_class_data_7,   //  Frame Type Indication
491
    output wire  pkt_class_valid_7,        //  Frame Type Indication Valid 
492
    input wire   data_tx_error_7,          //  STATUS FIFO (Tx frame Error from Apps)
493
    input wire   [7:0] data_tx_data_7,     //  Data from FIFO transmit
494
    input wire   data_tx_valid_7,          //  Data FIFO transmit Empty
495
    input wire   data_tx_sop_7,            //  Start of Packet
496
    input wire   data_tx_eop_7,            //  END of Packet
497
    output wire  data_tx_ready_7,          //  Data FIFO transmit Read Enable   
498
 
499
    // STAND_ALONE CONDUITS 
500
    output wire  tx_ff_uflow_7,            //  TX FIFO underflow occured (Synchronous with tx_clk)
501
    input wire   tx_crc_fwd_7,             //  Forward Current Frame with CRC from Application
502
    input wire   xoff_gen_7,               //  Xoff Pause frame generate 
503
    input wire   xon_gen_7,                //  Xon Pause frame generate 
504
    input wire   magic_sleep_n_7,          //  Enable Sleep Mode
505
    output wire  magic_wakeup_7,           //  Wake Up Request
506
 
507
    // RECONFIG BLOCK SIGNALS
508
    input wire   [139:0] reconfig_togxb_7,  //  Signals from the reconfig block to the GXB block
509
    output wire  [91:0] reconfig_fromgxb_7,  //  Signals from the gxb block to the reconfig block
510
    input wire  [8:0]phy_mgmt_address_7,   //  address to PHYIP management interface 
511
    input wire  phy_mgmt_read_7,           //  read to PHYIP management interface 
512
    output wire [31:0]phy_mgmt_readdata_7, //  readdata from PHYIP management interface 
513
    output wire  phy_mgmt_waitrequest_7,    //  waitrequest from PHYIP management interface 
514
    input wire  phy_mgmt_write_7,          //  write to PHYIP management interface 
515
    input wire  [31:0]phy_mgmt_writedata_7,//  writedata to PHYIP management interface 
516
 
517
 
518
    // CHANNEL 8
519
 
520
    // PCS SIGNALS TO PHY
521
    input wire   rxp_8,                    //  Differential Receive Data 
522
    output wire  txp_8,                    //  Differential Transmit Data 
523
    output wire  rx_recovclkout_8,         //  Receiver Recovered Clock 
524
    output wire  led_crs_8,                //  Carrier Sense
525
    output wire  led_link_8,               //  Valid Link 
526
    output wire  led_col_8,                //  Collision Indication
527
    output wire  led_an_8,                 //  Auto-Negotiation Status
528
    output wire  led_char_err_8,           //  Character Error
529
    output wire  led_disp_err_8,           //  Disparity Error
530
 
531
    // AV-ST TX & RX
532
    output wire  mac_rx_clk_8,             //  Av-ST Receive Clock
533
    output wire  mac_tx_clk_8,             //  Av-ST Transmit Clock   
534
    output wire  data_rx_sop_8,            //  Start of Packet
535
    output wire  data_rx_eop_8,            //  End of Packet
536
    output wire  [7:0] data_rx_data_8,     //  Data from FIFO
537
    output wire  [4:0] data_rx_error_8,    //  Receive packet error
538
    output wire  data_rx_valid_8,          //  Data Receive FIFO Valid
539
    input wire   data_rx_ready_8,          //  Data Receive Ready
540
    output wire  [4:0] pkt_class_data_8,   //  Frame Type Indication
541
    output wire  pkt_class_valid_8,        //  Frame Type Indication Valid 
542
    input wire   data_tx_error_8,          //  STATUS FIFO (Tx frame Error from Apps)
543
    input wire   [7:0] data_tx_data_8,     //  Data from FIFO transmit
544
    input wire   data_tx_valid_8,          //  Data FIFO transmit Empty
545
    input wire   data_tx_sop_8,            //  Start of Packet
546
    input wire   data_tx_eop_8,            //  END of Packet
547
    output wire  data_tx_ready_8,          //  Data FIFO transmit Read Enable   
548
 
549
    // STAND_ALONE CONDUITS 
550
    output wire  tx_ff_uflow_8,            //  TX FIFO underflow occured (Synchronous with tx_clk)
551
    input wire   tx_crc_fwd_8,             //  Forward Current Frame with CRC from Application
552
    input wire   xoff_gen_8,               //  Xoff Pause frame generate 
553
    input wire   xon_gen_8,                //  Xon Pause frame generate 
554
    input wire   magic_sleep_n_8,          //  Enable Sleep Mode
555
    output wire  magic_wakeup_8,           //  Wake Up Request
556
 
557
    // RECONFIG BLOCK SIGNALS
558
    input wire   [139:0] reconfig_togxb_8,  //  Signals from the reconfig block to the GXB block
559
    output wire  [91:0] reconfig_fromgxb_8,  //  Signals from the gxb block to the reconfig block
560
    input wire  [8:0]phy_mgmt_address_8,   //  address to PHYIP management interface 
561
    input wire  phy_mgmt_read_8,           //  read to PHYIP management interface 
562
    output wire [31:0]phy_mgmt_readdata_8, //  readdata from PHYIP management interface 
563
    output wire  phy_mgmt_waitrequest_8,    //  waitrequest from PHYIP management interface 
564
    input wire  phy_mgmt_write_8,          //  write to PHYIP management interface 
565
    input wire  [31:0]phy_mgmt_writedata_8,//  writedata to PHYIP management interface 
566
 
567
 
568
    // CHANNEL 9
569
 
570
    // PCS SIGNALS TO PHY
571
    input wire   rxp_9,                    //  Differential Receive Data 
572
    output wire  txp_9,                    //  Differential Transmit Data 
573
    output wire  rx_recovclkout_9,         //  Receiver Recovered Clock 
574
    output wire  led_crs_9,                //  Carrier Sense
575
    output wire  led_link_9,               //  Valid Link 
576
    output wire  led_col_9,                //  Collision Indication
577
    output wire  led_an_9,                 //  Auto-Negotiation Status
578
    output wire  led_char_err_9,           //  Character Error
579
    output wire  led_disp_err_9,           //  Disparity Error
580
 
581
    // AV-ST TX & RX
582
    output wire  mac_rx_clk_9,             //  Av-ST Receive Clock
583
    output wire  mac_tx_clk_9,             //  Av-ST Transmit Clock   
584
    output wire  data_rx_sop_9,            //  Start of Packet
585
    output wire  data_rx_eop_9,            //  End of Packet
586
    output wire  [7:0] data_rx_data_9,     //  Data from FIFO
587
    output wire  [4:0] data_rx_error_9,    //  Receive packet error
588
    output wire  data_rx_valid_9,          //  Data Receive FIFO Valid
589
    input wire   data_rx_ready_9,          //  Data Receive Ready
590
    output wire  [4:0] pkt_class_data_9,   //  Frame Type Indication
591
    output wire  pkt_class_valid_9,        //  Frame Type Indication Valid 
592
    input wire   data_tx_error_9,          //  STATUS FIFO (Tx frame Error from Apps)
593
    input wire   [7:0] data_tx_data_9,     //  Data from FIFO transmit
594
    input wire   data_tx_valid_9,          //  Data FIFO transmit Empty
595
    input wire   data_tx_sop_9,            //  Start of Packet
596
    input wire   data_tx_eop_9,            //  END of Packet
597
    output wire  data_tx_ready_9,          //  Data FIFO transmit Read Enable   
598
 
599
    // STAND_ALONE CONDUITS 
600
    output wire  tx_ff_uflow_9,            //  TX FIFO underflow occured (Synchronous with tx_clk)
601
    input wire   tx_crc_fwd_9,             //  Forward Current Frame with CRC from Application
602
    input wire   xoff_gen_9,               //  Xoff Pause frame generate 
603
    input wire   xon_gen_9,                //  Xon Pause frame generate 
604
    input wire   magic_sleep_n_9,          //  Enable Sleep Mode
605
    output wire  magic_wakeup_9,           //  Wake Up Request
606
 
607
    // RECONFIG BLOCK SIGNALS
608
    input wire   [139:0] reconfig_togxb_9,  //  Signals from the reconfig block to the GXB block
609
    output wire  [91:0] reconfig_fromgxb_9,  //  Signals from the gxb block to the reconfig block
610
    input wire  [8:0]phy_mgmt_address_9,   //  address to PHYIP management interface 
611
    input wire  phy_mgmt_read_9,           //  read to PHYIP management interface 
612
    output wire [31:0]phy_mgmt_readdata_9, //  readdata from PHYIP management interface 
613
    output wire  phy_mgmt_waitrequest_9,    //  waitrequest from PHYIP management interface 
614
    input wire  phy_mgmt_write_9,          //  write to PHYIP management interface 
615
    input wire  [31:0]phy_mgmt_writedata_9,//  writedata to PHYIP management interface 
616
 
617
 
618
    // CHANNEL 10
619
 
620
    // PCS SIGNALS TO PHY
621
    input wire   rxp_10,                    //  Differential Receive Data 
622
    output wire  txp_10,                    //  Differential Transmit Data 
623
    output wire  rx_recovclkout_10,         //  Receiver Recovered Clock 
624
    output wire  led_crs_10,                //  Carrier Sense
625
    output wire  led_link_10,               //  Valid Link 
626
    output wire  led_col_10,                //  Collision Indication
627
    output wire  led_an_10,                 //  Auto-Negotiation Status
628
    output wire  led_char_err_10,           //  Character Error
629
    output wire  led_disp_err_10,           //  Disparity Error
630
 
631
    // AV-ST TX & RX
632
    output wire  mac_rx_clk_10,             //  Av-ST Receive Clock
633
    output wire  mac_tx_clk_10,             //  Av-ST Transmit Clock   
634
    output wire  data_rx_sop_10,            //  Start of Packet
635
    output wire  data_rx_eop_10,            //  End of Packet
636
    output wire  [7:0] data_rx_data_10,     //  Data from FIFO
637
    output wire  [4:0] data_rx_error_10,    //  Receive packet error
638
    output wire  data_rx_valid_10,          //  Data Receive FIFO Valid
639
    input wire   data_rx_ready_10,          //  Data Receive Ready
640
    output wire  [4:0] pkt_class_data_10,   //  Frame Type Indication
641
    output wire  pkt_class_valid_10,        //  Frame Type Indication Valid 
642
    input wire   data_tx_error_10,          //  STATUS FIFO (Tx frame Error from Apps)
643
    input wire   [7:0] data_tx_data_10,     //  Data from FIFO transmit
644
    input wire   data_tx_valid_10,          //  Data FIFO transmit Empty
645
    input wire   data_tx_sop_10,            //  Start of Packet
646
    input wire   data_tx_eop_10,            //  END of Packet
647
    output wire  data_tx_ready_10,          //  Data FIFO transmit Read Enable  
648
 
649
    // STAND_ALONE CONDUITS 
650
    output wire  tx_ff_uflow_10,            //  TX FIFO underflow occured (Synchronous with tx_clk)
651
    input wire   tx_crc_fwd_10,             //  Forward Current Frame with CRC from Application
652
    input wire   xoff_gen_10,               //  Xoff Pause frame generate 
653
    input wire   xon_gen_10,                //  Xon Pause frame generate 
654
    input wire   magic_sleep_n_10,          //  Enable Sleep Mode
655
    output wire  magic_wakeup_10,           //  Wake Up Request
656
 
657
    // RECONFIG BLOCK SIGNALS
658
    input wire   [139:0] reconfig_togxb_10,  //  Signals from the reconfig block to the GXB block
659
    output wire  [91:0] reconfig_fromgxb_10,  //  Signals from the gxb block to the reconfig block
660
    input wire  [8:0]phy_mgmt_address_10,   //  address to PHYIP management interface 
661
    input wire  phy_mgmt_read_10,           //  read to PHYIP management interface 
662
    output wire [31:0]phy_mgmt_readdata_10, //  readdata from PHYIP management interface 
663
    output wire  phy_mgmt_waitrequest_10,    //  waitrequest from PHYIP management interface 
664
    input wire  phy_mgmt_write_10,          //  write to PHYIP management interface 
665
    input wire  [31:0]phy_mgmt_writedata_10,//  writedata to PHYIP management interface 
666
 
667
 
668
    // CHANNEL 11
669
 
670
    // PCS SIGNALS TO PHY
671
    input wire   rxp_11,                    //  Differential Receive Data 
672
    output wire  txp_11,                    //  Differential Transmit Data 
673
    output wire  rx_recovclkout_11,         //  Receiver Recovered Clock 
674
    output wire  led_crs_11,                //  Carrier Sense
675
    output wire  led_link_11,               //  Valid Link 
676
    output wire  led_col_11,                //  Collision Indication
677
    output wire  led_an_11,                 //  Auto-Negotiation Status
678
    output wire  led_char_err_11,           //  Character Error
679
    output wire  led_disp_err_11,           //  Disparity Error
680
 
681
    // AV-ST TX & RX
682
    output wire  mac_rx_clk_11,             //  Av-ST Receive Clock
683
    output wire  mac_tx_clk_11,             //  Av-ST Transmit Clock   
684
    output wire  data_rx_sop_11,            //  Start of Packet
685
    output wire  data_rx_eop_11,            //  End of Packet
686
    output wire  [7:0] data_rx_data_11,     //  Data from FIFO
687
    output wire  [4:0] data_rx_error_11,    //  Receive packet error
688
    output wire  data_rx_valid_11,          //  Data Receive FIFO Valid
689
    input wire   data_rx_ready_11,          //  Data Receive Ready
690
    output wire  [4:0] pkt_class_data_11,   //  Frame Type Indication
691
    output wire  pkt_class_valid_11,        //  Frame Type Indication Valid 
692
    input wire   data_tx_error_11,          //  STATUS FIFO (Tx frame Error from Apps)
693
    input wire   [7:0] data_tx_data_11,     //  Data from FIFO transmit
694
    input wire   data_tx_valid_11,          //  Data FIFO transmit Empty
695
    input wire   data_tx_sop_11,            //  Start of Packet
696
    input wire   data_tx_eop_11,            //  END of Packet
697
    output wire  data_tx_ready_11,          //  Data FIFO transmit Read Enable  
698
 
699
    // STAND_ALONE CONDUITS 
700
    output wire  tx_ff_uflow_11,            //  TX FIFO underflow occured (Synchronous with tx_clk)
701
    input wire   tx_crc_fwd_11,             //  Forward Current Frame with CRC from Application
702
    input wire   xoff_gen_11,               //  Xoff Pause frame generate 
703
    input wire   xon_gen_11,                //  Xon Pause frame generate 
704
    input wire   magic_sleep_n_11,          //  Enable Sleep Mode
705
    output wire  magic_wakeup_11,           //  Wake Up Request
706
 
707
    // RECONFIG BLOCK SIGNALS
708
    input wire   [139:0] reconfig_togxb_11,  //  Signals from the reconfig block to the GXB block
709
    output wire  [91:0] reconfig_fromgxb_11,  //  Signals from the gxb block to the reconfig block
710
    input wire  [8:0]phy_mgmt_address_11,   //  address to PHYIP management interface 
711
    input wire  phy_mgmt_read_11,           //  read to PHYIP management interface 
712
    output wire [31:0]phy_mgmt_readdata_11, //  readdata from PHYIP management interface 
713
    output wire  phy_mgmt_waitrequest_11,    //  waitrequest from PHYIP management interface 
714
    input wire  phy_mgmt_write_11,          //  write to PHYIP management interface 
715
    input wire  [31:0]phy_mgmt_writedata_11,//  writedata to PHYIP management interface 
716
 
717
 
718
    // CHANNEL 12
719
 
720
    // PCS SIGNALS TO PHY
721
    input wire   rxp_12,                    //  Differential Receive Data 
722
    output wire  txp_12,                    //  Differential Transmit Data 
723
    output wire  rx_recovclkout_12,         //  Receiver Recovered Clock 
724
    output wire  led_crs_12,                //  Carrier Sense
725
    output wire  led_link_12,               //  Valid Link 
726
    output wire  led_col_12,                //  Collision Indication
727
    output wire  led_an_12,                 //  Auto-Negotiation Status
728
    output wire  led_char_err_12,           //  Character Error
729
    output wire  led_disp_err_12,           //  Disparity Error
730
 
731
    // AV-ST TX & RX
732
    output wire  mac_rx_clk_12,             //  Av-ST Receive Clock
733
    output wire  mac_tx_clk_12,             //  Av-ST Transmit Clock   
734
    output wire  data_rx_sop_12,            //  Start of Packet
735
    output wire  data_rx_eop_12,            //  End of Packet
736
    output wire  [7:0] data_rx_data_12,     //  Data from FIFO
737
    output wire  [4:0] data_rx_error_12,    //  Receive packet error
738
    output wire  data_rx_valid_12,          //  Data Receive FIFO Valid
739
    input wire   data_rx_ready_12,          //  Data Receive Ready
740
    output wire  [4:0] pkt_class_data_12,   //  Frame Type Indication
741
    output wire  pkt_class_valid_12,        //  Frame Type Indication Valid 
742
    input wire   data_tx_error_12,          //  STATUS FIFO (Tx frame Error from Apps)
743
    input wire   [7:0] data_tx_data_12,     //  Data from FIFO transmit
744
    input wire   data_tx_valid_12,          //  Data FIFO transmit Empty
745
    input wire   data_tx_sop_12,            //  Start of Packet
746
    input wire   data_tx_eop_12,            //  END of Packet
747
    output wire  data_tx_ready_12,          //  Data FIFO transmit Read Enable  
748
 
749
    // STAND_ALONE CONDUITS 
750
    output wire  tx_ff_uflow_12,            //  TX FIFO underflow occured (Synchronous with tx_clk)
751
    input wire   tx_crc_fwd_12,             //  Forward Current Frame with CRC from Application
752
    input wire   xoff_gen_12,               //  Xoff Pause frame generate 
753
    input wire   xon_gen_12,                //  Xon Pause frame generate 
754
    input wire   magic_sleep_n_12,          //  Enable Sleep Mode
755
    output wire  magic_wakeup_12,           //  Wake Up Request
756
 
757
    // RECONFIG BLOCK SIGNALS
758
    input wire   [139:0] reconfig_togxb_12,  //  Signals from the reconfig block to the GXB block
759
    output wire  [91:0] reconfig_fromgxb_12,  //  Signals from the gxb block to the reconfig block
760
    input wire  [8:0]phy_mgmt_address_12,   //  address to PHYIP management interface 
761
    input wire  phy_mgmt_read_12,           //  read to PHYIP management interface 
762
    output wire [31:0]phy_mgmt_readdata_12, //  readdata from PHYIP management interface 
763
    output wire  phy_mgmt_waitrequest_12,    //  waitrequest from PHYIP management interface 
764
    input wire  phy_mgmt_write_12,          //  write to PHYIP management interface 
765
    input wire  [31:0]phy_mgmt_writedata_12,//  writedata to PHYIP management interface 
766
 
767
 
768
    // CHANNEL 13
769
 
770
    // PCS SIGNALS TO PHY
771
    input wire   rxp_13,                    //  Differential Receive Data 
772
    output wire  txp_13,                    //  Differential Transmit Data 
773
    output wire  rx_recovclkout_13,         //  Receiver Recovered Clock 
774
    output wire  led_crs_13,                //  Carrier Sense
775
    output wire  led_link_13,               //  Valid Link 
776
    output wire  led_col_13,                //  Collision Indication
777
    output wire  led_an_13,                 //  Auto-Negotiation Status
778
    output wire  led_char_err_13,           //  Character Error
779
    output wire  led_disp_err_13,           //  Disparity Error
780
 
781
    // AV-ST TX & RX
782
    output wire  mac_rx_clk_13,             //  Av-ST Receive Clock
783
    output wire  mac_tx_clk_13,             //  Av-ST Transmit Clock   
784
    output wire  data_rx_sop_13,            //  Start of Packet
785
    output wire  data_rx_eop_13,            //  End of Packet
786
    output wire  [7:0] data_rx_data_13,     //  Data from FIFO
787
    output wire  [4:0] data_rx_error_13,    //  Receive packet error
788
    output wire  data_rx_valid_13,          //  Data Receive FIFO Valid
789
    input wire   data_rx_ready_13,          //  Data Receive Ready
790
    output wire  [4:0] pkt_class_data_13,   //  Frame Type Indication
791
    output wire  pkt_class_valid_13,        //  Frame Type Indication Valid 
792
    input wire   data_tx_error_13,          //  STATUS FIFO (Tx frame Error from Apps)
793
    input wire   [7:0] data_tx_data_13,     //  Data from FIFO transmit
794
    input wire   data_tx_valid_13,          //  Data FIFO transmit Empty
795
    input wire   data_tx_sop_13,            //  Start of Packet
796
    input wire   data_tx_eop_13,            //  END of Packet
797
    output wire  data_tx_ready_13,          //  Data FIFO transmit Read Enable  
798
 
799
    // STAND_ALONE CONDUITS 
800
    output wire  tx_ff_uflow_13,            //  TX FIFO underflow occured (Synchronous with tx_clk)
801
    input wire   tx_crc_fwd_13,             //  Forward Current Frame with CRC from Application
802
    input wire   xoff_gen_13,               //  Xoff Pause frame generate 
803
    input wire   xon_gen_13,                //  Xon Pause frame generate 
804
    input wire   magic_sleep_n_13,          //  Enable Sleep Mode
805
    output wire  magic_wakeup_13,           //  Wake Up Request
806
 
807
    // RECONFIG BLOCK SIGNALS
808
    input wire   [139:0] reconfig_togxb_13,  //  Signals from the reconfig block to the GXB block
809
    output wire  [91:0] reconfig_fromgxb_13,  //  Signals from the gxb block to the reconfig block
810
    input wire  [8:0]phy_mgmt_address_13,   //  address to PHYIP management interface 
811
    input wire  phy_mgmt_read_13,           //  read to PHYIP management interface 
812
    output wire [31:0]phy_mgmt_readdata_13, //  readdata from PHYIP management interface 
813
    output wire  phy_mgmt_waitrequest_13,    //  waitrequest from PHYIP management interface 
814
    input wire  phy_mgmt_write_13,          //  write to PHYIP management interface 
815
    input wire  [31:0]phy_mgmt_writedata_13,//  writedata to PHYIP management interface 
816
 
817
 
818
    // CHANNEL 14
819
 
820
    // PCS SIGNALS TO PHY
821
    input wire   rxp_14,                    //  Differential Receive Data 
822
    output wire  txp_14,                    //  Differential Transmit Data 
823
    output wire  rx_recovclkout_14,         //  Receiver Recovered Clock 
824
    output wire  led_crs_14,                //  Carrier Sense
825
    output wire  led_link_14,               //  Valid Link 
826
    output wire  led_col_14,                //  Collision Indication
827
    output wire  led_an_14,                 //  Auto-Negotiation Status
828
    output wire  led_char_err_14,           //  Character Error
829
    output wire  led_disp_err_14,           //  Disparity Error
830
 
831
    // AV-ST TX & RX
832
    output wire  mac_rx_clk_14,             //  Av-ST Receive Clock
833
    output wire  mac_tx_clk_14,             //  Av-ST Transmit Clock   
834
    output wire  data_rx_sop_14,            //  Start of Packet
835
    output wire  data_rx_eop_14,            //  End of Packet
836
    output wire  [7:0] data_rx_data_14,     //  Data from FIFO
837
    output wire  [4:0] data_rx_error_14,    //  Receive packet error
838
    output wire  data_rx_valid_14,          //  Data Receive FIFO Valid
839
    input wire   data_rx_ready_14,          //  Data Receive Ready
840
    output wire  [4:0] pkt_class_data_14,   //  Frame Type Indication
841
    output wire  pkt_class_valid_14,        //  Frame Type Indication Valid 
842
    input wire   data_tx_error_14,          //  STATUS FIFO (Tx frame Error from Apps)
843
    input wire   [7:0] data_tx_data_14,     //  Data from FIFO transmit
844
    input wire   data_tx_valid_14,          //  Data FIFO transmit Empty
845
    input wire   data_tx_sop_14,            //  Start of Packet
846
    input wire   data_tx_eop_14,            //  END of Packet
847
    output wire  data_tx_ready_14,          //  Data FIFO transmit Read Enable  
848
 
849
    // STAND_ALONE CONDUITS 
850
    output wire  tx_ff_uflow_14,            //  TX FIFO underflow occured (Synchronous with tx_clk)
851
    input wire   tx_crc_fwd_14,             //  Forward Current Frame with CRC from Application
852
    input wire   xoff_gen_14,               //  Xoff Pause frame generate 
853
    input wire   xon_gen_14,                //  Xon Pause frame generate 
854
    input wire   magic_sleep_n_14,          //  Enable Sleep Mode
855
    output wire  magic_wakeup_14,           //  Wake Up Request
856
 
857
    // RECONFIG BLOCK SIGNALS
858
    input wire   [139:0] reconfig_togxb_14,  //  Signals from the reconfig block to the GXB block
859
    output wire  [91:0] reconfig_fromgxb_14,  //  Signals from the gxb block to the reconfig block
860
    input wire  [8:0]phy_mgmt_address_14,   //  address to PHYIP management interface 
861
    input wire  phy_mgmt_read_14,           //  read to PHYIP management interface 
862
    output wire [31:0]phy_mgmt_readdata_14, //  readdata from PHYIP management interface 
863
    output wire  phy_mgmt_waitrequest_14,    //  waitrequest from PHYIP management interface 
864
    input wire  phy_mgmt_write_14,          //  write to PHYIP management interface 
865
    input wire  [31:0]phy_mgmt_writedata_14,//  writedata to PHYIP management interface 
866
 
867
 
868
    // CHANNEL 15
869
 
870
    // PCS SIGNALS TO PHY
871
    input wire   rxp_15,                    //  Differential Receive Data 
872
    output wire  txp_15,                    //  Differential Transmit Data 
873
    output wire  rx_recovclkout_15,         //  Receiver Recovered Clock 
874
    output wire  led_crs_15,                //  Carrier Sense
875
    output wire  led_link_15,               //  Valid Link 
876
    output wire  led_col_15,                //  Collision Indication
877
    output wire  led_an_15,                 //  Auto-Negotiation Status
878
    output wire  led_char_err_15,           //  Character Error
879
    output wire  led_disp_err_15,           //  Disparity Error
880
 
881
    // AV-ST TX & RX
882
    output wire  mac_rx_clk_15,             //  Av-ST Receive Clock
883
    output wire  mac_tx_clk_15,             //  Av-ST Transmit Clock   
884
    output wire  data_rx_sop_15,            //  Start of Packet
885
    output wire  data_rx_eop_15,            //  End of Packet
886
    output wire  [7:0] data_rx_data_15,     //  Data from FIFO
887
    output wire  [4:0] data_rx_error_15,    //  Receive packet error
888
    output wire  data_rx_valid_15,          //  Data Receive FIFO Valid
889
    input wire   data_rx_ready_15,          //  Data Receive Ready
890
    output wire  [4:0] pkt_class_data_15,   //  Frame Type Indication
891
    output wire  pkt_class_valid_15,        //  Frame Type Indication Valid 
892
    input wire   data_tx_error_15,          //  STATUS FIFO (Tx frame Error from Apps)
893
    input wire   [7:0] data_tx_data_15,     //  Data from FIFO transmit
894
    input wire   data_tx_valid_15,          //  Data FIFO transmit Empty
895
    input wire   data_tx_sop_15,            //  Start of Packet
896
    input wire   data_tx_eop_15,            //  END of Packet
897
    output wire  data_tx_ready_15,          //  Data FIFO transmit Read Enable  
898
 
899
    // STAND_ALONE CONDUITS 
900
    output wire  tx_ff_uflow_15,            //  TX FIFO underflow occured (Synchronous with tx_clk)
901
    input wire   tx_crc_fwd_15,             //  Forward Current Frame with CRC from Application
902
    input wire   xoff_gen_15,               //  Xoff Pause frame generate 
903
    input wire   xon_gen_15,                //  Xon Pause frame generate 
904
    input wire   magic_sleep_n_15,          //  Enable Sleep Mode
905
    output wire  magic_wakeup_15,           //  Wake Up Request
906
 
907
    // RECONFIG BLOCK SIGNALS
908
    input wire   [139:0] reconfig_togxb_15,  //  Signals from the reconfig block to the GXB block
909
    output wire  [91:0] reconfig_fromgxb_15,  //  Signals from the gxb block to the reconfig block
910
    input wire  [8:0]phy_mgmt_address_15,   //  address to PHYIP management interface 
911
    input wire  phy_mgmt_read_15,           //  read to PHYIP management interface 
912
    output wire [31:0]phy_mgmt_readdata_15, //  readdata from PHYIP management interface 
913
    output wire  phy_mgmt_waitrequest_15,    //  waitrequest from PHYIP management interface 
914
    input wire  phy_mgmt_write_15,          //  write to PHYIP management interface 
915
    input wire  [31:0]phy_mgmt_writedata_15,//  writedata to PHYIP management interface 
916
 
917
 
918
    // CHANNEL 16
919
 
920
    // PCS SIGNALS TO PHY
921
    input wire   rxp_16,                    //  Differential Receive Data 
922
    output wire  txp_16,                    //  Differential Transmit Data 
923
    output wire  rx_recovclkout_16,         //  Receiver Recovered Clock 
924
    output wire  led_crs_16,                //  Carrier Sense
925
    output wire  led_link_16,               //  Valid Link 
926
    output wire  led_col_16,                //  Collision Indication
927
    output wire  led_an_16,                 //  Auto-Negotiation Status
928
    output wire  led_char_err_16,           //  Character Error
929
    output wire  led_disp_err_16,           //  Disparity Error
930
 
931
    // AV-ST TX & RX
932
    output wire  mac_rx_clk_16,             //  Av-ST Receive Clock
933
    output wire  mac_tx_clk_16,             //  Av-ST Transmit Clock   
934
    output wire  data_rx_sop_16,            //  Start of Packet
935
    output wire  data_rx_eop_16,            //  End of Packet
936
    output wire  [7:0] data_rx_data_16,     //  Data from FIFO
937
    output wire  [4:0] data_rx_error_16,    //  Receive packet error
938
    output wire  data_rx_valid_16,          //  Data Receive FIFO Valid
939
    input wire   data_rx_ready_16,          //  Data Receive Ready
940
    output wire  [4:0] pkt_class_data_16,   //  Frame Type Indication
941
    output wire  pkt_class_valid_16,        //  Frame Type Indication Valid 
942
    input wire   data_tx_error_16,          //  STATUS FIFO (Tx frame Error from Apps)
943
    input wire   [7:0] data_tx_data_16,     //  Data from FIFO transmit
944
    input wire   data_tx_valid_16,          //  Data FIFO transmit Empty
945
    input wire   data_tx_sop_16,            //  Start of Packet
946
    input wire   data_tx_eop_16,            //  END of Packet
947
    output wire  data_tx_ready_16,          //  Data FIFO transmit Read Enable  
948
 
949
    // STAND_ALONE CONDUITS 
950
    output wire  tx_ff_uflow_16,            //  TX FIFO underflow occured (Synchronous with tx_clk)
951
    input wire   tx_crc_fwd_16,             //  Forward Current Frame with CRC from Application
952
    input wire   xoff_gen_16,               //  Xoff Pause frame generate 
953
    input wire   xon_gen_16,                //  Xon Pause frame generate 
954
    input wire   magic_sleep_n_16,          //  Enable Sleep Mode
955
    output wire  magic_wakeup_16,           //  Wake Up Request
956
 
957
    // RECONFIG BLOCK SIGNALS
958
    input wire   [139:0] reconfig_togxb_16,  //  Signals from the reconfig block to the GXB block
959
    output wire  [91:0] reconfig_fromgxb_16,  //  Signals from the gxb block to the reconfig block
960
    input wire  [8:0]phy_mgmt_address_16,   //  address to PHYIP management interface 
961
    input wire  phy_mgmt_read_16,           //  read to PHYIP management interface 
962
    output wire [31:0]phy_mgmt_readdata_16, //  readdata from PHYIP management interface 
963
    output wire  phy_mgmt_waitrequest_16,    //  waitrequest from PHYIP management interface 
964
    input wire  phy_mgmt_write_16,          //  write to PHYIP management interface 
965
    input wire  [31:0]phy_mgmt_writedata_16,//  writedata to PHYIP management interface 
966
 
967
 
968
    // CHANNEL 17
969
 
970
    // PCS SIGNALS TO PHY
971
    input wire   rxp_17,                    //  Differential Receive Data 
972
    output wire  txp_17,                    //  Differential Transmit Data 
973
    output wire  rx_recovclkout_17,         //  Receiver Recovered Clock 
974
    output wire  led_crs_17,                //  Carrier Sense
975
    output wire  led_link_17,               //  Valid Link 
976
    output wire  led_col_17,                //  Collision Indication
977
    output wire  led_an_17,                 //  Auto-Negotiation Status
978
    output wire  led_char_err_17,           //  Character Error
979
    output wire  led_disp_err_17,           //  Disparity Error
980
 
981
    // AV-ST TX & RX
982
    output wire  mac_rx_clk_17,             //  Av-ST Receive Clock
983
    output wire  mac_tx_clk_17,             //  Av-ST Transmit Clock   
984
    output wire  data_rx_sop_17,            //  Start of Packet
985
    output wire  data_rx_eop_17,            //  End of Packet
986
    output wire  [7:0] data_rx_data_17,     //  Data from FIFO
987
    output wire  [4:0] data_rx_error_17,    //  Receive packet error
988
    output wire  data_rx_valid_17,          //  Data Receive FIFO Valid
989
    input wire   data_rx_ready_17,          //  Data Receive Ready
990
    output wire  [4:0] pkt_class_data_17,   //  Frame Type Indication
991
    output wire  pkt_class_valid_17,        //  Frame Type Indication Valid 
992
    input wire   data_tx_error_17,          //  STATUS FIFO (Tx frame Error from Apps)
993
    input wire   [7:0] data_tx_data_17,     //  Data from FIFO transmit
994
    input wire   data_tx_valid_17,          //  Data FIFO transmit Empty
995
    input wire   data_tx_sop_17,            //  Start of Packet
996
    input wire   data_tx_eop_17,            //  END of Packet
997
    output wire  data_tx_ready_17,          //  Data FIFO transmit Read Enable  
998
 
999
    // STAND_ALONE CONDUITS 
1000
    output wire  tx_ff_uflow_17,            //  TX FIFO underflow occured (Synchronous with tx_clk)
1001
    input wire   tx_crc_fwd_17,             //  Forward Current Frame with CRC from Application
1002
    input wire   xoff_gen_17,               //  Xoff Pause frame generate 
1003
    input wire   xon_gen_17,                //  Xon Pause frame generate 
1004
    input wire   magic_sleep_n_17,          //  Enable Sleep Mode
1005
    output wire  magic_wakeup_17,           //  Wake Up Request
1006
 
1007
    // RECONFIG BLOCK SIGNALS
1008
    input wire   [139:0] reconfig_togxb_17,  //  Signals from the reconfig block to the GXB block
1009
    output wire  [91:0] reconfig_fromgxb_17,  //  Signals from the gxb block to the reconfig block
1010
    input wire  [8:0]phy_mgmt_address_17,   //  address to PHYIP management interface 
1011
    input wire  phy_mgmt_read_17,           //  read to PHYIP management interface 
1012
    output wire [31:0]phy_mgmt_readdata_17, //  readdata from PHYIP management interface 
1013
    output wire  phy_mgmt_waitrequest_17,    //  waitrequest from PHYIP management interface 
1014
    input wire  phy_mgmt_write_17,          //  write to PHYIP management interface 
1015
    input wire  [31:0]phy_mgmt_writedata_17,//  writedata to PHYIP management interface 
1016
 
1017
 
1018
    // CHANNEL 18
1019
 
1020
    // PCS SIGNALS TO PHY
1021
    input wire   rxp_18,                    //  Differential Receive Data 
1022
    output wire  txp_18,                    //  Differential Transmit Data 
1023
    output wire  rx_recovclkout_18,         //  Receiver Recovered Clock 
1024
    output wire  led_crs_18,                //  Carrier Sense
1025
    output wire  led_link_18,               //  Valid Link 
1026
    output wire  led_col_18,                //  Collision Indication
1027
    output wire  led_an_18,                 //  Auto-Negotiation Status
1028
    output wire  led_char_err_18,           //  Character Error
1029
    output wire  led_disp_err_18,           //  Disparity Error
1030
 
1031
    // AV-ST TX & RX
1032
    output wire  mac_rx_clk_18,             //  Av-ST Receive Clock
1033
    output wire  mac_tx_clk_18,             //  Av-ST Transmit Clock   
1034
    output wire  data_rx_sop_18,            //  Start of Packet
1035
    output wire  data_rx_eop_18,            //  End of Packet
1036
    output wire  [7:0] data_rx_data_18,     //  Data from FIFO
1037
    output wire  [4:0] data_rx_error_18,    //  Receive packet error
1038
    output wire  data_rx_valid_18,          //  Data Receive FIFO Valid
1039
    input wire   data_rx_ready_18,          //  Data Receive Ready
1040
    output wire  [4:0] pkt_class_data_18,   //  Frame Type Indication
1041
    output wire  pkt_class_valid_18,        //  Frame Type Indication Valid 
1042
    input wire   data_tx_error_18,          //  STATUS FIFO (Tx frame Error from Apps)
1043
    input wire   [7:0] data_tx_data_18,     //  Data from FIFO transmit
1044
    input wire   data_tx_valid_18,          //  Data FIFO transmit Empty
1045
    input wire   data_tx_sop_18,            //  Start of Packet
1046
    input wire   data_tx_eop_18,            //  END of Packet
1047
    output wire  data_tx_ready_18,          //  Data FIFO transmit Read Enable  
1048
 
1049
    // STAND_ALONE CONDUITS 
1050
    output wire  tx_ff_uflow_18,            //  TX FIFO underflow occured (Synchronous with tx_clk)
1051
    input wire   tx_crc_fwd_18,             //  Forward Current Frame with CRC from Application
1052
    input wire   xoff_gen_18,               //  Xoff Pause frame generate 
1053
    input wire   xon_gen_18,                //  Xon Pause frame generate 
1054
    input wire   magic_sleep_n_18,          //  Enable Sleep Mode
1055
    output wire  magic_wakeup_18,           //  Wake Up Request
1056
 
1057
    // RECONFIG BLOCK SIGNALS
1058
    input wire   [139:0] reconfig_togxb_18,  //  Signals from the reconfig block to the GXB block
1059
    output wire  [91:0] reconfig_fromgxb_18,  //  Signals from the gxb block to the reconfig block
1060
    input wire  [8:0]phy_mgmt_address_18,   //  address to PHYIP management interface 
1061
    input wire  phy_mgmt_read_18,           //  read to PHYIP management interface 
1062
    output wire [31:0]phy_mgmt_readdata_18, //  readdata from PHYIP management interface 
1063
    output wire  phy_mgmt_waitrequest_18,    //  waitrequest from PHYIP management interface 
1064
    input wire  phy_mgmt_write_18,          //  write to PHYIP management interface 
1065
    input wire  [31:0]phy_mgmt_writedata_18,//  writedata to PHYIP management interface 
1066
 
1067
 
1068
    // CHANNEL 19
1069
 
1070
    // PCS SIGNALS TO PHY
1071
    input wire   rxp_19,                    //  Differential Receive Data 
1072
    output wire  txp_19,                    //  Differential Transmit Data 
1073
    output wire  rx_recovclkout_19,         //  Receiver Recovered Clock 
1074
    output wire  led_crs_19,                //  Carrier Sense
1075
    output wire  led_link_19,               //  Valid Link 
1076
    output wire  led_col_19,                //  Collision Indication
1077
    output wire  led_an_19,                 //  Auto-Negotiation Status
1078
    output wire  led_char_err_19,           //  Character Error
1079
    output wire  led_disp_err_19,           //  Disparity Error
1080
 
1081
    // AV-ST TX & RX
1082
    output wire  mac_rx_clk_19,             //  Av-ST Receive Clock
1083
    output wire  mac_tx_clk_19,             //  Av-ST Transmit Clock   
1084
    output wire  data_rx_sop_19,            //  Start of Packet
1085
    output wire  data_rx_eop_19,            //  End of Packet
1086
    output wire  [7:0] data_rx_data_19,     //  Data from FIFO
1087
    output wire  [4:0] data_rx_error_19,    //  Receive packet error
1088
    output wire  data_rx_valid_19,          //  Data Receive FIFO Valid
1089
    input wire   data_rx_ready_19,          //  Data Receive Ready
1090
    output wire  [4:0] pkt_class_data_19,   //  Frame Type Indication
1091
    output wire  pkt_class_valid_19,        //  Frame Type Indication Valid 
1092
    input wire   data_tx_error_19,          //  STATUS FIFO (Tx frame Error from Apps)
1093
    input wire   [7:0] data_tx_data_19,     //  Data from FIFO transmit
1094
    input wire   data_tx_valid_19,          //  Data FIFO transmit Empty
1095
    input wire   data_tx_sop_19,            //  Start of Packet
1096
    input wire   data_tx_eop_19,            //  END of Packet
1097
    output wire  data_tx_ready_19,          //  Data FIFO transmit Read Enable  
1098
 
1099
    // STAND_ALONE CONDUITS 
1100
    output wire  tx_ff_uflow_19,            //  TX FIFO underflow occured (Synchronous with tx_clk)
1101
    input wire   tx_crc_fwd_19,             //  Forward Current Frame with CRC from Application
1102
    input wire   xoff_gen_19,               //  Xoff Pause frame generate 
1103
    input wire   xon_gen_19,                //  Xon Pause frame generate 
1104
    input wire   magic_sleep_n_19,          //  Enable Sleep Mode
1105
    output wire  magic_wakeup_19,           //  Wake Up Request
1106
 
1107
    // RECONFIG BLOCK SIGNALS
1108
    input wire   [139:0] reconfig_togxb_19,  //  Signals from the reconfig block to the GXB block
1109
    output wire  [91:0] reconfig_fromgxb_19,  //  Signals from the gxb block to the reconfig block
1110
    input wire  [8:0]phy_mgmt_address_19,   //  address to PHYIP management interface 
1111
    input wire  phy_mgmt_read_19,           //  read to PHYIP management interface 
1112
    output wire [31:0]phy_mgmt_readdata_19, //  readdata from PHYIP management interface 
1113
    output wire  phy_mgmt_waitrequest_19,    //  waitrequest from PHYIP management interface 
1114
    input wire  phy_mgmt_write_19,          //  write to PHYIP management interface 
1115
    input wire  [31:0]phy_mgmt_writedata_19,//  writedata to PHYIP management interface 
1116
 
1117
 
1118
    // CHANNEL 20
1119
 
1120
    // PCS SIGNALS TO PHY
1121
    input wire   rxp_20,                    //  Differential Receive Data 
1122
    output wire  txp_20,                    //  Differential Transmit Data 
1123
    output wire  rx_recovclkout_20,         //  Receiver Recovered Clock 
1124
    output wire  led_crs_20,                //  Carrier Sense
1125
    output wire  led_link_20,               //  Valid Link 
1126
    output wire  led_col_20,                //  Collision Indication
1127
    output wire  led_an_20,                 //  Auto-Negotiation Status
1128
    output wire  led_char_err_20,           //  Character Error
1129
    output wire  led_disp_err_20,           //  Disparity Error
1130
 
1131
    // AV-ST TX & RX
1132
    output wire  mac_rx_clk_20,             //  Av-ST Receive Clock
1133
    output wire  mac_tx_clk_20,             //  Av-ST Transmit Clock   
1134
    output wire  data_rx_sop_20,            //  Start of Packet
1135
    output wire  data_rx_eop_20,            //  End of Packet
1136
    output wire  [7:0] data_rx_data_20,     //  Data from FIFO
1137
    output wire  [4:0] data_rx_error_20,    //  Receive packet error
1138
    output wire  data_rx_valid_20,          //  Data Receive FIFO Valid
1139
    input wire   data_rx_ready_20,          //  Data Receive Ready
1140
    output wire  [4:0] pkt_class_data_20,   //  Frame Type Indication
1141
    output wire  pkt_class_valid_20,        //  Frame Type Indication Valid 
1142
    input wire   data_tx_error_20,          //  STATUS FIFO (Tx frame Error from Apps)
1143
    input wire   [7:0] data_tx_data_20,     //  Data from FIFO transmit
1144
    input wire   data_tx_valid_20,          //  Data FIFO transmit Empty
1145
    input wire   data_tx_sop_20,            //  Start of Packet
1146
    input wire   data_tx_eop_20,            //  END of Packet
1147
    output wire  data_tx_ready_20,          //  Data FIFO transmit Read Enable  
1148
 
1149
    // STAND_ALONE CONDUITS 
1150
    output wire  tx_ff_uflow_20,            //  TX FIFO underflow occured (Synchronous with tx_clk)
1151
    input wire   tx_crc_fwd_20,             //  Forward Current Frame with CRC from Application
1152
    input wire   xoff_gen_20,               //  Xoff Pause frame generate 
1153
    input wire   xon_gen_20,                //  Xon Pause frame generate 
1154
    input wire   magic_sleep_n_20,          //  Enable Sleep Mode
1155
    output wire  magic_wakeup_20,           //  Wake Up Request
1156
 
1157
    // RECONFIG BLOCK SIGNALS
1158
    input wire   [139:0] reconfig_togxb_20,  //  Signals from the reconfig block to the GXB block
1159
    output wire  [91:0] reconfig_fromgxb_20,  //  Signals from the gxb block to the reconfig block
1160
    input wire  [8:0]phy_mgmt_address_20,   //  address to PHYIP management interface 
1161
    input wire  phy_mgmt_read_20,           //  read to PHYIP management interface 
1162
    output wire [31:0]phy_mgmt_readdata_20, //  readdata from PHYIP management interface 
1163
    output wire  phy_mgmt_waitrequest_20,    //  waitrequest from PHYIP management interface 
1164
    input wire  phy_mgmt_write_20,          //  write to PHYIP management interface 
1165
    input wire  [31:0]phy_mgmt_writedata_20,//  writedata to PHYIP management interface 
1166
 
1167
 
1168
    // CHANNEL 21
1169
 
1170
    // PCS SIGNALS TO PHY
1171
    input wire   rxp_21,                    //  Differential Receive Data 
1172
    output wire  txp_21,                    //  Differential Transmit Data 
1173
    output wire  rx_recovclkout_21,         //  Receiver Recovered Clock 
1174
    output wire  led_crs_21,                //  Carrier Sense
1175
    output wire  led_link_21,               //  Valid Link 
1176
    output wire  led_col_21,                //  Collision Indication
1177
    output wire  led_an_21,                 //  Auto-Negotiation Status
1178
    output wire  led_char_err_21,           //  Character Error
1179
    output wire  led_disp_err_21,           //  Disparity Error
1180
 
1181
    // AV-ST TX & RX
1182
    output wire  mac_rx_clk_21,             //  Av-ST Receive Clock
1183
    output wire  mac_tx_clk_21,             //  Av-ST Transmit Clock   
1184
    output wire  data_rx_sop_21,            //  Start of Packet
1185
    output wire  data_rx_eop_21,            //  End of Packet
1186
    output wire  [7:0] data_rx_data_21,     //  Data from FIFO
1187
    output wire  [4:0] data_rx_error_21,    //  Receive packet error
1188
    output wire  data_rx_valid_21,          //  Data Receive FIFO Valid
1189
    input wire   data_rx_ready_21,          //  Data Receive Ready
1190
    output wire  [4:0] pkt_class_data_21,   //  Frame Type Indication
1191
    output wire  pkt_class_valid_21,        //  Frame Type Indication Valid 
1192
    input wire   data_tx_error_21,          //  STATUS FIFO (Tx frame Error from Apps)
1193
    input wire   [7:0] data_tx_data_21,     //  Data from FIFO transmit
1194
    input wire   data_tx_valid_21,          //  Data FIFO transmit Empty
1195
    input wire   data_tx_sop_21,            //  Start of Packet
1196
    input wire   data_tx_eop_21,            //  END of Packet
1197
    output wire  data_tx_ready_21,          //  Data FIFO transmit Read Enable  
1198
 
1199
    // STAND_ALONE CONDUITS 
1200
    output wire  tx_ff_uflow_21,            //  TX FIFO underflow occured (Synchronous with tx_clk)
1201
    input wire   tx_crc_fwd_21,             //  Forward Current Frame with CRC from Application
1202
    input wire   xoff_gen_21,               //  Xoff Pause frame generate 
1203
    input wire   xon_gen_21,                //  Xon Pause frame generate 
1204
    input wire   magic_sleep_n_21,          //  Enable Sleep Mode
1205
    output wire  magic_wakeup_21,           //  Wake Up Request
1206
 
1207
    // RECONFIG BLOCK SIGNALS
1208
    input wire   [139:0] reconfig_togxb_21,  //  Signals from the reconfig block to the GXB block
1209
    output wire  [91:0] reconfig_fromgxb_21,  //  Signals from the gxb block to the reconfig block
1210
    input wire  [8:0]phy_mgmt_address_21,   //  address to PHYIP management interface 
1211
    input wire  phy_mgmt_read_21,           //  read to PHYIP management interface 
1212
    output wire [31:0]phy_mgmt_readdata_21, //  readdata from PHYIP management interface 
1213
    output wire  phy_mgmt_waitrequest_21,    //  waitrequest from PHYIP management interface 
1214
    input wire  phy_mgmt_write_21,          //  write to PHYIP management interface 
1215
    input wire  [31:0]phy_mgmt_writedata_21,//  writedata to PHYIP management interface 
1216
 
1217
 
1218
    // CHANNEL 22
1219
 
1220
    // PCS SIGNALS TO PHY
1221
    input wire   rxp_22,                    //  Differential Receive Data 
1222
    output wire  txp_22,                    //  Differential Transmit Data 
1223
    output wire  rx_recovclkout_22,         //  Receiver Recovered Clock 
1224
    output wire  led_crs_22,                //  Carrier Sense
1225
    output wire  led_link_22,               //  Valid Link 
1226
    output wire  led_col_22,                //  Collision Indication
1227
    output wire  led_an_22,                 //  Auto-Negotiation Status
1228
    output wire  led_char_err_22,           //  Character Error
1229
    output wire  led_disp_err_22,           //  Disparity Error
1230
 
1231
    // AV-ST TX & RX
1232
    output wire  mac_rx_clk_22,             //  Av-ST Receive Clock
1233
    output wire  mac_tx_clk_22,             //  Av-ST Transmit Clock   
1234
    output wire  data_rx_sop_22,            //  Start of Packet
1235
    output wire  data_rx_eop_22,            //  End of Packet
1236
    output wire  [7:0] data_rx_data_22,     //  Data from FIFO
1237
    output wire  [4:0] data_rx_error_22,    //  Receive packet error
1238
    output wire  data_rx_valid_22,          //  Data Receive FIFO Valid
1239
    input wire   data_rx_ready_22,          //  Data Receive Ready
1240
    output wire  [4:0] pkt_class_data_22,   //  Frame Type Indication
1241
    output wire  pkt_class_valid_22,        //  Frame Type Indication Valid 
1242
    input wire   data_tx_error_22,          //  STATUS FIFO (Tx frame Error from Apps)
1243
    input wire   [7:0] data_tx_data_22,     //  Data from FIFO transmit
1244
    input wire   data_tx_valid_22,          //  Data FIFO transmit Empty
1245
    input wire   data_tx_sop_22,            //  Start of Packet
1246
    input wire   data_tx_eop_22,            //  END of Packet
1247
    output wire  data_tx_ready_22,          //  Data FIFO transmit Read Enable  
1248
 
1249
    // STAND_ALONE CONDUITS 
1250
    output wire  tx_ff_uflow_22,            //  TX FIFO underflow occured (Synchronous with tx_clk)
1251
    input wire   tx_crc_fwd_22,             //  Forward Current Frame with CRC from Application
1252
    input wire   xoff_gen_22,               //  Xoff Pause frame generate 
1253
    input wire   xon_gen_22,                //  Xon Pause frame generate 
1254
    input wire   magic_sleep_n_22,          //  Enable Sleep Mode
1255
    output wire  magic_wakeup_22,           //  Wake Up Request
1256
 
1257
    // RECONFIG BLOCK SIGNALS
1258
    input wire   [139:0] reconfig_togxb_22,  //  Signals from the reconfig block to the GXB block
1259
    output wire  [91:0] reconfig_fromgxb_22,  //  Signals from the gxb block to the reconfig block
1260
    input wire  [8:0]phy_mgmt_address_22,   //  address to PHYIP management interface 
1261
    input wire  phy_mgmt_read_22,           //  read to PHYIP management interface 
1262
    output wire [31:0]phy_mgmt_readdata_22, //  readdata from PHYIP management interface 
1263
    output wire  phy_mgmt_waitrequest_22,    //  waitrequest from PHYIP management interface 
1264
    input wire  phy_mgmt_write_22,          //  write to PHYIP management interface 
1265
    input wire  [31:0]phy_mgmt_writedata_22,//  writedata to PHYIP management interface 
1266
 
1267
 
1268
    // CHANNEL 23
1269
 
1270
    // PCS SIGNALS TO PHY
1271
    input wire   rxp_23,                    //  Differential Receive Data 
1272
    output wire  txp_23,                    //  Differential Transmit Data 
1273
    output wire  rx_recovclkout_23,         //  Receiver Recovered Clock 
1274
    output wire  led_crs_23,                //  Carrier Sense
1275
    output wire  led_link_23,               //  Valid Link 
1276
    output wire  led_col_23,                //  Collision Indication
1277
    output wire  led_an_23,                 //  Auto-Negotiation Status
1278
    output wire  led_char_err_23,           //  Character Error
1279
    output wire  led_disp_err_23,           //  Disparity Error
1280
 
1281
    // AV-ST TX & RX
1282
    output wire  mac_rx_clk_23,             //  Av-ST Receive Clock
1283
    output wire  mac_tx_clk_23,             //  Av-ST Transmit Clock   
1284
    output wire  data_rx_sop_23,            //  Start of Packet
1285
    output wire  data_rx_eop_23,            //  End of Packet
1286
    output wire  [7:0] data_rx_data_23,     //  Data from FIFO
1287
    output wire  [4:0] data_rx_error_23,    //  Receive packet error
1288
    output wire  data_rx_valid_23,          //  Data Receive FIFO Valid
1289
    input wire   data_rx_ready_23,          //  Data Receive Ready
1290
    output wire  [4:0] pkt_class_data_23,   //  Frame Type Indication
1291
    output wire  pkt_class_valid_23,        //  Frame Type Indication Valid 
1292
    input wire   data_tx_error_23,          //  STATUS FIFO (Tx frame Error from Apps)
1293
    input wire   [7:0] data_tx_data_23,     //  Data from FIFO transmit
1294
    input wire   data_tx_valid_23,          //  Data FIFO transmit Empty
1295
    input wire   data_tx_sop_23,            //  Start of Packet
1296
    input wire   data_tx_eop_23,            //  END of Packet
1297
    output wire  data_tx_ready_23,          //  Data FIFO transmit Read Enable  
1298
 
1299
    // STAND_ALONE CONDUITS 
1300
    output wire  tx_ff_uflow_23,            //  TX FIFO underflow occured (Synchronous with tx_clk)
1301
    input wire   tx_crc_fwd_23,             //  Forward Current Frame with CRC from Application
1302
    input wire   xoff_gen_23,               //  Xoff Pause frame generate 
1303
    input wire   xon_gen_23,                //  Xon Pause frame generate 
1304
    input wire   magic_sleep_n_23,          //  Enable Sleep Mode
1305
    output wire  magic_wakeup_23,           //  Wake Up Request
1306
 
1307
    // RECONFIG BLOCK SIGNALS
1308
    input wire   [139:0] reconfig_togxb_23,  //  Signals from the reconfig block to the GXB block
1309
    output wire  [91:0] reconfig_fromgxb_23,  //  Signals from the gxb block to the reconfig block
1310
    input wire  [8:0]phy_mgmt_address_23,   //  address to PHYIP management interface 
1311
    input wire  phy_mgmt_read_23,           //  read to PHYIP management interface 
1312
    output wire [31:0]phy_mgmt_readdata_23, //  readdata from PHYIP management interface 
1313
    output wire  phy_mgmt_waitrequest_23,    //  waitrequest from PHYIP management interface 
1314
    input wire  phy_mgmt_write_23,          //  write to PHYIP management interface 
1315
    input wire  [31:0]phy_mgmt_writedata_23);//  writedata to PHYIP management interface 
1316
 
1317
 
1318
wire    MAC_PCS_reset;
1319
wire    [23:0] pcs_pwrdn_out_sig;
1320
wire    [23:0] gxb_pwrdn_in_sig;
1321
wire    gige_pma_reset;
1322
wire    [23:0] led_char_err_gx;
1323
wire    [23:0] link_status;
1324
//wire    [23:0] pcs_clk;
1325
wire    tx_pcs_clk_c0;
1326
wire    tx_pcs_clk_c1;
1327
wire    tx_pcs_clk_c2;
1328
wire    tx_pcs_clk_c3;
1329
wire    tx_pcs_clk_c4;
1330
wire    tx_pcs_clk_c5;
1331
wire    tx_pcs_clk_c6;
1332
wire    tx_pcs_clk_c7;
1333
wire    tx_pcs_clk_c8;
1334
wire    tx_pcs_clk_c9;
1335
wire    tx_pcs_clk_c10;
1336
wire    tx_pcs_clk_c11;
1337
wire    tx_pcs_clk_c12;
1338
wire    tx_pcs_clk_c13;
1339
wire    tx_pcs_clk_c14;
1340
wire    tx_pcs_clk_c15;
1341
wire    tx_pcs_clk_c16;
1342
wire    tx_pcs_clk_c17;
1343
wire    tx_pcs_clk_c18;
1344
wire    tx_pcs_clk_c19;
1345
wire    tx_pcs_clk_c20;
1346
wire    tx_pcs_clk_c21;
1347
wire    tx_pcs_clk_c22;
1348
wire    tx_pcs_clk_c23;
1349
wire    rx_pcs_clk_c0;
1350
wire    rx_pcs_clk_c1;
1351
wire    rx_pcs_clk_c2;
1352
wire    rx_pcs_clk_c3;
1353
wire    rx_pcs_clk_c4;
1354
wire    rx_pcs_clk_c5;
1355
wire    rx_pcs_clk_c6;
1356
wire    rx_pcs_clk_c7;
1357
wire    rx_pcs_clk_c8;
1358
wire    rx_pcs_clk_c9;
1359
wire    rx_pcs_clk_c10;
1360
wire    rx_pcs_clk_c11;
1361
wire    rx_pcs_clk_c12;
1362
wire    rx_pcs_clk_c13;
1363
wire    rx_pcs_clk_c14;
1364
wire    rx_pcs_clk_c15;
1365
wire    rx_pcs_clk_c16;
1366
wire    rx_pcs_clk_c17;
1367
wire    rx_pcs_clk_c18;
1368
wire    rx_pcs_clk_c19;
1369
wire    rx_pcs_clk_c20;
1370
wire    rx_pcs_clk_c21;
1371
wire    rx_pcs_clk_c22;
1372
wire    rx_pcs_clk_c23;
1373
wire    [23:0] rx_char_err_gx;
1374
wire    [23:0] rx_disp_err;
1375
wire    [23:0] rx_syncstatus;
1376
wire    [23:0] rx_runlengthviolation;
1377
wire    [23:0] rx_patterndetect;
1378
wire    [23:0] rx_runningdisp;
1379
wire    [23:0] rx_rmfifodatadeleted;
1380
wire    [23:0] rx_rmfifodatainserted;
1381
wire    [23:0] pcs_rx_rmfifodatadeleted;
1382
wire    [23:0] pcs_rx_rmfifodatainserted;
1383
wire    [23:0] pcs_rx_carrierdetected;
1384
 
1385
wire    rx_kchar_0;
1386
wire    [7:0] rx_frame_0;
1387
wire    pcs_rx_kchar_0;
1388
wire    [7:0] pcs_rx_frame_0;
1389
wire    tx_kchar_0;
1390
wire    [7:0] tx_frame_0;
1391
wire    rx_kchar_1;
1392
wire    [7:0] rx_frame_1;
1393
wire    pcs_rx_kchar_1;
1394
wire    [7:0] pcs_rx_frame_1;
1395
wire    tx_kchar_1;
1396
wire    [7:0] tx_frame_1;
1397
wire    rx_kchar_2;
1398
wire    [7:0] rx_frame_2;
1399
wire    pcs_rx_kchar_2;
1400
wire    [7:0] pcs_rx_frame_2;
1401
wire    tx_kchar_2;
1402
wire    [7:0] tx_frame_2;
1403
wire    rx_kchar_3;
1404
wire    [7:0] rx_frame_3;
1405
wire    pcs_rx_kchar_3;
1406
wire    [7:0] pcs_rx_frame_3;
1407
wire    tx_kchar_3;
1408
wire    [7:0] tx_frame_3;
1409
wire    rx_kchar_4;
1410
wire    [7:0] rx_frame_4;
1411
wire    pcs_rx_kchar_4;
1412
wire    [7:0] pcs_rx_frame_4;
1413
wire    tx_kchar_4;
1414
wire    [7:0] tx_frame_4;
1415
wire    rx_kchar_5;
1416
wire    [7:0] rx_frame_5;
1417
wire    pcs_rx_kchar_5;
1418
wire    [7:0] pcs_rx_frame_5;
1419
wire    tx_kchar_5;
1420
wire    [7:0] tx_frame_5;
1421
wire    rx_kchar_6;
1422
wire    [7:0] rx_frame_6;
1423
wire    pcs_rx_kchar_6;
1424
wire    [7:0] pcs_rx_frame_6;
1425
wire    tx_kchar_6;
1426
wire    [7:0] tx_frame_6;
1427
wire    rx_kchar_7;
1428
wire    [7:0] rx_frame_7;
1429
wire    pcs_rx_kchar_7;
1430
wire    [7:0] pcs_rx_frame_7;
1431
wire    tx_kchar_7;
1432
wire    [7:0] tx_frame_7;
1433
wire    rx_kchar_8;
1434
wire    [7:0] rx_frame_8;
1435
wire    pcs_rx_kchar_8;
1436
wire    [7:0] pcs_rx_frame_8;
1437
wire    tx_kchar_8;
1438
wire    [7:0] tx_frame_8;
1439
wire    rx_kchar_9;
1440
wire    [7:0] rx_frame_9;
1441
wire    pcs_rx_kchar_9;
1442
wire    [7:0] pcs_rx_frame_9;
1443
wire    tx_kchar_9;
1444
wire    [7:0] tx_frame_9;
1445
wire    rx_kchar_10;
1446
wire    [7:0] rx_frame_10;
1447
wire    pcs_rx_kchar_10;
1448
wire    [7:0] pcs_rx_frame_10;
1449
wire    tx_kchar_10;
1450
wire    [7:0] tx_frame_10;
1451
wire    rx_kchar_11;
1452
wire    [7:0] rx_frame_11;
1453
wire    pcs_rx_kchar_11;
1454
wire    [7:0] pcs_rx_frame_11;
1455
wire    tx_kchar_11;
1456
wire    [7:0] tx_frame_11;
1457
wire    rx_kchar_12;
1458
wire    [7:0] rx_frame_12;
1459
wire    pcs_rx_kchar_12;
1460
wire    [7:0] pcs_rx_frame_12;
1461
wire    tx_kchar_12;
1462
wire    [7:0] tx_frame_12;
1463
wire    rx_kchar_13;
1464
wire    [7:0] rx_frame_13;
1465
wire    pcs_rx_kchar_13;
1466
wire    [7:0] pcs_rx_frame_13;
1467
wire    tx_kchar_13;
1468
wire    [7:0] tx_frame_13;
1469
wire    rx_kchar_14;
1470
wire    [7:0] rx_frame_14;
1471
wire    pcs_rx_kchar_14;
1472
wire    [7:0] pcs_rx_frame_14;
1473
wire    tx_kchar_14;
1474
wire    [7:0] tx_frame_14;
1475
wire    rx_kchar_15;
1476
wire    [7:0] rx_frame_15;
1477
wire    pcs_rx_kchar_15;
1478
wire    [7:0] pcs_rx_frame_15;
1479
wire    tx_kchar_15;
1480
wire    [7:0] tx_frame_15;
1481
wire    rx_kchar_16;
1482
wire    [7:0] rx_frame_16;
1483
wire    pcs_rx_kchar_16;
1484
wire    [7:0] pcs_rx_frame_16;
1485
wire    tx_kchar_16;
1486
wire    [7:0] tx_frame_16;
1487
wire    rx_kchar_17;
1488
wire    [7:0] rx_frame_17;
1489
wire    pcs_rx_kchar_17;
1490
wire    [7:0] pcs_rx_frame_17;
1491
wire    tx_kchar_17;
1492
wire    [7:0] tx_frame_17;
1493
wire    rx_kchar_18;
1494
wire    [7:0] rx_frame_18;
1495
wire    pcs_rx_kchar_18;
1496
wire    [7:0] pcs_rx_frame_18;
1497
wire    tx_kchar_18;
1498
wire    [7:0] tx_frame_18;
1499
wire    rx_kchar_19;
1500
wire    [7:0] rx_frame_19;
1501
wire    pcs_rx_kchar_19;
1502
wire    [7:0] pcs_rx_frame_19;
1503
wire    tx_kchar_19;
1504
wire    [7:0] tx_frame_19;
1505
wire    rx_kchar_20;
1506
wire    [7:0] rx_frame_20;
1507
wire    pcs_rx_kchar_20;
1508
wire    [7:0] pcs_rx_frame_20;
1509
wire    tx_kchar_20;
1510
wire    [7:0] tx_frame_20;
1511
wire    rx_kchar_21;
1512
wire    [7:0] rx_frame_21;
1513
wire    pcs_rx_kchar_21;
1514
wire    [7:0] pcs_rx_frame_21;
1515
wire    tx_kchar_21;
1516
wire    [7:0] tx_frame_21;
1517
wire    rx_kchar_22;
1518
wire    [7:0] rx_frame_22;
1519
wire    pcs_rx_kchar_22;
1520
wire    [7:0] pcs_rx_frame_22;
1521
wire    tx_kchar_22;
1522
wire    [7:0] tx_frame_22;
1523
wire    rx_kchar_23;
1524
wire    [7:0] rx_frame_23;
1525
wire    pcs_rx_kchar_23;
1526
wire    [7:0] pcs_rx_frame_23;
1527
wire    tx_kchar_23;
1528
wire    [7:0] tx_frame_23;
1529
 
1530
wire    sd_loopback_0;
1531
wire    sd_loopback_1;
1532
wire    sd_loopback_2;
1533
wire    sd_loopback_3;
1534
wire    sd_loopback_4;
1535
wire    sd_loopback_5;
1536
wire    sd_loopback_6;
1537
wire    sd_loopback_7;
1538
wire    sd_loopback_8;
1539
wire    sd_loopback_9;
1540
wire    sd_loopback_10;
1541
wire    sd_loopback_11;
1542
wire    sd_loopback_12;
1543
wire    sd_loopback_13;
1544
wire    sd_loopback_14;
1545
wire    sd_loopback_15;
1546
wire    sd_loopback_16;
1547
wire    sd_loopback_17;
1548
wire    sd_loopback_18;
1549
wire    sd_loopback_19;
1550
wire    sd_loopback_20;
1551
wire    sd_loopback_21;
1552
wire    sd_loopback_22;
1553
wire    sd_loopback_23;
1554
 
1555
wire    reset_rx_pcs_clk_c0_int;
1556
wire    reset_rx_pcs_clk_c1_int;
1557
wire    reset_rx_pcs_clk_c2_int;
1558
wire    reset_rx_pcs_clk_c3_int;
1559
wire    reset_rx_pcs_clk_c4_int;
1560
wire    reset_rx_pcs_clk_c5_int;
1561
wire    reset_rx_pcs_clk_c6_int;
1562
wire    reset_rx_pcs_clk_c7_int;
1563
wire    reset_rx_pcs_clk_c8_int;
1564
wire    reset_rx_pcs_clk_c9_int;
1565
wire    reset_rx_pcs_clk_c10_int;
1566
wire    reset_rx_pcs_clk_c11_int;
1567
wire    reset_rx_pcs_clk_c12_int;
1568
wire    reset_rx_pcs_clk_c13_int;
1569
wire    reset_rx_pcs_clk_c14_int;
1570
wire    reset_rx_pcs_clk_c15_int;
1571
wire    reset_rx_pcs_clk_c16_int;
1572
wire    reset_rx_pcs_clk_c17_int;
1573
wire    reset_rx_pcs_clk_c18_int;
1574
wire    reset_rx_pcs_clk_c19_int;
1575
wire    reset_rx_pcs_clk_c20_int;
1576
wire    reset_rx_pcs_clk_c21_int;
1577
wire    reset_rx_pcs_clk_c22_int;
1578
wire    reset_rx_pcs_clk_c23_int;
1579
        //assign pcs_clk = {pcs_clk_c23,pcs_clk_c22,pcs_clk_c21,pcs_clk_c20,pcs_clk_c19,pcs_clk_c18,pcs_clk_c17,pcs_clk_c16,pcs_clk_c15,pcs_clk_c14,pcs_clk_c13,pcs_clk_c12,pcs_clk_c11,pcs_clk_c10,pcs_clk_c9,pcs_clk_c8,pcs_clk_c7,pcs_clk_c6,pcs_clk_c5,pcs_clk_c4,pcs_clk_c3,pcs_clk_c2,pcs_clk_c1,pcs_clk_c0};
1580
 
1581
    //  Assign the character error and link status to top level leds
1582
    //  ------------------------------------------------------------
1583
    assign led_char_err_0 = led_char_err_gx[0];
1584
    assign led_link_0 = link_status[0];
1585
    assign led_char_err_1 = led_char_err_gx[1];
1586
    assign led_link_1 = link_status[1];
1587
    assign led_char_err_2 = led_char_err_gx[2];
1588
    assign led_link_2 = link_status[2];
1589
    assign led_char_err_3 = led_char_err_gx[3];
1590
    assign led_link_3 = link_status[3];
1591
    assign led_char_err_4 = led_char_err_gx[4];
1592
    assign led_link_4 = link_status[4];
1593
    assign led_char_err_5 = led_char_err_gx[5];
1594
    assign led_link_5 = link_status[5];
1595
    assign led_char_err_6 = led_char_err_gx[6];
1596
    assign led_link_6 = link_status[6];
1597
    assign led_char_err_7 = led_char_err_gx[7];
1598
    assign led_link_7 = link_status[7];
1599
    assign led_char_err_8 = led_char_err_gx[8];
1600
    assign led_link_8 = link_status[8];
1601
    assign led_char_err_9 = led_char_err_gx[9];
1602
    assign led_link_9 = link_status[9];
1603
    assign led_char_err_10 = led_char_err_gx[10];
1604
    assign led_link_10 = link_status[10];
1605
    assign led_char_err_11 = led_char_err_gx[11];
1606
    assign led_link_11 = link_status[11];
1607
    assign led_char_err_12 = led_char_err_gx[12];
1608
    assign led_link_12 = link_status[12];
1609
    assign led_char_err_13 = led_char_err_gx[13];
1610
    assign led_link_13 = link_status[13];
1611
    assign led_char_err_14 = led_char_err_gx[14];
1612
    assign led_link_14 = link_status[14];
1613
    assign led_char_err_15 = led_char_err_gx[15];
1614
    assign led_link_15 = link_status[15];
1615
    assign led_char_err_16 = led_char_err_gx[16];
1616
    assign led_link_16 = link_status[16];
1617
    assign led_char_err_17 = led_char_err_gx[17];
1618
    assign led_link_17 = link_status[17];
1619
    assign led_char_err_18 = led_char_err_gx[18];
1620
    assign led_link_18 = link_status[18];
1621
    assign led_char_err_19 = led_char_err_gx[19];
1622
    assign led_link_19 = link_status[19];
1623
    assign led_char_err_20 = led_char_err_gx[20];
1624
    assign led_link_20 = link_status[20];
1625
    assign led_char_err_21 = led_char_err_gx[21];
1626
    assign led_link_21 = link_status[21];
1627
    assign led_char_err_22 = led_char_err_gx[22];
1628
    assign led_link_22 = link_status[22];
1629
    assign led_char_err_23 = led_char_err_gx[23];
1630
    assign led_link_23 = link_status[23];
1631
 
1632
 
1633
    // Instantiation of the MAC_PCS core that connects to a PMA
1634
    // --------------------------------------------------------
1635
 
1636
    altera_tse_top_multi_mac_pcs_gige U_MULTI_MAC_PCS(
1637
 
1638
        .reset(reset),                    //INPUT  : ASYNCHRONOUS RESET - clk DOMAIN
1639
        .clk(clk),                                //INPUT  : CLOCK
1640
        .read(read),                              //INPUT  : REGISTER READ TRANSACTION
1641
        .ref_clk(ref_clk),                        //INPUT  : REFERENCE CLOCK 
1642
        .write(write),                            //INPUT  : REGISTER WRITE TRANSACTION
1643
        .address(address),                        //INPUT  : REGISTER ADDRESS
1644
        .writedata(writedata),                    //INPUT  : REGISTER WRITE DATA
1645
        .readdata(readdata),                      //OUTPUT : REGISTER READ DATA
1646
        .waitrequest(waitrequest),                //OUTPUT : TRANSACTION BUSY, ACTIVE LOW
1647
        .mdc(mdc),                                //OUTPUT : MDIO Clock 
1648
        .mdio_out(mdio_out),                      //OUTPUT : Outgoing MDIO DATA
1649
        .mdio_in(mdio_in),                        //INPUT  : Incoming MDIO DATA       
1650
        .mdio_oen(mdio_oen),                      //OUTPUT : MDIO Output Enable
1651
        .mac_rx_clk(mac_rx_clk),                  //OUTPUT : Av-ST Rx Clock
1652
        .mac_tx_clk(mac_tx_clk),                  //OUTPUT : Av-ST Tx Clock
1653
            .rx_afull_clk(rx_afull_clk),              //INPUT  : AFull Status Clock
1654
            .rx_afull_data(rx_afull_data),            //INPUT  : AFull Status Data
1655
            .rx_afull_valid(rx_afull_valid),          //INPUT  : AFull Status Valid
1656
            .rx_afull_channel(rx_afull_channel),      //INPUT  : AFull Status Channel
1657
 
1658
         // Channel 0 
1659
 
1660
 
1661
        .rx_carrierdetected_0(pcs_rx_carrierdetected[0]),
1662
        .rx_rmfifodatadeleted_0(pcs_rx_rmfifodatadeleted[0]),
1663
        .rx_rmfifodatainserted_0(pcs_rx_rmfifodatainserted[0]),
1664
 
1665
        .rx_clkout_0(rx_pcs_clk_c0),                 //INPUT  : Receive Clock
1666
        .tx_clkout_0(tx_pcs_clk_c0),                 //INPUT  : Transmit Clock
1667
        .rx_kchar_0(pcs_rx_kchar_0),              //INPUT  : Special Character Indication
1668
        .tx_kchar_0(tx_kchar_0),                  //OUTPUT : Special Character Indication
1669
        .rx_frame_0(pcs_rx_frame_0),              //INPUT  : Frame
1670
        .tx_frame_0(tx_frame_0),                  //OUTPUT : Frame
1671
        .sd_loopback_0(sd_loopback_0),            //OUTPUT : SERDES Loopback Enable
1672
        .powerdown_0(pcs_pwrdn_out_sig[0]),       //OUTPUT : Powerdown Enable
1673
        .led_col_0(led_col_0),                    //OUTPUT : Collision Indication
1674
        .led_an_0(led_an_0),                      //OUTPUT : Auto Negotiation Status
1675
        .led_char_err_0(led_char_err_gx[0]),      //INPUT  : Character error
1676
        .led_crs_0(led_crs_0),                    //OUTPUT : Carrier sense
1677
        .led_link_0(link_status[0]),              //INPUT  : Valid link    
1678
        .mac_rx_clk_0(mac_rx_clk_0),              //OUTPUT : Av-ST Rx Clock
1679
        .mac_tx_clk_0(mac_tx_clk_0),              //OUTPUT : Av-ST Tx Clock
1680
        .data_rx_sop_0(data_rx_sop_0),            //OUTPUT : Start of Packet
1681
        .data_rx_eop_0(data_rx_eop_0),            //OUTPUT : End of Packet
1682
        .data_rx_data_0(data_rx_data_0),          //OUTPUT : Data from FIFO
1683
        .data_rx_error_0(data_rx_error_0),        //OUTPUT : Receive packet error
1684
        .data_rx_valid_0(data_rx_valid_0),        //OUTPUT : Data Receive FIFO Valid
1685
        .data_rx_ready_0(data_rx_ready_0),        //OUTPUT : Data Receive Ready
1686
        .pkt_class_data_0(pkt_class_data_0),      //OUTPUT : Frame Type Indication
1687
        .pkt_class_valid_0(pkt_class_valid_0),    //OUTPUT : Frame Type Indication Valid
1688
        .data_tx_error_0(data_tx_error_0),        //INPUT  : Status
1689
        .data_tx_data_0(data_tx_data_0),          //INPUT  : Data from FIFO transmit
1690
        .data_tx_valid_0(data_tx_valid_0),        //INPUT  : Data FIFO transmit Empty
1691
        .data_tx_sop_0(data_tx_sop_0),            //INPUT  : Start of Packet
1692
        .data_tx_eop_0(data_tx_eop_0),            //INPUT  : End of Packet
1693
        .data_tx_ready_0(data_tx_ready_0),        //OUTPUT : Data FIFO transmit Read Enable  
1694
        .tx_ff_uflow_0(tx_ff_uflow_0),            //OUTPUT : TX FIFO underflow occured (Synchronous with tx_clk)
1695
        .tx_crc_fwd_0(tx_crc_fwd_0),              //INPUT  : Forward Current Frame with CRC from Application
1696
        .xoff_gen_0(xoff_gen_0),                  //INPUT  : XOFF PAUSE FRAME GENERATE
1697
        .xon_gen_0(xon_gen_0),                    //INPUT  : XON PAUSE FRAME GENERATE
1698
        .magic_sleep_n_0(magic_sleep_n_0),        //INPUT  : MAC SLEEP MODE CONTROL
1699
        .magic_wakeup_0(magic_wakeup_0),          //OUTPUT : MAC WAKE-UP INDICATION
1700
 
1701
         // Channel 1 
1702
 
1703
 
1704
        .rx_carrierdetected_1(pcs_rx_carrierdetected[1]),
1705
        .rx_rmfifodatadeleted_1(pcs_rx_rmfifodatadeleted[1]),
1706
        .rx_rmfifodatainserted_1(pcs_rx_rmfifodatainserted[1]),
1707
 
1708
        .rx_clkout_1(rx_pcs_clk_c1),                 //INPUT  : Receive Clock
1709
        .tx_clkout_1(tx_pcs_clk_c1),                 //INPUT  : Transmit Clock
1710
        .rx_kchar_1(pcs_rx_kchar_1),              //INPUT  : Special Character Indication
1711
        .tx_kchar_1(tx_kchar_1),                  //OUTPUT : Special Character Indication
1712
        .rx_frame_1(pcs_rx_frame_1),              //INPUT  : Frame
1713
        .tx_frame_1(tx_frame_1),                  //OUTPUT : Frame
1714
        .sd_loopback_1(sd_loopback_1),            //OUTPUT : SERDES Loopback Enable
1715
        .powerdown_1(pcs_pwrdn_out_sig[1]),       //OUTPUT : Powerdown Enable
1716
        .led_col_1(led_col_1),                    //OUTPUT : Collision Indication
1717
        .led_an_1(led_an_1),                      //OUTPUT : Auto Negotiation Status
1718
        .led_char_err_1(led_char_err_gx[1]),      //INPUT  : Character error
1719
        .led_crs_1(led_crs_1),                    //OUTPUT : Carrier sense
1720
        .led_link_1(link_status[1]),              //INPUT  : Valid link    
1721
        .mac_rx_clk_1(mac_rx_clk_1),              //OUTPUT : Av-ST Rx Clock
1722
        .mac_tx_clk_1(mac_tx_clk_1),              //OUTPUT : Av-ST Tx Clock
1723
        .data_rx_sop_1(data_rx_sop_1),            //OUTPUT : Start of Packet
1724
        .data_rx_eop_1(data_rx_eop_1),            //OUTPUT : End of Packet
1725
        .data_rx_data_1(data_rx_data_1),          //OUTPUT : Data from FIFO
1726
        .data_rx_error_1(data_rx_error_1),        //OUTPUT : Receive packet error
1727
        .data_rx_valid_1(data_rx_valid_1),        //OUTPUT : Data Receive FIFO Valid
1728
        .data_rx_ready_1(data_rx_ready_1),        //OUTPUT : Data Receive Ready
1729
        .pkt_class_data_1(pkt_class_data_1),      //OUTPUT : Frame Type Indication
1730
        .pkt_class_valid_1(pkt_class_valid_1),    //OUTPUT : Frame Type Indication Valid
1731
        .data_tx_error_1(data_tx_error_1),        //INPUT  : Status
1732
        .data_tx_data_1(data_tx_data_1),          //INPUT  : Data from FIFO transmit
1733
        .data_tx_valid_1(data_tx_valid_1),        //INPUT  : Data FIFO transmit Empty
1734
        .data_tx_sop_1(data_tx_sop_1),            //INPUT  : Start of Packet
1735
        .data_tx_eop_1(data_tx_eop_1),            //INPUT  : End of Packet
1736
        .data_tx_ready_1(data_tx_ready_1),        //OUTPUT : Data FIFO transmit Read Enable  
1737
        .tx_ff_uflow_1(tx_ff_uflow_1),            //OUTPUT : TX FIFO underflow occured (Synchronous with tx_clk)
1738
        .tx_crc_fwd_1(tx_crc_fwd_1),              //INPUT  : Forward Current Frame with CRC from Application
1739
        .xoff_gen_1(xoff_gen_1),                  //INPUT  : XOFF PAUSE FRAME GENERATE
1740
        .xon_gen_1(xon_gen_1),                    //INPUT  : XON PAUSE FRAME GENERATE
1741
        .magic_sleep_n_1(magic_sleep_n_1),        //INPUT  : MAC SLEEP MODE CONTROL
1742
        .magic_wakeup_1(magic_wakeup_1),          //OUTPUT : MAC WAKE-UP INDICATION
1743
 
1744
         // Channel 2 
1745
 
1746
 
1747
        .rx_carrierdetected_2(pcs_rx_carrierdetected[2]),
1748
        .rx_rmfifodatadeleted_2(pcs_rx_rmfifodatadeleted[2]),
1749
        .rx_rmfifodatainserted_2(pcs_rx_rmfifodatainserted[2]),
1750
 
1751
        .rx_clkout_2(rx_pcs_clk_c2),                 //INPUT  : Receive Clock
1752
        .tx_clkout_2(tx_pcs_clk_c2),                 //INPUT  : Transmit Clock
1753
        .rx_kchar_2(pcs_rx_kchar_2),              //INPUT  : Special Character Indication
1754
        .tx_kchar_2(tx_kchar_2),                  //OUTPUT : Special Character Indication
1755
        .rx_frame_2(pcs_rx_frame_2),              //INPUT  : Frame
1756
        .tx_frame_2(tx_frame_2),                  //OUTPUT : Frame
1757
        .sd_loopback_2(sd_loopback_2),            //OUTPUT : SERDES Loopback Enable
1758
        .powerdown_2(pcs_pwrdn_out_sig[2]),       //OUTPUT : Powerdown Enable
1759
        .led_col_2(led_col_2),                    //OUTPUT : Collision Indication
1760
        .led_an_2(led_an_2),                      //OUTPUT : Auto Negotiation Status
1761
        .led_char_err_2(led_char_err_gx[2]),      //INPUT  : Character error
1762
        .led_crs_2(led_crs_2),                    //OUTPUT : Carrier sense
1763
        .led_link_2(link_status[2]),              //INPUT  : Valid link    
1764
        .mac_rx_clk_2(mac_rx_clk_2),              //OUTPUT : Av-ST Rx Clock
1765
        .mac_tx_clk_2(mac_tx_clk_2),              //OUTPUT : Av-ST Tx Clock
1766
        .data_rx_sop_2(data_rx_sop_2),            //OUTPUT : Start of Packet
1767
        .data_rx_eop_2(data_rx_eop_2),            //OUTPUT : End of Packet
1768
        .data_rx_data_2(data_rx_data_2),          //OUTPUT : Data from FIFO
1769
        .data_rx_error_2(data_rx_error_2),        //OUTPUT : Receive packet error
1770
        .data_rx_valid_2(data_rx_valid_2),        //OUTPUT : Data Receive FIFO Valid
1771
        .data_rx_ready_2(data_rx_ready_2),        //OUTPUT : Data Receive Ready
1772
        .pkt_class_data_2(pkt_class_data_2),      //OUTPUT : Frame Type Indication
1773
        .pkt_class_valid_2(pkt_class_valid_2),    //OUTPUT : Frame Type Indication Valid
1774
        .data_tx_error_2(data_tx_error_2),        //INPUT  : Status
1775
        .data_tx_data_2(data_tx_data_2),          //INPUT  : Data from FIFO transmit
1776
        .data_tx_valid_2(data_tx_valid_2),        //INPUT  : Data FIFO transmit Empty
1777
        .data_tx_sop_2(data_tx_sop_2),            //INPUT  : Start of Packet
1778
        .data_tx_eop_2(data_tx_eop_2),            //INPUT  : End of Packet
1779
        .data_tx_ready_2(data_tx_ready_2),        //OUTPUT : Data FIFO transmit Read Enable  
1780
        .tx_ff_uflow_2(tx_ff_uflow_2),            //OUTPUT : TX FIFO underflow occured (Synchronous with tx_clk)
1781
        .tx_crc_fwd_2(tx_crc_fwd_2),              //INPUT  : Forward Current Frame with CRC from Application
1782
        .xoff_gen_2(xoff_gen_2),                  //INPUT  : XOFF PAUSE FRAME GENERATE
1783
        .xon_gen_2(xon_gen_2),                    //INPUT  : XON PAUSE FRAME GENERATE
1784
        .magic_sleep_n_2(magic_sleep_n_2),        //INPUT  : MAC SLEEP MODE CONTROL
1785
        .magic_wakeup_2(magic_wakeup_2),          //OUTPUT : MAC WAKE-UP INDICATION
1786
 
1787
         // Channel 3 
1788
 
1789
 
1790
        .rx_carrierdetected_3(pcs_rx_carrierdetected[3]),
1791
        .rx_rmfifodatadeleted_3(pcs_rx_rmfifodatadeleted[3]),
1792
        .rx_rmfifodatainserted_3(pcs_rx_rmfifodatainserted[3]),
1793
 
1794
        .rx_clkout_3(rx_pcs_clk_c3),                 //INPUT  : Receive Clock
1795
        .tx_clkout_3(tx_pcs_clk_c3),                 //INPUT  : Transmit Clock
1796
        .rx_kchar_3(pcs_rx_kchar_3),              //INPUT  : Special Character Indication
1797
        .tx_kchar_3(tx_kchar_3),                  //OUTPUT : Special Character Indication
1798
        .rx_frame_3(pcs_rx_frame_3),              //INPUT  : Frame
1799
        .tx_frame_3(tx_frame_3),                  //OUTPUT : Frame
1800
        .sd_loopback_3(sd_loopback_3),            //OUTPUT : SERDES Loopback Enable
1801
        .powerdown_3(pcs_pwrdn_out_sig[3]),       //OUTPUT : Powerdown Enable
1802
        .led_col_3(led_col_3),                    //OUTPUT : Collision Indication
1803
        .led_an_3(led_an_3),                      //OUTPUT : Auto Negotiation Status
1804
        .led_char_err_3(led_char_err_gx[3]),      //INPUT  : Character error
1805
        .led_crs_3(led_crs_3),                    //OUTPUT : Carrier sense
1806
        .led_link_3(link_status[3]),              //INPUT  : Valid link    
1807
        .mac_rx_clk_3(mac_rx_clk_3),              //OUTPUT : Av-ST Rx Clock
1808
        .mac_tx_clk_3(mac_tx_clk_3),              //OUTPUT : Av-ST Tx Clock
1809
        .data_rx_sop_3(data_rx_sop_3),            //OUTPUT : Start of Packet
1810
        .data_rx_eop_3(data_rx_eop_3),            //OUTPUT : End of Packet
1811
        .data_rx_data_3(data_rx_data_3),          //OUTPUT : Data from FIFO
1812
        .data_rx_error_3(data_rx_error_3),        //OUTPUT : Receive packet error
1813
        .data_rx_valid_3(data_rx_valid_3),        //OUTPUT : Data Receive FIFO Valid
1814
        .data_rx_ready_3(data_rx_ready_3),        //OUTPUT : Data Receive Ready
1815
        .pkt_class_data_3(pkt_class_data_3),      //OUTPUT : Frame Type Indication
1816
        .pkt_class_valid_3(pkt_class_valid_3),    //OUTPUT : Frame Type Indication Valid
1817
        .data_tx_error_3(data_tx_error_3),        //INPUT  : Status
1818
        .data_tx_data_3(data_tx_data_3),          //INPUT  : Data from FIFO transmit
1819
        .data_tx_valid_3(data_tx_valid_3),        //INPUT  : Data FIFO transmit Empty
1820
        .data_tx_sop_3(data_tx_sop_3),            //INPUT  : Start of Packet
1821
        .data_tx_eop_3(data_tx_eop_3),            //INPUT  : End of Packet
1822
        .data_tx_ready_3(data_tx_ready_3),        //OUTPUT : Data FIFO transmit Read Enable  
1823
        .tx_ff_uflow_3(tx_ff_uflow_3),            //OUTPUT : TX FIFO underflow occured (Synchronous with tx_clk)
1824
        .tx_crc_fwd_3(tx_crc_fwd_3),              //INPUT  : Forward Current Frame with CRC from Application
1825
        .xoff_gen_3(xoff_gen_3),                  //INPUT  : XOFF PAUSE FRAME GENERATE
1826
        .xon_gen_3(xon_gen_3),                    //INPUT  : XON PAUSE FRAME GENERATE
1827
        .magic_sleep_n_3(magic_sleep_n_3),        //INPUT  : MAC SLEEP MODE CONTROL
1828
        .magic_wakeup_3(magic_wakeup_3),          //OUTPUT : MAC WAKE-UP INDICATION
1829
 
1830
         // Channel 4 
1831
 
1832
 
1833
        .rx_carrierdetected_4(pcs_rx_carrierdetected[4]),
1834
        .rx_rmfifodatadeleted_4(pcs_rx_rmfifodatadeleted[4]),
1835
        .rx_rmfifodatainserted_4(pcs_rx_rmfifodatainserted[4]),
1836
 
1837
        .rx_clkout_4(rx_pcs_clk_c4),                 //INPUT  : Receive Clock
1838
        .tx_clkout_4(tx_pcs_clk_c4),                 //INPUT  : Transmit Clock
1839
        .rx_kchar_4(pcs_rx_kchar_4),              //INPUT  : Special Character Indication
1840
        .tx_kchar_4(tx_kchar_4),                  //OUTPUT : Special Character Indication
1841
        .rx_frame_4(pcs_rx_frame_4),              //INPUT  : Frame
1842
        .tx_frame_4(tx_frame_4),                  //OUTPUT : Frame
1843
        .sd_loopback_4(sd_loopback_4),            //OUTPUT : SERDES Loopback Enable
1844
        .powerdown_4(pcs_pwrdn_out_sig[4]),       //OUTPUT : Powerdown Enable
1845
        .led_col_4(led_col_4),                    //OUTPUT : Collision Indication
1846
        .led_an_4(led_an_4),                      //OUTPUT : Auto Negotiation Status
1847
        .led_char_err_4(led_char_err_gx[4]),      //INPUT  : Character error
1848
        .led_crs_4(led_crs_4),                    //OUTPUT : Carrier sense
1849
        .led_link_4(link_status[4]),              //INPUT  : Valid link    
1850
        .mac_rx_clk_4(mac_rx_clk_4),              //OUTPUT : Av-ST Rx Clock
1851
        .mac_tx_clk_4(mac_tx_clk_4),              //OUTPUT : Av-ST Tx Clock
1852
        .data_rx_sop_4(data_rx_sop_4),            //OUTPUT : Start of Packet
1853
        .data_rx_eop_4(data_rx_eop_4),            //OUTPUT : End of Packet
1854
        .data_rx_data_4(data_rx_data_4),          //OUTPUT : Data from FIFO
1855
        .data_rx_error_4(data_rx_error_4),        //OUTPUT : Receive packet error
1856
        .data_rx_valid_4(data_rx_valid_4),        //OUTPUT : Data Receive FIFO Valid
1857
        .data_rx_ready_4(data_rx_ready_4),        //OUTPUT : Data Receive Ready
1858
        .pkt_class_data_4(pkt_class_data_4),      //OUTPUT : Frame Type Indication
1859
        .pkt_class_valid_4(pkt_class_valid_4),    //OUTPUT : Frame Type Indication Valid
1860
        .data_tx_error_4(data_tx_error_4),        //INPUT  : Status
1861
        .data_tx_data_4(data_tx_data_4),          //INPUT  : Data from FIFO transmit
1862
        .data_tx_valid_4(data_tx_valid_4),        //INPUT  : Data FIFO transmit Empty
1863
        .data_tx_sop_4(data_tx_sop_4),            //INPUT  : Start of Packet
1864
        .data_tx_eop_4(data_tx_eop_4),            //INPUT  : End of Packet
1865
        .data_tx_ready_4(data_tx_ready_4),        //OUTPUT : Data FIFO transmit Read Enable  
1866
        .tx_ff_uflow_4(tx_ff_uflow_4),            //OUTPUT : TX FIFO underflow occured (Synchronous with tx_clk)
1867
        .tx_crc_fwd_4(tx_crc_fwd_4),              //INPUT  : Forward Current Frame with CRC from Application
1868
        .xoff_gen_4(xoff_gen_4),                  //INPUT  : XOFF PAUSE FRAME GENERATE
1869
        .xon_gen_4(xon_gen_4),                    //INPUT  : XON PAUSE FRAME GENERATE
1870
        .magic_sleep_n_4(magic_sleep_n_4),        //INPUT  : MAC SLEEP MODE CONTROL
1871
        .magic_wakeup_4(magic_wakeup_4),          //OUTPUT : MAC WAKE-UP INDICATION
1872
 
1873
         // Channel 5 
1874
 
1875
 
1876
        .rx_carrierdetected_5(pcs_rx_carrierdetected[5]),
1877
        .rx_rmfifodatadeleted_5(pcs_rx_rmfifodatadeleted[5]),
1878
        .rx_rmfifodatainserted_5(pcs_rx_rmfifodatainserted[5]),
1879
 
1880
        .rx_clkout_5(rx_pcs_clk_c5),                 //INPUT  : Receive Clock
1881
        .tx_clkout_5(tx_pcs_clk_c5),                 //INPUT  : Transmit Clock
1882
        .rx_kchar_5(pcs_rx_kchar_5),              //INPUT  : Special Character Indication
1883
        .tx_kchar_5(tx_kchar_5),                  //OUTPUT : Special Character Indication
1884
        .rx_frame_5(pcs_rx_frame_5),              //INPUT  : Frame
1885
        .tx_frame_5(tx_frame_5),                  //OUTPUT : Frame
1886
        .sd_loopback_5(sd_loopback_5),            //OUTPUT : SERDES Loopback Enable
1887
        .powerdown_5(pcs_pwrdn_out_sig[5]),       //OUTPUT : Powerdown Enable
1888
        .led_col_5(led_col_5),                    //OUTPUT : Collision Indication
1889
        .led_an_5(led_an_5),                      //OUTPUT : Auto Negotiation Status
1890
        .led_char_err_5(led_char_err_gx[5]),      //INPUT  : Character error
1891
        .led_crs_5(led_crs_5),                    //OUTPUT : Carrier sense
1892
        .led_link_5(link_status[5]),              //INPUT  : Valid link    
1893
        .mac_rx_clk_5(mac_rx_clk_5),              //OUTPUT : Av-ST Rx Clock
1894
        .mac_tx_clk_5(mac_tx_clk_5),              //OUTPUT : Av-ST Tx Clock
1895
        .data_rx_sop_5(data_rx_sop_5),            //OUTPUT : Start of Packet
1896
        .data_rx_eop_5(data_rx_eop_5),            //OUTPUT : End of Packet
1897
        .data_rx_data_5(data_rx_data_5),          //OUTPUT : Data from FIFO
1898
        .data_rx_error_5(data_rx_error_5),        //OUTPUT : Receive packet error
1899
        .data_rx_valid_5(data_rx_valid_5),        //OUTPUT : Data Receive FIFO Valid
1900
        .data_rx_ready_5(data_rx_ready_5),        //OUTPUT : Data Receive Ready
1901
        .pkt_class_data_5(pkt_class_data_5),      //OUTPUT : Frame Type Indication
1902
        .pkt_class_valid_5(pkt_class_valid_5),    //OUTPUT : Frame Type Indication Valid
1903
        .data_tx_error_5(data_tx_error_5),        //INPUT  : Status
1904
        .data_tx_data_5(data_tx_data_5),          //INPUT  : Data from FIFO transmit
1905
        .data_tx_valid_5(data_tx_valid_5),        //INPUT  : Data FIFO transmit Empty
1906
        .data_tx_sop_5(data_tx_sop_5),            //INPUT  : Start of Packet
1907
        .data_tx_eop_5(data_tx_eop_5),            //INPUT  : End of Packet
1908
        .data_tx_ready_5(data_tx_ready_5),        //OUTPUT : Data FIFO transmit Read Enable  
1909
        .tx_ff_uflow_5(tx_ff_uflow_5),            //OUTPUT : TX FIFO underflow occured (Synchronous with tx_clk)
1910
        .tx_crc_fwd_5(tx_crc_fwd_5),              //INPUT  : Forward Current Frame with CRC from Application
1911
        .xoff_gen_5(xoff_gen_5),                  //INPUT  : XOFF PAUSE FRAME GENERATE
1912
        .xon_gen_5(xon_gen_5),                    //INPUT  : XON PAUSE FRAME GENERATE
1913
        .magic_sleep_n_5(magic_sleep_n_5),        //INPUT  : MAC SLEEP MODE CONTROL
1914
        .magic_wakeup_5(magic_wakeup_5),          //OUTPUT : MAC WAKE-UP INDICATION
1915
 
1916
         // Channel 6 
1917
 
1918
 
1919
        .rx_carrierdetected_6(pcs_rx_carrierdetected[6]),
1920
        .rx_rmfifodatadeleted_6(pcs_rx_rmfifodatadeleted[6]),
1921
        .rx_rmfifodatainserted_6(pcs_rx_rmfifodatainserted[6]),
1922
 
1923
        .rx_clkout_6(rx_pcs_clk_c6),                 //INPUT  : Receive Clock
1924
        .tx_clkout_6(tx_pcs_clk_c6),                 //INPUT  : Transmit Clock
1925
        .rx_kchar_6(pcs_rx_kchar_6),              //INPUT  : Special Character Indication
1926
        .tx_kchar_6(tx_kchar_6),                  //OUTPUT : Special Character Indication
1927
        .rx_frame_6(pcs_rx_frame_6),              //INPUT  : Frame
1928
        .tx_frame_6(tx_frame_6),                  //OUTPUT : Frame
1929
        .sd_loopback_6(sd_loopback_6),            //OUTPUT : SERDES Loopback Enable
1930
        .powerdown_6(pcs_pwrdn_out_sig[6]),       //OUTPUT : Powerdown Enable
1931
        .led_col_6(led_col_6),                    //OUTPUT : Collision Indication
1932
        .led_an_6(led_an_6),                      //OUTPUT : Auto Negotiation Status
1933
        .led_char_err_6(led_char_err_gx[6]),      //INPUT  : Character error
1934
        .led_crs_6(led_crs_6),                    //OUTPUT : Carrier sense
1935
        .led_link_6(link_status[6]),              //INPUT  : Valid link    
1936
        .mac_rx_clk_6(mac_rx_clk_6),              //OUTPUT : Av-ST Rx Clock
1937
        .mac_tx_clk_6(mac_tx_clk_6),              //OUTPUT : Av-ST Tx Clock
1938
        .data_rx_sop_6(data_rx_sop_6),            //OUTPUT : Start of Packet
1939
        .data_rx_eop_6(data_rx_eop_6),            //OUTPUT : End of Packet
1940
        .data_rx_data_6(data_rx_data_6),          //OUTPUT : Data from FIFO
1941
        .data_rx_error_6(data_rx_error_6),        //OUTPUT : Receive packet error
1942
        .data_rx_valid_6(data_rx_valid_6),        //OUTPUT : Data Receive FIFO Valid
1943
        .data_rx_ready_6(data_rx_ready_6),        //OUTPUT : Data Receive Ready
1944
        .pkt_class_data_6(pkt_class_data_6),      //OUTPUT : Frame Type Indication
1945
        .pkt_class_valid_6(pkt_class_valid_6),    //OUTPUT : Frame Type Indication Valid
1946
        .data_tx_error_6(data_tx_error_6),        //INPUT  : Status
1947
        .data_tx_data_6(data_tx_data_6),          //INPUT  : Data from FIFO transmit
1948
        .data_tx_valid_6(data_tx_valid_6),        //INPUT  : Data FIFO transmit Empty
1949
        .data_tx_sop_6(data_tx_sop_6),            //INPUT  : Start of Packet
1950
        .data_tx_eop_6(data_tx_eop_6),            //INPUT  : End of Packet
1951
        .data_tx_ready_6(data_tx_ready_6),        //OUTPUT : Data FIFO transmit Read Enable  
1952
        .tx_ff_uflow_6(tx_ff_uflow_6),            //OUTPUT : TX FIFO underflow occured (Synchronous with tx_clk)
1953
        .tx_crc_fwd_6(tx_crc_fwd_6),              //INPUT  : Forward Current Frame with CRC from Application
1954
        .xoff_gen_6(xoff_gen_6),                  //INPUT  : XOFF PAUSE FRAME GENERATE
1955
        .xon_gen_6(xon_gen_6),                    //INPUT  : XON PAUSE FRAME GENERATE
1956
        .magic_sleep_n_6(magic_sleep_n_6),        //INPUT  : MAC SLEEP MODE CONTROL
1957
        .magic_wakeup_6(magic_wakeup_6),          //OUTPUT : MAC WAKE-UP INDICATION
1958
 
1959
         // Channel 7 
1960
 
1961
 
1962
        .rx_carrierdetected_7(pcs_rx_carrierdetected[7]),
1963
        .rx_rmfifodatadeleted_7(pcs_rx_rmfifodatadeleted[7]),
1964
        .rx_rmfifodatainserted_7(pcs_rx_rmfifodatainserted[7]),
1965
 
1966
        .rx_clkout_7(rx_pcs_clk_c7),                 //INPUT  : Receive Clock
1967
        .tx_clkout_7(tx_pcs_clk_c7),                 //INPUT  : Transmit Clock
1968
        .rx_kchar_7(pcs_rx_kchar_7),              //INPUT  : Special Character Indication
1969
        .tx_kchar_7(tx_kchar_7),                  //OUTPUT : Special Character Indication
1970
        .rx_frame_7(pcs_rx_frame_7),              //INPUT  : Frame
1971
        .tx_frame_7(tx_frame_7),                  //OUTPUT : Frame
1972
        .sd_loopback_7(sd_loopback_7),            //OUTPUT : SERDES Loopback Enable
1973
        .powerdown_7(pcs_pwrdn_out_sig[7]),       //OUTPUT : Powerdown Enable
1974
        .led_col_7(led_col_7),                    //OUTPUT : Collision Indication
1975
        .led_an_7(led_an_7),                      //OUTPUT : Auto Negotiation Status
1976
        .led_char_err_7(led_char_err_gx[7]),      //INPUT  : Character error
1977
        .led_crs_7(led_crs_7),                    //OUTPUT : Carrier sense
1978
        .led_link_7(link_status[7]),              //INPUT  : Valid link    
1979
        .mac_rx_clk_7(mac_rx_clk_7),              //OUTPUT : Av-ST Rx Clock
1980
        .mac_tx_clk_7(mac_tx_clk_7),              //OUTPUT : Av-ST Tx Clock
1981
        .data_rx_sop_7(data_rx_sop_7),            //OUTPUT : Start of Packet
1982
        .data_rx_eop_7(data_rx_eop_7),            //OUTPUT : End of Packet
1983
        .data_rx_data_7(data_rx_data_7),          //OUTPUT : Data from FIFO
1984
        .data_rx_error_7(data_rx_error_7),        //OUTPUT : Receive packet error
1985
        .data_rx_valid_7(data_rx_valid_7),        //OUTPUT : Data Receive FIFO Valid
1986
        .data_rx_ready_7(data_rx_ready_7),        //OUTPUT : Data Receive Ready
1987
        .pkt_class_data_7(pkt_class_data_7),      //OUTPUT : Frame Type Indication
1988
        .pkt_class_valid_7(pkt_class_valid_7),    //OUTPUT : Frame Type Indication Valid
1989
        .data_tx_error_7(data_tx_error_7),        //INPUT  : Status
1990
        .data_tx_data_7(data_tx_data_7),          //INPUT  : Data from FIFO transmit
1991
        .data_tx_valid_7(data_tx_valid_7),        //INPUT  : Data FIFO transmit Empty
1992
        .data_tx_sop_7(data_tx_sop_7),            //INPUT  : Start of Packet
1993
        .data_tx_eop_7(data_tx_eop_7),            //INPUT  : End of Packet
1994
        .data_tx_ready_7(data_tx_ready_7),        //OUTPUT : Data FIFO transmit Read Enable  
1995
        .tx_ff_uflow_7(tx_ff_uflow_7),            //OUTPUT : TX FIFO underflow occured (Synchronous with tx_clk)
1996
        .tx_crc_fwd_7(tx_crc_fwd_7),              //INPUT  : Forward Current Frame with CRC from Application
1997
        .xoff_gen_7(xoff_gen_7),                  //INPUT  : XOFF PAUSE FRAME GENERATE
1998
        .xon_gen_7(xon_gen_7),                    //INPUT  : XON PAUSE FRAME GENERATE
1999
        .magic_sleep_n_7(magic_sleep_n_7),        //INPUT  : MAC SLEEP MODE CONTROL
2000
        .magic_wakeup_7(magic_wakeup_7),          //OUTPUT : MAC WAKE-UP INDICATION
2001
 
2002
         // Channel 8 
2003
 
2004
 
2005
        .rx_carrierdetected_8(pcs_rx_carrierdetected[8]),
2006
        .rx_rmfifodatadeleted_8(pcs_rx_rmfifodatadeleted[8]),
2007
        .rx_rmfifodatainserted_8(pcs_rx_rmfifodatainserted[8]),
2008
 
2009
        .rx_clkout_8(rx_pcs_clk_c8),                 //INPUT  : Receive Clock
2010
        .tx_clkout_8(tx_pcs_clk_c8),                 //INPUT  : Transmit Clock
2011
        .rx_kchar_8(pcs_rx_kchar_8),              //INPUT  : Special Character Indication
2012
        .tx_kchar_8(tx_kchar_8),                  //OUTPUT : Special Character Indication
2013
        .rx_frame_8(pcs_rx_frame_8),              //INPUT  : Frame
2014
        .tx_frame_8(tx_frame_8),                  //OUTPUT : Frame
2015
        .sd_loopback_8(sd_loopback_8),            //OUTPUT : SERDES Loopback Enable
2016
        .powerdown_8(pcs_pwrdn_out_sig[8]),       //OUTPUT : Powerdown Enable
2017
        .led_col_8(led_col_8),                    //OUTPUT : Collision Indication
2018
        .led_an_8(led_an_8),                      //OUTPUT : Auto Negotiation Status
2019
        .led_char_err_8(led_char_err_gx[8]),      //INPUT  : Character error
2020
        .led_crs_8(led_crs_8),                    //OUTPUT : Carrier sense
2021
        .led_link_8(link_status[8]),              //INPUT  : Valid link    
2022
        .mac_rx_clk_8(mac_rx_clk_8),              //OUTPUT : Av-ST Rx Clock
2023
        .mac_tx_clk_8(mac_tx_clk_8),              //OUTPUT : Av-ST Tx Clock
2024
        .data_rx_sop_8(data_rx_sop_8),            //OUTPUT : Start of Packet
2025
        .data_rx_eop_8(data_rx_eop_8),            //OUTPUT : End of Packet
2026
        .data_rx_data_8(data_rx_data_8),          //OUTPUT : Data from FIFO
2027
        .data_rx_error_8(data_rx_error_8),        //OUTPUT : Receive packet error
2028
        .data_rx_valid_8(data_rx_valid_8),        //OUTPUT : Data Receive FIFO Valid
2029
        .data_rx_ready_8(data_rx_ready_8),        //OUTPUT : Data Receive Ready
2030
        .pkt_class_data_8(pkt_class_data_8),      //OUTPUT : Frame Type Indication
2031
        .pkt_class_valid_8(pkt_class_valid_8),    //OUTPUT : Frame Type Indication Valid
2032
        .data_tx_error_8(data_tx_error_8),        //INPUT  : Status
2033
        .data_tx_data_8(data_tx_data_8),          //INPUT  : Data from FIFO transmit
2034
        .data_tx_valid_8(data_tx_valid_8),        //INPUT  : Data FIFO transmit Empty
2035
        .data_tx_sop_8(data_tx_sop_8),            //INPUT  : Start of Packet
2036
        .data_tx_eop_8(data_tx_eop_8),            //INPUT  : End of Packet
2037
        .data_tx_ready_8(data_tx_ready_8),        //OUTPUT : Data FIFO transmit Read Enable  
2038
        .tx_ff_uflow_8(tx_ff_uflow_8),            //OUTPUT : TX FIFO underflow occured (Synchronous with tx_clk)
2039
        .tx_crc_fwd_8(tx_crc_fwd_8),              //INPUT  : Forward Current Frame with CRC from Application
2040
        .xoff_gen_8(xoff_gen_8),                  //INPUT  : XOFF PAUSE FRAME GENERATE
2041
        .xon_gen_8(xon_gen_8),                    //INPUT  : XON PAUSE FRAME GENERATE
2042
        .magic_sleep_n_8(magic_sleep_n_8),        //INPUT  : MAC SLEEP MODE CONTROL
2043
        .magic_wakeup_8(magic_wakeup_8),          //OUTPUT : MAC WAKE-UP INDICATION
2044
 
2045
         // Channel 9 
2046
 
2047
 
2048
        .rx_carrierdetected_9(pcs_rx_carrierdetected[9]),
2049
        .rx_rmfifodatadeleted_9(pcs_rx_rmfifodatadeleted[9]),
2050
        .rx_rmfifodatainserted_9(pcs_rx_rmfifodatainserted[9]),
2051
 
2052
        .rx_clkout_9(rx_pcs_clk_c9),                 //INPUT  : Receive Clock
2053
        .tx_clkout_9(tx_pcs_clk_c9),                 //INPUT  : Transmit Clock
2054
        .rx_kchar_9(pcs_rx_kchar_9),              //INPUT  : Special Character Indication
2055
        .tx_kchar_9(tx_kchar_9),                  //OUTPUT : Special Character Indication
2056
        .rx_frame_9(pcs_rx_frame_9),              //INPUT  : Frame
2057
        .tx_frame_9(tx_frame_9),                  //OUTPUT : Frame
2058
        .sd_loopback_9(sd_loopback_9),            //OUTPUT : SERDES Loopback Enable
2059
        .powerdown_9(pcs_pwrdn_out_sig[9]),       //OUTPUT : Powerdown Enable
2060
        .led_col_9(led_col_9),                    //OUTPUT : Collision Indication
2061
        .led_an_9(led_an_9),                      //OUTPUT : Auto Negotiation Status
2062
        .led_char_err_9(led_char_err_gx[9]),      //INPUT  : Character error
2063
        .led_crs_9(led_crs_9),                    //OUTPUT : Carrier sense
2064
        .led_link_9(link_status[9]),              //INPUT  : Valid link    
2065
        .mac_rx_clk_9(mac_rx_clk_9),              //OUTPUT : Av-ST Rx Clock
2066
        .mac_tx_clk_9(mac_tx_clk_9),              //OUTPUT : Av-ST Tx Clock
2067
        .data_rx_sop_9(data_rx_sop_9),            //OUTPUT : Start of Packet
2068
        .data_rx_eop_9(data_rx_eop_9),            //OUTPUT : End of Packet
2069
        .data_rx_data_9(data_rx_data_9),          //OUTPUT : Data from FIFO
2070
        .data_rx_error_9(data_rx_error_9),        //OUTPUT : Receive packet error
2071
        .data_rx_valid_9(data_rx_valid_9),        //OUTPUT : Data Receive FIFO Valid
2072
        .data_rx_ready_9(data_rx_ready_9),        //OUTPUT : Data Receive Ready
2073
        .pkt_class_data_9(pkt_class_data_9),      //OUTPUT : Frame Type Indication
2074
        .pkt_class_valid_9(pkt_class_valid_9),    //OUTPUT : Frame Type Indication Valid
2075
        .data_tx_error_9(data_tx_error_9),        //INPUT  : Status
2076
        .data_tx_data_9(data_tx_data_9),          //INPUT  : Data from FIFO transmit
2077
        .data_tx_valid_9(data_tx_valid_9),        //INPUT  : Data FIFO transmit Empty
2078
        .data_tx_sop_9(data_tx_sop_9),            //INPUT  : Start of Packet
2079
        .data_tx_eop_9(data_tx_eop_9),            //INPUT  : End of Packet
2080
        .data_tx_ready_9(data_tx_ready_9),        //OUTPUT : Data FIFO transmit Read Enable  
2081
        .tx_ff_uflow_9(tx_ff_uflow_9),            //OUTPUT : TX FIFO underflow occured (Synchronous with tx_clk)
2082
        .tx_crc_fwd_9(tx_crc_fwd_9),              //INPUT  : Forward Current Frame with CRC from Application
2083
        .xoff_gen_9(xoff_gen_9),                  //INPUT  : XOFF PAUSE FRAME GENERATE
2084
        .xon_gen_9(xon_gen_9),                    //INPUT  : XON PAUSE FRAME GENERATE
2085
        .magic_sleep_n_9(magic_sleep_n_9),        //INPUT  : MAC SLEEP MODE CONTROL
2086
        .magic_wakeup_9(magic_wakeup_9),          //OUTPUT : MAC WAKE-UP INDICATION
2087
 
2088
         // Channel 10 
2089
 
2090
 
2091
        .rx_carrierdetected_10(pcs_rx_carrierdetected[10]),
2092
        .rx_rmfifodatadeleted_10(pcs_rx_rmfifodatadeleted[10]),
2093
        .rx_rmfifodatainserted_10(pcs_rx_rmfifodatainserted[10]),
2094
 
2095
        .rx_clkout_10(rx_pcs_clk_c10),                 //INPUT  : Receive Clock
2096
        .tx_clkout_10(tx_pcs_clk_c10),                 //INPUT  : Transmit Clock
2097
        .rx_kchar_10(pcs_rx_kchar_10),              //INPUT  : Special Character Indication
2098
        .tx_kchar_10(tx_kchar_10),                  //OUTPUT : Special Character Indication
2099
        .rx_frame_10(pcs_rx_frame_10),              //INPUT  : Frame
2100
        .tx_frame_10(tx_frame_10),                  //OUTPUT : Frame
2101
        .sd_loopback_10(sd_loopback_10),            //OUTPUT : SERDES Loopback Enable
2102
        .powerdown_10(pcs_pwrdn_out_sig[10]),       //OUTPUT : Powerdown Enable
2103
        .led_col_10(led_col_10),                    //OUTPUT : Collision Indication
2104
        .led_an_10(led_an_10),                      //OUTPUT : Auto Negotiation Status
2105
        .led_char_err_10(led_char_err_gx[10]),      //INPUT  : Character error
2106
        .led_crs_10(led_crs_10),                    //OUTPUT : Carrier sense
2107
        .led_link_10(link_status[10]),              //INPUT  : Valid link    
2108
        .mac_rx_clk_10(mac_rx_clk_10),              //OUTPUT : Av-ST Rx Clock
2109
        .mac_tx_clk_10(mac_tx_clk_10),              //OUTPUT : Av-ST Tx Clock
2110
        .data_rx_sop_10(data_rx_sop_10),            //OUTPUT : Start of Packet
2111
        .data_rx_eop_10(data_rx_eop_10),            //OUTPUT : End of Packet
2112
        .data_rx_data_10(data_rx_data_10),          //OUTPUT : Data from FIFO
2113
        .data_rx_error_10(data_rx_error_10),        //OUTPUT : Receive packet error
2114
        .data_rx_valid_10(data_rx_valid_10),        //OUTPUT : Data Receive FIFO Valid
2115
        .data_rx_ready_10(data_rx_ready_10),        //OUTPUT : Data Receive Ready
2116
        .pkt_class_data_10(pkt_class_data_10),      //OUTPUT : Frame Type Indication
2117
        .pkt_class_valid_10(pkt_class_valid_10),    //OUTPUT : Frame Type Indication Valid
2118
        .data_tx_error_10(data_tx_error_10),        //INPUT  : Status
2119
        .data_tx_data_10(data_tx_data_10),          //INPUT  : Data from FIFO transmit
2120
        .data_tx_valid_10(data_tx_valid_10),        //INPUT  : Data FIFO transmit Empty
2121
        .data_tx_sop_10(data_tx_sop_10),            //INPUT  : Start of Packet
2122
        .data_tx_eop_10(data_tx_eop_10),            //INPUT  : End of Packet
2123
        .data_tx_ready_10(data_tx_ready_10),        //OUTPUT : Data FIFO transmit Read Enable  
2124
        .tx_ff_uflow_10(tx_ff_uflow_10),            //OUTPUT : TX FIFO underflow occured (Synchronous with tx_clk)
2125
        .tx_crc_fwd_10(tx_crc_fwd_10),              //INPUT  : Forward Current Frame with CRC from Application
2126
        .xoff_gen_10(xoff_gen_10),                  //INPUT  : XOFF PAUSE FRAME GENERATE
2127
        .xon_gen_10(xon_gen_10),                    //INPUT  : XON PAUSE FRAME GENERATE
2128
        .magic_sleep_n_10(magic_sleep_n_10),        //INPUT  : MAC SLEEP MODE CONTROL
2129
        .magic_wakeup_10(magic_wakeup_10),          //OUTPUT : MAC WAKE-UP INDICATION
2130
 
2131
         // Channel 11 
2132
 
2133
 
2134
        .rx_carrierdetected_11(pcs_rx_carrierdetected[11]),
2135
        .rx_rmfifodatadeleted_11(pcs_rx_rmfifodatadeleted[11]),
2136
        .rx_rmfifodatainserted_11(pcs_rx_rmfifodatainserted[11]),
2137
 
2138
        .rx_clkout_11(rx_pcs_clk_c11),                 //INPUT  : Receive Clock
2139
        .tx_clkout_11(tx_pcs_clk_c11),                 //INPUT  : Transmit Clock
2140
        .rx_kchar_11(pcs_rx_kchar_11),              //INPUT  : Special Character Indication
2141
        .tx_kchar_11(tx_kchar_11),                  //OUTPUT : Special Character Indication
2142
        .rx_frame_11(pcs_rx_frame_11),              //INPUT  : Frame
2143
        .tx_frame_11(tx_frame_11),                  //OUTPUT : Frame
2144
        .sd_loopback_11(sd_loopback_11),            //OUTPUT : SERDES Loopback Enable
2145
        .powerdown_11(pcs_pwrdn_out_sig[11]),       //OUTPUT : Powerdown Enable
2146
        .led_col_11(led_col_11),                    //OUTPUT : Collision Indication
2147
        .led_an_11(led_an_11),                      //OUTPUT : Auto Negotiation Status
2148
        .led_char_err_11(led_char_err_gx[11]),      //INPUT  : Character error
2149
        .led_crs_11(led_crs_11),                    //OUTPUT : Carrier sense
2150
        .led_link_11(link_status[11]),              //INPUT  : Valid link    
2151
        .mac_rx_clk_11(mac_rx_clk_11),              //OUTPUT : Av-ST Rx Clock
2152
        .mac_tx_clk_11(mac_tx_clk_11),              //OUTPUT : Av-ST Tx Clock
2153
        .data_rx_sop_11(data_rx_sop_11),            //OUTPUT : Start of Packet
2154
        .data_rx_eop_11(data_rx_eop_11),            //OUTPUT : End of Packet
2155
        .data_rx_data_11(data_rx_data_11),          //OUTPUT : Data from FIFO
2156
        .data_rx_error_11(data_rx_error_11),        //OUTPUT : Receive packet error
2157
        .data_rx_valid_11(data_rx_valid_11),        //OUTPUT : Data Receive FIFO Valid
2158
        .data_rx_ready_11(data_rx_ready_11),        //OUTPUT : Data Receive Ready
2159
        .pkt_class_data_11(pkt_class_data_11),      //OUTPUT : Frame Type Indication
2160
        .pkt_class_valid_11(pkt_class_valid_11),    //OUTPUT : Frame Type Indication Valid
2161
        .data_tx_error_11(data_tx_error_11),        //INPUT  : Status
2162
        .data_tx_data_11(data_tx_data_11),          //INPUT  : Data from FIFO transmit
2163
        .data_tx_valid_11(data_tx_valid_11),        //INPUT  : Data FIFO transmit Empty
2164
        .data_tx_sop_11(data_tx_sop_11),            //INPUT  : Start of Packet
2165
        .data_tx_eop_11(data_tx_eop_11),            //INPUT  : End of Packet
2166
        .data_tx_ready_11(data_tx_ready_11),        //OUTPUT : Data FIFO transmit Read Enable  
2167
        .tx_ff_uflow_11(tx_ff_uflow_11),            //OUTPUT : TX FIFO underflow occured (Synchronous with tx_clk)
2168
        .tx_crc_fwd_11(tx_crc_fwd_11),              //INPUT  : Forward Current Frame with CRC from Application
2169
        .xoff_gen_11(xoff_gen_11),                  //INPUT  : XOFF PAUSE FRAME GENERATE
2170
        .xon_gen_11(xon_gen_11),                    //INPUT  : XON PAUSE FRAME GENERATE
2171
        .magic_sleep_n_11(magic_sleep_n_11),        //INPUT  : MAC SLEEP MODE CONTROL
2172
        .magic_wakeup_11(magic_wakeup_11),          //OUTPUT : MAC WAKE-UP INDICATION
2173
 
2174
         // Channel 12 
2175
 
2176
 
2177
        .rx_carrierdetected_12(pcs_rx_carrierdetected[12]),
2178
        .rx_rmfifodatadeleted_12(pcs_rx_rmfifodatadeleted[12]),
2179
        .rx_rmfifodatainserted_12(pcs_rx_rmfifodatainserted[12]),
2180
 
2181
        .rx_clkout_12(rx_pcs_clk_c12),                 //INPUT  : Receive Clock
2182
        .tx_clkout_12(tx_pcs_clk_c12),                 //INPUT  : Transmit Clock
2183
        .rx_kchar_12(pcs_rx_kchar_12),              //INPUT  : Special Character Indication
2184
        .tx_kchar_12(tx_kchar_12),                  //OUTPUT : Special Character Indication
2185
        .rx_frame_12(pcs_rx_frame_12),              //INPUT  : Frame
2186
        .tx_frame_12(tx_frame_12),                  //OUTPUT : Frame
2187
        .sd_loopback_12(sd_loopback_12),            //OUTPUT : SERDES Loopback Enable
2188
        .powerdown_12(pcs_pwrdn_out_sig[12]),       //OUTPUT : Powerdown Enable
2189
        .led_col_12(led_col_12),                    //OUTPUT : Collision Indication
2190
        .led_an_12(led_an_12),                      //OUTPUT : Auto Negotiation Status
2191
        .led_char_err_12(led_char_err_gx[12]),      //INPUT  : Character error
2192
        .led_crs_12(led_crs_12),                    //OUTPUT : Carrier sense
2193
        .led_link_12(link_status[12]),              //INPUT  : Valid link    
2194
        .mac_rx_clk_12(mac_rx_clk_12),              //OUTPUT : Av-ST Rx Clock
2195
        .mac_tx_clk_12(mac_tx_clk_12),              //OUTPUT : Av-ST Tx Clock
2196
        .data_rx_sop_12(data_rx_sop_12),            //OUTPUT : Start of Packet
2197
        .data_rx_eop_12(data_rx_eop_12),            //OUTPUT : End of Packet
2198
        .data_rx_data_12(data_rx_data_12),          //OUTPUT : Data from FIFO
2199
        .data_rx_error_12(data_rx_error_12),        //OUTPUT : Receive packet error
2200
        .data_rx_valid_12(data_rx_valid_12),        //OUTPUT : Data Receive FIFO Valid
2201
        .data_rx_ready_12(data_rx_ready_12),        //OUTPUT : Data Receive Ready
2202
        .pkt_class_data_12(pkt_class_data_12),      //OUTPUT : Frame Type Indication
2203
        .pkt_class_valid_12(pkt_class_valid_12),    //OUTPUT : Frame Type Indication Valid
2204
        .data_tx_error_12(data_tx_error_12),        //INPUT  : Status
2205
        .data_tx_data_12(data_tx_data_12),          //INPUT  : Data from FIFO transmit
2206
        .data_tx_valid_12(data_tx_valid_12),        //INPUT  : Data FIFO transmit Empty
2207
        .data_tx_sop_12(data_tx_sop_12),            //INPUT  : Start of Packet
2208
        .data_tx_eop_12(data_tx_eop_12),            //INPUT  : End of Packet
2209
        .data_tx_ready_12(data_tx_ready_12),        //OUTPUT : Data FIFO transmit Read Enable  
2210
        .tx_ff_uflow_12(tx_ff_uflow_12),            //OUTPUT : TX FIFO underflow occured (Synchronous with tx_clk)
2211
        .tx_crc_fwd_12(tx_crc_fwd_12),              //INPUT  : Forward Current Frame with CRC from Application
2212
        .xoff_gen_12(xoff_gen_12),                  //INPUT  : XOFF PAUSE FRAME GENERATE
2213
        .xon_gen_12(xon_gen_12),                    //INPUT  : XON PAUSE FRAME GENERATE
2214
        .magic_sleep_n_12(magic_sleep_n_12),        //INPUT  : MAC SLEEP MODE CONTROL
2215
        .magic_wakeup_12(magic_wakeup_12),          //OUTPUT : MAC WAKE-UP INDICATION
2216
 
2217
         // Channel 13 
2218
 
2219
 
2220
        .rx_carrierdetected_13(pcs_rx_carrierdetected[13]),
2221
        .rx_rmfifodatadeleted_13(pcs_rx_rmfifodatadeleted[13]),
2222
        .rx_rmfifodatainserted_13(pcs_rx_rmfifodatainserted[13]),
2223
 
2224
        .rx_clkout_13(rx_pcs_clk_c13),                 //INPUT  : Receive Clock
2225
        .tx_clkout_13(tx_pcs_clk_c13),                 //INPUT  : Transmit Clock
2226
        .rx_kchar_13(pcs_rx_kchar_13),              //INPUT  : Special Character Indication
2227
        .tx_kchar_13(tx_kchar_13),                  //OUTPUT : Special Character Indication
2228
        .rx_frame_13(pcs_rx_frame_13),              //INPUT  : Frame
2229
        .tx_frame_13(tx_frame_13),                  //OUTPUT : Frame
2230
        .sd_loopback_13(sd_loopback_13),            //OUTPUT : SERDES Loopback Enable
2231
        .powerdown_13(pcs_pwrdn_out_sig[13]),       //OUTPUT : Powerdown Enable
2232
        .led_col_13(led_col_13),                    //OUTPUT : Collision Indication
2233
        .led_an_13(led_an_13),                      //OUTPUT : Auto Negotiation Status
2234
        .led_char_err_13(led_char_err_gx[13]),      //INPUT  : Character error
2235
        .led_crs_13(led_crs_13),                    //OUTPUT : Carrier sense
2236
        .led_link_13(link_status[13]),              //INPUT  : Valid link    
2237
        .mac_rx_clk_13(mac_rx_clk_13),              //OUTPUT : Av-ST Rx Clock
2238
        .mac_tx_clk_13(mac_tx_clk_13),              //OUTPUT : Av-ST Tx Clock
2239
        .data_rx_sop_13(data_rx_sop_13),            //OUTPUT : Start of Packet
2240
        .data_rx_eop_13(data_rx_eop_13),            //OUTPUT : End of Packet
2241
        .data_rx_data_13(data_rx_data_13),          //OUTPUT : Data from FIFO
2242
        .data_rx_error_13(data_rx_error_13),        //OUTPUT : Receive packet error
2243
        .data_rx_valid_13(data_rx_valid_13),        //OUTPUT : Data Receive FIFO Valid
2244
        .data_rx_ready_13(data_rx_ready_13),        //OUTPUT : Data Receive Ready
2245
        .pkt_class_data_13(pkt_class_data_13),      //OUTPUT : Frame Type Indication
2246
        .pkt_class_valid_13(pkt_class_valid_13),    //OUTPUT : Frame Type Indication Valid
2247
        .data_tx_error_13(data_tx_error_13),        //INPUT  : Status
2248
        .data_tx_data_13(data_tx_data_13),          //INPUT  : Data from FIFO transmit
2249
        .data_tx_valid_13(data_tx_valid_13),        //INPUT  : Data FIFO transmit Empty
2250
        .data_tx_sop_13(data_tx_sop_13),            //INPUT  : Start of Packet
2251
        .data_tx_eop_13(data_tx_eop_13),            //INPUT  : End of Packet
2252
        .data_tx_ready_13(data_tx_ready_13),        //OUTPUT : Data FIFO transmit Read Enable  
2253
        .tx_ff_uflow_13(tx_ff_uflow_13),            //OUTPUT : TX FIFO underflow occured (Synchronous with tx_clk)
2254
        .tx_crc_fwd_13(tx_crc_fwd_13),              //INPUT  : Forward Current Frame with CRC from Application
2255
        .xoff_gen_13(xoff_gen_13),                  //INPUT  : XOFF PAUSE FRAME GENERATE
2256
        .xon_gen_13(xon_gen_13),                    //INPUT  : XON PAUSE FRAME GENERATE
2257
        .magic_sleep_n_13(magic_sleep_n_13),        //INPUT  : MAC SLEEP MODE CONTROL
2258
        .magic_wakeup_13(magic_wakeup_13),          //OUTPUT : MAC WAKE-UP INDICATION
2259
 
2260
         // Channel 14 
2261
 
2262
 
2263
        .rx_carrierdetected_14(pcs_rx_carrierdetected[14]),
2264
        .rx_rmfifodatadeleted_14(pcs_rx_rmfifodatadeleted[14]),
2265
        .rx_rmfifodatainserted_14(pcs_rx_rmfifodatainserted[14]),
2266
 
2267
        .rx_clkout_14(rx_pcs_clk_c14),                 //INPUT  : Receive Clock
2268
        .tx_clkout_14(tx_pcs_clk_c14),                 //INPUT  : Transmit Clock
2269
        .rx_kchar_14(pcs_rx_kchar_14),              //INPUT  : Special Character Indication
2270
        .tx_kchar_14(tx_kchar_14),                  //OUTPUT : Special Character Indication
2271
        .rx_frame_14(pcs_rx_frame_14),              //INPUT  : Frame
2272
        .tx_frame_14(tx_frame_14),                  //OUTPUT : Frame
2273
        .sd_loopback_14(sd_loopback_14),            //OUTPUT : SERDES Loopback Enable
2274
        .powerdown_14(pcs_pwrdn_out_sig[14]),       //OUTPUT : Powerdown Enable
2275
        .led_col_14(led_col_14),                    //OUTPUT : Collision Indication
2276
        .led_an_14(led_an_14),                      //OUTPUT : Auto Negotiation Status
2277
        .led_char_err_14(led_char_err_gx[14]),      //INPUT  : Character error
2278
        .led_crs_14(led_crs_14),                    //OUTPUT : Carrier sense
2279
        .led_link_14(link_status[14]),              //INPUT  : Valid link    
2280
        .mac_rx_clk_14(mac_rx_clk_14),              //OUTPUT : Av-ST Rx Clock
2281
        .mac_tx_clk_14(mac_tx_clk_14),              //OUTPUT : Av-ST Tx Clock
2282
        .data_rx_sop_14(data_rx_sop_14),            //OUTPUT : Start of Packet
2283
        .data_rx_eop_14(data_rx_eop_14),            //OUTPUT : End of Packet
2284
        .data_rx_data_14(data_rx_data_14),          //OUTPUT : Data from FIFO
2285
        .data_rx_error_14(data_rx_error_14),        //OUTPUT : Receive packet error
2286
        .data_rx_valid_14(data_rx_valid_14),        //OUTPUT : Data Receive FIFO Valid
2287
        .data_rx_ready_14(data_rx_ready_14),        //OUTPUT : Data Receive Ready
2288
        .pkt_class_data_14(pkt_class_data_14),      //OUTPUT : Frame Type Indication
2289
        .pkt_class_valid_14(pkt_class_valid_14),    //OUTPUT : Frame Type Indication Valid
2290
        .data_tx_error_14(data_tx_error_14),        //INPUT  : Status
2291
        .data_tx_data_14(data_tx_data_14),          //INPUT  : Data from FIFO transmit
2292
        .data_tx_valid_14(data_tx_valid_14),        //INPUT  : Data FIFO transmit Empty
2293
        .data_tx_sop_14(data_tx_sop_14),            //INPUT  : Start of Packet
2294
        .data_tx_eop_14(data_tx_eop_14),            //INPUT  : End of Packet
2295
        .data_tx_ready_14(data_tx_ready_14),        //OUTPUT : Data FIFO transmit Read Enable  
2296
        .tx_ff_uflow_14(tx_ff_uflow_14),            //OUTPUT : TX FIFO underflow occured (Synchronous with tx_clk)
2297
        .tx_crc_fwd_14(tx_crc_fwd_14),              //INPUT  : Forward Current Frame with CRC from Application
2298
        .xoff_gen_14(xoff_gen_14),                  //INPUT  : XOFF PAUSE FRAME GENERATE
2299
        .xon_gen_14(xon_gen_14),                    //INPUT  : XON PAUSE FRAME GENERATE
2300
        .magic_sleep_n_14(magic_sleep_n_14),        //INPUT  : MAC SLEEP MODE CONTROL
2301
        .magic_wakeup_14(magic_wakeup_14),          //OUTPUT : MAC WAKE-UP INDICATION
2302
 
2303
         // Channel 15 
2304
 
2305
 
2306
        .rx_carrierdetected_15(pcs_rx_carrierdetected[15]),
2307
        .rx_rmfifodatadeleted_15(pcs_rx_rmfifodatadeleted[15]),
2308
        .rx_rmfifodatainserted_15(pcs_rx_rmfifodatainserted[15]),
2309
 
2310
        .rx_clkout_15(rx_pcs_clk_c15),                 //INPUT  : Receive Clock
2311
        .tx_clkout_15(tx_pcs_clk_c15),                 //INPUT  : Transmit Clock
2312
        .rx_kchar_15(pcs_rx_kchar_15),              //INPUT  : Special Character Indication
2313
        .tx_kchar_15(tx_kchar_15),                  //OUTPUT : Special Character Indication
2314
        .rx_frame_15(pcs_rx_frame_15),              //INPUT  : Frame
2315
        .tx_frame_15(tx_frame_15),                  //OUTPUT : Frame
2316
        .sd_loopback_15(sd_loopback_15),            //OUTPUT : SERDES Loopback Enable
2317
        .powerdown_15(pcs_pwrdn_out_sig[15]),       //OUTPUT : Powerdown Enable
2318
        .led_col_15(led_col_15),                    //OUTPUT : Collision Indication
2319
        .led_an_15(led_an_15),                      //OUTPUT : Auto Negotiation Status
2320
        .led_char_err_15(led_char_err_gx[15]),      //INPUT  : Character error
2321
        .led_crs_15(led_crs_15),                    //OUTPUT : Carrier sense
2322
        .led_link_15(link_status[15]),              //INPUT  : Valid link    
2323
        .mac_rx_clk_15(mac_rx_clk_15),              //OUTPUT : Av-ST Rx Clock
2324
        .mac_tx_clk_15(mac_tx_clk_15),              //OUTPUT : Av-ST Tx Clock
2325
        .data_rx_sop_15(data_rx_sop_15),            //OUTPUT : Start of Packet
2326
        .data_rx_eop_15(data_rx_eop_15),            //OUTPUT : End of Packet
2327
        .data_rx_data_15(data_rx_data_15),          //OUTPUT : Data from FIFO
2328
        .data_rx_error_15(data_rx_error_15),        //OUTPUT : Receive packet error
2329
        .data_rx_valid_15(data_rx_valid_15),        //OUTPUT : Data Receive FIFO Valid
2330
        .data_rx_ready_15(data_rx_ready_15),        //OUTPUT : Data Receive Ready
2331
        .pkt_class_data_15(pkt_class_data_15),      //OUTPUT : Frame Type Indication
2332
        .pkt_class_valid_15(pkt_class_valid_15),    //OUTPUT : Frame Type Indication Valid
2333
        .data_tx_error_15(data_tx_error_15),        //INPUT  : Status
2334
        .data_tx_data_15(data_tx_data_15),          //INPUT  : Data from FIFO transmit
2335
        .data_tx_valid_15(data_tx_valid_15),        //INPUT  : Data FIFO transmit Empty
2336
        .data_tx_sop_15(data_tx_sop_15),            //INPUT  : Start of Packet
2337
        .data_tx_eop_15(data_tx_eop_15),            //INPUT  : End of Packet
2338
        .data_tx_ready_15(data_tx_ready_15),        //OUTPUT : Data FIFO transmit Read Enable  
2339
        .tx_ff_uflow_15(tx_ff_uflow_15),            //OUTPUT : TX FIFO underflow occured (Synchronous with tx_clk)
2340
        .tx_crc_fwd_15(tx_crc_fwd_15),              //INPUT  : Forward Current Frame with CRC from Application
2341
        .xoff_gen_15(xoff_gen_15),                  //INPUT  : XOFF PAUSE FRAME GENERATE
2342
        .xon_gen_15(xon_gen_15),                    //INPUT  : XON PAUSE FRAME GENERATE
2343
        .magic_sleep_n_15(magic_sleep_n_15),        //INPUT  : MAC SLEEP MODE CONTROL
2344
        .magic_wakeup_15(magic_wakeup_15),          //OUTPUT : MAC WAKE-UP INDICATION
2345
 
2346
         // Channel 16 
2347
 
2348
 
2349
        .rx_carrierdetected_16(pcs_rx_carrierdetected[16]),
2350
        .rx_rmfifodatadeleted_16(pcs_rx_rmfifodatadeleted[16]),
2351
        .rx_rmfifodatainserted_16(pcs_rx_rmfifodatainserted[16]),
2352
 
2353
        .rx_clkout_16(rx_pcs_clk_c16),                 //INPUT  : Receive Clock
2354
        .tx_clkout_16(tx_pcs_clk_c16),                 //INPUT  : Transmit Clock
2355
        .rx_kchar_16(pcs_rx_kchar_16),              //INPUT  : Special Character Indication
2356
        .tx_kchar_16(tx_kchar_16),                  //OUTPUT : Special Character Indication
2357
        .rx_frame_16(pcs_rx_frame_16),              //INPUT  : Frame
2358
        .tx_frame_16(tx_frame_16),                  //OUTPUT : Frame
2359
        .sd_loopback_16(sd_loopback_16),            //OUTPUT : SERDES Loopback Enable
2360
        .powerdown_16(pcs_pwrdn_out_sig[16]),       //OUTPUT : Powerdown Enable
2361
        .led_col_16(led_col_16),                    //OUTPUT : Collision Indication
2362
        .led_an_16(led_an_16),                      //OUTPUT : Auto Negotiation Status
2363
        .led_char_err_16(led_char_err_gx[16]),      //INPUT  : Character error
2364
        .led_crs_16(led_crs_16),                    //OUTPUT : Carrier sense
2365
        .led_link_16(link_status[16]),              //INPUT  : Valid link    
2366
        .mac_rx_clk_16(mac_rx_clk_16),              //OUTPUT : Av-ST Rx Clock
2367
        .mac_tx_clk_16(mac_tx_clk_16),              //OUTPUT : Av-ST Tx Clock
2368
        .data_rx_sop_16(data_rx_sop_16),            //OUTPUT : Start of Packet
2369
        .data_rx_eop_16(data_rx_eop_16),            //OUTPUT : End of Packet
2370
        .data_rx_data_16(data_rx_data_16),          //OUTPUT : Data from FIFO
2371
        .data_rx_error_16(data_rx_error_16),        //OUTPUT : Receive packet error
2372
        .data_rx_valid_16(data_rx_valid_16),        //OUTPUT : Data Receive FIFO Valid
2373
        .data_rx_ready_16(data_rx_ready_16),        //OUTPUT : Data Receive Ready
2374
        .pkt_class_data_16(pkt_class_data_16),      //OUTPUT : Frame Type Indication
2375
        .pkt_class_valid_16(pkt_class_valid_16),    //OUTPUT : Frame Type Indication Valid
2376
        .data_tx_error_16(data_tx_error_16),        //INPUT  : Status
2377
        .data_tx_data_16(data_tx_data_16),          //INPUT  : Data from FIFO transmit
2378
        .data_tx_valid_16(data_tx_valid_16),        //INPUT  : Data FIFO transmit Empty
2379
        .data_tx_sop_16(data_tx_sop_16),            //INPUT  : Start of Packet
2380
        .data_tx_eop_16(data_tx_eop_16),            //INPUT  : End of Packet
2381
        .data_tx_ready_16(data_tx_ready_16),        //OUTPUT : Data FIFO transmit Read Enable  
2382
        .tx_ff_uflow_16(tx_ff_uflow_16),            //OUTPUT : TX FIFO underflow occured (Synchronous with tx_clk)
2383
        .tx_crc_fwd_16(tx_crc_fwd_16),              //INPUT  : Forward Current Frame with CRC from Application
2384
        .xoff_gen_16(xoff_gen_16),                  //INPUT  : XOFF PAUSE FRAME GENERATE
2385
        .xon_gen_16(xon_gen_16),                    //INPUT  : XON PAUSE FRAME GENERATE
2386
        .magic_sleep_n_16(magic_sleep_n_16),        //INPUT  : MAC SLEEP MODE CONTROL
2387
        .magic_wakeup_16(magic_wakeup_16),          //OUTPUT : MAC WAKE-UP INDICATION
2388
 
2389
         // Channel 17 
2390
 
2391
 
2392
        .rx_carrierdetected_17(pcs_rx_carrierdetected[17]),
2393
        .rx_rmfifodatadeleted_17(pcs_rx_rmfifodatadeleted[17]),
2394
        .rx_rmfifodatainserted_17(pcs_rx_rmfifodatainserted[17]),
2395
 
2396
        .rx_clkout_17(rx_pcs_clk_c17),                 //INPUT  : Receive Clock
2397
        .tx_clkout_17(tx_pcs_clk_c17),                 //INPUT  : Transmit Clock
2398
        .rx_kchar_17(pcs_rx_kchar_17),              //INPUT  : Special Character Indication
2399
        .tx_kchar_17(tx_kchar_17),                  //OUTPUT : Special Character Indication
2400
        .rx_frame_17(pcs_rx_frame_17),              //INPUT  : Frame
2401
        .tx_frame_17(tx_frame_17),                  //OUTPUT : Frame
2402
        .sd_loopback_17(sd_loopback_17),            //OUTPUT : SERDES Loopback Enable
2403
        .powerdown_17(pcs_pwrdn_out_sig[17]),       //OUTPUT : Powerdown Enable
2404
        .led_col_17(led_col_17),                    //OUTPUT : Collision Indication
2405
        .led_an_17(led_an_17),                      //OUTPUT : Auto Negotiation Status
2406
        .led_char_err_17(led_char_err_gx[17]),      //INPUT  : Character error
2407
        .led_crs_17(led_crs_17),                    //OUTPUT : Carrier sense
2408
        .led_link_17(link_status[17]),              //INPUT  : Valid link    
2409
        .mac_rx_clk_17(mac_rx_clk_17),              //OUTPUT : Av-ST Rx Clock
2410
        .mac_tx_clk_17(mac_tx_clk_17),              //OUTPUT : Av-ST Tx Clock
2411
        .data_rx_sop_17(data_rx_sop_17),            //OUTPUT : Start of Packet
2412
        .data_rx_eop_17(data_rx_eop_17),            //OUTPUT : End of Packet
2413
        .data_rx_data_17(data_rx_data_17),          //OUTPUT : Data from FIFO
2414
        .data_rx_error_17(data_rx_error_17),        //OUTPUT : Receive packet error
2415
        .data_rx_valid_17(data_rx_valid_17),        //OUTPUT : Data Receive FIFO Valid
2416
        .data_rx_ready_17(data_rx_ready_17),        //OUTPUT : Data Receive Ready
2417
        .pkt_class_data_17(pkt_class_data_17),      //OUTPUT : Frame Type Indication
2418
        .pkt_class_valid_17(pkt_class_valid_17),    //OUTPUT : Frame Type Indication Valid
2419
        .data_tx_error_17(data_tx_error_17),        //INPUT  : Status
2420
        .data_tx_data_17(data_tx_data_17),          //INPUT  : Data from FIFO transmit
2421
        .data_tx_valid_17(data_tx_valid_17),        //INPUT  : Data FIFO transmit Empty
2422
        .data_tx_sop_17(data_tx_sop_17),            //INPUT  : Start of Packet
2423
        .data_tx_eop_17(data_tx_eop_17),            //INPUT  : End of Packet
2424
        .data_tx_ready_17(data_tx_ready_17),        //OUTPUT : Data FIFO transmit Read Enable  
2425
        .tx_ff_uflow_17(tx_ff_uflow_17),            //OUTPUT : TX FIFO underflow occured (Synchronous with tx_clk)
2426
        .tx_crc_fwd_17(tx_crc_fwd_17),              //INPUT  : Forward Current Frame with CRC from Application
2427
        .xoff_gen_17(xoff_gen_17),                  //INPUT  : XOFF PAUSE FRAME GENERATE
2428
        .xon_gen_17(xon_gen_17),                    //INPUT  : XON PAUSE FRAME GENERATE
2429
        .magic_sleep_n_17(magic_sleep_n_17),        //INPUT  : MAC SLEEP MODE CONTROL
2430
        .magic_wakeup_17(magic_wakeup_17),          //OUTPUT : MAC WAKE-UP INDICATION
2431
 
2432
         // Channel 18 
2433
 
2434
 
2435
        .rx_carrierdetected_18(pcs_rx_carrierdetected[18]),
2436
        .rx_rmfifodatadeleted_18(pcs_rx_rmfifodatadeleted[18]),
2437
        .rx_rmfifodatainserted_18(pcs_rx_rmfifodatainserted[18]),
2438
 
2439
        .rx_clkout_18(rx_pcs_clk_c18),                 //INPUT  : Receive Clock
2440
        .tx_clkout_18(tx_pcs_clk_c18),                 //INPUT  : Transmit Clock
2441
        .rx_kchar_18(pcs_rx_kchar_18),              //INPUT  : Special Character Indication
2442
        .tx_kchar_18(tx_kchar_18),                  //OUTPUT : Special Character Indication
2443
        .rx_frame_18(pcs_rx_frame_18),              //INPUT  : Frame
2444
        .tx_frame_18(tx_frame_18),                  //OUTPUT : Frame
2445
        .sd_loopback_18(sd_loopback_18),            //OUTPUT : SERDES Loopback Enable
2446
        .powerdown_18(pcs_pwrdn_out_sig[18]),       //OUTPUT : Powerdown Enable
2447
        .led_col_18(led_col_18),                    //OUTPUT : Collision Indication
2448
        .led_an_18(led_an_18),                      //OUTPUT : Auto Negotiation Status
2449
        .led_char_err_18(led_char_err_gx[18]),      //INPUT  : Character error
2450
        .led_crs_18(led_crs_18),                    //OUTPUT : Carrier sense
2451
        .led_link_18(link_status[18]),              //INPUT  : Valid link    
2452
        .mac_rx_clk_18(mac_rx_clk_18),              //OUTPUT : Av-ST Rx Clock
2453
        .mac_tx_clk_18(mac_tx_clk_18),              //OUTPUT : Av-ST Tx Clock
2454
        .data_rx_sop_18(data_rx_sop_18),            //OUTPUT : Start of Packet
2455
        .data_rx_eop_18(data_rx_eop_18),            //OUTPUT : End of Packet
2456
        .data_rx_data_18(data_rx_data_18),          //OUTPUT : Data from FIFO
2457
        .data_rx_error_18(data_rx_error_18),        //OUTPUT : Receive packet error
2458
        .data_rx_valid_18(data_rx_valid_18),        //OUTPUT : Data Receive FIFO Valid
2459
        .data_rx_ready_18(data_rx_ready_18),        //OUTPUT : Data Receive Ready
2460
        .pkt_class_data_18(pkt_class_data_18),      //OUTPUT : Frame Type Indication
2461
        .pkt_class_valid_18(pkt_class_valid_18),    //OUTPUT : Frame Type Indication Valid
2462
        .data_tx_error_18(data_tx_error_18),        //INPUT  : Status
2463
        .data_tx_data_18(data_tx_data_18),          //INPUT  : Data from FIFO transmit
2464
        .data_tx_valid_18(data_tx_valid_18),        //INPUT  : Data FIFO transmit Empty
2465
        .data_tx_sop_18(data_tx_sop_18),            //INPUT  : Start of Packet
2466
        .data_tx_eop_18(data_tx_eop_18),            //INPUT  : End of Packet
2467
        .data_tx_ready_18(data_tx_ready_18),        //OUTPUT : Data FIFO transmit Read Enable  
2468
        .tx_ff_uflow_18(tx_ff_uflow_18),            //OUTPUT : TX FIFO underflow occured (Synchronous with tx_clk)
2469
        .tx_crc_fwd_18(tx_crc_fwd_18),              //INPUT  : Forward Current Frame with CRC from Application
2470
        .xoff_gen_18(xoff_gen_18),                  //INPUT  : XOFF PAUSE FRAME GENERATE
2471
        .xon_gen_18(xon_gen_18),                    //INPUT  : XON PAUSE FRAME GENERATE
2472
        .magic_sleep_n_18(magic_sleep_n_18),        //INPUT  : MAC SLEEP MODE CONTROL
2473
        .magic_wakeup_18(magic_wakeup_18),          //OUTPUT : MAC WAKE-UP INDICATION
2474
 
2475
         // Channel 19 
2476
 
2477
 
2478
        .rx_carrierdetected_19(pcs_rx_carrierdetected[19]),
2479
        .rx_rmfifodatadeleted_19(pcs_rx_rmfifodatadeleted[19]),
2480
        .rx_rmfifodatainserted_19(pcs_rx_rmfifodatainserted[19]),
2481
 
2482
        .rx_clkout_19(rx_pcs_clk_c19),                 //INPUT  : Receive Clock
2483
        .tx_clkout_19(tx_pcs_clk_c19),                 //INPUT  : Transmit Clock
2484
        .rx_kchar_19(pcs_rx_kchar_19),              //INPUT  : Special Character Indication
2485
        .tx_kchar_19(tx_kchar_19),                  //OUTPUT : Special Character Indication
2486
        .rx_frame_19(pcs_rx_frame_19),              //INPUT  : Frame
2487
        .tx_frame_19(tx_frame_19),                  //OUTPUT : Frame
2488
        .sd_loopback_19(sd_loopback_19),            //OUTPUT : SERDES Loopback Enable
2489
        .powerdown_19(pcs_pwrdn_out_sig[19]),       //OUTPUT : Powerdown Enable
2490
        .led_col_19(led_col_19),                    //OUTPUT : Collision Indication
2491
        .led_an_19(led_an_19),                      //OUTPUT : Auto Negotiation Status
2492
        .led_char_err_19(led_char_err_gx[19]),      //INPUT  : Character error
2493
        .led_crs_19(led_crs_19),                    //OUTPUT : Carrier sense
2494
        .led_link_19(link_status[19]),              //INPUT  : Valid link    
2495
        .mac_rx_clk_19(mac_rx_clk_19),              //OUTPUT : Av-ST Rx Clock
2496
        .mac_tx_clk_19(mac_tx_clk_19),              //OUTPUT : Av-ST Tx Clock
2497
        .data_rx_sop_19(data_rx_sop_19),            //OUTPUT : Start of Packet
2498
        .data_rx_eop_19(data_rx_eop_19),            //OUTPUT : End of Packet
2499
        .data_rx_data_19(data_rx_data_19),          //OUTPUT : Data from FIFO
2500
        .data_rx_error_19(data_rx_error_19),        //OUTPUT : Receive packet error
2501
        .data_rx_valid_19(data_rx_valid_19),        //OUTPUT : Data Receive FIFO Valid
2502
        .data_rx_ready_19(data_rx_ready_19),        //OUTPUT : Data Receive Ready
2503
        .pkt_class_data_19(pkt_class_data_19),      //OUTPUT : Frame Type Indication
2504
        .pkt_class_valid_19(pkt_class_valid_19),    //OUTPUT : Frame Type Indication Valid
2505
        .data_tx_error_19(data_tx_error_19),        //INPUT  : Status
2506
        .data_tx_data_19(data_tx_data_19),          //INPUT  : Data from FIFO transmit
2507
        .data_tx_valid_19(data_tx_valid_19),        //INPUT  : Data FIFO transmit Empty
2508
        .data_tx_sop_19(data_tx_sop_19),            //INPUT  : Start of Packet
2509
        .data_tx_eop_19(data_tx_eop_19),            //INPUT  : End of Packet
2510
        .data_tx_ready_19(data_tx_ready_19),        //OUTPUT : Data FIFO transmit Read Enable  
2511
        .tx_ff_uflow_19(tx_ff_uflow_19),            //OUTPUT : TX FIFO underflow occured (Synchronous with tx_clk)
2512
        .tx_crc_fwd_19(tx_crc_fwd_19),              //INPUT  : Forward Current Frame with CRC from Application
2513
        .xoff_gen_19(xoff_gen_19),                  //INPUT  : XOFF PAUSE FRAME GENERATE
2514
        .xon_gen_19(xon_gen_19),                    //INPUT  : XON PAUSE FRAME GENERATE
2515
        .magic_sleep_n_19(magic_sleep_n_19),        //INPUT  : MAC SLEEP MODE CONTROL
2516
        .magic_wakeup_19(magic_wakeup_19),          //OUTPUT : MAC WAKE-UP INDICATION
2517
 
2518
         // Channel 20 
2519
 
2520
 
2521
        .rx_carrierdetected_20(pcs_rx_carrierdetected[20]),
2522
        .rx_rmfifodatadeleted_20(pcs_rx_rmfifodatadeleted[20]),
2523
        .rx_rmfifodatainserted_20(pcs_rx_rmfifodatainserted[20]),
2524
 
2525
        .rx_clkout_20(rx_pcs_clk_c20),                 //INPUT  : Receive Clock
2526
        .tx_clkout_20(tx_pcs_clk_c20),                 //INPUT  : Transmit Clock
2527
        .rx_kchar_20(pcs_rx_kchar_20),              //INPUT  : Special Character Indication
2528
        .tx_kchar_20(tx_kchar_20),                  //OUTPUT : Special Character Indication
2529
        .rx_frame_20(pcs_rx_frame_20),              //INPUT  : Frame
2530
        .tx_frame_20(tx_frame_20),                  //OUTPUT : Frame
2531
        .sd_loopback_20(sd_loopback_20),            //OUTPUT : SERDES Loopback Enable
2532
        .powerdown_20(pcs_pwrdn_out_sig[20]),       //OUTPUT : Powerdown Enable
2533
        .led_col_20(led_col_20),                    //OUTPUT : Collision Indication
2534
        .led_an_20(led_an_20),                      //OUTPUT : Auto Negotiation Status
2535
        .led_char_err_20(led_char_err_gx[20]),      //INPUT  : Character error
2536
        .led_crs_20(led_crs_20),                    //OUTPUT : Carrier sense
2537
        .led_link_20(link_status[20]),              //INPUT  : Valid link    
2538
        .mac_rx_clk_20(mac_rx_clk_20),              //OUTPUT : Av-ST Rx Clock
2539
        .mac_tx_clk_20(mac_tx_clk_20),              //OUTPUT : Av-ST Tx Clock
2540
        .data_rx_sop_20(data_rx_sop_20),            //OUTPUT : Start of Packet
2541
        .data_rx_eop_20(data_rx_eop_20),            //OUTPUT : End of Packet
2542
        .data_rx_data_20(data_rx_data_20),          //OUTPUT : Data from FIFO
2543
        .data_rx_error_20(data_rx_error_20),        //OUTPUT : Receive packet error
2544
        .data_rx_valid_20(data_rx_valid_20),        //OUTPUT : Data Receive FIFO Valid
2545
        .data_rx_ready_20(data_rx_ready_20),        //OUTPUT : Data Receive Ready
2546
        .pkt_class_data_20(pkt_class_data_20),      //OUTPUT : Frame Type Indication
2547
        .pkt_class_valid_20(pkt_class_valid_20),    //OUTPUT : Frame Type Indication Valid
2548
        .data_tx_error_20(data_tx_error_20),        //INPUT  : Status
2549
        .data_tx_data_20(data_tx_data_20),          //INPUT  : Data from FIFO transmit
2550
        .data_tx_valid_20(data_tx_valid_20),        //INPUT  : Data FIFO transmit Empty
2551
        .data_tx_sop_20(data_tx_sop_20),            //INPUT  : Start of Packet
2552
        .data_tx_eop_20(data_tx_eop_20),            //INPUT  : End of Packet
2553
        .data_tx_ready_20(data_tx_ready_20),        //OUTPUT : Data FIFO transmit Read Enable  
2554
        .tx_ff_uflow_20(tx_ff_uflow_20),            //OUTPUT : TX FIFO underflow occured (Synchronous with tx_clk)
2555
        .tx_crc_fwd_20(tx_crc_fwd_20),              //INPUT  : Forward Current Frame with CRC from Application
2556
        .xoff_gen_20(xoff_gen_20),                  //INPUT  : XOFF PAUSE FRAME GENERATE
2557
        .xon_gen_20(xon_gen_20),                    //INPUT  : XON PAUSE FRAME GENERATE
2558
        .magic_sleep_n_20(magic_sleep_n_20),        //INPUT  : MAC SLEEP MODE CONTROL
2559
        .magic_wakeup_20(magic_wakeup_20),          //OUTPUT : MAC WAKE-UP INDICATION
2560
 
2561
         // Channel 21 
2562
 
2563
 
2564
        .rx_carrierdetected_21(pcs_rx_carrierdetected[21]),
2565
        .rx_rmfifodatadeleted_21(pcs_rx_rmfifodatadeleted[21]),
2566
        .rx_rmfifodatainserted_21(pcs_rx_rmfifodatainserted[21]),
2567
 
2568
        .rx_clkout_21(rx_pcs_clk_c21),                 //INPUT  : Receive Clock
2569
        .tx_clkout_21(tx_pcs_clk_c21),                 //INPUT  : Transmit Clock
2570
        .rx_kchar_21(pcs_rx_kchar_21),              //INPUT  : Special Character Indication
2571
        .tx_kchar_21(tx_kchar_21),                  //OUTPUT : Special Character Indication
2572
        .rx_frame_21(pcs_rx_frame_21),              //INPUT  : Frame
2573
        .tx_frame_21(tx_frame_21),                  //OUTPUT : Frame
2574
        .sd_loopback_21(sd_loopback_21),            //OUTPUT : SERDES Loopback Enable
2575
        .powerdown_21(pcs_pwrdn_out_sig[21]),       //OUTPUT : Powerdown Enable
2576
        .led_col_21(led_col_21),                    //OUTPUT : Collision Indication
2577
        .led_an_21(led_an_21),                      //OUTPUT : Auto Negotiation Status
2578
        .led_char_err_21(led_char_err_gx[21]),      //INPUT  : Character error
2579
        .led_crs_21(led_crs_21),                    //OUTPUT : Carrier sense
2580
        .led_link_21(link_status[21]),              //INPUT  : Valid link    
2581
        .mac_rx_clk_21(mac_rx_clk_21),              //OUTPUT : Av-ST Rx Clock
2582
        .mac_tx_clk_21(mac_tx_clk_21),              //OUTPUT : Av-ST Tx Clock
2583
        .data_rx_sop_21(data_rx_sop_21),            //OUTPUT : Start of Packet
2584
        .data_rx_eop_21(data_rx_eop_21),            //OUTPUT : End of Packet
2585
        .data_rx_data_21(data_rx_data_21),          //OUTPUT : Data from FIFO
2586
        .data_rx_error_21(data_rx_error_21),        //OUTPUT : Receive packet error
2587
        .data_rx_valid_21(data_rx_valid_21),        //OUTPUT : Data Receive FIFO Valid
2588
        .data_rx_ready_21(data_rx_ready_21),        //OUTPUT : Data Receive Ready
2589
        .pkt_class_data_21(pkt_class_data_21),      //OUTPUT : Frame Type Indication
2590
        .pkt_class_valid_21(pkt_class_valid_21),    //OUTPUT : Frame Type Indication Valid
2591
        .data_tx_error_21(data_tx_error_21),        //INPUT  : Status
2592
        .data_tx_data_21(data_tx_data_21),          //INPUT  : Data from FIFO transmit
2593
        .data_tx_valid_21(data_tx_valid_21),        //INPUT  : Data FIFO transmit Empty
2594
        .data_tx_sop_21(data_tx_sop_21),            //INPUT  : Start of Packet
2595
        .data_tx_eop_21(data_tx_eop_21),            //INPUT  : End of Packet
2596
        .data_tx_ready_21(data_tx_ready_21),        //OUTPUT : Data FIFO transmit Read Enable  
2597
        .tx_ff_uflow_21(tx_ff_uflow_21),            //OUTPUT : TX FIFO underflow occured (Synchronous with tx_clk)
2598
        .tx_crc_fwd_21(tx_crc_fwd_21),              //INPUT  : Forward Current Frame with CRC from Application
2599
        .xoff_gen_21(xoff_gen_21),                  //INPUT  : XOFF PAUSE FRAME GENERATE
2600
        .xon_gen_21(xon_gen_21),                    //INPUT  : XON PAUSE FRAME GENERATE
2601
        .magic_sleep_n_21(magic_sleep_n_21),        //INPUT  : MAC SLEEP MODE CONTROL
2602
        .magic_wakeup_21(magic_wakeup_21),          //OUTPUT : MAC WAKE-UP INDICATION
2603
 
2604
         // Channel 22 
2605
 
2606
 
2607
        .rx_carrierdetected_22(pcs_rx_carrierdetected[22]),
2608
        .rx_rmfifodatadeleted_22(pcs_rx_rmfifodatadeleted[22]),
2609
        .rx_rmfifodatainserted_22(pcs_rx_rmfifodatainserted[22]),
2610
 
2611
        .rx_clkout_22(rx_pcs_clk_c22),                 //INPUT  : Receive Clock
2612
        .tx_clkout_22(tx_pcs_clk_c22),                 //INPUT  : Transmit Clock
2613
        .rx_kchar_22(pcs_rx_kchar_22),              //INPUT  : Special Character Indication
2614
        .tx_kchar_22(tx_kchar_22),                  //OUTPUT : Special Character Indication
2615
        .rx_frame_22(pcs_rx_frame_22),              //INPUT  : Frame
2616
        .tx_frame_22(tx_frame_22),                  //OUTPUT : Frame
2617
        .sd_loopback_22(sd_loopback_22),            //OUTPUT : SERDES Loopback Enable
2618
        .powerdown_22(pcs_pwrdn_out_sig[22]),       //OUTPUT : Powerdown Enable
2619
        .led_col_22(led_col_22),                    //OUTPUT : Collision Indication
2620
        .led_an_22(led_an_22),                      //OUTPUT : Auto Negotiation Status
2621
        .led_char_err_22(led_char_err_gx[22]),      //INPUT  : Character error
2622
        .led_crs_22(led_crs_22),                    //OUTPUT : Carrier sense
2623
        .led_link_22(link_status[22]),              //INPUT  : Valid link    
2624
        .mac_rx_clk_22(mac_rx_clk_22),              //OUTPUT : Av-ST Rx Clock
2625
        .mac_tx_clk_22(mac_tx_clk_22),              //OUTPUT : Av-ST Tx Clock
2626
        .data_rx_sop_22(data_rx_sop_22),            //OUTPUT : Start of Packet
2627
        .data_rx_eop_22(data_rx_eop_22),            //OUTPUT : End of Packet
2628
        .data_rx_data_22(data_rx_data_22),          //OUTPUT : Data from FIFO
2629
        .data_rx_error_22(data_rx_error_22),        //OUTPUT : Receive packet error
2630
        .data_rx_valid_22(data_rx_valid_22),        //OUTPUT : Data Receive FIFO Valid
2631
        .data_rx_ready_22(data_rx_ready_22),        //OUTPUT : Data Receive Ready
2632
        .pkt_class_data_22(pkt_class_data_22),      //OUTPUT : Frame Type Indication
2633
        .pkt_class_valid_22(pkt_class_valid_22),    //OUTPUT : Frame Type Indication Valid
2634
        .data_tx_error_22(data_tx_error_22),        //INPUT  : Status
2635
        .data_tx_data_22(data_tx_data_22),          //INPUT  : Data from FIFO transmit
2636
        .data_tx_valid_22(data_tx_valid_22),        //INPUT  : Data FIFO transmit Empty
2637
        .data_tx_sop_22(data_tx_sop_22),            //INPUT  : Start of Packet
2638
        .data_tx_eop_22(data_tx_eop_22),            //INPUT  : End of Packet
2639
        .data_tx_ready_22(data_tx_ready_22),        //OUTPUT : Data FIFO transmit Read Enable  
2640
        .tx_ff_uflow_22(tx_ff_uflow_22),            //OUTPUT : TX FIFO underflow occured (Synchronous with tx_clk)
2641
        .tx_crc_fwd_22(tx_crc_fwd_22),              //INPUT  : Forward Current Frame with CRC from Application
2642
        .xoff_gen_22(xoff_gen_22),                  //INPUT  : XOFF PAUSE FRAME GENERATE
2643
        .xon_gen_22(xon_gen_22),                    //INPUT  : XON PAUSE FRAME GENERATE
2644
        .magic_sleep_n_22(magic_sleep_n_22),        //INPUT  : MAC SLEEP MODE CONTROL
2645
        .magic_wakeup_22(magic_wakeup_22),          //OUTPUT : MAC WAKE-UP INDICATION
2646
 
2647
         // Channel 23 
2648
 
2649
 
2650
        .rx_carrierdetected_23(pcs_rx_carrierdetected[23]),
2651
        .rx_rmfifodatadeleted_23(pcs_rx_rmfifodatadeleted[23]),
2652
        .rx_rmfifodatainserted_23(pcs_rx_rmfifodatainserted[23]),
2653
 
2654
        .rx_clkout_23(rx_pcs_clk_c23),                 //INPUT  : Receive Clock
2655
        .tx_clkout_23(tx_pcs_clk_c23),                 //INPUT  : Transmit Clock
2656
        .rx_kchar_23(pcs_rx_kchar_23),              //INPUT  : Special Character Indication
2657
        .tx_kchar_23(tx_kchar_23),                  //OUTPUT : Special Character Indication
2658
        .rx_frame_23(pcs_rx_frame_23),              //INPUT  : Frame
2659
        .tx_frame_23(tx_frame_23),                  //OUTPUT : Frame
2660
        .sd_loopback_23(sd_loopback_23),            //OUTPUT : SERDES Loopback Enable
2661
        .powerdown_23(pcs_pwrdn_out_sig[23]),       //OUTPUT : Powerdown Enable
2662
        .led_col_23(led_col_23),                    //OUTPUT : Collision Indication
2663
        .led_an_23(led_an_23),                      //OUTPUT : Auto Negotiation Status
2664
        .led_char_err_23(led_char_err_gx[23]),      //INPUT  : Character error
2665
        .led_crs_23(led_crs_23),                    //OUTPUT : Carrier sense
2666
        .led_link_23(link_status[23]),              //INPUT  : Valid link    
2667
        .mac_rx_clk_23(mac_rx_clk_23),              //OUTPUT : Av-ST Rx Clock
2668
        .mac_tx_clk_23(mac_tx_clk_23),              //OUTPUT : Av-ST Tx Clock
2669
        .data_rx_sop_23(data_rx_sop_23),            //OUTPUT : Start of Packet
2670
        .data_rx_eop_23(data_rx_eop_23),            //OUTPUT : End of Packet
2671
        .data_rx_data_23(data_rx_data_23),          //OUTPUT : Data from FIFO
2672
        .data_rx_error_23(data_rx_error_23),        //OUTPUT : Receive packet error
2673
        .data_rx_valid_23(data_rx_valid_23),        //OUTPUT : Data Receive FIFO Valid
2674
        .data_rx_ready_23(data_rx_ready_23),        //OUTPUT : Data Receive Ready
2675
        .pkt_class_data_23(pkt_class_data_23),      //OUTPUT : Frame Type Indication
2676
        .pkt_class_valid_23(pkt_class_valid_23),    //OUTPUT : Frame Type Indication Valid
2677
        .data_tx_error_23(data_tx_error_23),        //INPUT  : Status
2678
        .data_tx_data_23(data_tx_data_23),          //INPUT  : Data from FIFO transmit
2679
        .data_tx_valid_23(data_tx_valid_23),        //INPUT  : Data FIFO transmit Empty
2680
        .data_tx_sop_23(data_tx_sop_23),            //INPUT  : Start of Packet
2681
        .data_tx_eop_23(data_tx_eop_23),            //INPUT  : End of Packet
2682
        .data_tx_ready_23(data_tx_ready_23),        //OUTPUT : Data FIFO transmit Read Enable  
2683
        .tx_ff_uflow_23(tx_ff_uflow_23),            //OUTPUT : TX FIFO underflow occured (Synchronous with tx_clk)
2684
        .tx_crc_fwd_23(tx_crc_fwd_23),              //INPUT  : Forward Current Frame with CRC from Application
2685
        .xoff_gen_23(xoff_gen_23),                  //INPUT  : XOFF PAUSE FRAME GENERATE
2686
        .xon_gen_23(xon_gen_23),                    //INPUT  : XON PAUSE FRAME GENERATE
2687
        .magic_sleep_n_23(magic_sleep_n_23),        //INPUT  : MAC SLEEP MODE CONTROL
2688
        .magic_wakeup_23(magic_wakeup_23));         //OUTPUT : MAC WAKE-UP INDICATION
2689
 
2690
    defparam
2691
        U_MULTI_MAC_PCS.USE_SYNC_RESET = USE_SYNC_RESET,
2692
        U_MULTI_MAC_PCS.RESET_LEVEL = RESET_LEVEL,
2693
        U_MULTI_MAC_PCS.ENABLE_GMII_LOOPBACK = ENABLE_GMII_LOOPBACK,
2694
        U_MULTI_MAC_PCS.ENABLE_HD_LOGIC = ENABLE_HD_LOGIC,
2695
        U_MULTI_MAC_PCS.ENABLE_SUP_ADDR = ENABLE_SUP_ADDR,
2696
        U_MULTI_MAC_PCS.ENA_HASH = ENA_HASH,
2697
        U_MULTI_MAC_PCS.STAT_CNT_ENA = STAT_CNT_ENA,
2698
        U_MULTI_MAC_PCS.CORE_VERSION = CORE_VERSION,
2699
        U_MULTI_MAC_PCS.CUST_VERSION = CUST_VERSION,
2700
        U_MULTI_MAC_PCS.REDUCED_INTERFACE_ENA = REDUCED_INTERFACE_ENA,
2701
        U_MULTI_MAC_PCS.ENABLE_MDIO = ENABLE_MDIO,
2702
        U_MULTI_MAC_PCS.MDIO_CLK_DIV = MDIO_CLK_DIV,
2703
        U_MULTI_MAC_PCS.ENABLE_MAGIC_DETECT = ENABLE_MAGIC_DETECT,
2704
        U_MULTI_MAC_PCS.ENABLE_PADDING = ENABLE_PADDING,
2705
        U_MULTI_MAC_PCS.ENABLE_LGTH_CHECK = ENABLE_LGTH_CHECK,
2706
        U_MULTI_MAC_PCS.GBIT_ONLY = GBIT_ONLY,
2707
        U_MULTI_MAC_PCS.MBIT_ONLY = MBIT_ONLY,
2708
        U_MULTI_MAC_PCS.REDUCED_CONTROL = REDUCED_CONTROL,
2709
        U_MULTI_MAC_PCS.CRC32DWIDTH = CRC32DWIDTH,
2710
        U_MULTI_MAC_PCS.CRC32GENDELAY = CRC32GENDELAY,
2711
        U_MULTI_MAC_PCS.CRC32CHECK16BIT = CRC32CHECK16BIT,
2712
        U_MULTI_MAC_PCS.CRC32S1L2_EXTERN = CRC32S1L2_EXTERN,
2713
        U_MULTI_MAC_PCS.ENABLE_SHIFT16 = ENABLE_SHIFT16,
2714
        U_MULTI_MAC_PCS.ENABLE_MAC_FLOW_CTRL = ENABLE_MAC_FLOW_CTRL,
2715
        U_MULTI_MAC_PCS.ENABLE_MAC_TXADDR_SET = ENABLE_MAC_TXADDR_SET,
2716
        U_MULTI_MAC_PCS.ENABLE_MAC_RX_VLAN = ENABLE_MAC_RX_VLAN,
2717
        U_MULTI_MAC_PCS.ENABLE_MAC_TX_VLAN = ENABLE_MAC_TX_VLAN,
2718
        U_MULTI_MAC_PCS.PHY_IDENTIFIER = PHY_IDENTIFIER,
2719
        U_MULTI_MAC_PCS.DEV_VERSION = DEV_VERSION,
2720
        U_MULTI_MAC_PCS.ENABLE_SGMII = ENABLE_SGMII,
2721
        U_MULTI_MAC_PCS.MAX_CHANNELS = MAX_CHANNELS,
2722
        U_MULTI_MAC_PCS.CHANNEL_WIDTH = CHANNEL_WIDTH,
2723
        U_MULTI_MAC_PCS.ENABLE_RX_FIFO_STATUS = ENABLE_RX_FIFO_STATUS,
2724
        U_MULTI_MAC_PCS.ENABLE_EXTENDED_STAT_REG = ENABLE_EXTENDED_STAT_REG,
2725
        U_MULTI_MAC_PCS.ENABLE_CLK_SHARING = ENABLE_CLK_SHARING,
2726
        U_MULTI_MAC_PCS.ENABLE_REG_SHARING = ENABLE_REG_SHARING;
2727
 
2728
 
2729
 
2730
// #######################################################################
2731
// ###############       CHANNEL 0 LOGIC/COMPONENTS       ###############
2732
// #######################################################################
2733
 
2734
generate if (MAX_CHANNELS > 0)
2735
    begin
2736
 
2737
    // Instantiation of the Alt2gxb and Alt4gxb block as the PMA for Stratix_II_GX ,ArriaGX and Stratix IV devices
2738
    // ----------------------------------------------------------------------------------- 
2739
 
2740
 
2741
        // Aligned Rx_sync from gxb
2742
        // -------------------------------
2743
        altera_tse_reset_synchronizer ch0_reset_sync_0(
2744
            .clk(ref_clk),
2745
            .reset_in(reset),
2746
            .reset_out(reset_rx_pcs_clk_c0_int)
2747
        );
2748
 
2749
        altera_tse_gxb_aligned_rxsync the_altera_tse_gxb_aligned_rxsync_0
2750
          (
2751
            .clk(rx_pcs_clk_c0),
2752
            .reset(reset_rx_pcs_clk_c0_int),
2753
            //input (from alt2gxb)
2754
            .alt_dataout(rx_frame_0),
2755
            .alt_sync(rx_syncstatus[0]),
2756
            .alt_disperr(rx_disp_err[0]),
2757
            .alt_ctrldetect(rx_kchar_0),
2758
            .alt_errdetect(rx_char_err_gx[0]),
2759
            .alt_rmfifodatadeleted(rx_rmfifodatadeleted[0]),
2760
            .alt_rmfifodatainserted(rx_rmfifodatainserted[0]),
2761
            .alt_runlengthviolation(rx_runlengthviolation[0]),
2762
            .alt_patterndetect(rx_patterndetect[0]),
2763
            .alt_runningdisp(rx_runningdisp[0]),
2764
 
2765
            //output (to PCS)
2766
            .altpcs_dataout(pcs_rx_frame_0),
2767
            .altpcs_sync(link_status[0]),
2768
            .altpcs_disperr(led_disp_err_0),
2769
            .altpcs_ctrldetect(pcs_rx_kchar_0),
2770
            .altpcs_errdetect(led_char_err_gx[0]),
2771
            .altpcs_rmfifodatadeleted(pcs_rx_rmfifodatadeleted[0]),
2772
            .altpcs_rmfifodatainserted(pcs_rx_rmfifodatainserted[0]),
2773
            .altpcs_carrierdetect(pcs_rx_carrierdetected[0])
2774
           ) ;
2775
                defparam
2776
                the_altera_tse_gxb_aligned_rxsync_0.DEVICE_FAMILY = DEVICE_FAMILY;
2777
 
2778
        // Altgxb in GIGE mode
2779
        // --------------------
2780
        altera_tse_gxb_gige_phyip_inst the_altera_tse_gxb_gige_phyip_inst_0
2781
          (
2782
            .phy_mgmt_clk(clk),
2783
            .phy_mgmt_clk_reset(reset),
2784
            .phy_mgmt_address(phy_mgmt_address_0),
2785
            .phy_mgmt_read(phy_mgmt_read_0),
2786
            .phy_mgmt_readdata(phy_mgmt_readdata_0),
2787
            .phy_mgmt_waitrequest(phy_mgmt_waitrequest_0),
2788
            .phy_mgmt_write(phy_mgmt_write_0),
2789
            .phy_mgmt_writedata(phy_mgmt_writedata_0),
2790
            .tx_ready(),
2791
            .rx_ready(),
2792
            .pll_ref_clk(ref_clk),
2793
            .pll_locked(),
2794
            .tx_serial_data(txp_0),
2795
            .rx_serial_data(rxp_0),
2796
            .rx_runningdisp(rx_runningdisp[0]),
2797
            .rx_disperr(rx_disp_err[0]),
2798
            .rx_errdetect(rx_char_err_gx[0]),
2799
            .rx_patterndetect(rx_patterndetect[0]),
2800
            .rx_syncstatus(rx_syncstatus[0]),
2801
            .tx_clkout(tx_pcs_clk_c0),
2802
            .rx_clkout(rx_pcs_clk_c0),
2803
            .tx_parallel_data(tx_frame_0),
2804
            .tx_datak(tx_kchar_0),
2805
            .rx_parallel_data(rx_frame_0),
2806
            .rx_datak(rx_kchar_0),
2807
            .rx_rlv(rx_runlengthviolation[0]),
2808
            .rx_recovclkout(rx_recovclkout_0),
2809
            .rx_rmfifodatadeleted(rx_rmfifodatadeleted[0]),
2810
            .rx_rmfifodatainserted(rx_rmfifodatainserted[0]),
2811
            .reconfig_togxb(reconfig_togxb_0),
2812
            .reconfig_fromgxb(reconfig_fromgxb_0)
2813
          );
2814
   defparam
2815
        the_altera_tse_gxb_gige_phyip_inst_0.ENABLE_ALT_RECONFIG = ENABLE_ALT_RECONFIG,
2816
        the_altera_tse_gxb_gige_phyip_inst_0.ENABLE_SGMII = ENABLE_SGMII,
2817
        the_altera_tse_gxb_gige_phyip_inst_0.DEVICE_FAMILY = DEVICE_FAMILY;
2818
    end
2819
else
2820
    begin
2821
    assign reconfig_fromgxb_0 = {92{1'b0}};
2822
    assign led_char_err_gx[0] = 1'b0;
2823
    assign link_status[0] = 1'b0;
2824
    assign led_disp_err_0 = 1'b0;
2825
    assign txp_0 = 1'b0;
2826
    assign rx_recovclkout_0= 1'b0;
2827
    assign phy_mgmt_readdata_0 = 32'b0;
2828
    assign phy_mgmt_waitrequest_0 = 1'b0;
2829
    end
2830
endgenerate
2831
 
2832
 
2833
 
2834
// #######################################################################
2835
// ###############       CHANNEL 1 LOGIC/COMPONENTS       ###############
2836
// #######################################################################
2837
 
2838
generate if (MAX_CHANNELS > 1)
2839
    begin
2840
 
2841
    // Instantiation of the Alt2gxb and Alt4gxb block as the PMA for Stratix_II_GX ,ArriaGX and Stratix IV devices
2842
    // ----------------------------------------------------------------------------------- 
2843
 
2844
 
2845
        // Aligned Rx_sync from gxb
2846
        // -------------------------------
2847
        altera_tse_reset_synchronizer ch1_reset_sync_0(
2848
            .clk(ref_clk),
2849
            .reset_in(reset),
2850
            .reset_out(reset_rx_pcs_clk_c1_int)
2851
        );
2852
 
2853
        altera_tse_gxb_aligned_rxsync the_altera_tse_gxb_aligned_rxsync_1
2854
          (
2855
            .clk(rx_pcs_clk_c1),
2856
            .reset(reset_rx_pcs_clk_c1_int),
2857
            //input (from alt2gxb)
2858
            .alt_dataout(rx_frame_1),
2859
            .alt_sync(rx_syncstatus[1]),
2860
            .alt_disperr(rx_disp_err[1]),
2861
            .alt_ctrldetect(rx_kchar_1),
2862
            .alt_errdetect(rx_char_err_gx[1]),
2863
            .alt_rmfifodatadeleted(rx_rmfifodatadeleted[1]),
2864
            .alt_rmfifodatainserted(rx_rmfifodatainserted[1]),
2865
            .alt_runlengthviolation(rx_runlengthviolation[1]),
2866
            .alt_patterndetect(rx_patterndetect[1]),
2867
            .alt_runningdisp(rx_runningdisp[1]),
2868
 
2869
            //output (to PCS)
2870
            .altpcs_dataout(pcs_rx_frame_1),
2871
            .altpcs_sync(link_status[1]),
2872
            .altpcs_disperr(led_disp_err_1),
2873
            .altpcs_ctrldetect(pcs_rx_kchar_1),
2874
            .altpcs_errdetect(led_char_err_gx[1]),
2875
            .altpcs_rmfifodatadeleted(pcs_rx_rmfifodatadeleted[1]),
2876
            .altpcs_rmfifodatainserted(pcs_rx_rmfifodatainserted[1]),
2877
            .altpcs_carrierdetect(pcs_rx_carrierdetected[1])
2878
           ) ;
2879
                defparam
2880
                the_altera_tse_gxb_aligned_rxsync_1.DEVICE_FAMILY = DEVICE_FAMILY;
2881
 
2882
        // Altgxb in GIGE mode
2883
        // --------------------
2884
        altera_tse_gxb_gige_phyip_inst the_altera_tse_gxb_gige_phyip_inst_1
2885
          (
2886
            .phy_mgmt_clk(clk),
2887
            .phy_mgmt_clk_reset(reset),
2888
            .phy_mgmt_address(phy_mgmt_address_1),
2889
            .phy_mgmt_read(phy_mgmt_read_1),
2890
            .phy_mgmt_readdata(phy_mgmt_readdata_1),
2891
            .phy_mgmt_waitrequest(phy_mgmt_waitrequest_1),
2892
            .phy_mgmt_write(phy_mgmt_write_1),
2893
            .phy_mgmt_writedata(phy_mgmt_writedata_1),
2894
            .tx_ready(),
2895
            .rx_ready(),
2896
            .pll_ref_clk(ref_clk),
2897
            .pll_locked(),
2898
            .tx_serial_data(txp_1),
2899
            .rx_serial_data(rxp_1),
2900
            .rx_runningdisp(rx_runningdisp[1]),
2901
            .rx_disperr(rx_disp_err[1]),
2902
            .rx_errdetect(rx_char_err_gx[1]),
2903
            .rx_patterndetect(rx_patterndetect[1]),
2904
            .rx_syncstatus(rx_syncstatus[1]),
2905
            .tx_clkout(tx_pcs_clk_c1),
2906
            .rx_clkout(rx_pcs_clk_c1),
2907
            .tx_parallel_data(tx_frame_1),
2908
            .tx_datak(tx_kchar_1),
2909
            .rx_parallel_data(rx_frame_1),
2910
            .rx_datak(rx_kchar_1),
2911
            .rx_rlv(rx_runlengthviolation[1]),
2912
            .rx_recovclkout(rx_recovclkout_1),
2913
            .rx_rmfifodatadeleted(rx_rmfifodatadeleted[1]),
2914
            .rx_rmfifodatainserted(rx_rmfifodatainserted[1]),
2915
            .reconfig_togxb(reconfig_togxb_1),
2916
            .reconfig_fromgxb(reconfig_fromgxb_1)
2917
          );
2918
   defparam
2919
        the_altera_tse_gxb_gige_phyip_inst_1.ENABLE_ALT_RECONFIG = ENABLE_ALT_RECONFIG,
2920
        the_altera_tse_gxb_gige_phyip_inst_1.ENABLE_SGMII = ENABLE_SGMII,
2921
        the_altera_tse_gxb_gige_phyip_inst_1.DEVICE_FAMILY = DEVICE_FAMILY;
2922
    end
2923
else
2924
    begin
2925
    assign reconfig_fromgxb_1 = {92{1'b0}};
2926
    assign led_char_err_gx[1] = 1'b0;
2927
    assign link_status[1] = 1'b0;
2928
    assign led_disp_err_1 = 1'b0;
2929
    assign txp_1 = 1'b0;
2930
    assign rx_recovclkout_1= 1'b0;
2931
    assign phy_mgmt_readdata_1 = 32'b0;
2932
    assign phy_mgmt_waitrequest_1 = 1'b0;
2933
    end
2934
endgenerate
2935
 
2936
 
2937
 
2938
// #######################################################################
2939
// ###############       CHANNEL 2 LOGIC/COMPONENTS       ###############
2940
// #######################################################################
2941
 
2942
generate if (MAX_CHANNELS > 2)
2943
    begin
2944
 
2945
    // Instantiation of the Alt2gxb and Alt4gxb block as the PMA for Stratix_II_GX ,ArriaGX and Stratix IV devices
2946
    // ----------------------------------------------------------------------------------- 
2947
 
2948
 
2949
        // Aligned Rx_sync from gxb
2950
        // -------------------------------
2951
        altera_tse_reset_synchronizer ch2_reset_sync_0(
2952
            .clk(ref_clk),
2953
            .reset_in(reset),
2954
            .reset_out(reset_rx_pcs_clk_c2_int)
2955
        );
2956
 
2957
        altera_tse_gxb_aligned_rxsync the_altera_tse_gxb_aligned_rxsync_2
2958
          (
2959
            .clk(rx_pcs_clk_c2),
2960
            .reset(reset_rx_pcs_clk_c2_int),
2961
            //input (from alt2gxb)
2962
            .alt_dataout(rx_frame_2),
2963
            .alt_sync(rx_syncstatus[2]),
2964
            .alt_disperr(rx_disp_err[2]),
2965
            .alt_ctrldetect(rx_kchar_2),
2966
            .alt_errdetect(rx_char_err_gx[2]),
2967
            .alt_rmfifodatadeleted(rx_rmfifodatadeleted[2]),
2968
            .alt_rmfifodatainserted(rx_rmfifodatainserted[2]),
2969
            .alt_runlengthviolation(rx_runlengthviolation[2]),
2970
            .alt_patterndetect(rx_patterndetect[2]),
2971
            .alt_runningdisp(rx_runningdisp[2]),
2972
 
2973
            //output (to PCS)
2974
            .altpcs_dataout(pcs_rx_frame_2),
2975
            .altpcs_sync(link_status[2]),
2976
            .altpcs_disperr(led_disp_err_2),
2977
            .altpcs_ctrldetect(pcs_rx_kchar_2),
2978
            .altpcs_errdetect(led_char_err_gx[2]),
2979
            .altpcs_rmfifodatadeleted(pcs_rx_rmfifodatadeleted[2]),
2980
            .altpcs_rmfifodatainserted(pcs_rx_rmfifodatainserted[2]),
2981
            .altpcs_carrierdetect(pcs_rx_carrierdetected[2])
2982
           ) ;
2983
                defparam
2984
                the_altera_tse_gxb_aligned_rxsync_2.DEVICE_FAMILY = DEVICE_FAMILY;
2985
 
2986
        // Altgxb in GIGE mode
2987
        // --------------------
2988
        altera_tse_gxb_gige_phyip_inst the_altera_tse_gxb_gige_phyip_inst_2
2989
          (
2990
            .phy_mgmt_clk(clk),
2991
            .phy_mgmt_clk_reset(reset),
2992
            .phy_mgmt_address(phy_mgmt_address_2),
2993
            .phy_mgmt_read(phy_mgmt_read_2),
2994
            .phy_mgmt_readdata(phy_mgmt_readdata_2),
2995
            .phy_mgmt_waitrequest(phy_mgmt_waitrequest_2),
2996
            .phy_mgmt_write(phy_mgmt_write_2),
2997
            .phy_mgmt_writedata(phy_mgmt_writedata_2),
2998
            .tx_ready(),
2999
            .rx_ready(),
3000
            .pll_ref_clk(ref_clk),
3001
            .pll_locked(),
3002
            .tx_serial_data(txp_2),
3003
            .rx_serial_data(rxp_2),
3004
            .rx_runningdisp(rx_runningdisp[2]),
3005
            .rx_disperr(rx_disp_err[2]),
3006
            .rx_errdetect(rx_char_err_gx[2]),
3007
            .rx_patterndetect(rx_patterndetect[2]),
3008
            .rx_syncstatus(rx_syncstatus[2]),
3009
            .tx_clkout(tx_pcs_clk_c2),
3010
            .rx_clkout(rx_pcs_clk_c2),
3011
            .tx_parallel_data(tx_frame_2),
3012
            .tx_datak(tx_kchar_2),
3013
            .rx_parallel_data(rx_frame_2),
3014
            .rx_datak(rx_kchar_2),
3015
            .rx_rlv(rx_runlengthviolation[2]),
3016
            .rx_recovclkout(rx_recovclkout_2),
3017
            .rx_rmfifodatadeleted(rx_rmfifodatadeleted[2]),
3018
            .rx_rmfifodatainserted(rx_rmfifodatainserted[2]),
3019
            .reconfig_togxb(reconfig_togxb_2),
3020
            .reconfig_fromgxb(reconfig_fromgxb_2)
3021
          );
3022
   defparam
3023
        the_altera_tse_gxb_gige_phyip_inst_2.ENABLE_ALT_RECONFIG = ENABLE_ALT_RECONFIG,
3024
        the_altera_tse_gxb_gige_phyip_inst_2.ENABLE_SGMII = ENABLE_SGMII,
3025
        the_altera_tse_gxb_gige_phyip_inst_2.DEVICE_FAMILY = DEVICE_FAMILY;
3026
    end
3027
else
3028
    begin
3029
    assign reconfig_fromgxb_2 = {92{1'b0}};
3030
    assign led_char_err_gx[2] = 1'b0;
3031
    assign link_status[2] = 1'b0;
3032
    assign led_disp_err_2 = 1'b0;
3033
    assign txp_2 = 1'b0;
3034
    assign rx_recovclkout_2= 1'b0;
3035
    assign phy_mgmt_readdata_2 = 32'b0;
3036
    assign phy_mgmt_waitrequest_2 = 1'b0;
3037
    end
3038
endgenerate
3039
 
3040
 
3041
 
3042
// #######################################################################
3043
// ###############       CHANNEL 3 LOGIC/COMPONENTS       ###############
3044
// #######################################################################
3045
 
3046
generate if (MAX_CHANNELS > 3)
3047
    begin
3048
 
3049
    // Instantiation of the Alt2gxb and Alt4gxb block as the PMA for Stratix_II_GX ,ArriaGX and Stratix IV devices
3050
    // ----------------------------------------------------------------------------------- 
3051
 
3052
 
3053
        // Aligned Rx_sync from gxb
3054
        // -------------------------------
3055
        altera_tse_reset_synchronizer ch3_reset_sync_0(
3056
            .clk(ref_clk),
3057
            .reset_in(reset),
3058
            .reset_out(reset_rx_pcs_clk_c3_int)
3059
        );
3060
 
3061
        altera_tse_gxb_aligned_rxsync the_altera_tse_gxb_aligned_rxsync_3
3062
          (
3063
            .clk(rx_pcs_clk_c3),
3064
            .reset(reset_rx_pcs_clk_c3_int),
3065
            //input (from alt2gxb)
3066
            .alt_dataout(rx_frame_3),
3067
            .alt_sync(rx_syncstatus[3]),
3068
            .alt_disperr(rx_disp_err[3]),
3069
            .alt_ctrldetect(rx_kchar_3),
3070
            .alt_errdetect(rx_char_err_gx[3]),
3071
            .alt_rmfifodatadeleted(rx_rmfifodatadeleted[3]),
3072
            .alt_rmfifodatainserted(rx_rmfifodatainserted[3]),
3073
            .alt_runlengthviolation(rx_runlengthviolation[3]),
3074
            .alt_patterndetect(rx_patterndetect[3]),
3075
            .alt_runningdisp(rx_runningdisp[3]),
3076
 
3077
            //output (to PCS)
3078
            .altpcs_dataout(pcs_rx_frame_3),
3079
            .altpcs_sync(link_status[3]),
3080
            .altpcs_disperr(led_disp_err_3),
3081
            .altpcs_ctrldetect(pcs_rx_kchar_3),
3082
            .altpcs_errdetect(led_char_err_gx[3]),
3083
            .altpcs_rmfifodatadeleted(pcs_rx_rmfifodatadeleted[3]),
3084
            .altpcs_rmfifodatainserted(pcs_rx_rmfifodatainserted[3]),
3085
            .altpcs_carrierdetect(pcs_rx_carrierdetected[3])
3086
           ) ;
3087
                defparam
3088
                the_altera_tse_gxb_aligned_rxsync_3.DEVICE_FAMILY = DEVICE_FAMILY;
3089
 
3090
        // Altgxb in GIGE mode
3091
        // --------------------
3092
        altera_tse_gxb_gige_phyip_inst the_altera_tse_gxb_gige_phyip_inst_3
3093
          (
3094
            .phy_mgmt_clk(clk),
3095
            .phy_mgmt_clk_reset(reset),
3096
            .phy_mgmt_address(phy_mgmt_address_3),
3097
            .phy_mgmt_read(phy_mgmt_read_3),
3098
            .phy_mgmt_readdata(phy_mgmt_readdata_3),
3099
            .phy_mgmt_waitrequest(phy_mgmt_waitrequest_3),
3100
            .phy_mgmt_write(phy_mgmt_write_3),
3101
            .phy_mgmt_writedata(phy_mgmt_writedata_3),
3102
            .tx_ready(),
3103
            .rx_ready(),
3104
            .pll_ref_clk(ref_clk),
3105
            .pll_locked(),
3106
            .tx_serial_data(txp_3),
3107
            .rx_serial_data(rxp_3),
3108
            .rx_runningdisp(rx_runningdisp[3]),
3109
            .rx_disperr(rx_disp_err[3]),
3110
            .rx_errdetect(rx_char_err_gx[3]),
3111
            .rx_patterndetect(rx_patterndetect[3]),
3112
            .rx_syncstatus(rx_syncstatus[3]),
3113
            .tx_clkout(tx_pcs_clk_c3),
3114
            .rx_clkout(rx_pcs_clk_c3),
3115
            .tx_parallel_data(tx_frame_3),
3116
            .tx_datak(tx_kchar_3),
3117
            .rx_parallel_data(rx_frame_3),
3118
            .rx_datak(rx_kchar_3),
3119
            .rx_rlv(rx_runlengthviolation[3]),
3120
            .rx_recovclkout(rx_recovclkout_3),
3121
            .rx_rmfifodatadeleted(rx_rmfifodatadeleted[3]),
3122
            .rx_rmfifodatainserted(rx_rmfifodatainserted[3]),
3123
            .reconfig_togxb(reconfig_togxb_3),
3124
            .reconfig_fromgxb(reconfig_fromgxb_3)
3125
          );
3126
   defparam
3127
        the_altera_tse_gxb_gige_phyip_inst_3.ENABLE_ALT_RECONFIG = ENABLE_ALT_RECONFIG,
3128
        the_altera_tse_gxb_gige_phyip_inst_3.ENABLE_SGMII = ENABLE_SGMII,
3129
        the_altera_tse_gxb_gige_phyip_inst_3.DEVICE_FAMILY = DEVICE_FAMILY;
3130
    end
3131
else
3132
    begin
3133
    assign reconfig_fromgxb_3 = {92{1'b0}};
3134
    assign led_char_err_gx[3] = 1'b0;
3135
    assign link_status[3] = 1'b0;
3136
    assign led_disp_err_3 = 1'b0;
3137
    assign txp_3 = 1'b0;
3138
    assign rx_recovclkout_3= 1'b0;
3139
    assign phy_mgmt_readdata_3 = 32'b0;
3140
    assign phy_mgmt_waitrequest_3 = 1'b0;
3141
    end
3142
endgenerate
3143
 
3144
 
3145
 
3146
// #######################################################################
3147
// ###############       CHANNEL 4 LOGIC/COMPONENTS       ###############
3148
// #######################################################################
3149
 
3150
generate if (MAX_CHANNELS > 4)
3151
    begin
3152
 
3153
    // Instantiation of the Alt2gxb and Alt4gxb block as the PMA for Stratix_II_GX ,ArriaGX and Stratix IV devices
3154
    // ----------------------------------------------------------------------------------- 
3155
 
3156
 
3157
        // Aligned Rx_sync from gxb
3158
        // -------------------------------
3159
        altera_tse_reset_synchronizer ch4_reset_sync_0(
3160
            .clk(ref_clk),
3161
            .reset_in(reset),
3162
            .reset_out(reset_rx_pcs_clk_c4_int)
3163
        );
3164
 
3165
        altera_tse_gxb_aligned_rxsync the_altera_tse_gxb_aligned_rxsync_4
3166
          (
3167
            .clk(rx_pcs_clk_c4),
3168
            .reset(reset_rx_pcs_clk_c4_int),
3169
            //input (from alt2gxb)
3170
            .alt_dataout(rx_frame_4),
3171
            .alt_sync(rx_syncstatus[4]),
3172
            .alt_disperr(rx_disp_err[4]),
3173
            .alt_ctrldetect(rx_kchar_4),
3174
            .alt_errdetect(rx_char_err_gx[4]),
3175
            .alt_rmfifodatadeleted(rx_rmfifodatadeleted[4]),
3176
            .alt_rmfifodatainserted(rx_rmfifodatainserted[4]),
3177
            .alt_runlengthviolation(rx_runlengthviolation[4]),
3178
            .alt_patterndetect(rx_patterndetect[4]),
3179
            .alt_runningdisp(rx_runningdisp[4]),
3180
 
3181
            //output (to PCS)
3182
            .altpcs_dataout(pcs_rx_frame_4),
3183
            .altpcs_sync(link_status[4]),
3184
            .altpcs_disperr(led_disp_err_4),
3185
            .altpcs_ctrldetect(pcs_rx_kchar_4),
3186
            .altpcs_errdetect(led_char_err_gx[4]),
3187
            .altpcs_rmfifodatadeleted(pcs_rx_rmfifodatadeleted[4]),
3188
            .altpcs_rmfifodatainserted(pcs_rx_rmfifodatainserted[4]),
3189
            .altpcs_carrierdetect(pcs_rx_carrierdetected[4])
3190
           ) ;
3191
                defparam
3192
                the_altera_tse_gxb_aligned_rxsync_4.DEVICE_FAMILY = DEVICE_FAMILY;
3193
 
3194
        // Altgxb in GIGE mode
3195
        // --------------------
3196
        altera_tse_gxb_gige_phyip_inst the_altera_tse_gxb_gige_phyip_inst_4
3197
          (
3198
            .phy_mgmt_clk(clk),
3199
            .phy_mgmt_clk_reset(reset),
3200
            .phy_mgmt_address(phy_mgmt_address_4),
3201
            .phy_mgmt_read(phy_mgmt_read_4),
3202
            .phy_mgmt_readdata(phy_mgmt_readdata_4),
3203
            .phy_mgmt_waitrequest(phy_mgmt_waitrequest_4),
3204
            .phy_mgmt_write(phy_mgmt_write_4),
3205
            .phy_mgmt_writedata(phy_mgmt_writedata_4),
3206
            .tx_ready(),
3207
            .rx_ready(),
3208
            .pll_ref_clk(ref_clk),
3209
            .pll_locked(),
3210
            .tx_serial_data(txp_4),
3211
            .rx_serial_data(rxp_4),
3212
            .rx_runningdisp(rx_runningdisp[4]),
3213
            .rx_disperr(rx_disp_err[4]),
3214
            .rx_errdetect(rx_char_err_gx[4]),
3215
            .rx_patterndetect(rx_patterndetect[4]),
3216
            .rx_syncstatus(rx_syncstatus[4]),
3217
            .tx_clkout(tx_pcs_clk_c4),
3218
            .rx_clkout(rx_pcs_clk_c4),
3219
            .tx_parallel_data(tx_frame_4),
3220
            .tx_datak(tx_kchar_4),
3221
            .rx_parallel_data(rx_frame_4),
3222
            .rx_datak(rx_kchar_4),
3223
            .rx_rlv(rx_runlengthviolation[4]),
3224
            .rx_recovclkout(rx_recovclkout_4),
3225
            .rx_rmfifodatadeleted(rx_rmfifodatadeleted[4]),
3226
            .rx_rmfifodatainserted(rx_rmfifodatainserted[4]),
3227
            .reconfig_togxb(reconfig_togxb_4),
3228
            .reconfig_fromgxb(reconfig_fromgxb_4)
3229
          );
3230
   defparam
3231
        the_altera_tse_gxb_gige_phyip_inst_4.ENABLE_ALT_RECONFIG = ENABLE_ALT_RECONFIG,
3232
        the_altera_tse_gxb_gige_phyip_inst_4.ENABLE_SGMII = ENABLE_SGMII,
3233
        the_altera_tse_gxb_gige_phyip_inst_4.DEVICE_FAMILY = DEVICE_FAMILY;
3234
    end
3235
else
3236
    begin
3237
    assign reconfig_fromgxb_4 = {92{1'b0}};
3238
    assign led_char_err_gx[4] = 1'b0;
3239
    assign link_status[4] = 1'b0;
3240
    assign led_disp_err_4 = 1'b0;
3241
    assign txp_4 = 1'b0;
3242
    assign rx_recovclkout_4= 1'b0;
3243
    assign phy_mgmt_readdata_4 = 32'b0;
3244
    assign phy_mgmt_waitrequest_4 = 1'b0;
3245
    end
3246
endgenerate
3247
 
3248
 
3249
 
3250
// #######################################################################
3251
// ###############       CHANNEL 5 LOGIC/COMPONENTS       ###############
3252
// #######################################################################
3253
 
3254
generate if (MAX_CHANNELS > 5)
3255
    begin
3256
 
3257
    // Instantiation of the Alt2gxb and Alt4gxb block as the PMA for Stratix_II_GX ,ArriaGX and Stratix IV devices
3258
    // ----------------------------------------------------------------------------------- 
3259
 
3260
 
3261
        // Aligned Rx_sync from gxb
3262
        // -------------------------------
3263
        altera_tse_reset_synchronizer ch5_reset_sync_0(
3264
            .clk(ref_clk),
3265
            .reset_in(reset),
3266
            .reset_out(reset_rx_pcs_clk_c5_int)
3267
        );
3268
 
3269
        altera_tse_gxb_aligned_rxsync the_altera_tse_gxb_aligned_rxsync_5
3270
          (
3271
            .clk(rx_pcs_clk_c5),
3272
            .reset(reset_rx_pcs_clk_c5_int),
3273
            //input (from alt2gxb)
3274
            .alt_dataout(rx_frame_5),
3275
            .alt_sync(rx_syncstatus[5]),
3276
            .alt_disperr(rx_disp_err[5]),
3277
            .alt_ctrldetect(rx_kchar_5),
3278
            .alt_errdetect(rx_char_err_gx[5]),
3279
            .alt_rmfifodatadeleted(rx_rmfifodatadeleted[5]),
3280
            .alt_rmfifodatainserted(rx_rmfifodatainserted[5]),
3281
            .alt_runlengthviolation(rx_runlengthviolation[5]),
3282
            .alt_patterndetect(rx_patterndetect[5]),
3283
            .alt_runningdisp(rx_runningdisp[5]),
3284
 
3285
            //output (to PCS)
3286
            .altpcs_dataout(pcs_rx_frame_5),
3287
            .altpcs_sync(link_status[5]),
3288
            .altpcs_disperr(led_disp_err_5),
3289
            .altpcs_ctrldetect(pcs_rx_kchar_5),
3290
            .altpcs_errdetect(led_char_err_gx[5]),
3291
            .altpcs_rmfifodatadeleted(pcs_rx_rmfifodatadeleted[5]),
3292
            .altpcs_rmfifodatainserted(pcs_rx_rmfifodatainserted[5]),
3293
            .altpcs_carrierdetect(pcs_rx_carrierdetected[5])
3294
           ) ;
3295
                defparam
3296
                the_altera_tse_gxb_aligned_rxsync_5.DEVICE_FAMILY = DEVICE_FAMILY;
3297
 
3298
        // Altgxb in GIGE mode
3299
        // --------------------
3300
        altera_tse_gxb_gige_phyip_inst the_altera_tse_gxb_gige_phyip_inst_5
3301
          (
3302
            .phy_mgmt_clk(clk),
3303
            .phy_mgmt_clk_reset(reset),
3304
            .phy_mgmt_address(phy_mgmt_address_5),
3305
            .phy_mgmt_read(phy_mgmt_read_5),
3306
            .phy_mgmt_readdata(phy_mgmt_readdata_5),
3307
            .phy_mgmt_waitrequest(phy_mgmt_waitrequest_5),
3308
            .phy_mgmt_write(phy_mgmt_write_5),
3309
            .phy_mgmt_writedata(phy_mgmt_writedata_5),
3310
            .tx_ready(),
3311
            .rx_ready(),
3312
            .pll_ref_clk(ref_clk),
3313
            .pll_locked(),
3314
            .tx_serial_data(txp_5),
3315
            .rx_serial_data(rxp_5),
3316
            .rx_runningdisp(rx_runningdisp[5]),
3317
            .rx_disperr(rx_disp_err[5]),
3318
            .rx_errdetect(rx_char_err_gx[5]),
3319
            .rx_patterndetect(rx_patterndetect[5]),
3320
            .rx_syncstatus(rx_syncstatus[5]),
3321
            .tx_clkout(tx_pcs_clk_c5),
3322
            .rx_clkout(rx_pcs_clk_c5),
3323
            .tx_parallel_data(tx_frame_5),
3324
            .tx_datak(tx_kchar_5),
3325
            .rx_parallel_data(rx_frame_5),
3326
            .rx_datak(rx_kchar_5),
3327
            .rx_rlv(rx_runlengthviolation[5]),
3328
            .rx_recovclkout(rx_recovclkout_5),
3329
            .rx_rmfifodatadeleted(rx_rmfifodatadeleted[5]),
3330
            .rx_rmfifodatainserted(rx_rmfifodatainserted[5]),
3331
            .reconfig_togxb(reconfig_togxb_5),
3332
            .reconfig_fromgxb(reconfig_fromgxb_5)
3333
          );
3334
   defparam
3335
        the_altera_tse_gxb_gige_phyip_inst_5.ENABLE_ALT_RECONFIG = ENABLE_ALT_RECONFIG,
3336
        the_altera_tse_gxb_gige_phyip_inst_5.ENABLE_SGMII = ENABLE_SGMII,
3337
        the_altera_tse_gxb_gige_phyip_inst_5.DEVICE_FAMILY = DEVICE_FAMILY;
3338
    end
3339
else
3340
    begin
3341
    assign reconfig_fromgxb_5 = {92{1'b0}};
3342
    assign led_char_err_gx[5] = 1'b0;
3343
    assign link_status[5] = 1'b0;
3344
    assign led_disp_err_5 = 1'b0;
3345
    assign txp_5 = 1'b0;
3346
    assign rx_recovclkout_5= 1'b0;
3347
    assign phy_mgmt_readdata_5 = 32'b0;
3348
    assign phy_mgmt_waitrequest_5 = 1'b0;
3349
    end
3350
endgenerate
3351
 
3352
 
3353
 
3354
// #######################################################################
3355
// ###############       CHANNEL 6 LOGIC/COMPONENTS       ###############
3356
// #######################################################################
3357
 
3358
generate if (MAX_CHANNELS > 6)
3359
    begin
3360
 
3361
    // Instantiation of the Alt2gxb and Alt4gxb block as the PMA for Stratix_II_GX ,ArriaGX and Stratix IV devices
3362
    // ----------------------------------------------------------------------------------- 
3363
 
3364
 
3365
        // Aligned Rx_sync from gxb
3366
        // -------------------------------
3367
        altera_tse_reset_synchronizer ch6_reset_sync_0(
3368
            .clk(ref_clk),
3369
            .reset_in(reset),
3370
            .reset_out(reset_rx_pcs_clk_c6_int)
3371
        );
3372
 
3373
        altera_tse_gxb_aligned_rxsync the_altera_tse_gxb_aligned_rxsync_6
3374
          (
3375
            .clk(rx_pcs_clk_c6),
3376
            .reset(reset_rx_pcs_clk_c6_int),
3377
            //input (from alt2gxb)
3378
            .alt_dataout(rx_frame_6),
3379
            .alt_sync(rx_syncstatus[6]),
3380
            .alt_disperr(rx_disp_err[6]),
3381
            .alt_ctrldetect(rx_kchar_6),
3382
            .alt_errdetect(rx_char_err_gx[6]),
3383
            .alt_rmfifodatadeleted(rx_rmfifodatadeleted[6]),
3384
            .alt_rmfifodatainserted(rx_rmfifodatainserted[6]),
3385
            .alt_runlengthviolation(rx_runlengthviolation[6]),
3386
            .alt_patterndetect(rx_patterndetect[6]),
3387
            .alt_runningdisp(rx_runningdisp[6]),
3388
 
3389
            //output (to PCS)
3390
            .altpcs_dataout(pcs_rx_frame_6),
3391
            .altpcs_sync(link_status[6]),
3392
            .altpcs_disperr(led_disp_err_6),
3393
            .altpcs_ctrldetect(pcs_rx_kchar_6),
3394
            .altpcs_errdetect(led_char_err_gx[6]),
3395
            .altpcs_rmfifodatadeleted(pcs_rx_rmfifodatadeleted[6]),
3396
            .altpcs_rmfifodatainserted(pcs_rx_rmfifodatainserted[6]),
3397
            .altpcs_carrierdetect(pcs_rx_carrierdetected[6])
3398
           ) ;
3399
                defparam
3400
                the_altera_tse_gxb_aligned_rxsync_6.DEVICE_FAMILY = DEVICE_FAMILY;
3401
 
3402
        // Altgxb in GIGE mode
3403
        // --------------------
3404
        altera_tse_gxb_gige_phyip_inst the_altera_tse_gxb_gige_phyip_inst_6
3405
          (
3406
            .phy_mgmt_clk(clk),
3407
            .phy_mgmt_clk_reset(reset),
3408
            .phy_mgmt_address(phy_mgmt_address_6),
3409
            .phy_mgmt_read(phy_mgmt_read_6),
3410
            .phy_mgmt_readdata(phy_mgmt_readdata_6),
3411
            .phy_mgmt_waitrequest(phy_mgmt_waitrequest_6),
3412
            .phy_mgmt_write(phy_mgmt_write_6),
3413
            .phy_mgmt_writedata(phy_mgmt_writedata_6),
3414
            .tx_ready(),
3415
            .rx_ready(),
3416
            .pll_ref_clk(ref_clk),
3417
            .pll_locked(),
3418
            .tx_serial_data(txp_6),
3419
            .rx_serial_data(rxp_6),
3420
            .rx_runningdisp(rx_runningdisp[6]),
3421
            .rx_disperr(rx_disp_err[6]),
3422
            .rx_errdetect(rx_char_err_gx[6]),
3423
            .rx_patterndetect(rx_patterndetect[6]),
3424
            .rx_syncstatus(rx_syncstatus[6]),
3425
            .tx_clkout(tx_pcs_clk_c6),
3426
            .rx_clkout(rx_pcs_clk_c6),
3427
            .tx_parallel_data(tx_frame_6),
3428
            .tx_datak(tx_kchar_6),
3429
            .rx_parallel_data(rx_frame_6),
3430
            .rx_datak(rx_kchar_6),
3431
            .rx_rlv(rx_runlengthviolation[6]),
3432
            .rx_recovclkout(rx_recovclkout_6),
3433
            .rx_rmfifodatadeleted(rx_rmfifodatadeleted[6]),
3434
            .rx_rmfifodatainserted(rx_rmfifodatainserted[6]),
3435
            .reconfig_togxb(reconfig_togxb_6),
3436
            .reconfig_fromgxb(reconfig_fromgxb_6)
3437
          );
3438
   defparam
3439
        the_altera_tse_gxb_gige_phyip_inst_6.ENABLE_ALT_RECONFIG = ENABLE_ALT_RECONFIG,
3440
        the_altera_tse_gxb_gige_phyip_inst_6.ENABLE_SGMII = ENABLE_SGMII,
3441
        the_altera_tse_gxb_gige_phyip_inst_6.DEVICE_FAMILY = DEVICE_FAMILY;
3442
    end
3443
else
3444
    begin
3445
    assign reconfig_fromgxb_6 = {92{1'b0}};
3446
    assign led_char_err_gx[6] = 1'b0;
3447
    assign link_status[6] = 1'b0;
3448
    assign led_disp_err_6 = 1'b0;
3449
    assign txp_6 = 1'b0;
3450
    assign rx_recovclkout_6= 1'b0;
3451
    assign phy_mgmt_readdata_6 = 32'b0;
3452
    assign phy_mgmt_waitrequest_6 = 1'b0;
3453
    end
3454
endgenerate
3455
 
3456
 
3457
 
3458
// #######################################################################
3459
// ###############       CHANNEL 7 LOGIC/COMPONENTS       ###############
3460
// #######################################################################
3461
 
3462
generate if (MAX_CHANNELS > 7)
3463
    begin
3464
 
3465
    // Instantiation of the Alt2gxb and Alt4gxb block as the PMA for Stratix_II_GX ,ArriaGX and Stratix IV devices
3466
    // ----------------------------------------------------------------------------------- 
3467
 
3468
 
3469
        // Aligned Rx_sync from gxb
3470
        // -------------------------------
3471
        altera_tse_reset_synchronizer ch7_reset_sync_0(
3472
            .clk(ref_clk),
3473
            .reset_in(reset),
3474
            .reset_out(reset_rx_pcs_clk_c7_int)
3475
        );
3476
 
3477
        altera_tse_gxb_aligned_rxsync the_altera_tse_gxb_aligned_rxsync_7
3478
          (
3479
            .clk(rx_pcs_clk_c7),
3480
            .reset(reset_rx_pcs_clk_c7_int),
3481
            //input (from alt2gxb)
3482
            .alt_dataout(rx_frame_7),
3483
            .alt_sync(rx_syncstatus[7]),
3484
            .alt_disperr(rx_disp_err[7]),
3485
            .alt_ctrldetect(rx_kchar_7),
3486
            .alt_errdetect(rx_char_err_gx[7]),
3487
            .alt_rmfifodatadeleted(rx_rmfifodatadeleted[7]),
3488
            .alt_rmfifodatainserted(rx_rmfifodatainserted[7]),
3489
            .alt_runlengthviolation(rx_runlengthviolation[7]),
3490
            .alt_patterndetect(rx_patterndetect[7]),
3491
            .alt_runningdisp(rx_runningdisp[7]),
3492
 
3493
            //output (to PCS)
3494
            .altpcs_dataout(pcs_rx_frame_7),
3495
            .altpcs_sync(link_status[7]),
3496
            .altpcs_disperr(led_disp_err_7),
3497
            .altpcs_ctrldetect(pcs_rx_kchar_7),
3498
            .altpcs_errdetect(led_char_err_gx[7]),
3499
            .altpcs_rmfifodatadeleted(pcs_rx_rmfifodatadeleted[7]),
3500
            .altpcs_rmfifodatainserted(pcs_rx_rmfifodatainserted[7]),
3501
            .altpcs_carrierdetect(pcs_rx_carrierdetected[7])
3502
           ) ;
3503
                defparam
3504
                the_altera_tse_gxb_aligned_rxsync_7.DEVICE_FAMILY = DEVICE_FAMILY;
3505
 
3506
        // Altgxb in GIGE mode
3507
        // --------------------
3508
        altera_tse_gxb_gige_phyip_inst the_altera_tse_gxb_gige_phyip_inst_7
3509
          (
3510
            .phy_mgmt_clk(clk),
3511
            .phy_mgmt_clk_reset(reset),
3512
            .phy_mgmt_address(phy_mgmt_address_7),
3513
            .phy_mgmt_read(phy_mgmt_read_7),
3514
            .phy_mgmt_readdata(phy_mgmt_readdata_7),
3515
            .phy_mgmt_waitrequest(phy_mgmt_waitrequest_7),
3516
            .phy_mgmt_write(phy_mgmt_write_7),
3517
            .phy_mgmt_writedata(phy_mgmt_writedata_7),
3518
            .tx_ready(),
3519
            .rx_ready(),
3520
            .pll_ref_clk(ref_clk),
3521
            .pll_locked(),
3522
            .tx_serial_data(txp_7),
3523
            .rx_serial_data(rxp_7),
3524
            .rx_runningdisp(rx_runningdisp[7]),
3525
            .rx_disperr(rx_disp_err[7]),
3526
            .rx_errdetect(rx_char_err_gx[7]),
3527
            .rx_patterndetect(rx_patterndetect[7]),
3528
            .rx_syncstatus(rx_syncstatus[7]),
3529
            .tx_clkout(tx_pcs_clk_c7),
3530
            .rx_clkout(rx_pcs_clk_c7),
3531
            .tx_parallel_data(tx_frame_7),
3532
            .tx_datak(tx_kchar_7),
3533
            .rx_parallel_data(rx_frame_7),
3534
            .rx_datak(rx_kchar_7),
3535
            .rx_rlv(rx_runlengthviolation[7]),
3536
            .rx_recovclkout(rx_recovclkout_7),
3537
            .rx_rmfifodatadeleted(rx_rmfifodatadeleted[7]),
3538
            .rx_rmfifodatainserted(rx_rmfifodatainserted[7]),
3539
            .reconfig_togxb(reconfig_togxb_7),
3540
            .reconfig_fromgxb(reconfig_fromgxb_7)
3541
          );
3542
   defparam
3543
        the_altera_tse_gxb_gige_phyip_inst_7.ENABLE_ALT_RECONFIG = ENABLE_ALT_RECONFIG,
3544
        the_altera_tse_gxb_gige_phyip_inst_7.ENABLE_SGMII = ENABLE_SGMII,
3545
        the_altera_tse_gxb_gige_phyip_inst_7.DEVICE_FAMILY = DEVICE_FAMILY;
3546
    end
3547
else
3548
    begin
3549
    assign reconfig_fromgxb_7 = {92{1'b0}};
3550
    assign led_char_err_gx[7] = 1'b0;
3551
    assign link_status[7] = 1'b0;
3552
    assign led_disp_err_7 = 1'b0;
3553
    assign txp_7 = 1'b0;
3554
    assign rx_recovclkout_7= 1'b0;
3555
    assign phy_mgmt_readdata_7 = 32'b0;
3556
    assign phy_mgmt_waitrequest_7 = 1'b0;
3557
    end
3558
endgenerate
3559
 
3560
 
3561
 
3562
// #######################################################################
3563
// ###############       CHANNEL 8 LOGIC/COMPONENTS       ###############
3564
// #######################################################################
3565
 
3566
generate if (MAX_CHANNELS > 8)
3567
    begin
3568
 
3569
    // Instantiation of the Alt2gxb and Alt4gxb block as the PMA for Stratix_II_GX ,ArriaGX and Stratix IV devices
3570
    // ----------------------------------------------------------------------------------- 
3571
 
3572
 
3573
        // Aligned Rx_sync from gxb
3574
        // -------------------------------
3575
        altera_tse_reset_synchronizer ch8_reset_sync_0(
3576
            .clk(ref_clk),
3577
            .reset_in(reset),
3578
            .reset_out(reset_rx_pcs_clk_c8_int)
3579
        );
3580
 
3581
        altera_tse_gxb_aligned_rxsync the_altera_tse_gxb_aligned_rxsync_8
3582
          (
3583
            .clk(rx_pcs_clk_c8),
3584
            .reset(reset_rx_pcs_clk_c8_int),
3585
            //input (from alt2gxb)
3586
            .alt_dataout(rx_frame_8),
3587
            .alt_sync(rx_syncstatus[8]),
3588
            .alt_disperr(rx_disp_err[8]),
3589
            .alt_ctrldetect(rx_kchar_8),
3590
            .alt_errdetect(rx_char_err_gx[8]),
3591
            .alt_rmfifodatadeleted(rx_rmfifodatadeleted[8]),
3592
            .alt_rmfifodatainserted(rx_rmfifodatainserted[8]),
3593
            .alt_runlengthviolation(rx_runlengthviolation[8]),
3594
            .alt_patterndetect(rx_patterndetect[8]),
3595
            .alt_runningdisp(rx_runningdisp[8]),
3596
 
3597
            //output (to PCS)
3598
            .altpcs_dataout(pcs_rx_frame_8),
3599
            .altpcs_sync(link_status[8]),
3600
            .altpcs_disperr(led_disp_err_8),
3601
            .altpcs_ctrldetect(pcs_rx_kchar_8),
3602
            .altpcs_errdetect(led_char_err_gx[8]),
3603
            .altpcs_rmfifodatadeleted(pcs_rx_rmfifodatadeleted[8]),
3604
            .altpcs_rmfifodatainserted(pcs_rx_rmfifodatainserted[8]),
3605
            .altpcs_carrierdetect(pcs_rx_carrierdetected[8])
3606
           ) ;
3607
                defparam
3608
                the_altera_tse_gxb_aligned_rxsync_8.DEVICE_FAMILY = DEVICE_FAMILY;
3609
 
3610
        // Altgxb in GIGE mode
3611
        // --------------------
3612
        altera_tse_gxb_gige_phyip_inst the_altera_tse_gxb_gige_phyip_inst_8
3613
          (
3614
            .phy_mgmt_clk(clk),
3615
            .phy_mgmt_clk_reset(reset),
3616
            .phy_mgmt_address(phy_mgmt_address_8),
3617
            .phy_mgmt_read(phy_mgmt_read_8),
3618
            .phy_mgmt_readdata(phy_mgmt_readdata_8),
3619
            .phy_mgmt_waitrequest(phy_mgmt_waitrequest_8),
3620
            .phy_mgmt_write(phy_mgmt_write_8),
3621
            .phy_mgmt_writedata(phy_mgmt_writedata_8),
3622
            .tx_ready(),
3623
            .rx_ready(),
3624
            .pll_ref_clk(ref_clk),
3625
            .pll_locked(),
3626
            .tx_serial_data(txp_8),
3627
            .rx_serial_data(rxp_8),
3628
            .rx_runningdisp(rx_runningdisp[8]),
3629
            .rx_disperr(rx_disp_err[8]),
3630
            .rx_errdetect(rx_char_err_gx[8]),
3631
            .rx_patterndetect(rx_patterndetect[8]),
3632
            .rx_syncstatus(rx_syncstatus[8]),
3633
            .tx_clkout(tx_pcs_clk_c8),
3634
            .rx_clkout(rx_pcs_clk_c8),
3635
            .tx_parallel_data(tx_frame_8),
3636
            .tx_datak(tx_kchar_8),
3637
            .rx_parallel_data(rx_frame_8),
3638
            .rx_datak(rx_kchar_8),
3639
            .rx_rlv(rx_runlengthviolation[8]),
3640
            .rx_recovclkout(rx_recovclkout_8),
3641
            .rx_rmfifodatadeleted(rx_rmfifodatadeleted[8]),
3642
            .rx_rmfifodatainserted(rx_rmfifodatainserted[8]),
3643
            .reconfig_togxb(reconfig_togxb_8),
3644
            .reconfig_fromgxb(reconfig_fromgxb_8)
3645
          );
3646
   defparam
3647
        the_altera_tse_gxb_gige_phyip_inst_8.ENABLE_ALT_RECONFIG = ENABLE_ALT_RECONFIG,
3648
        the_altera_tse_gxb_gige_phyip_inst_8.ENABLE_SGMII = ENABLE_SGMII,
3649
        the_altera_tse_gxb_gige_phyip_inst_8.DEVICE_FAMILY = DEVICE_FAMILY;
3650
    end
3651
else
3652
    begin
3653
    assign reconfig_fromgxb_8 = {92{1'b0}};
3654
    assign led_char_err_gx[8] = 1'b0;
3655
    assign link_status[8] = 1'b0;
3656
    assign led_disp_err_8 = 1'b0;
3657
    assign txp_8 = 1'b0;
3658
    assign rx_recovclkout_8= 1'b0;
3659
    assign phy_mgmt_readdata_8 = 32'b0;
3660
    assign phy_mgmt_waitrequest_8 = 1'b0;
3661
    end
3662
endgenerate
3663
 
3664
 
3665
 
3666
// #######################################################################
3667
// ###############       CHANNEL 9 LOGIC/COMPONENTS       ###############
3668
// #######################################################################
3669
 
3670
generate if (MAX_CHANNELS > 9)
3671
    begin
3672
 
3673
    // Instantiation of the Alt2gxb and Alt4gxb block as the PMA for Stratix_II_GX ,ArriaGX and Stratix IV devices
3674
    // ----------------------------------------------------------------------------------- 
3675
 
3676
 
3677
        // Aligned Rx_sync from gxb
3678
        // -------------------------------
3679
        altera_tse_reset_synchronizer ch9_reset_sync_0(
3680
            .clk(ref_clk),
3681
            .reset_in(reset),
3682
            .reset_out(reset_rx_pcs_clk_c9_int)
3683
        );
3684
 
3685
        altera_tse_gxb_aligned_rxsync the_altera_tse_gxb_aligned_rxsync_9
3686
          (
3687
            .clk(rx_pcs_clk_c9),
3688
            .reset(reset_rx_pcs_clk_c9_int),
3689
            //input (from alt2gxb)
3690
            .alt_dataout(rx_frame_9),
3691
            .alt_sync(rx_syncstatus[9]),
3692
            .alt_disperr(rx_disp_err[9]),
3693
            .alt_ctrldetect(rx_kchar_9),
3694
            .alt_errdetect(rx_char_err_gx[9]),
3695
            .alt_rmfifodatadeleted(rx_rmfifodatadeleted[9]),
3696
            .alt_rmfifodatainserted(rx_rmfifodatainserted[9]),
3697
            .alt_runlengthviolation(rx_runlengthviolation[9]),
3698
            .alt_patterndetect(rx_patterndetect[9]),
3699
            .alt_runningdisp(rx_runningdisp[9]),
3700
 
3701
            //output (to PCS)
3702
            .altpcs_dataout(pcs_rx_frame_9),
3703
            .altpcs_sync(link_status[9]),
3704
            .altpcs_disperr(led_disp_err_9),
3705
            .altpcs_ctrldetect(pcs_rx_kchar_9),
3706
            .altpcs_errdetect(led_char_err_gx[9]),
3707
            .altpcs_rmfifodatadeleted(pcs_rx_rmfifodatadeleted[9]),
3708
            .altpcs_rmfifodatainserted(pcs_rx_rmfifodatainserted[9]),
3709
            .altpcs_carrierdetect(pcs_rx_carrierdetected[9])
3710
           ) ;
3711
                defparam
3712
                the_altera_tse_gxb_aligned_rxsync_9.DEVICE_FAMILY = DEVICE_FAMILY;
3713
 
3714
        // Altgxb in GIGE mode
3715
        // --------------------
3716
        altera_tse_gxb_gige_phyip_inst the_altera_tse_gxb_gige_phyip_inst_9
3717
          (
3718
            .phy_mgmt_clk(clk),
3719
            .phy_mgmt_clk_reset(reset),
3720
            .phy_mgmt_address(phy_mgmt_address_9),
3721
            .phy_mgmt_read(phy_mgmt_read_9),
3722
            .phy_mgmt_readdata(phy_mgmt_readdata_9),
3723
            .phy_mgmt_waitrequest(phy_mgmt_waitrequest_9),
3724
            .phy_mgmt_write(phy_mgmt_write_9),
3725
            .phy_mgmt_writedata(phy_mgmt_writedata_9),
3726
            .tx_ready(),
3727
            .rx_ready(),
3728
            .pll_ref_clk(ref_clk),
3729
            .pll_locked(),
3730
            .tx_serial_data(txp_9),
3731
            .rx_serial_data(rxp_9),
3732
            .rx_runningdisp(rx_runningdisp[9]),
3733
            .rx_disperr(rx_disp_err[9]),
3734
            .rx_errdetect(rx_char_err_gx[9]),
3735
            .rx_patterndetect(rx_patterndetect[9]),
3736
            .rx_syncstatus(rx_syncstatus[9]),
3737
            .tx_clkout(tx_pcs_clk_c9),
3738
            .rx_clkout(rx_pcs_clk_c9),
3739
            .tx_parallel_data(tx_frame_9),
3740
            .tx_datak(tx_kchar_9),
3741
            .rx_parallel_data(rx_frame_9),
3742
            .rx_datak(rx_kchar_9),
3743
            .rx_rlv(rx_runlengthviolation[9]),
3744
            .rx_recovclkout(rx_recovclkout_9),
3745
            .rx_rmfifodatadeleted(rx_rmfifodatadeleted[9]),
3746
            .rx_rmfifodatainserted(rx_rmfifodatainserted[9]),
3747
            .reconfig_togxb(reconfig_togxb_9),
3748
            .reconfig_fromgxb(reconfig_fromgxb_9)
3749
          );
3750
   defparam
3751
        the_altera_tse_gxb_gige_phyip_inst_9.ENABLE_ALT_RECONFIG = ENABLE_ALT_RECONFIG,
3752
        the_altera_tse_gxb_gige_phyip_inst_9.ENABLE_SGMII = ENABLE_SGMII,
3753
        the_altera_tse_gxb_gige_phyip_inst_9.DEVICE_FAMILY = DEVICE_FAMILY;
3754
    end
3755
else
3756
    begin
3757
    assign reconfig_fromgxb_9 = {92{1'b0}};
3758
    assign led_char_err_gx[9] = 1'b0;
3759
    assign link_status[9] = 1'b0;
3760
    assign led_disp_err_9 = 1'b0;
3761
    assign txp_9 = 1'b0;
3762
    assign rx_recovclkout_9= 1'b0;
3763
    assign phy_mgmt_readdata_9 = 32'b0;
3764
    assign phy_mgmt_waitrequest_9 = 1'b0;
3765
    end
3766
endgenerate
3767
 
3768
 
3769
 
3770
// #######################################################################
3771
// ###############       CHANNEL 10 LOGIC/COMPONENTS       ###############
3772
// #######################################################################
3773
 
3774
generate if (MAX_CHANNELS > 10)
3775
    begin
3776
 
3777
    // Instantiation of the Alt2gxb and Alt4gxb block as the PMA for Stratix_II_GX ,ArriaGX and Stratix IV devices
3778
    // ----------------------------------------------------------------------------------- 
3779
 
3780
 
3781
        // Aligned Rx_sync from gxb
3782
        // -------------------------------
3783
        altera_tse_reset_synchronizer ch10_reset_sync_0(
3784
            .clk(ref_clk),
3785
            .reset_in(reset),
3786
            .reset_out(reset_rx_pcs_clk_c10_int)
3787
        );
3788
 
3789
        altera_tse_gxb_aligned_rxsync the_altera_tse_gxb_aligned_rxsync_10
3790
          (
3791
            .clk(rx_pcs_clk_c10),
3792
            .reset(reset_rx_pcs_clk_c10_int),
3793
            //input (from alt2gxb)
3794
            .alt_dataout(rx_frame_10),
3795
            .alt_sync(rx_syncstatus[10]),
3796
            .alt_disperr(rx_disp_err[10]),
3797
            .alt_ctrldetect(rx_kchar_10),
3798
            .alt_errdetect(rx_char_err_gx[10]),
3799
            .alt_rmfifodatadeleted(rx_rmfifodatadeleted[10]),
3800
            .alt_rmfifodatainserted(rx_rmfifodatainserted[10]),
3801
            .alt_runlengthviolation(rx_runlengthviolation[10]),
3802
            .alt_patterndetect(rx_patterndetect[10]),
3803
            .alt_runningdisp(rx_runningdisp[10]),
3804
 
3805
            //output (to PCS)
3806
            .altpcs_dataout(pcs_rx_frame_10),
3807
            .altpcs_sync(link_status[10]),
3808
            .altpcs_disperr(led_disp_err_10),
3809
            .altpcs_ctrldetect(pcs_rx_kchar_10),
3810
            .altpcs_errdetect(led_char_err_gx[10]),
3811
            .altpcs_rmfifodatadeleted(pcs_rx_rmfifodatadeleted[10]),
3812
            .altpcs_rmfifodatainserted(pcs_rx_rmfifodatainserted[10]),
3813
            .altpcs_carrierdetect(pcs_rx_carrierdetected[10])
3814
           ) ;
3815
                defparam
3816
                the_altera_tse_gxb_aligned_rxsync_10.DEVICE_FAMILY = DEVICE_FAMILY;
3817
 
3818
        // Altgxb in GIGE mode
3819
        // --------------------
3820
        altera_tse_gxb_gige_phyip_inst the_altera_tse_gxb_gige_phyip_inst_10
3821
          (
3822
            .phy_mgmt_clk(clk),
3823
            .phy_mgmt_clk_reset(reset),
3824
            .phy_mgmt_address(phy_mgmt_address_10),
3825
            .phy_mgmt_read(phy_mgmt_read_10),
3826
            .phy_mgmt_readdata(phy_mgmt_readdata_10),
3827
            .phy_mgmt_waitrequest(phy_mgmt_waitrequest_10),
3828
            .phy_mgmt_write(phy_mgmt_write_10),
3829
            .phy_mgmt_writedata(phy_mgmt_writedata_10),
3830
            .tx_ready(),
3831
            .rx_ready(),
3832
            .pll_ref_clk(ref_clk),
3833
            .pll_locked(),
3834
            .tx_serial_data(txp_10),
3835
            .rx_serial_data(rxp_10),
3836
            .rx_runningdisp(rx_runningdisp[10]),
3837
            .rx_disperr(rx_disp_err[10]),
3838
            .rx_errdetect(rx_char_err_gx[10]),
3839
            .rx_patterndetect(rx_patterndetect[10]),
3840
            .rx_syncstatus(rx_syncstatus[10]),
3841
            .tx_clkout(tx_pcs_clk_c10),
3842
            .rx_clkout(rx_pcs_clk_c10),
3843
            .tx_parallel_data(tx_frame_10),
3844
            .tx_datak(tx_kchar_10),
3845
            .rx_parallel_data(rx_frame_10),
3846
            .rx_datak(rx_kchar_10),
3847
            .rx_rlv(rx_runlengthviolation[10]),
3848
            .rx_recovclkout(rx_recovclkout_10),
3849
            .rx_rmfifodatadeleted(rx_rmfifodatadeleted[10]),
3850
            .rx_rmfifodatainserted(rx_rmfifodatainserted[10]),
3851
            .reconfig_togxb(reconfig_togxb_10),
3852
            .reconfig_fromgxb(reconfig_fromgxb_10)
3853
          );
3854
   defparam
3855
        the_altera_tse_gxb_gige_phyip_inst_10.ENABLE_ALT_RECONFIG = ENABLE_ALT_RECONFIG,
3856
        the_altera_tse_gxb_gige_phyip_inst_10.ENABLE_SGMII = ENABLE_SGMII,
3857
        the_altera_tse_gxb_gige_phyip_inst_10.DEVICE_FAMILY = DEVICE_FAMILY;
3858
    end
3859
else
3860
    begin
3861
    assign reconfig_fromgxb_10 = {92{1'b0}};
3862
    assign led_char_err_gx[10] = 1'b0;
3863
    assign link_status[10] = 1'b0;
3864
    assign led_disp_err_10 = 1'b0;
3865
    assign txp_10 = 1'b0;
3866
    assign rx_recovclkout_10= 1'b0;
3867
    assign phy_mgmt_readdata_10 = 32'b0;
3868
    assign phy_mgmt_waitrequest_10 = 1'b0;
3869
    end
3870
endgenerate
3871
 
3872
 
3873
 
3874
// #######################################################################
3875
// ###############       CHANNEL 11 LOGIC/COMPONENTS       ###############
3876
// #######################################################################
3877
 
3878
generate if (MAX_CHANNELS > 11)
3879
    begin
3880
 
3881
    // Instantiation of the Alt2gxb and Alt4gxb block as the PMA for Stratix_II_GX ,ArriaGX and Stratix IV devices
3882
    // ----------------------------------------------------------------------------------- 
3883
 
3884
 
3885
        // Aligned Rx_sync from gxb
3886
        // -------------------------------
3887
        altera_tse_reset_synchronizer ch11_reset_sync_0(
3888
            .clk(ref_clk),
3889
            .reset_in(reset),
3890
            .reset_out(reset_rx_pcs_clk_c11_int)
3891
        );
3892
 
3893
        altera_tse_gxb_aligned_rxsync the_altera_tse_gxb_aligned_rxsync_11
3894
          (
3895
            .clk(rx_pcs_clk_c11),
3896
            .reset(reset_rx_pcs_clk_c11_int),
3897
            //input (from alt2gxb)
3898
            .alt_dataout(rx_frame_11),
3899
            .alt_sync(rx_syncstatus[11]),
3900
            .alt_disperr(rx_disp_err[11]),
3901
            .alt_ctrldetect(rx_kchar_11),
3902
            .alt_errdetect(rx_char_err_gx[11]),
3903
            .alt_rmfifodatadeleted(rx_rmfifodatadeleted[11]),
3904
            .alt_rmfifodatainserted(rx_rmfifodatainserted[11]),
3905
            .alt_runlengthviolation(rx_runlengthviolation[11]),
3906
            .alt_patterndetect(rx_patterndetect[11]),
3907
            .alt_runningdisp(rx_runningdisp[11]),
3908
 
3909
            //output (to PCS)
3910
            .altpcs_dataout(pcs_rx_frame_11),
3911
            .altpcs_sync(link_status[11]),
3912
            .altpcs_disperr(led_disp_err_11),
3913
            .altpcs_ctrldetect(pcs_rx_kchar_11),
3914
            .altpcs_errdetect(led_char_err_gx[11]),
3915
            .altpcs_rmfifodatadeleted(pcs_rx_rmfifodatadeleted[11]),
3916
            .altpcs_rmfifodatainserted(pcs_rx_rmfifodatainserted[11]),
3917
            .altpcs_carrierdetect(pcs_rx_carrierdetected[11])
3918
           ) ;
3919
                defparam
3920
                the_altera_tse_gxb_aligned_rxsync_11.DEVICE_FAMILY = DEVICE_FAMILY;
3921
 
3922
        // Altgxb in GIGE mode
3923
        // --------------------
3924
        altera_tse_gxb_gige_phyip_inst the_altera_tse_gxb_gige_phyip_inst_11
3925
          (
3926
            .phy_mgmt_clk(clk),
3927
            .phy_mgmt_clk_reset(reset),
3928
            .phy_mgmt_address(phy_mgmt_address_11),
3929
            .phy_mgmt_read(phy_mgmt_read_11),
3930
            .phy_mgmt_readdata(phy_mgmt_readdata_11),
3931
            .phy_mgmt_waitrequest(phy_mgmt_waitrequest_11),
3932
            .phy_mgmt_write(phy_mgmt_write_11),
3933
            .phy_mgmt_writedata(phy_mgmt_writedata_11),
3934
            .tx_ready(),
3935
            .rx_ready(),
3936
            .pll_ref_clk(ref_clk),
3937
            .pll_locked(),
3938
            .tx_serial_data(txp_11),
3939
            .rx_serial_data(rxp_11),
3940
            .rx_runningdisp(rx_runningdisp[11]),
3941
            .rx_disperr(rx_disp_err[11]),
3942
            .rx_errdetect(rx_char_err_gx[11]),
3943
            .rx_patterndetect(rx_patterndetect[11]),
3944
            .rx_syncstatus(rx_syncstatus[11]),
3945
            .tx_clkout(tx_pcs_clk_c11),
3946
            .rx_clkout(rx_pcs_clk_c11),
3947
            .tx_parallel_data(tx_frame_11),
3948
            .tx_datak(tx_kchar_11),
3949
            .rx_parallel_data(rx_frame_11),
3950
            .rx_datak(rx_kchar_11),
3951
            .rx_rlv(rx_runlengthviolation[11]),
3952
            .rx_recovclkout(rx_recovclkout_11),
3953
            .rx_rmfifodatadeleted(rx_rmfifodatadeleted[11]),
3954
            .rx_rmfifodatainserted(rx_rmfifodatainserted[11]),
3955
            .reconfig_togxb(reconfig_togxb_11),
3956
            .reconfig_fromgxb(reconfig_fromgxb_11)
3957
          );
3958
   defparam
3959
        the_altera_tse_gxb_gige_phyip_inst_11.ENABLE_ALT_RECONFIG = ENABLE_ALT_RECONFIG,
3960
        the_altera_tse_gxb_gige_phyip_inst_11.ENABLE_SGMII = ENABLE_SGMII,
3961
        the_altera_tse_gxb_gige_phyip_inst_11.DEVICE_FAMILY = DEVICE_FAMILY;
3962
    end
3963
else
3964
    begin
3965
    assign reconfig_fromgxb_11 = {92{1'b0}};
3966
    assign led_char_err_gx[11] = 1'b0;
3967
    assign link_status[11] = 1'b0;
3968
    assign led_disp_err_11 = 1'b0;
3969
    assign txp_11 = 1'b0;
3970
    assign rx_recovclkout_11= 1'b0;
3971
    assign phy_mgmt_readdata_11 = 32'b0;
3972
    assign phy_mgmt_waitrequest_11 = 1'b0;
3973
    end
3974
endgenerate
3975
 
3976
 
3977
 
3978
// #######################################################################
3979
// ###############       CHANNEL 12 LOGIC/COMPONENTS       ###############
3980
// #######################################################################
3981
 
3982
generate if (MAX_CHANNELS > 12)
3983
    begin
3984
 
3985
    // Instantiation of the Alt2gxb and Alt4gxb block as the PMA for Stratix_II_GX ,ArriaGX and Stratix IV devices
3986
    // ----------------------------------------------------------------------------------- 
3987
 
3988
 
3989
        // Aligned Rx_sync from gxb
3990
        // -------------------------------
3991
        altera_tse_reset_synchronizer ch12_reset_sync_0(
3992
            .clk(ref_clk),
3993
            .reset_in(reset),
3994
            .reset_out(reset_rx_pcs_clk_c12_int)
3995
        );
3996
 
3997
        altera_tse_gxb_aligned_rxsync the_altera_tse_gxb_aligned_rxsync_12
3998
          (
3999
            .clk(rx_pcs_clk_c12),
4000
            .reset(reset_rx_pcs_clk_c12_int),
4001
            //input (from alt2gxb)
4002
            .alt_dataout(rx_frame_12),
4003
            .alt_sync(rx_syncstatus[12]),
4004
            .alt_disperr(rx_disp_err[12]),
4005
            .alt_ctrldetect(rx_kchar_12),
4006
            .alt_errdetect(rx_char_err_gx[12]),
4007
            .alt_rmfifodatadeleted(rx_rmfifodatadeleted[12]),
4008
            .alt_rmfifodatainserted(rx_rmfifodatainserted[12]),
4009
            .alt_runlengthviolation(rx_runlengthviolation[12]),
4010
            .alt_patterndetect(rx_patterndetect[12]),
4011
            .alt_runningdisp(rx_runningdisp[12]),
4012
 
4013
            //output (to PCS)
4014
            .altpcs_dataout(pcs_rx_frame_12),
4015
            .altpcs_sync(link_status[12]),
4016
            .altpcs_disperr(led_disp_err_12),
4017
            .altpcs_ctrldetect(pcs_rx_kchar_12),
4018
            .altpcs_errdetect(led_char_err_gx[12]),
4019
            .altpcs_rmfifodatadeleted(pcs_rx_rmfifodatadeleted[12]),
4020
            .altpcs_rmfifodatainserted(pcs_rx_rmfifodatainserted[12]),
4021
            .altpcs_carrierdetect(pcs_rx_carrierdetected[12])
4022
           ) ;
4023
                defparam
4024
                the_altera_tse_gxb_aligned_rxsync_12.DEVICE_FAMILY = DEVICE_FAMILY;
4025
 
4026
        // Altgxb in GIGE mode
4027
        // --------------------
4028
        altera_tse_gxb_gige_phyip_inst the_altera_tse_gxb_gige_phyip_inst_12
4029
          (
4030
            .phy_mgmt_clk(clk),
4031
            .phy_mgmt_clk_reset(reset),
4032
            .phy_mgmt_address(phy_mgmt_address_12),
4033
            .phy_mgmt_read(phy_mgmt_read_12),
4034
            .phy_mgmt_readdata(phy_mgmt_readdata_12),
4035
            .phy_mgmt_waitrequest(phy_mgmt_waitrequest_12),
4036
            .phy_mgmt_write(phy_mgmt_write_12),
4037
            .phy_mgmt_writedata(phy_mgmt_writedata_12),
4038
            .tx_ready(),
4039
            .rx_ready(),
4040
            .pll_ref_clk(ref_clk),
4041
            .pll_locked(),
4042
            .tx_serial_data(txp_12),
4043
            .rx_serial_data(rxp_12),
4044
            .rx_runningdisp(rx_runningdisp[12]),
4045
            .rx_disperr(rx_disp_err[12]),
4046
            .rx_errdetect(rx_char_err_gx[12]),
4047
            .rx_patterndetect(rx_patterndetect[12]),
4048
            .rx_syncstatus(rx_syncstatus[12]),
4049
            .tx_clkout(tx_pcs_clk_c12),
4050
            .rx_clkout(rx_pcs_clk_c12),
4051
            .tx_parallel_data(tx_frame_12),
4052
            .tx_datak(tx_kchar_12),
4053
            .rx_parallel_data(rx_frame_12),
4054
            .rx_datak(rx_kchar_12),
4055
            .rx_rlv(rx_runlengthviolation[12]),
4056
            .rx_recovclkout(rx_recovclkout_12),
4057
            .rx_rmfifodatadeleted(rx_rmfifodatadeleted[12]),
4058
            .rx_rmfifodatainserted(rx_rmfifodatainserted[12]),
4059
            .reconfig_togxb(reconfig_togxb_12),
4060
            .reconfig_fromgxb(reconfig_fromgxb_12)
4061
          );
4062
   defparam
4063
        the_altera_tse_gxb_gige_phyip_inst_12.ENABLE_ALT_RECONFIG = ENABLE_ALT_RECONFIG,
4064
        the_altera_tse_gxb_gige_phyip_inst_12.ENABLE_SGMII = ENABLE_SGMII,
4065
        the_altera_tse_gxb_gige_phyip_inst_12.DEVICE_FAMILY = DEVICE_FAMILY;
4066
    end
4067
else
4068
    begin
4069
    assign reconfig_fromgxb_12 = {92{1'b0}};
4070
    assign led_char_err_gx[12] = 1'b0;
4071
    assign link_status[12] = 1'b0;
4072
    assign led_disp_err_12 = 1'b0;
4073
    assign txp_12 = 1'b0;
4074
    assign rx_recovclkout_12= 1'b0;
4075
    assign phy_mgmt_readdata_12 = 32'b0;
4076
    assign phy_mgmt_waitrequest_12 = 1'b0;
4077
    end
4078
endgenerate
4079
 
4080
 
4081
 
4082
// #######################################################################
4083
// ###############       CHANNEL 13 LOGIC/COMPONENTS       ###############
4084
// #######################################################################
4085
 
4086
generate if (MAX_CHANNELS > 13)
4087
    begin
4088
 
4089
    // Instantiation of the Alt2gxb and Alt4gxb block as the PMA for Stratix_II_GX ,ArriaGX and Stratix IV devices
4090
    // ----------------------------------------------------------------------------------- 
4091
 
4092
 
4093
        // Aligned Rx_sync from gxb
4094
        // -------------------------------
4095
        altera_tse_reset_synchronizer ch13_reset_sync_0(
4096
            .clk(ref_clk),
4097
            .reset_in(reset),
4098
            .reset_out(reset_rx_pcs_clk_c13_int)
4099
        );
4100
 
4101
        altera_tse_gxb_aligned_rxsync the_altera_tse_gxb_aligned_rxsync_13
4102
          (
4103
            .clk(rx_pcs_clk_c13),
4104
            .reset(reset_rx_pcs_clk_c13_int),
4105
            //input (from alt2gxb)
4106
            .alt_dataout(rx_frame_13),
4107
            .alt_sync(rx_syncstatus[13]),
4108
            .alt_disperr(rx_disp_err[13]),
4109
            .alt_ctrldetect(rx_kchar_13),
4110
            .alt_errdetect(rx_char_err_gx[13]),
4111
            .alt_rmfifodatadeleted(rx_rmfifodatadeleted[13]),
4112
            .alt_rmfifodatainserted(rx_rmfifodatainserted[13]),
4113
            .alt_runlengthviolation(rx_runlengthviolation[13]),
4114
            .alt_patterndetect(rx_patterndetect[13]),
4115
            .alt_runningdisp(rx_runningdisp[13]),
4116
 
4117
            //output (to PCS)
4118
            .altpcs_dataout(pcs_rx_frame_13),
4119
            .altpcs_sync(link_status[13]),
4120
            .altpcs_disperr(led_disp_err_13),
4121
            .altpcs_ctrldetect(pcs_rx_kchar_13),
4122
            .altpcs_errdetect(led_char_err_gx[13]),
4123
            .altpcs_rmfifodatadeleted(pcs_rx_rmfifodatadeleted[13]),
4124
            .altpcs_rmfifodatainserted(pcs_rx_rmfifodatainserted[13]),
4125
            .altpcs_carrierdetect(pcs_rx_carrierdetected[13])
4126
           ) ;
4127
                defparam
4128
                the_altera_tse_gxb_aligned_rxsync_13.DEVICE_FAMILY = DEVICE_FAMILY;
4129
 
4130
        // Altgxb in GIGE mode
4131
        // --------------------
4132
        altera_tse_gxb_gige_phyip_inst the_altera_tse_gxb_gige_phyip_inst_13
4133
          (
4134
            .phy_mgmt_clk(clk),
4135
            .phy_mgmt_clk_reset(reset),
4136
            .phy_mgmt_address(phy_mgmt_address_13),
4137
            .phy_mgmt_read(phy_mgmt_read_13),
4138
            .phy_mgmt_readdata(phy_mgmt_readdata_13),
4139
            .phy_mgmt_waitrequest(phy_mgmt_waitrequest_13),
4140
            .phy_mgmt_write(phy_mgmt_write_13),
4141
            .phy_mgmt_writedata(phy_mgmt_writedata_13),
4142
            .tx_ready(),
4143
            .rx_ready(),
4144
            .pll_ref_clk(ref_clk),
4145
            .pll_locked(),
4146
            .tx_serial_data(txp_13),
4147
            .rx_serial_data(rxp_13),
4148
            .rx_runningdisp(rx_runningdisp[13]),
4149
            .rx_disperr(rx_disp_err[13]),
4150
            .rx_errdetect(rx_char_err_gx[13]),
4151
            .rx_patterndetect(rx_patterndetect[13]),
4152
            .rx_syncstatus(rx_syncstatus[13]),
4153
            .tx_clkout(tx_pcs_clk_c13),
4154
            .rx_clkout(rx_pcs_clk_c13),
4155
            .tx_parallel_data(tx_frame_13),
4156
            .tx_datak(tx_kchar_13),
4157
            .rx_parallel_data(rx_frame_13),
4158
            .rx_datak(rx_kchar_13),
4159
            .rx_rlv(rx_runlengthviolation[13]),
4160
            .rx_recovclkout(rx_recovclkout_13),
4161
            .rx_rmfifodatadeleted(rx_rmfifodatadeleted[13]),
4162
            .rx_rmfifodatainserted(rx_rmfifodatainserted[13]),
4163
            .reconfig_togxb(reconfig_togxb_13),
4164
            .reconfig_fromgxb(reconfig_fromgxb_13)
4165
          );
4166
   defparam
4167
        the_altera_tse_gxb_gige_phyip_inst_13.ENABLE_ALT_RECONFIG = ENABLE_ALT_RECONFIG,
4168
        the_altera_tse_gxb_gige_phyip_inst_13.ENABLE_SGMII = ENABLE_SGMII,
4169
        the_altera_tse_gxb_gige_phyip_inst_13.DEVICE_FAMILY = DEVICE_FAMILY;
4170
    end
4171
else
4172
    begin
4173
    assign reconfig_fromgxb_13 = {92{1'b0}};
4174
    assign led_char_err_gx[13] = 1'b0;
4175
    assign link_status[13] = 1'b0;
4176
    assign led_disp_err_13 = 1'b0;
4177
    assign txp_13 = 1'b0;
4178
    assign rx_recovclkout_13= 1'b0;
4179
    assign phy_mgmt_readdata_13 = 32'b0;
4180
    assign phy_mgmt_waitrequest_13 = 1'b0;
4181
    end
4182
endgenerate
4183
 
4184
 
4185
 
4186
// #######################################################################
4187
// ###############       CHANNEL 14 LOGIC/COMPONENTS       ###############
4188
// #######################################################################
4189
 
4190
generate if (MAX_CHANNELS > 14)
4191
    begin
4192
 
4193
    // Instantiation of the Alt2gxb and Alt4gxb block as the PMA for Stratix_II_GX ,ArriaGX and Stratix IV devices
4194
    // ----------------------------------------------------------------------------------- 
4195
 
4196
 
4197
        // Aligned Rx_sync from gxb
4198
        // -------------------------------
4199
        altera_tse_reset_synchronizer ch14_reset_sync_0(
4200
            .clk(ref_clk),
4201
            .reset_in(reset),
4202
            .reset_out(reset_rx_pcs_clk_c14_int)
4203
        );
4204
 
4205
        altera_tse_gxb_aligned_rxsync the_altera_tse_gxb_aligned_rxsync_14
4206
          (
4207
            .clk(rx_pcs_clk_c14),
4208
            .reset(reset_rx_pcs_clk_c14_int),
4209
            //input (from alt2gxb)
4210
            .alt_dataout(rx_frame_14),
4211
            .alt_sync(rx_syncstatus[14]),
4212
            .alt_disperr(rx_disp_err[14]),
4213
            .alt_ctrldetect(rx_kchar_14),
4214
            .alt_errdetect(rx_char_err_gx[14]),
4215
            .alt_rmfifodatadeleted(rx_rmfifodatadeleted[14]),
4216
            .alt_rmfifodatainserted(rx_rmfifodatainserted[14]),
4217
            .alt_runlengthviolation(rx_runlengthviolation[14]),
4218
            .alt_patterndetect(rx_patterndetect[14]),
4219
            .alt_runningdisp(rx_runningdisp[14]),
4220
 
4221
            //output (to PCS)
4222
            .altpcs_dataout(pcs_rx_frame_14),
4223
            .altpcs_sync(link_status[14]),
4224
            .altpcs_disperr(led_disp_err_14),
4225
            .altpcs_ctrldetect(pcs_rx_kchar_14),
4226
            .altpcs_errdetect(led_char_err_gx[14]),
4227
            .altpcs_rmfifodatadeleted(pcs_rx_rmfifodatadeleted[14]),
4228
            .altpcs_rmfifodatainserted(pcs_rx_rmfifodatainserted[14]),
4229
            .altpcs_carrierdetect(pcs_rx_carrierdetected[14])
4230
           ) ;
4231
                defparam
4232
                the_altera_tse_gxb_aligned_rxsync_14.DEVICE_FAMILY = DEVICE_FAMILY;
4233
 
4234
        // Altgxb in GIGE mode
4235
        // --------------------
4236
        altera_tse_gxb_gige_phyip_inst the_altera_tse_gxb_gige_phyip_inst_14
4237
          (
4238
            .phy_mgmt_clk(clk),
4239
            .phy_mgmt_clk_reset(reset),
4240
            .phy_mgmt_address(phy_mgmt_address_14),
4241
            .phy_mgmt_read(phy_mgmt_read_14),
4242
            .phy_mgmt_readdata(phy_mgmt_readdata_14),
4243
            .phy_mgmt_waitrequest(phy_mgmt_waitrequest_14),
4244
            .phy_mgmt_write(phy_mgmt_write_14),
4245
            .phy_mgmt_writedata(phy_mgmt_writedata_14),
4246
            .tx_ready(),
4247
            .rx_ready(),
4248
            .pll_ref_clk(ref_clk),
4249
            .pll_locked(),
4250
            .tx_serial_data(txp_14),
4251
            .rx_serial_data(rxp_14),
4252
            .rx_runningdisp(rx_runningdisp[14]),
4253
            .rx_disperr(rx_disp_err[14]),
4254
            .rx_errdetect(rx_char_err_gx[14]),
4255
            .rx_patterndetect(rx_patterndetect[14]),
4256
            .rx_syncstatus(rx_syncstatus[14]),
4257
            .tx_clkout(tx_pcs_clk_c14),
4258
            .rx_clkout(rx_pcs_clk_c14),
4259
            .tx_parallel_data(tx_frame_14),
4260
            .tx_datak(tx_kchar_14),
4261
            .rx_parallel_data(rx_frame_14),
4262
            .rx_datak(rx_kchar_14),
4263
            .rx_rlv(rx_runlengthviolation[14]),
4264
            .rx_recovclkout(rx_recovclkout_14),
4265
            .rx_rmfifodatadeleted(rx_rmfifodatadeleted[14]),
4266
            .rx_rmfifodatainserted(rx_rmfifodatainserted[14]),
4267
            .reconfig_togxb(reconfig_togxb_14),
4268
            .reconfig_fromgxb(reconfig_fromgxb_14)
4269
          );
4270
   defparam
4271
        the_altera_tse_gxb_gige_phyip_inst_14.ENABLE_ALT_RECONFIG = ENABLE_ALT_RECONFIG,
4272
        the_altera_tse_gxb_gige_phyip_inst_14.ENABLE_SGMII = ENABLE_SGMII,
4273
        the_altera_tse_gxb_gige_phyip_inst_14.DEVICE_FAMILY = DEVICE_FAMILY;
4274
    end
4275
else
4276
    begin
4277
    assign reconfig_fromgxb_14 = {92{1'b0}};
4278
    assign led_char_err_gx[14] = 1'b0;
4279
    assign link_status[14] = 1'b0;
4280
    assign led_disp_err_14 = 1'b0;
4281
    assign txp_14 = 1'b0;
4282
    assign rx_recovclkout_14= 1'b0;
4283
    assign phy_mgmt_readdata_14 = 32'b0;
4284
    assign phy_mgmt_waitrequest_14 = 1'b0;
4285
    end
4286
endgenerate
4287
 
4288
 
4289
 
4290
// #######################################################################
4291
// ###############       CHANNEL 15 LOGIC/COMPONENTS       ###############
4292
// #######################################################################
4293
 
4294
generate if (MAX_CHANNELS > 15)
4295
    begin
4296
 
4297
    // Instantiation of the Alt2gxb and Alt4gxb block as the PMA for Stratix_II_GX ,ArriaGX and Stratix IV devices
4298
    // ----------------------------------------------------------------------------------- 
4299
 
4300
 
4301
        // Aligned Rx_sync from gxb
4302
        // -------------------------------
4303
        altera_tse_reset_synchronizer ch15_reset_sync_0(
4304
            .clk(ref_clk),
4305
            .reset_in(reset),
4306
            .reset_out(reset_rx_pcs_clk_c15_int)
4307
        );
4308
 
4309
        altera_tse_gxb_aligned_rxsync the_altera_tse_gxb_aligned_rxsync_15
4310
          (
4311
            .clk(rx_pcs_clk_c15),
4312
            .reset(reset_rx_pcs_clk_c15_int),
4313
            //input (from alt2gxb)
4314
            .alt_dataout(rx_frame_15),
4315
            .alt_sync(rx_syncstatus[15]),
4316
            .alt_disperr(rx_disp_err[15]),
4317
            .alt_ctrldetect(rx_kchar_15),
4318
            .alt_errdetect(rx_char_err_gx[15]),
4319
            .alt_rmfifodatadeleted(rx_rmfifodatadeleted[15]),
4320
            .alt_rmfifodatainserted(rx_rmfifodatainserted[15]),
4321
            .alt_runlengthviolation(rx_runlengthviolation[15]),
4322
            .alt_patterndetect(rx_patterndetect[15]),
4323
            .alt_runningdisp(rx_runningdisp[15]),
4324
 
4325
            //output (to PCS)
4326
            .altpcs_dataout(pcs_rx_frame_15),
4327
            .altpcs_sync(link_status[15]),
4328
            .altpcs_disperr(led_disp_err_15),
4329
            .altpcs_ctrldetect(pcs_rx_kchar_15),
4330
            .altpcs_errdetect(led_char_err_gx[15]),
4331
            .altpcs_rmfifodatadeleted(pcs_rx_rmfifodatadeleted[15]),
4332
            .altpcs_rmfifodatainserted(pcs_rx_rmfifodatainserted[15]),
4333
            .altpcs_carrierdetect(pcs_rx_carrierdetected[15])
4334
           ) ;
4335
                defparam
4336
                the_altera_tse_gxb_aligned_rxsync_15.DEVICE_FAMILY = DEVICE_FAMILY;
4337
 
4338
        // Altgxb in GIGE mode
4339
        // --------------------
4340
        altera_tse_gxb_gige_phyip_inst the_altera_tse_gxb_gige_phyip_inst_15
4341
          (
4342
            .phy_mgmt_clk(clk),
4343
            .phy_mgmt_clk_reset(reset),
4344
            .phy_mgmt_address(phy_mgmt_address_15),
4345
            .phy_mgmt_read(phy_mgmt_read_15),
4346
            .phy_mgmt_readdata(phy_mgmt_readdata_15),
4347
            .phy_mgmt_waitrequest(phy_mgmt_waitrequest_15),
4348
            .phy_mgmt_write(phy_mgmt_write_15),
4349
            .phy_mgmt_writedata(phy_mgmt_writedata_15),
4350
            .tx_ready(),
4351
            .rx_ready(),
4352
            .pll_ref_clk(ref_clk),
4353
            .pll_locked(),
4354
            .tx_serial_data(txp_15),
4355
            .rx_serial_data(rxp_15),
4356
            .rx_runningdisp(rx_runningdisp[15]),
4357
            .rx_disperr(rx_disp_err[15]),
4358
            .rx_errdetect(rx_char_err_gx[15]),
4359
            .rx_patterndetect(rx_patterndetect[15]),
4360
            .rx_syncstatus(rx_syncstatus[15]),
4361
            .tx_clkout(tx_pcs_clk_c15),
4362
            .rx_clkout(rx_pcs_clk_c15),
4363
            .tx_parallel_data(tx_frame_15),
4364
            .tx_datak(tx_kchar_15),
4365
            .rx_parallel_data(rx_frame_15),
4366
            .rx_datak(rx_kchar_15),
4367
            .rx_rlv(rx_runlengthviolation[15]),
4368
            .rx_recovclkout(rx_recovclkout_15),
4369
            .rx_rmfifodatadeleted(rx_rmfifodatadeleted[15]),
4370
            .rx_rmfifodatainserted(rx_rmfifodatainserted[15]),
4371
            .reconfig_togxb(reconfig_togxb_15),
4372
            .reconfig_fromgxb(reconfig_fromgxb_15)
4373
          );
4374
   defparam
4375
        the_altera_tse_gxb_gige_phyip_inst_15.ENABLE_ALT_RECONFIG = ENABLE_ALT_RECONFIG,
4376
        the_altera_tse_gxb_gige_phyip_inst_15.ENABLE_SGMII = ENABLE_SGMII,
4377
        the_altera_tse_gxb_gige_phyip_inst_15.DEVICE_FAMILY = DEVICE_FAMILY;
4378
    end
4379
else
4380
    begin
4381
    assign reconfig_fromgxb_15 = {92{1'b0}};
4382
    assign led_char_err_gx[15] = 1'b0;
4383
    assign link_status[15] = 1'b0;
4384
    assign led_disp_err_15 = 1'b0;
4385
    assign txp_15 = 1'b0;
4386
    assign rx_recovclkout_15= 1'b0;
4387
    assign phy_mgmt_readdata_15 = 32'b0;
4388
    assign phy_mgmt_waitrequest_15 = 1'b0;
4389
    end
4390
endgenerate
4391
 
4392
 
4393
 
4394
// #######################################################################
4395
// ###############       CHANNEL 16 LOGIC/COMPONENTS       ###############
4396
// #######################################################################
4397
 
4398
generate if (MAX_CHANNELS > 16)
4399
    begin
4400
 
4401
    // Instantiation of the Alt2gxb and Alt4gxb block as the PMA for Stratix_II_GX ,ArriaGX and Stratix IV devices
4402
    // ----------------------------------------------------------------------------------- 
4403
 
4404
 
4405
        // Aligned Rx_sync from gxb
4406
        // -------------------------------
4407
        altera_tse_reset_synchronizer ch16_reset_sync_0(
4408
            .clk(ref_clk),
4409
            .reset_in(reset),
4410
            .reset_out(reset_rx_pcs_clk_c16_int)
4411
        );
4412
 
4413
        altera_tse_gxb_aligned_rxsync the_altera_tse_gxb_aligned_rxsync_16
4414
          (
4415
            .clk(rx_pcs_clk_c16),
4416
            .reset(reset_rx_pcs_clk_c16_int),
4417
            //input (from alt2gxb)
4418
            .alt_dataout(rx_frame_16),
4419
            .alt_sync(rx_syncstatus[16]),
4420
            .alt_disperr(rx_disp_err[16]),
4421
            .alt_ctrldetect(rx_kchar_16),
4422
            .alt_errdetect(rx_char_err_gx[16]),
4423
            .alt_rmfifodatadeleted(rx_rmfifodatadeleted[16]),
4424
            .alt_rmfifodatainserted(rx_rmfifodatainserted[16]),
4425
            .alt_runlengthviolation(rx_runlengthviolation[16]),
4426
            .alt_patterndetect(rx_patterndetect[16]),
4427
            .alt_runningdisp(rx_runningdisp[16]),
4428
 
4429
            //output (to PCS)
4430
            .altpcs_dataout(pcs_rx_frame_16),
4431
            .altpcs_sync(link_status[16]),
4432
            .altpcs_disperr(led_disp_err_16),
4433
            .altpcs_ctrldetect(pcs_rx_kchar_16),
4434
            .altpcs_errdetect(led_char_err_gx[16]),
4435
            .altpcs_rmfifodatadeleted(pcs_rx_rmfifodatadeleted[16]),
4436
            .altpcs_rmfifodatainserted(pcs_rx_rmfifodatainserted[16]),
4437
            .altpcs_carrierdetect(pcs_rx_carrierdetected[16])
4438
           ) ;
4439
                defparam
4440
                the_altera_tse_gxb_aligned_rxsync_16.DEVICE_FAMILY = DEVICE_FAMILY;
4441
 
4442
        // Altgxb in GIGE mode
4443
        // --------------------
4444
        altera_tse_gxb_gige_phyip_inst the_altera_tse_gxb_gige_phyip_inst_16
4445
          (
4446
            .phy_mgmt_clk(clk),
4447
            .phy_mgmt_clk_reset(reset),
4448
            .phy_mgmt_address(phy_mgmt_address_16),
4449
            .phy_mgmt_read(phy_mgmt_read_16),
4450
            .phy_mgmt_readdata(phy_mgmt_readdata_16),
4451
            .phy_mgmt_waitrequest(phy_mgmt_waitrequest_16),
4452
            .phy_mgmt_write(phy_mgmt_write_16),
4453
            .phy_mgmt_writedata(phy_mgmt_writedata_16),
4454
            .tx_ready(),
4455
            .rx_ready(),
4456
            .pll_ref_clk(ref_clk),
4457
            .pll_locked(),
4458
            .tx_serial_data(txp_16),
4459
            .rx_serial_data(rxp_16),
4460
            .rx_runningdisp(rx_runningdisp[16]),
4461
            .rx_disperr(rx_disp_err[16]),
4462
            .rx_errdetect(rx_char_err_gx[16]),
4463
            .rx_patterndetect(rx_patterndetect[16]),
4464
            .rx_syncstatus(rx_syncstatus[16]),
4465
            .tx_clkout(tx_pcs_clk_c16),
4466
            .rx_clkout(rx_pcs_clk_c16),
4467
            .tx_parallel_data(tx_frame_16),
4468
            .tx_datak(tx_kchar_16),
4469
            .rx_parallel_data(rx_frame_16),
4470
            .rx_datak(rx_kchar_16),
4471
            .rx_rlv(rx_runlengthviolation[16]),
4472
            .rx_recovclkout(rx_recovclkout_16),
4473
            .rx_rmfifodatadeleted(rx_rmfifodatadeleted[16]),
4474
            .rx_rmfifodatainserted(rx_rmfifodatainserted[16]),
4475
            .reconfig_togxb(reconfig_togxb_16),
4476
            .reconfig_fromgxb(reconfig_fromgxb_16)
4477
          );
4478
   defparam
4479
        the_altera_tse_gxb_gige_phyip_inst_16.ENABLE_ALT_RECONFIG = ENABLE_ALT_RECONFIG,
4480
        the_altera_tse_gxb_gige_phyip_inst_16.ENABLE_SGMII = ENABLE_SGMII,
4481
        the_altera_tse_gxb_gige_phyip_inst_16.DEVICE_FAMILY = DEVICE_FAMILY;
4482
    end
4483
else
4484
    begin
4485
    assign reconfig_fromgxb_16 = {92{1'b0}};
4486
    assign led_char_err_gx[16] = 1'b0;
4487
    assign link_status[16] = 1'b0;
4488
    assign led_disp_err_16 = 1'b0;
4489
    assign txp_16 = 1'b0;
4490
    assign rx_recovclkout_16= 1'b0;
4491
    assign phy_mgmt_readdata_16 = 32'b0;
4492
    assign phy_mgmt_waitrequest_16 = 1'b0;
4493
    end
4494
endgenerate
4495
 
4496
 
4497
 
4498
// #######################################################################
4499
// ###############       CHANNEL 17 LOGIC/COMPONENTS       ###############
4500
// #######################################################################
4501
 
4502
generate if (MAX_CHANNELS > 17)
4503
    begin
4504
 
4505
    // Instantiation of the Alt2gxb and Alt4gxb block as the PMA for Stratix_II_GX ,ArriaGX and Stratix IV devices
4506
    // ----------------------------------------------------------------------------------- 
4507
 
4508
 
4509
        // Aligned Rx_sync from gxb
4510
        // -------------------------------
4511
        altera_tse_reset_synchronizer ch17_reset_sync_0(
4512
            .clk(ref_clk),
4513
            .reset_in(reset),
4514
            .reset_out(reset_rx_pcs_clk_c17_int)
4515
        );
4516
 
4517
        altera_tse_gxb_aligned_rxsync the_altera_tse_gxb_aligned_rxsync_17
4518
          (
4519
            .clk(rx_pcs_clk_c17),
4520
            .reset(reset_rx_pcs_clk_c17_int),
4521
            //input (from alt2gxb)
4522
            .alt_dataout(rx_frame_17),
4523
            .alt_sync(rx_syncstatus[17]),
4524
            .alt_disperr(rx_disp_err[17]),
4525
            .alt_ctrldetect(rx_kchar_17),
4526
            .alt_errdetect(rx_char_err_gx[17]),
4527
            .alt_rmfifodatadeleted(rx_rmfifodatadeleted[17]),
4528
            .alt_rmfifodatainserted(rx_rmfifodatainserted[17]),
4529
            .alt_runlengthviolation(rx_runlengthviolation[17]),
4530
            .alt_patterndetect(rx_patterndetect[17]),
4531
            .alt_runningdisp(rx_runningdisp[17]),
4532
 
4533
            //output (to PCS)
4534
            .altpcs_dataout(pcs_rx_frame_17),
4535
            .altpcs_sync(link_status[17]),
4536
            .altpcs_disperr(led_disp_err_17),
4537
            .altpcs_ctrldetect(pcs_rx_kchar_17),
4538
            .altpcs_errdetect(led_char_err_gx[17]),
4539
            .altpcs_rmfifodatadeleted(pcs_rx_rmfifodatadeleted[17]),
4540
            .altpcs_rmfifodatainserted(pcs_rx_rmfifodatainserted[17]),
4541
            .altpcs_carrierdetect(pcs_rx_carrierdetected[17])
4542
           ) ;
4543
                defparam
4544
                the_altera_tse_gxb_aligned_rxsync_17.DEVICE_FAMILY = DEVICE_FAMILY;
4545
 
4546
        // Altgxb in GIGE mode
4547
        // --------------------
4548
        altera_tse_gxb_gige_phyip_inst the_altera_tse_gxb_gige_phyip_inst_17
4549
          (
4550
            .phy_mgmt_clk(clk),
4551
            .phy_mgmt_clk_reset(reset),
4552
            .phy_mgmt_address(phy_mgmt_address_17),
4553
            .phy_mgmt_read(phy_mgmt_read_17),
4554
            .phy_mgmt_readdata(phy_mgmt_readdata_17),
4555
            .phy_mgmt_waitrequest(phy_mgmt_waitrequest_17),
4556
            .phy_mgmt_write(phy_mgmt_write_17),
4557
            .phy_mgmt_writedata(phy_mgmt_writedata_17),
4558
            .tx_ready(),
4559
            .rx_ready(),
4560
            .pll_ref_clk(ref_clk),
4561
            .pll_locked(),
4562
            .tx_serial_data(txp_17),
4563
            .rx_serial_data(rxp_17),
4564
            .rx_runningdisp(rx_runningdisp[17]),
4565
            .rx_disperr(rx_disp_err[17]),
4566
            .rx_errdetect(rx_char_err_gx[17]),
4567
            .rx_patterndetect(rx_patterndetect[17]),
4568
            .rx_syncstatus(rx_syncstatus[17]),
4569
            .tx_clkout(tx_pcs_clk_c17),
4570
            .rx_clkout(rx_pcs_clk_c17),
4571
            .tx_parallel_data(tx_frame_17),
4572
            .tx_datak(tx_kchar_17),
4573
            .rx_parallel_data(rx_frame_17),
4574
            .rx_datak(rx_kchar_17),
4575
            .rx_rlv(rx_runlengthviolation[17]),
4576
            .rx_recovclkout(rx_recovclkout_17),
4577
            .rx_rmfifodatadeleted(rx_rmfifodatadeleted[17]),
4578
            .rx_rmfifodatainserted(rx_rmfifodatainserted[17]),
4579
            .reconfig_togxb(reconfig_togxb_17),
4580
            .reconfig_fromgxb(reconfig_fromgxb_17)
4581
          );
4582
   defparam
4583
        the_altera_tse_gxb_gige_phyip_inst_17.ENABLE_ALT_RECONFIG = ENABLE_ALT_RECONFIG,
4584
        the_altera_tse_gxb_gige_phyip_inst_17.ENABLE_SGMII = ENABLE_SGMII,
4585
        the_altera_tse_gxb_gige_phyip_inst_17.DEVICE_FAMILY = DEVICE_FAMILY;
4586
    end
4587
else
4588
    begin
4589
    assign reconfig_fromgxb_17 = {92{1'b0}};
4590
    assign led_char_err_gx[17] = 1'b0;
4591
    assign link_status[17] = 1'b0;
4592
    assign led_disp_err_17 = 1'b0;
4593
    assign txp_17 = 1'b0;
4594
    assign rx_recovclkout_17= 1'b0;
4595
    assign phy_mgmt_readdata_17 = 32'b0;
4596
    assign phy_mgmt_waitrequest_17 = 1'b0;
4597
    end
4598
endgenerate
4599
 
4600
 
4601
 
4602
// #######################################################################
4603
// ###############       CHANNEL 18 LOGIC/COMPONENTS       ###############
4604
// #######################################################################
4605
 
4606
generate if (MAX_CHANNELS > 18)
4607
    begin
4608
 
4609
    // Instantiation of the Alt2gxb and Alt4gxb block as the PMA for Stratix_II_GX ,ArriaGX and Stratix IV devices
4610
    // ----------------------------------------------------------------------------------- 
4611
 
4612
 
4613
        // Aligned Rx_sync from gxb
4614
        // -------------------------------
4615
        altera_tse_reset_synchronizer ch18_reset_sync_0(
4616
            .clk(ref_clk),
4617
            .reset_in(reset),
4618
            .reset_out(reset_rx_pcs_clk_c18_int)
4619
        );
4620
 
4621
        altera_tse_gxb_aligned_rxsync the_altera_tse_gxb_aligned_rxsync_18
4622
          (
4623
            .clk(rx_pcs_clk_c18),
4624
            .reset(reset_rx_pcs_clk_c18_int),
4625
            //input (from alt2gxb)
4626
            .alt_dataout(rx_frame_18),
4627
            .alt_sync(rx_syncstatus[18]),
4628
            .alt_disperr(rx_disp_err[18]),
4629
            .alt_ctrldetect(rx_kchar_18),
4630
            .alt_errdetect(rx_char_err_gx[18]),
4631
            .alt_rmfifodatadeleted(rx_rmfifodatadeleted[18]),
4632
            .alt_rmfifodatainserted(rx_rmfifodatainserted[18]),
4633
            .alt_runlengthviolation(rx_runlengthviolation[18]),
4634
            .alt_patterndetect(rx_patterndetect[18]),
4635
            .alt_runningdisp(rx_runningdisp[18]),
4636
 
4637
            //output (to PCS)
4638
            .altpcs_dataout(pcs_rx_frame_18),
4639
            .altpcs_sync(link_status[18]),
4640
            .altpcs_disperr(led_disp_err_18),
4641
            .altpcs_ctrldetect(pcs_rx_kchar_18),
4642
            .altpcs_errdetect(led_char_err_gx[18]),
4643
            .altpcs_rmfifodatadeleted(pcs_rx_rmfifodatadeleted[18]),
4644
            .altpcs_rmfifodatainserted(pcs_rx_rmfifodatainserted[18]),
4645
            .altpcs_carrierdetect(pcs_rx_carrierdetected[18])
4646
           ) ;
4647
                defparam
4648
                the_altera_tse_gxb_aligned_rxsync_18.DEVICE_FAMILY = DEVICE_FAMILY;
4649
 
4650
        // Altgxb in GIGE mode
4651
        // --------------------
4652
        altera_tse_gxb_gige_phyip_inst the_altera_tse_gxb_gige_phyip_inst_18
4653
          (
4654
            .phy_mgmt_clk(clk),
4655
            .phy_mgmt_clk_reset(reset),
4656
            .phy_mgmt_address(phy_mgmt_address_18),
4657
            .phy_mgmt_read(phy_mgmt_read_18),
4658
            .phy_mgmt_readdata(phy_mgmt_readdata_18),
4659
            .phy_mgmt_waitrequest(phy_mgmt_waitrequest_18),
4660
            .phy_mgmt_write(phy_mgmt_write_18),
4661
            .phy_mgmt_writedata(phy_mgmt_writedata_18),
4662
            .tx_ready(),
4663
            .rx_ready(),
4664
            .pll_ref_clk(ref_clk),
4665
            .pll_locked(),
4666
            .tx_serial_data(txp_18),
4667
            .rx_serial_data(rxp_18),
4668
            .rx_runningdisp(rx_runningdisp[18]),
4669
            .rx_disperr(rx_disp_err[18]),
4670
            .rx_errdetect(rx_char_err_gx[18]),
4671
            .rx_patterndetect(rx_patterndetect[18]),
4672
            .rx_syncstatus(rx_syncstatus[18]),
4673
            .tx_clkout(tx_pcs_clk_c18),
4674
            .rx_clkout(rx_pcs_clk_c18),
4675
            .tx_parallel_data(tx_frame_18),
4676
            .tx_datak(tx_kchar_18),
4677
            .rx_parallel_data(rx_frame_18),
4678
            .rx_datak(rx_kchar_18),
4679
            .rx_rlv(rx_runlengthviolation[18]),
4680
            .rx_recovclkout(rx_recovclkout_18),
4681
            .rx_rmfifodatadeleted(rx_rmfifodatadeleted[18]),
4682
            .rx_rmfifodatainserted(rx_rmfifodatainserted[18]),
4683
            .reconfig_togxb(reconfig_togxb_18),
4684
            .reconfig_fromgxb(reconfig_fromgxb_18)
4685
          );
4686
   defparam
4687
        the_altera_tse_gxb_gige_phyip_inst_18.ENABLE_ALT_RECONFIG = ENABLE_ALT_RECONFIG,
4688
        the_altera_tse_gxb_gige_phyip_inst_18.ENABLE_SGMII = ENABLE_SGMII,
4689
        the_altera_tse_gxb_gige_phyip_inst_18.DEVICE_FAMILY = DEVICE_FAMILY;
4690
    end
4691
else
4692
    begin
4693
    assign reconfig_fromgxb_18 = {92{1'b0}};
4694
    assign led_char_err_gx[18] = 1'b0;
4695
    assign link_status[18] = 1'b0;
4696
    assign led_disp_err_18 = 1'b0;
4697
    assign txp_18 = 1'b0;
4698
    assign rx_recovclkout_18= 1'b0;
4699
    assign phy_mgmt_readdata_18 = 32'b0;
4700
    assign phy_mgmt_waitrequest_18 = 1'b0;
4701
    end
4702
endgenerate
4703
 
4704
 
4705
 
4706
// #######################################################################
4707
// ###############       CHANNEL 19 LOGIC/COMPONENTS       ###############
4708
// #######################################################################
4709
 
4710
generate if (MAX_CHANNELS > 19)
4711
    begin
4712
 
4713
    // Instantiation of the Alt2gxb and Alt4gxb block as the PMA for Stratix_II_GX ,ArriaGX and Stratix IV devices
4714
    // ----------------------------------------------------------------------------------- 
4715
 
4716
 
4717
        // Aligned Rx_sync from gxb
4718
        // -------------------------------
4719
        altera_tse_reset_synchronizer ch19_reset_sync_0(
4720
            .clk(ref_clk),
4721
            .reset_in(reset),
4722
            .reset_out(reset_rx_pcs_clk_c19_int)
4723
        );
4724
 
4725
        altera_tse_gxb_aligned_rxsync the_altera_tse_gxb_aligned_rxsync_19
4726
          (
4727
            .clk(rx_pcs_clk_c19),
4728
            .reset(reset_rx_pcs_clk_c19_int),
4729
            //input (from alt2gxb)
4730
            .alt_dataout(rx_frame_19),
4731
            .alt_sync(rx_syncstatus[19]),
4732
            .alt_disperr(rx_disp_err[19]),
4733
            .alt_ctrldetect(rx_kchar_19),
4734
            .alt_errdetect(rx_char_err_gx[19]),
4735
            .alt_rmfifodatadeleted(rx_rmfifodatadeleted[19]),
4736
            .alt_rmfifodatainserted(rx_rmfifodatainserted[19]),
4737
            .alt_runlengthviolation(rx_runlengthviolation[19]),
4738
            .alt_patterndetect(rx_patterndetect[19]),
4739
            .alt_runningdisp(rx_runningdisp[19]),
4740
 
4741
            //output (to PCS)
4742
            .altpcs_dataout(pcs_rx_frame_19),
4743
            .altpcs_sync(link_status[19]),
4744
            .altpcs_disperr(led_disp_err_19),
4745
            .altpcs_ctrldetect(pcs_rx_kchar_19),
4746
            .altpcs_errdetect(led_char_err_gx[19]),
4747
            .altpcs_rmfifodatadeleted(pcs_rx_rmfifodatadeleted[19]),
4748
            .altpcs_rmfifodatainserted(pcs_rx_rmfifodatainserted[19]),
4749
            .altpcs_carrierdetect(pcs_rx_carrierdetected[19])
4750
           ) ;
4751
                defparam
4752
                the_altera_tse_gxb_aligned_rxsync_19.DEVICE_FAMILY = DEVICE_FAMILY;
4753
 
4754
        // Altgxb in GIGE mode
4755
        // --------------------
4756
        altera_tse_gxb_gige_phyip_inst the_altera_tse_gxb_gige_phyip_inst_19
4757
          (
4758
            .phy_mgmt_clk(clk),
4759
            .phy_mgmt_clk_reset(reset),
4760
            .phy_mgmt_address(phy_mgmt_address_19),
4761
            .phy_mgmt_read(phy_mgmt_read_19),
4762
            .phy_mgmt_readdata(phy_mgmt_readdata_19),
4763
            .phy_mgmt_waitrequest(phy_mgmt_waitrequest_19),
4764
            .phy_mgmt_write(phy_mgmt_write_19),
4765
            .phy_mgmt_writedata(phy_mgmt_writedata_19),
4766
            .tx_ready(),
4767
            .rx_ready(),
4768
            .pll_ref_clk(ref_clk),
4769
            .pll_locked(),
4770
            .tx_serial_data(txp_19),
4771
            .rx_serial_data(rxp_19),
4772
            .rx_runningdisp(rx_runningdisp[19]),
4773
            .rx_disperr(rx_disp_err[19]),
4774
            .rx_errdetect(rx_char_err_gx[19]),
4775
            .rx_patterndetect(rx_patterndetect[19]),
4776
            .rx_syncstatus(rx_syncstatus[19]),
4777
            .tx_clkout(tx_pcs_clk_c19),
4778
            .rx_clkout(rx_pcs_clk_c19),
4779
            .tx_parallel_data(tx_frame_19),
4780
            .tx_datak(tx_kchar_19),
4781
            .rx_parallel_data(rx_frame_19),
4782
            .rx_datak(rx_kchar_19),
4783
            .rx_rlv(rx_runlengthviolation[19]),
4784
            .rx_recovclkout(rx_recovclkout_19),
4785
            .rx_rmfifodatadeleted(rx_rmfifodatadeleted[19]),
4786
            .rx_rmfifodatainserted(rx_rmfifodatainserted[19]),
4787
            .reconfig_togxb(reconfig_togxb_19),
4788
            .reconfig_fromgxb(reconfig_fromgxb_19)
4789
          );
4790
   defparam
4791
        the_altera_tse_gxb_gige_phyip_inst_19.ENABLE_ALT_RECONFIG = ENABLE_ALT_RECONFIG,
4792
        the_altera_tse_gxb_gige_phyip_inst_19.ENABLE_SGMII = ENABLE_SGMII,
4793
        the_altera_tse_gxb_gige_phyip_inst_19.DEVICE_FAMILY = DEVICE_FAMILY;
4794
    end
4795
else
4796
    begin
4797
    assign reconfig_fromgxb_19 = {92{1'b0}};
4798
    assign led_char_err_gx[19] = 1'b0;
4799
    assign link_status[19] = 1'b0;
4800
    assign led_disp_err_19 = 1'b0;
4801
    assign txp_19 = 1'b0;
4802
    assign rx_recovclkout_19= 1'b0;
4803
    assign phy_mgmt_readdata_19 = 32'b0;
4804
    assign phy_mgmt_waitrequest_19 = 1'b0;
4805
    end
4806
endgenerate
4807
 
4808
 
4809
 
4810
// #######################################################################
4811
// ###############       CHANNEL 20 LOGIC/COMPONENTS       ###############
4812
// #######################################################################
4813
 
4814
generate if (MAX_CHANNELS > 20)
4815
    begin
4816
 
4817
    // Instantiation of the Alt2gxb and Alt4gxb block as the PMA for Stratix_II_GX ,ArriaGX and Stratix IV devices
4818
    // ----------------------------------------------------------------------------------- 
4819
 
4820
 
4821
        // Aligned Rx_sync from gxb
4822
        // -------------------------------
4823
        altera_tse_reset_synchronizer ch20_reset_sync_0(
4824
            .clk(ref_clk),
4825
            .reset_in(reset),
4826
            .reset_out(reset_rx_pcs_clk_c20_int)
4827
        );
4828
 
4829
        altera_tse_gxb_aligned_rxsync the_altera_tse_gxb_aligned_rxsync_20
4830
          (
4831
            .clk(rx_pcs_clk_c20),
4832
            .reset(reset_rx_pcs_clk_c20_int),
4833
            //input (from alt2gxb)
4834
            .alt_dataout(rx_frame_20),
4835
            .alt_sync(rx_syncstatus[20]),
4836
            .alt_disperr(rx_disp_err[20]),
4837
            .alt_ctrldetect(rx_kchar_20),
4838
            .alt_errdetect(rx_char_err_gx[20]),
4839
            .alt_rmfifodatadeleted(rx_rmfifodatadeleted[20]),
4840
            .alt_rmfifodatainserted(rx_rmfifodatainserted[20]),
4841
            .alt_runlengthviolation(rx_runlengthviolation[20]),
4842
            .alt_patterndetect(rx_patterndetect[20]),
4843
            .alt_runningdisp(rx_runningdisp[20]),
4844
 
4845
            //output (to PCS)
4846
            .altpcs_dataout(pcs_rx_frame_20),
4847
            .altpcs_sync(link_status[20]),
4848
            .altpcs_disperr(led_disp_err_20),
4849
            .altpcs_ctrldetect(pcs_rx_kchar_20),
4850
            .altpcs_errdetect(led_char_err_gx[20]),
4851
            .altpcs_rmfifodatadeleted(pcs_rx_rmfifodatadeleted[20]),
4852
            .altpcs_rmfifodatainserted(pcs_rx_rmfifodatainserted[20]),
4853
            .altpcs_carrierdetect(pcs_rx_carrierdetected[20])
4854
           ) ;
4855
                defparam
4856
                the_altera_tse_gxb_aligned_rxsync_20.DEVICE_FAMILY = DEVICE_FAMILY;
4857
 
4858
        // Altgxb in GIGE mode
4859
        // --------------------
4860
        altera_tse_gxb_gige_phyip_inst the_altera_tse_gxb_gige_phyip_inst_20
4861
          (
4862
            .phy_mgmt_clk(clk),
4863
            .phy_mgmt_clk_reset(reset),
4864
            .phy_mgmt_address(phy_mgmt_address_20),
4865
            .phy_mgmt_read(phy_mgmt_read_20),
4866
            .phy_mgmt_readdata(phy_mgmt_readdata_20),
4867
            .phy_mgmt_waitrequest(phy_mgmt_waitrequest_20),
4868
            .phy_mgmt_write(phy_mgmt_write_20),
4869
            .phy_mgmt_writedata(phy_mgmt_writedata_20),
4870
            .tx_ready(),
4871
            .rx_ready(),
4872
            .pll_ref_clk(ref_clk),
4873
            .pll_locked(),
4874
            .tx_serial_data(txp_20),
4875
            .rx_serial_data(rxp_20),
4876
            .rx_runningdisp(rx_runningdisp[20]),
4877
            .rx_disperr(rx_disp_err[20]),
4878
            .rx_errdetect(rx_char_err_gx[20]),
4879
            .rx_patterndetect(rx_patterndetect[20]),
4880
            .rx_syncstatus(rx_syncstatus[20]),
4881
            .tx_clkout(tx_pcs_clk_c20),
4882
            .rx_clkout(rx_pcs_clk_c20),
4883
            .tx_parallel_data(tx_frame_20),
4884
            .tx_datak(tx_kchar_20),
4885
            .rx_parallel_data(rx_frame_20),
4886
            .rx_datak(rx_kchar_20),
4887
            .rx_rlv(rx_runlengthviolation[20]),
4888
            .rx_recovclkout(rx_recovclkout_20),
4889
            .rx_rmfifodatadeleted(rx_rmfifodatadeleted[20]),
4890
            .rx_rmfifodatainserted(rx_rmfifodatainserted[20]),
4891
            .reconfig_togxb(reconfig_togxb_20),
4892
            .reconfig_fromgxb(reconfig_fromgxb_20)
4893
          );
4894
   defparam
4895
        the_altera_tse_gxb_gige_phyip_inst_20.ENABLE_ALT_RECONFIG = ENABLE_ALT_RECONFIG,
4896
        the_altera_tse_gxb_gige_phyip_inst_20.ENABLE_SGMII = ENABLE_SGMII,
4897
        the_altera_tse_gxb_gige_phyip_inst_20.DEVICE_FAMILY = DEVICE_FAMILY;
4898
    end
4899
else
4900
    begin
4901
    assign reconfig_fromgxb_20 = {92{1'b0}};
4902
    assign led_char_err_gx[20] = 1'b0;
4903
    assign link_status[20] = 1'b0;
4904
    assign led_disp_err_20 = 1'b0;
4905
    assign txp_20 = 1'b0;
4906
    assign rx_recovclkout_20= 1'b0;
4907
    assign phy_mgmt_readdata_20 = 32'b0;
4908
    assign phy_mgmt_waitrequest_20 = 1'b0;
4909
    end
4910
endgenerate
4911
 
4912
 
4913
 
4914
// #######################################################################
4915
// ###############       CHANNEL 21 LOGIC/COMPONENTS       ###############
4916
// #######################################################################
4917
 
4918
generate if (MAX_CHANNELS > 21)
4919
    begin
4920
 
4921
    // Instantiation of the Alt2gxb and Alt4gxb block as the PMA for Stratix_II_GX ,ArriaGX and Stratix IV devices
4922
    // ----------------------------------------------------------------------------------- 
4923
 
4924
 
4925
        // Aligned Rx_sync from gxb
4926
        // -------------------------------
4927
        altera_tse_reset_synchronizer ch21_reset_sync_0(
4928
            .clk(ref_clk),
4929
            .reset_in(reset),
4930
            .reset_out(reset_rx_pcs_clk_c21_int)
4931
        );
4932
 
4933
        altera_tse_gxb_aligned_rxsync the_altera_tse_gxb_aligned_rxsync_21
4934
          (
4935
            .clk(rx_pcs_clk_c21),
4936
            .reset(reset_rx_pcs_clk_c21_int),
4937
            //input (from alt2gxb)
4938
            .alt_dataout(rx_frame_21),
4939
            .alt_sync(rx_syncstatus[21]),
4940
            .alt_disperr(rx_disp_err[21]),
4941
            .alt_ctrldetect(rx_kchar_21),
4942
            .alt_errdetect(rx_char_err_gx[21]),
4943
            .alt_rmfifodatadeleted(rx_rmfifodatadeleted[21]),
4944
            .alt_rmfifodatainserted(rx_rmfifodatainserted[21]),
4945
            .alt_runlengthviolation(rx_runlengthviolation[21]),
4946
            .alt_patterndetect(rx_patterndetect[21]),
4947
            .alt_runningdisp(rx_runningdisp[21]),
4948
 
4949
            //output (to PCS)
4950
            .altpcs_dataout(pcs_rx_frame_21),
4951
            .altpcs_sync(link_status[21]),
4952
            .altpcs_disperr(led_disp_err_21),
4953
            .altpcs_ctrldetect(pcs_rx_kchar_21),
4954
            .altpcs_errdetect(led_char_err_gx[21]),
4955
            .altpcs_rmfifodatadeleted(pcs_rx_rmfifodatadeleted[21]),
4956
            .altpcs_rmfifodatainserted(pcs_rx_rmfifodatainserted[21]),
4957
            .altpcs_carrierdetect(pcs_rx_carrierdetected[21])
4958
           ) ;
4959
                defparam
4960
                the_altera_tse_gxb_aligned_rxsync_21.DEVICE_FAMILY = DEVICE_FAMILY;
4961
 
4962
        // Altgxb in GIGE mode
4963
        // --------------------
4964
        altera_tse_gxb_gige_phyip_inst the_altera_tse_gxb_gige_phyip_inst_21
4965
          (
4966
            .phy_mgmt_clk(clk),
4967
            .phy_mgmt_clk_reset(reset),
4968
            .phy_mgmt_address(phy_mgmt_address_21),
4969
            .phy_mgmt_read(phy_mgmt_read_21),
4970
            .phy_mgmt_readdata(phy_mgmt_readdata_21),
4971
            .phy_mgmt_waitrequest(phy_mgmt_waitrequest_21),
4972
            .phy_mgmt_write(phy_mgmt_write_21),
4973
            .phy_mgmt_writedata(phy_mgmt_writedata_21),
4974
            .tx_ready(),
4975
            .rx_ready(),
4976
            .pll_ref_clk(ref_clk),
4977
            .pll_locked(),
4978
            .tx_serial_data(txp_21),
4979
            .rx_serial_data(rxp_21),
4980
            .rx_runningdisp(rx_runningdisp[21]),
4981
            .rx_disperr(rx_disp_err[21]),
4982
            .rx_errdetect(rx_char_err_gx[21]),
4983
            .rx_patterndetect(rx_patterndetect[21]),
4984
            .rx_syncstatus(rx_syncstatus[21]),
4985
            .tx_clkout(tx_pcs_clk_c21),
4986
            .rx_clkout(rx_pcs_clk_c21),
4987
            .tx_parallel_data(tx_frame_21),
4988
            .tx_datak(tx_kchar_21),
4989
            .rx_parallel_data(rx_frame_21),
4990
            .rx_datak(rx_kchar_21),
4991
            .rx_rlv(rx_runlengthviolation[21]),
4992
            .rx_recovclkout(rx_recovclkout_21),
4993
            .rx_rmfifodatadeleted(rx_rmfifodatadeleted[21]),
4994
            .rx_rmfifodatainserted(rx_rmfifodatainserted[21]),
4995
            .reconfig_togxb(reconfig_togxb_21),
4996
            .reconfig_fromgxb(reconfig_fromgxb_21)
4997
          );
4998
   defparam
4999
        the_altera_tse_gxb_gige_phyip_inst_21.ENABLE_ALT_RECONFIG = ENABLE_ALT_RECONFIG,
5000
        the_altera_tse_gxb_gige_phyip_inst_21.ENABLE_SGMII = ENABLE_SGMII,
5001
        the_altera_tse_gxb_gige_phyip_inst_21.DEVICE_FAMILY = DEVICE_FAMILY;
5002
    end
5003
else
5004
    begin
5005
    assign reconfig_fromgxb_21 = {92{1'b0}};
5006
    assign led_char_err_gx[21] = 1'b0;
5007
    assign link_status[21] = 1'b0;
5008
    assign led_disp_err_21 = 1'b0;
5009
    assign txp_21 = 1'b0;
5010
    assign rx_recovclkout_21= 1'b0;
5011
    assign phy_mgmt_readdata_21 = 32'b0;
5012
    assign phy_mgmt_waitrequest_21 = 1'b0;
5013
    end
5014
endgenerate
5015
 
5016
 
5017
 
5018
// #######################################################################
5019
// ###############       CHANNEL 22 LOGIC/COMPONENTS       ###############
5020
// #######################################################################
5021
 
5022
generate if (MAX_CHANNELS > 22)
5023
    begin
5024
 
5025
    // Instantiation of the Alt2gxb and Alt4gxb block as the PMA for Stratix_II_GX ,ArriaGX and Stratix IV devices
5026
    // ----------------------------------------------------------------------------------- 
5027
 
5028
 
5029
        // Aligned Rx_sync from gxb
5030
        // -------------------------------
5031
        altera_tse_reset_synchronizer ch22_reset_sync_0(
5032
            .clk(ref_clk),
5033
            .reset_in(reset),
5034
            .reset_out(reset_rx_pcs_clk_c22_int)
5035
        );
5036
 
5037
        altera_tse_gxb_aligned_rxsync the_altera_tse_gxb_aligned_rxsync_22
5038
          (
5039
            .clk(rx_pcs_clk_c22),
5040
            .reset(reset_rx_pcs_clk_c22_int),
5041
            //input (from alt2gxb)
5042
            .alt_dataout(rx_frame_22),
5043
            .alt_sync(rx_syncstatus[22]),
5044
            .alt_disperr(rx_disp_err[22]),
5045
            .alt_ctrldetect(rx_kchar_22),
5046
            .alt_errdetect(rx_char_err_gx[22]),
5047
            .alt_rmfifodatadeleted(rx_rmfifodatadeleted[22]),
5048
            .alt_rmfifodatainserted(rx_rmfifodatainserted[22]),
5049
            .alt_runlengthviolation(rx_runlengthviolation[22]),
5050
            .alt_patterndetect(rx_patterndetect[22]),
5051
            .alt_runningdisp(rx_runningdisp[22]),
5052
 
5053
            //output (to PCS)
5054
            .altpcs_dataout(pcs_rx_frame_22),
5055
            .altpcs_sync(link_status[22]),
5056
            .altpcs_disperr(led_disp_err_22),
5057
            .altpcs_ctrldetect(pcs_rx_kchar_22),
5058
            .altpcs_errdetect(led_char_err_gx[22]),
5059
            .altpcs_rmfifodatadeleted(pcs_rx_rmfifodatadeleted[22]),
5060
            .altpcs_rmfifodatainserted(pcs_rx_rmfifodatainserted[22]),
5061
            .altpcs_carrierdetect(pcs_rx_carrierdetected[22])
5062
           ) ;
5063
                defparam
5064
                the_altera_tse_gxb_aligned_rxsync_22.DEVICE_FAMILY = DEVICE_FAMILY;
5065
 
5066
        // Altgxb in GIGE mode
5067
        // --------------------
5068
        altera_tse_gxb_gige_phyip_inst the_altera_tse_gxb_gige_phyip_inst_22
5069
          (
5070
            .phy_mgmt_clk(clk),
5071
            .phy_mgmt_clk_reset(reset),
5072
            .phy_mgmt_address(phy_mgmt_address_22),
5073
            .phy_mgmt_read(phy_mgmt_read_22),
5074
            .phy_mgmt_readdata(phy_mgmt_readdata_22),
5075
            .phy_mgmt_waitrequest(phy_mgmt_waitrequest_22),
5076
            .phy_mgmt_write(phy_mgmt_write_22),
5077
            .phy_mgmt_writedata(phy_mgmt_writedata_22),
5078
            .tx_ready(),
5079
            .rx_ready(),
5080
            .pll_ref_clk(ref_clk),
5081
            .pll_locked(),
5082
            .tx_serial_data(txp_22),
5083
            .rx_serial_data(rxp_22),
5084
            .rx_runningdisp(rx_runningdisp[22]),
5085
            .rx_disperr(rx_disp_err[22]),
5086
            .rx_errdetect(rx_char_err_gx[22]),
5087
            .rx_patterndetect(rx_patterndetect[22]),
5088
            .rx_syncstatus(rx_syncstatus[22]),
5089
            .tx_clkout(tx_pcs_clk_c22),
5090
            .rx_clkout(rx_pcs_clk_c22),
5091
            .tx_parallel_data(tx_frame_22),
5092
            .tx_datak(tx_kchar_22),
5093
            .rx_parallel_data(rx_frame_22),
5094
            .rx_datak(rx_kchar_22),
5095
            .rx_rlv(rx_runlengthviolation[22]),
5096
            .rx_recovclkout(rx_recovclkout_22),
5097
            .rx_rmfifodatadeleted(rx_rmfifodatadeleted[22]),
5098
            .rx_rmfifodatainserted(rx_rmfifodatainserted[22]),
5099
            .reconfig_togxb(reconfig_togxb_22),
5100
            .reconfig_fromgxb(reconfig_fromgxb_22)
5101
          );
5102
   defparam
5103
        the_altera_tse_gxb_gige_phyip_inst_22.ENABLE_ALT_RECONFIG = ENABLE_ALT_RECONFIG,
5104
        the_altera_tse_gxb_gige_phyip_inst_22.ENABLE_SGMII = ENABLE_SGMII,
5105
        the_altera_tse_gxb_gige_phyip_inst_22.DEVICE_FAMILY = DEVICE_FAMILY;
5106
    end
5107
else
5108
    begin
5109
    assign reconfig_fromgxb_22 = {92{1'b0}};
5110
    assign led_char_err_gx[22] = 1'b0;
5111
    assign link_status[22] = 1'b0;
5112
    assign led_disp_err_22 = 1'b0;
5113
    assign txp_22 = 1'b0;
5114
    assign rx_recovclkout_22= 1'b0;
5115
    assign phy_mgmt_readdata_22 = 32'b0;
5116
    assign phy_mgmt_waitrequest_22 = 1'b0;
5117
    end
5118
endgenerate
5119
 
5120
 
5121
 
5122
// #######################################################################
5123
// ###############       CHANNEL 23 LOGIC/COMPONENTS       ###############
5124
// #######################################################################
5125
 
5126
generate if (MAX_CHANNELS > 23)
5127
    begin
5128
 
5129
    // Instantiation of the Alt2gxb and Alt4gxb block as the PMA for Stratix_II_GX ,ArriaGX and Stratix IV devices
5130
    // ----------------------------------------------------------------------------------- 
5131
 
5132
 
5133
        // Aligned Rx_sync from gxb
5134
        // -------------------------------
5135
        altera_tse_reset_synchronizer ch23_reset_sync_0(
5136
            .clk(ref_clk),
5137
            .reset_in(reset),
5138
            .reset_out(reset_rx_pcs_clk_c23_int)
5139
        );
5140
 
5141
        altera_tse_gxb_aligned_rxsync the_altera_tse_gxb_aligned_rxsync_23
5142
          (
5143
            .clk(rx_pcs_clk_c23),
5144
            .reset(reset_rx_pcs_clk_c23_int),
5145
            //input (from alt2gxb)
5146
            .alt_dataout(rx_frame_23),
5147
            .alt_sync(rx_syncstatus[23]),
5148
            .alt_disperr(rx_disp_err[23]),
5149
            .alt_ctrldetect(rx_kchar_23),
5150
            .alt_errdetect(rx_char_err_gx[23]),
5151
            .alt_rmfifodatadeleted(rx_rmfifodatadeleted[23]),
5152
            .alt_rmfifodatainserted(rx_rmfifodatainserted[23]),
5153
            .alt_runlengthviolation(rx_runlengthviolation[23]),
5154
            .alt_patterndetect(rx_patterndetect[23]),
5155
            .alt_runningdisp(rx_runningdisp[23]),
5156
 
5157
            //output (to PCS)
5158
            .altpcs_dataout(pcs_rx_frame_23),
5159
            .altpcs_sync(link_status[23]),
5160
            .altpcs_disperr(led_disp_err_23),
5161
            .altpcs_ctrldetect(pcs_rx_kchar_23),
5162
            .altpcs_errdetect(led_char_err_gx[23]),
5163
            .altpcs_rmfifodatadeleted(pcs_rx_rmfifodatadeleted[23]),
5164
            .altpcs_rmfifodatainserted(pcs_rx_rmfifodatainserted[23]),
5165
            .altpcs_carrierdetect(pcs_rx_carrierdetected[23])
5166
           ) ;
5167
                defparam
5168
                the_altera_tse_gxb_aligned_rxsync_23.DEVICE_FAMILY = DEVICE_FAMILY;
5169
 
5170
        // Altgxb in GIGE mode
5171
        // --------------------
5172
        altera_tse_gxb_gige_phyip_inst the_altera_tse_gxb_gige_phyip_inst_23
5173
          (
5174
            .phy_mgmt_clk(clk),
5175
            .phy_mgmt_clk_reset(reset),
5176
            .phy_mgmt_address(phy_mgmt_address_23),
5177
            .phy_mgmt_read(phy_mgmt_read_23),
5178
            .phy_mgmt_readdata(phy_mgmt_readdata_23),
5179
            .phy_mgmt_waitrequest(phy_mgmt_waitrequest_23),
5180
            .phy_mgmt_write(phy_mgmt_write_23),
5181
            .phy_mgmt_writedata(phy_mgmt_writedata_23),
5182
            .tx_ready(),
5183
            .rx_ready(),
5184
            .pll_ref_clk(ref_clk),
5185
            .pll_locked(),
5186
            .tx_serial_data(txp_23),
5187
            .rx_serial_data(rxp_23),
5188
            .rx_runningdisp(rx_runningdisp[23]),
5189
            .rx_disperr(rx_disp_err[23]),
5190
            .rx_errdetect(rx_char_err_gx[23]),
5191
            .rx_patterndetect(rx_patterndetect[23]),
5192
            .rx_syncstatus(rx_syncstatus[23]),
5193
            .tx_clkout(tx_pcs_clk_c23),
5194
            .rx_clkout(rx_pcs_clk_c23),
5195
            .tx_parallel_data(tx_frame_23),
5196
            .tx_datak(tx_kchar_23),
5197
            .rx_parallel_data(rx_frame_23),
5198
            .rx_datak(rx_kchar_23),
5199
            .rx_rlv(rx_runlengthviolation[23]),
5200
            .rx_recovclkout(rx_recovclkout_23),
5201
            .rx_rmfifodatadeleted(rx_rmfifodatadeleted[23]),
5202
            .rx_rmfifodatainserted(rx_rmfifodatainserted[23]),
5203
            .reconfig_togxb(reconfig_togxb_23),
5204
            .reconfig_fromgxb(reconfig_fromgxb_23)
5205
          );
5206
   defparam
5207
        the_altera_tse_gxb_gige_phyip_inst_23.ENABLE_ALT_RECONFIG = ENABLE_ALT_RECONFIG,
5208
        the_altera_tse_gxb_gige_phyip_inst_23.ENABLE_SGMII = ENABLE_SGMII,
5209
        the_altera_tse_gxb_gige_phyip_inst_23.DEVICE_FAMILY = DEVICE_FAMILY;
5210
    end
5211
else
5212
    begin
5213
    assign reconfig_fromgxb_23 = {92{1'b0}};
5214
    assign led_char_err_gx[23] = 1'b0;
5215
    assign link_status[23] = 1'b0;
5216
    assign led_disp_err_23 = 1'b0;
5217
    assign txp_23 = 1'b0;
5218
    assign rx_recovclkout_23= 1'b0;
5219
    assign phy_mgmt_readdata_23 = 32'b0;
5220
    assign phy_mgmt_waitrequest_23 = 1'b0;
5221
    end
5222
endgenerate
5223
 
5224
 
5225
 
5226
    endmodule // module altera_tse_multi_mac_pcs_pma_gige_phyip

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.