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 20

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