Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / verif / model / pcie / peu / peu.v
CommitLineData
86530b38
AT
1// ========== Copyright Header Begin ==========================================
2//
3// OpenSPARC T2 Processor File: peu.v
4// Copyright (C) 1995-2007 Sun Microsystems, Inc. All Rights Reserved
5// 4150 Network Circle, Santa Clara, California 95054, U.S.A.
6//
7// * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
8//
9// This program is free software; you can redistribute it and/or modify
10// it under the terms of the GNU General Public License as published by
11// the Free Software Foundation; version 2 of the License.
12//
13// This program is distributed in the hope that it will be useful,
14// but WITHOUT ANY WARRANTY; without even the implied warranty of
15// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16// GNU General Public License for more details.
17//
18// You should have received a copy of the GNU General Public License
19// along with this program; if not, write to the Free Software
20// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
21//
22// For the avoidance of doubt, and except that if any non-GPL license
23// choice is available it will apply instead, Sun elects to use only
24// the General Public License version 2 (GPLv2) at this time for any
25// software where a choice of GPL license versions is made
26// available with the language indicating that GPLv2 or any later version
27// may be used, or where a choice of which version of the GPL is applied is
28// otherwise unspecified.
29//
30// Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
31// CA 95054 USA or visit www.sun.com if you need additional information or
32// have any questions.
33//
34// ========== Copyright Header End ============================================
35`timescale 1ns/10ps
36`ifdef LINK_1
37 `define LINK_WIDTH 1
38`else
39 `ifdef LINK_2
40 `define LINK_WIDTH 2
41 `else
42 `ifdef LINK_4
43 `define LINK_WIDTH 4
44 `else
45 `ifdef LINK_12
46 `define LINK_WIDTH 12
47 `else
48 `ifdef LINK_16
49 `define LINK_WIDTH 16
50 `else
51 `ifdef LINK_24
52 `define LINK_WIDTH 24
53 `else
54 `ifdef LINK_32
55 `define LINK_WIDTH 32
56 `else
57 `define LINK_WIDTH 8
58 `endif
59 `endif
60 `endif
61 `endif
62 `endif
63 `endif
64`endif
65
66
67
68module peu (
69 iol2clk,
70 l2t_clk,
71 rst_wmr_,
72 rst_por_,
73 d2p_ihb_clk,
74 d2p_ihb_rd,
75 d2p_ihb_addr,
76 p2d_ihb_data,
77 p2d_ihb_dpar,
78 p2d_ihb_wptr,
79 d2p_idb_clk,
80 d2p_idb_rd,
81 d2p_idb_addr,
82 p2d_idb_data,
83 p2d_idb_dpar,
84 d2p_ibc_req,
85 p2d_ibc_ack,
86 d2p_ibc_nhc,
87 d2p_ibc_phc,
88 d2p_ibc_pdc,
89 p2d_cto_req,
90 p2d_cto_tag,
91 d2p_cto_ack,
92 p2d_drain,
93 p2d_mps,
94 p2d_ue_int,
95 p2d_ce_int,
96 p2d_oe_int,
97 d2p_ech_wptr,
98 p2d_ech_rptr,
99 d2p_erh_wptr,
100 p2d_erh_rptr,
101 p2d_ecd_rptr,
102 p2d_erd_rptr,
103 d2p_ehb_we,
104 d2p_ehb_addr,
105 d2p_ehb_data,
106 d2p_ehb_dpar,
107 d2p_edb_we,
108 d2p_edb_addr,
109 d2p_edb_data,
110 d2p_edb_dpar,
111 d2p_csr_req,
112 p2d_csr_ack,
113 d2p_csr_rcd,
114 p2d_csr_req,
115 d2p_csr_ack,
116 p2d_csr_rcd,
117 link_clk,
118 link_in, // For LTSSM/Deser lane_in
119 link_in_bar, // For LTSSM/Deser lane_in_bar
120 link_out, // For LTSSM/Ser lane_out
121 link_out_bar, // For LTSSM/Ser lane_out
122 );
123
124 parameter delay_375 = 1.33;
125 parameter delay_250 = 2.0;
126
127
128 input l2t_clk;
129 input rst_wmr_;
130 input rst_por_;
131
132 /**
133 IHB Interface
134 */
135 input d2p_ihb_clk; // IHB clk
136 input d2p_ihb_rd; // Read En
137 input [`FIRE_D2P_IHB_ADDR_BITS] d2p_ihb_addr; // Addr
138 output [`FIRE_P2D_IHB_DATA_BITS] p2d_ihb_data; // Data
139 output [`FIRE_P2D_IHB_DPAR_BITS] p2d_ihb_dpar; // Data Parity
140 output [`FIRE_P2D_IHB_WPTR_BITS] p2d_ihb_wptr; // Wr Ptr (GC)
141
142 /**
143 IDB Interface
144 */
145 input d2p_idb_clk; // IDB clk
146 input d2p_idb_rd; // Read En
147 input [`FIRE_D2P_IDB_ADDR_BITS] d2p_idb_addr; // Addr
148 output [`FIRE_P2D_IDB_DATA_BITS] p2d_idb_data; // Data
149 output [`FIRE_P2D_IDB_DPAR_BITS] p2d_idb_dpar; // Data Parity
150
151 /**
152 Ingress Buffer Credit Interface
153 */
154 input d2p_ibc_req; // Ingr cr req
155 output p2d_ibc_ack; // Ack
156 input [`FIRE_D2P_IBC_NHC_BITS] d2p_ibc_nhc; // NPH credits
157 input [`FIRE_D2P_IBC_PHC_BITS] d2p_ibc_phc; // PH credits
158 input [`FIRE_D2P_IBC_PDC_BITS] d2p_ibc_pdc; // PD credits
159
160 /**
161 Completion Timeout Interface
162 */
163 output p2d_cto_req;
164 output [`FIRE_P2D_CTO_TAG_BITS] p2d_cto_tag;
165 input d2p_cto_ack;
166
167 /**
168 Status Interface
169 */
170 output p2d_drain; // Drain signal to ILU
171 output [`FIRE_P2D_MPS_BITS] p2d_mps; // Max Payld size
172 output p2d_ue_int; // uncorrectable error
173 output p2d_ce_int; // correctable error
174 output p2d_oe_int; // other error
175
176 /**
177 Buffer Management Interface (all pointer values are gray coded)
178 */
179 input [`FIRE_D2P_ECH_WPTR_BITS] d2p_ech_wptr; // Cpl buf EHB wr ptr
180 output [`FIRE_P2D_ECH_RPTR_BITS] p2d_ech_rptr; // Cpl buf EHB rd ptr
181 input [`FIRE_D2P_ERH_WPTR_BITS] d2p_erh_wptr; // Req buf EHB wr ptr
182 output [`FIRE_P2D_ERH_RPTR_BITS] p2d_erh_rptr; // Req buf EHB rd ptr
183 output [`FIRE_P2D_ECD_RPTR_BITS] p2d_ecd_rptr; // DMA cpl buf rd ptr
184 output [`FIRE_P2D_ERD_RPTR_BITS] p2d_erd_rptr; // PIO Wr buf rd ptr
185
186 /**
187 EHB Interfce
188 */
189 input d2p_ehb_we; // EHB Write
190 input [`FIRE_D2P_EHB_ADDR_BITS] d2p_ehb_addr; // EHB Wr ptr
191 input [`FIRE_D2P_EHB_DATA_BITS] d2p_ehb_data; // EHB record
192 input [`FIRE_D2P_EHB_DPAR_BITS] d2p_ehb_dpar; // EHB Wd Parity
193
194 /**
195 EDB Interfce
196 */
197 input d2p_edb_we; // EDB Write
198 input [`FIRE_D2P_EDB_ADDR_BITS] d2p_edb_addr; // EDB Wr ptr
199 input [`FIRE_D2P_EDB_DATA_BITS] d2p_edb_data; // EDB record
200 input [`FIRE_D2P_EDB_DPAR_BITS] d2p_edb_dpar; // EDB Wd Parity
201
202 /**
203 CSR Ring Interface
204 */
205 input d2p_csr_req;
206 output p2d_csr_ack;
207 input [`FIRE_CSR_PCKT_BITS] d2p_csr_rcd;
208
209 output p2d_csr_req;
210 input d2p_csr_ack;
211 output [`FIRE_CSR_PCKT_BITS] p2d_csr_rcd;
212
213 /**
214 Differential PCIE Link Signals
215 */
216
217 input link_clk;
218
219 input [`LINK_WIDTH-1:0] link_in;
220 input [`LINK_WIDTH-1:0] link_in_bar;
221 output [`LINK_WIDTH-1:0] link_out;
222 output [`LINK_WIDTH-1:0] link_out_bar;
223
224 reg link_clk_by_10;
225 wire link_clk_by_10_w;
226
227 wire [`LINK_WIDTH-1:0] in_ln0;
228 wire [`LINK_WIDTH-1:0] in_ln1;
229 wire [`LINK_WIDTH-1:0] in_ln2;
230 wire [`LINK_WIDTH-1:0] in_ln3;
231 wire [`LINK_WIDTH-1:0] in_ln4;
232 wire [`LINK_WIDTH-1:0] in_ln5;
233 wire [`LINK_WIDTH-1:0] in_ln6;
234 wire [`LINK_WIDTH-1:0] in_ln7;
235 wire [`LINK_WIDTH-1:0] in_ln8;
236 wire [`LINK_WIDTH-1:0] in_ln9;
237
238 wire [`LINK_WIDTH-1:0] in_ln0_b;
239 wire [`LINK_WIDTH-1:0] in_ln1_b;
240 wire [`LINK_WIDTH-1:0] in_ln2_b;
241 wire [`LINK_WIDTH-1:0] in_ln3_b;
242 wire [`LINK_WIDTH-1:0] in_ln4_b;
243 wire [`LINK_WIDTH-1:0] in_ln5_b;
244 wire [`LINK_WIDTH-1:0] in_ln6_b;
245 wire [`LINK_WIDTH-1:0] in_ln7_b;
246 wire [`LINK_WIDTH-1:0] in_ln8_b;
247 wire [`LINK_WIDTH-1:0] in_ln9_b;
248
249 wire [`LINK_WIDTH-1:0] out_ln0;
250 wire [`LINK_WIDTH-1:0] out_ln1;
251 wire [`LINK_WIDTH-1:0] out_ln2;
252 wire [`LINK_WIDTH-1:0] out_ln3;
253 wire [`LINK_WIDTH-1:0] out_ln4;
254 wire [`LINK_WIDTH-1:0] out_ln5;
255 wire [`LINK_WIDTH-1:0] out_ln6;
256 wire [`LINK_WIDTH-1:0] out_ln7;
257 wire [`LINK_WIDTH-1:0] out_ln8;
258 wire [`LINK_WIDTH-1:0] out_ln9;
259
260 wire in_frm_boundary;
261 wire out_frm_boundary;
262 wire ser_ref_clk;
263 wire deser_ref_clk;
264 wire in_data_rdy;
265 wire ts1_pattern_received;
266 wire [`LINK_WIDTH-1:0] link_out_w;
267 wire [`LINK_WIDTH-1:0] link_out_bar_w;
268 wire [`LINK_WIDTH-1:0] link_out_w_ltssm;
269 wire [`LINK_WIDTH-1:0] link_out_bar_w_ltssm;
270 wire init_done;
271 wire start_reinit;
272 wire stage_reinit;
273 wire init_done_rx;
274 wire frame_boundary_ltssm_rx;
275 wire frame_boundary_ltssm_tx;
276 wire last_idle_frame;
277 wire last_idle_frame_retraining;
278
279
280 wire [`FIRE_CSR_RING_BITS] dcd2csr_ring_data;
281 wire [`FIRE_CSR_RING_BITS] csr2dcs_ring_data;
282 input iol2clk;
283 wire [`LINK_WIDTH-1:0] out_w;
284 wire [`LINK_WIDTH-1:0] out_bar_w;
285
286
287
288 wire [63:0] tlu_ctl_csrbus_read_data;
289 wire [63:0] tlu_ctl_csrbus_omni_data;
290
291 wire [63:0] ilu_err_rw1s_alias_csrbus_read_data;
292 wire [63:0] ilu_err_rw1s_alias_csrbus_omni_data;
293
294 wire [63:0] tlu_sts_csrbus_read_data;
295 wire [63:0] tlu_sts_csrbus_omni_data;
296
297 wire [63:0] trn_off_csrbus_read_data;
298 wire [63:0] trn_off_csrbus_omni_data;
299
300 wire [63:0] tlu_ici_csrbus_read_data;
301 wire [63:0] tlu_ici_csrbus_omni_data;
302
303 wire [63:0] tlu_diag_csrbus_read_data;
304 wire [63:0] tlu_diag_csrbus_omni_data;
305
306 wire [63:0] tlu_ecc_csrbus_read_data;
307 wire [63:0] tlu_ecc_csrbus_omni_data;
308
309 wire [63:0] tlu_ecl_csrbus_read_data;
310 wire [63:0] tlu_ecl_csrbus_omni_data;
311
312 wire [63:0] tlu_erb_csrbus_read_data;
313 wire [63:0] tlu_erb_csrbus_omni_data;
314
315 wire [63:0] tlu_ica_csrbus_read_data;
316 wire [63:0] tlu_ica_csrbus_omni_data;
317
318 wire [63:0] tlu_icr_csrbus_read_data;
319 wire [63:0] tlu_icr_csrbus_omni_data;
320
321 wire [63:0] oe_log_csrbus_read_data;
322 wire [63:0] oe_log_csrbus_omni_data;
323
324 wire [63:0] oe_int_en_csrbus_read_data;
325 wire [63:0] oe_int_en_csrbus_omni_data;
326
327 wire [63:0] oe_en_err_csrbus_read_data;
328 wire [63:0] oe_en_err_csrbus_omni_data;
329
330 wire [63:0] oe_err_rw1c_alias_csrbus_read_data;
331 wire [63:0] oe_err_rw1c_alias_csrbus_omni_data;
332
333 wire [63:0] oe_err_rw1s_alias_csrbus_read_data;
334 wire [63:0] oe_err_rw1s_alias_csrbus_omni_data;
335
336 wire [63:0] roe_hdr1_csrbus_read_data;
337 wire [63:0] roe_hdr1_csrbus_omni_data;
338
339 wire [63:0] roe_hdr2_csrbus_read_data;
340 wire [63:0] roe_hdr2_csrbus_omni_data;
341
342 wire [63:0] toe_hdr1_csrbus_read_data;
343 wire [63:0] toe_hdr1_csrbus_omni_data;
344
345 wire [63:0] toe_hdr2_csrbus_read_data;
346 wire [63:0] toe_hdr2_csrbus_omni_data;
347
348 wire [63:0] tlu_prfc_csrbus_read_data;
349 wire [63:0] tlu_prfc_csrbus_omni_data;
350
351 wire [63:0] tlu_prf0_csrbus_read_data;
352 wire [63:0] tlu_prf0_csrbus_omni_data;
353
354 wire [63:0] tlu_prf1_csrbus_read_data;
355 wire [63:0] tlu_prf1_csrbus_omni_data;
356
357 wire [63:0] tlu_prf2_csrbus_read_data;
358 wire [63:0] tlu_prf2_csrbus_omni_data;
359
360 wire [63:0] tlu_dbg_sel_a_csrbus_read_data;
361 wire [63:0] tlu_dbg_sel_a_csrbus_omni_data;
362
363 wire [63:0] tlu_dbg_sel_b_csrbus_read_data;
364 wire [63:0] tlu_dbg_sel_b_csrbus_omni_data;
365
366 wire [63:0] dev_cap_csrbus_read_data;
367 wire [63:0] dev_cap_csrbus_omni_data;
368
369 wire [63:0] dev_ctl_csrbus_read_data;
370 wire [63:0] dev_ctl_csrbus_omni_data;
371
372 wire [63:0] dev_sts_csrbus_read_data;
373 wire [63:0] dev_sts_csrbus_omni_data;
374
375 wire [63:0] lnk_cap_csrbus_read_data;
376 wire [63:0] lnk_cap_csrbus_omni_data;
377
378 wire [63:0] lnk_ctl_csrbus_read_data;
379 wire [63:0] lnk_ctl_csrbus_omni_data;
380
381 wire [63:0] lnk_sts_csrbus_read_data;
382 wire [63:0] lnk_sts_csrbus_omni_data;
383
384 wire [63:0] slt_cap_csrbus_read_data;
385 wire [63:0] slt_cap_csrbus_omni_data;
386
387 wire [63:0] ue_log_csrbus_read_data;
388 wire [63:0] ue_log_csrbus_omni_data;
389
390 wire [63:0] ue_int_en_csrbus_read_data;
391 wire [63:0] ue_int_en_csrbus_omni_data;
392
393 wire [63:0] ue_en_err_csrbus_read_data;
394 wire [63:0] ue_en_err_csrbus_omni_data;
395
396 wire [63:0] ue_err_rw1c_alias_csrbus_read_data;
397 wire [63:0] ue_err_rw1c_alias_csrbus_omni_data;
398
399 wire [63:0] ue_err_rw1s_alias_csrbus_read_data;
400 wire [63:0] ue_err_rw1s_alias_csrbus_omni_data;
401
402 wire [63:0] rue_hdr1_csrbus_read_data;
403 wire [63:0] rue_hdr1_csrbus_omni_data;
404
405 wire [63:0] rue_hdr2_csrbus_read_data;
406 wire [63:0] rue_hdr2_csrbus_omni_data;
407
408 wire [63:0] tue_hdr1_csrbus_read_data;
409 wire [63:0] tue_hdr1_csrbus_omni_data;
410
411 wire [63:0] tue_hdr2_csrbus_read_data;
412 wire [63:0] tue_hdr2_csrbus_omni_data;
413
414 wire [63:0] ce_log_csrbus_read_data;
415 wire [63:0] ce_log_csrbus_omni_data;
416
417 wire [63:0] ce_int_en_csrbus_read_data;
418 wire [63:0] ce_int_en_csrbus_omni_data;
419
420 wire [63:0] ce_en_err_csrbus_read_data;
421 wire [63:0] ce_en_err_csrbus_omni_data;
422
423 wire [63:0] ce_err_rw1c_alias_csrbus_read_data;
424 wire [63:0] ce_err_rw1c_alias_csrbus_omni_data;
425
426 wire [63:0] ce_err_rw1s_alias_csrbus_read_data;
427 wire [63:0] ce_err_rw1s_alias_csrbus_omni_data;
428
429 wire [63:0] peu_dlpl_serdes_rev_csrbus_read_data;
430 wire [63:0] peu_dlpl_serdes_rev_csrbus_omni_data;
431
432 wire [63:0] acknak_thresh_csrbus_read_data;
433 wire [63:0] acknak_thresh_csrbus_omni_data;
434
435 wire [63:0] acknak_timer_csrbus_read_data;
436 wire [63:0] acknak_timer_csrbus_omni_data;
437
438 wire [63:0] replay_tim_thresh_csrbus_read_data;
439 wire [63:0] replay_tim_thresh_csrbus_omni_data;
440
441 wire [63:0] replay_timer_csrbus_read_data;
442 wire [63:0] replay_timer_csrbus_omni_data;
443
444 wire [63:0] ven_dllp_msg_csrbus_read_data;
445 wire [63:0] ven_dllp_msg_csrbus_omni_data;
446
447 wire [63:0] force_ltssm_csrbus_read_data;
448 wire [63:0] force_ltssm_csrbus_omni_data;
449
450 wire [63:0] link_cfg_csrbus_read_data;
451 wire [63:0] link_cfg_csrbus_omni_data;
452
453 wire [63:0] link_ctl_csrbus_read_data;
454 wire [63:0] link_ctl_csrbus_omni_data;
455
456 wire [63:0] lane_skew_csrbus_read_data;
457 wire [63:0] lane_skew_csrbus_omni_data;
458
459 wire [63:0] symbol_num_csrbus_read_data;
460 wire [63:0] symbol_num_csrbus_omni_data;
461
462 wire [63:0] symbol_timer_csrbus_read_data;
463 wire [63:0] symbol_timer_csrbus_omni_data;
464
465 wire [63:0] core_status_csrbus_read_data;
466 wire [63:0] core_status_csrbus_omni_data;
467
468 wire [63:0] event_err_log_en_csrbus_read_data;
469 wire [63:0] event_err_log_en_csrbus_omni_data;
470
471 wire [63:0] event_err_int_en_csrbus_read_data;
472 wire [63:0] event_err_int_en_csrbus_omni_data;
473
474 wire [63:0] event_err_int_sts_csrbus_read_data;
475 wire [63:0] event_err_int_sts_csrbus_omni_data;
476
477 wire [63:0] event_err_sts_clr_rw1c_alias_csrbus_read_data;
478 wire [63:0] event_err_sts_clr_rw1c_alias_csrbus_omni_data;
479
480 wire [63:0] event_err_sts_clr_rw1s_alias_csrbus_read_data;
481 wire [63:0] event_err_sts_clr_rw1s_alias_csrbus_omni_data;
482
483 wire [63:0] lnk_bit_err_cnt_1_csrbus_read_data;
484 wire [63:0] lnk_bit_err_cnt_1_csrbus_omni_data;
485
486 wire [63:0] lnk_bit_err_cnt_2_csrbus_read_data;
487 wire [63:0] lnk_bit_err_cnt_2_csrbus_omni_data;
488
489 wire [63:0] serdes_pll_csrbus_read_data;
490 wire [63:0] serdes_pll_csrbus_omni_data;
491
492 wire [63:0] serdes_receiver_lane_ctl_csrbus_read_data;
493 wire [63:0] serdes_receiver_lane_ctl_csrbus_omni_data;
494
495 wire [63:0] serdes_receiver_lane_status_csrbus_read_data;
496 wire [63:0] serdes_receiver_lane_status_csrbus_omni_data;
497
498 wire [63:0] serdes_xmitter_lane_ctl_csrbus_read_data;
499 wire [63:0] serdes_xmitter_lane_ctl_csrbus_omni_data;
500
501 wire [63:0] serdes_xmitter_lane_status_csrbus_read_data;
502 wire [63:0] serdes_xmitter_lane_status_csrbus_omni_data;
503
504 wire [63:0] serdes_macro_test_cfg_csrbus_read_data;
505 wire [63:0] serdes_macro_test_cfg_csrbus_omni_data;
506
507 initial begin
508 link_clk_by_10 = 0;
509 #(2) link_clk_by_10 = ~link_clk_by_10;
510 forever begin
511 #(0.2) link_clk_by_10 = ~link_clk_by_10;
512 end
513 end
514
515 assign link_clk_by_10_w = link_clk_by_10;
516
517
518 assign link_out = out_w;
519 assign link_out_bar = out_bar_w;
520
521 pcie_common_dcd dcd (
522 .clk (iol2clk),
523 .rst_l (rst_wmr_),
524 .csr_pkt_data (d2p_csr_rcd),
525 .csr_pkt_req (d2p_csr_req),
526 .csr_pkt_ack (p2d_csr_ack),
527 .csr_rng_data (dcd2csr_ring_data)
528 );
529
530
531 pcie_common_dcs dcs (
532 .clk (iol2clk),
533 .rst_l (rst_wmr_),
534 .csr_pkt_data (p2d_csr_rcd),
535 .csr_pkt_req (p2d_csr_req),
536 .csr_pkt_ack (d2p_csr_ack),
537 .csr_rng_data (csr2dcs_ring_data)
538 );
539
540
541 peu_top peu_model (
542 .l2t_clk(iol2clk),
543 .j2p_rst_l(rst_wmr_),
544 .j2p_por_l(rst_por_),
545 .d2p_ihb_clk(d2p_ihb_clk),
546 .d2p_ihb_rd(d2p_ihb_rd),
547 .d2p_ihb_addr(d2p_ihb_addr),
548 .p2d_ihb_data(p2d_ihb_data),
549 .p2d_ihb_dpar(p2d_ihb_dpar),
550 .p2d_ihb_wptr(p2d_ihb_wptr),
551 .d2p_idb_clk(d2p_idb_clk),
552 .d2p_idb_rd(d2p_idb_rd),
553 .d2p_idb_addr(d2p_idb_addr),
554 .p2d_idb_data(p2d_idb_data),
555 .p2d_idb_dpar(p2d_idb_dpar),
556 .d2p_ibc_req(d2p_ibc_req),
557 .p2d_ibc_ack(p2d_ibc_ack),
558 .d2p_ibc_nhc(d2p_ibc_nhc),
559 .d2p_ibc_phc(d2p_ibc_phc),
560 .d2p_ibc_pdc(d2p_ibc_pdc),
561 .p2d_cto_req(p2d_cto_req),
562 .p2d_cto_tag(p2d_cto_tag),
563 .d2p_cto_ack(d2p_cto_ack),
564 .p2d_drain(p2d_drain),
565 .p2d_mps(p2d_mps),
566 .p2d_ue_int(p2d_ue_int),
567 .p2d_ce_int(p2d_ce_int),
568 .p2d_oe_int(p2d_oe_int),
569 .d2p_ech_wptr(d2p_ech_wptr),
570 .p2d_ech_rptr(p2d_ech_rptr),
571 .d2p_erh_wptr(d2p_erh_wptr),
572 .p2d_erh_rptr(p2d_erh_rptr),
573 .p2d_ecd_rptr(p2d_ecd_rptr),
574 .p2d_erd_rptr(p2d_erd_rptr),
575 .d2p_ehb_we(d2p_ehb_we),
576 .d2p_ehb_addr(d2p_ehb_addr),
577 .d2p_ehb_data(d2p_ehb_data),
578 .d2p_ehb_dpar(d2p_ehb_dpar),
579 .d2p_edb_we(d2p_edb_we),
580 .d2p_edb_addr(d2p_edb_addr),
581 .d2p_edb_data(d2p_edb_data),
582 .d2p_edb_dpar(d2p_edb_dpar),
583 .d2p_csr_req(d2p_csr_req),
584 .d2p_csr_rcd(d2p_csr_rcd),
585 .d2p_csr_ack(d2p_csr_ack),
586 .dcd2csr_ring_data(dcd2csr_ring_data),
587 .csr2dcs_ring_data(csr2dcs_ring_data),
588 .lane_in0(in_ln0),
589 .lane_in1(in_ln1),
590 .lane_in2(in_ln2),
591 .lane_in3(in_ln3),
592 .lane_in4(in_ln4),
593 .lane_in5(in_ln5),
594 .lane_in6(in_ln6),
595 .lane_in7(in_ln7),
596 .lane_in8(in_ln8),
597 .lane_in9(in_ln9),
598 .lane_in0_b(in_ln0_b),
599 .lane_in1_b(in_ln1_b),
600 .lane_in2_b(in_ln2_b),
601 .lane_in3_b(in_ln3_b),
602 .lane_in4_b(in_ln4_b),
603 .lane_in5_b(in_ln5_b),
604 .lane_in6_b(in_ln6_b),
605 .lane_in7_b(in_ln7_b),
606 .lane_in8_b(in_ln8_b),
607 .lane_in9_b(in_ln9_b),
608 .frm_boundary_deser(frame_boundary_ltssm_rx),
609 .encoded_data0(out_ln0),
610 .encoded_data1(out_ln1),
611 .encoded_data2(out_ln2),
612 .encoded_data3(out_ln3),
613 .encoded_data4(out_ln4),
614 .encoded_data5(out_ln5),
615 .encoded_data6(out_ln6),
616 .encoded_data7(out_ln7),
617 .encoded_data8(out_ln8),
618 .encoded_data9(out_ln9),
619 .ts1_pattern_received(ts1_pattern_received),
620 .sym_boundary(out_frm_boundry),
621 .lane_in(link_in),
622 .lane_in_bar(link_in_bar),
623 .link_clk(link_clk_by_10_w),
624 .lane_out(link_out_w_ltssm),
625 .lane_out_bar(link_out_bar_w_ltssm),
626 .init_done(init_done),
627 .start_reinit(start_reinit),
628 .stage_reinit(stage_reinit),
629 .init_done_rx(init_done_rx),
630 .frame_boundary_ltssm_rx(frame_boundary_ltssm_rx),
631 .frame_boundary_ltssm_tx(frame_boundary_ltssm_tx),
632 .last_idle_frame(last_idle_frame),
633 .last_idle_frame_retraining(last_idle_frame_retraining),
634 .tlu_ctl_csrbus_read_data(tlu_ctl_csrbus_read_data),
635 .tlu_ctl_csrbus_omni_data(tlu_ctl_csrbus_omni_data),
636 .ilu_err_rw1s_alias_csrbus_read_data(ilu_err_rw1s_alias_csrbus_read_data),
637 .ilu_err_rw1s_alias_csrbus_omni_data(ilu_err_rw1s_alias_csrbus_omni_data),
638 .tlu_sts_csrbus_read_data(tlu_sts_csrbus_read_data),
639 .tlu_sts_csrbus_omni_data(tlu_sts_csrbus_omni_data),
640 .trn_off_csrbus_read_data(trn_off_csrbus_read_data),
641 .trn_off_csrbus_omni_data(trn_off_csrbus_omni_data),
642 .tlu_ici_csrbus_read_data(tlu_ici_csrbus_read_data),
643 .tlu_ici_csrbus_omni_data(tlu_ici_csrbus_omni_data),
644 .tlu_diag_csrbus_read_data(tlu_diag_csrbus_read_data),
645 .tlu_diag_csrbus_omni_data(tlu_diag_csrbus_omni_data),
646 .tlu_ecc_csrbus_read_data(tlu_ecc_csrbus_read_data),
647 .tlu_ecc_csrbus_omni_data(tlu_ecc_csrbus_omni_data),
648 .tlu_ecl_csrbus_read_data(tlu_ecl_csrbus_read_data),
649 .tlu_ecl_csrbus_omni_data(tlu_ecl_csrbus_omni_data),
650 .tlu_erb_csrbus_read_data(tlu_erb_csrbus_read_data),
651 .tlu_erb_csrbus_omni_data(tlu_erb_csrbus_omni_data),
652 .tlu_ica_csrbus_read_data(tlu_ica_csrbus_read_data),
653 .tlu_ica_csrbus_omni_data(tlu_ica_csrbus_omni_data),
654 .tlu_icr_csrbus_read_data(tlu_icr_csrbus_read_data),
655 .tlu_icr_csrbus_omni_data(tlu_icr_csrbus_omni_data),
656 .oe_log_csrbus_read_data(oe_log_csrbus_read_data),
657 .oe_log_csrbus_omni_data(oe_log_csrbus_omni_data),
658 .oe_int_en_csrbus_read_data(oe_int_en_csrbus_read_data),
659 .oe_int_en_csrbus_omni_data(oe_int_en_csrbus_omni_data),
660 .oe_en_err_csrbus_read_data(oe_en_err_csrbus_read_data),
661 .oe_en_err_csrbus_omni_data(oe_en_err_csrbus_omni_data),
662 .oe_err_rw1c_alias_csrbus_read_data(oe_err_rw1c_alias_csrbus_read_data),
663 .oe_err_rw1c_alias_csrbus_omni_data(oe_err_rw1c_alias_csrbus_omni_data),
664 .oe_err_rw1s_alias_csrbus_read_data(oe_err_rw1s_alias_csrbus_read_data),
665 .oe_err_rw1s_alias_csrbus_omni_data(oe_err_rw1s_alias_csrbus_omni_data),
666 .roe_hdr1_csrbus_read_data(roe_hdr1_csrbus_read_data),
667 .roe_hdr1_csrbus_omni_data(roe_hdr1_csrbus_omni_data),
668 .roe_hdr2_csrbus_read_data(roe_hdr2_csrbus_read_data),
669 .roe_hdr2_csrbus_omni_data(roe_hdr2_csrbus_omni_data),
670 .toe_hdr1_csrbus_read_data(toe_hdr1_csrbus_read_data),
671 .toe_hdr1_csrbus_omni_data(toe_hdr1_csrbus_omni_data),
672 .toe_hdr2_csrbus_read_data(toe_hdr2_csrbus_read_data),
673 .toe_hdr2_csrbus_omni_data(toe_hdr2_csrbus_omni_data),
674 .tlu_prfc_csrbus_read_data(tlu_prfc_csrbus_read_data),
675 .tlu_prfc_csrbus_omni_data(tlu_prfc_csrbus_omni_data),
676 .tlu_prf0_csrbus_read_data(tlu_prf0_csrbus_read_data),
677 .tlu_prf0_csrbus_omni_data(tlu_prf0_csrbus_omni_data),
678 .tlu_prf1_csrbus_read_data(tlu_prf1_csrbus_read_data),
679 .tlu_prf1_csrbus_omni_data(tlu_prf1_csrbus_omni_data),
680 .tlu_prf2_csrbus_read_data(tlu_prf2_csrbus_read_data),
681 .tlu_prf2_csrbus_omni_data(tlu_prf2_csrbus_omni_data),
682 .tlu_dbg_sel_a_csrbus_read_data(tlu_dbg_sel_a_csrbus_read_data),
683 .tlu_dbg_sel_a_csrbus_omni_data(tlu_dbg_sel_a_csrbus_omni_data),
684 .tlu_dbg_sel_b_csrbus_read_data(tlu_dbg_sel_b_csrbus_read_data),
685 .tlu_dbg_sel_b_csrbus_omni_data(tlu_dbg_sel_b_csrbus_omni_data),
686 .dev_cap_csrbus_read_data(dev_cap_csrbus_read_data),
687 .dev_cap_csrbus_omni_data(dev_cap_csrbus_omni_data),
688 .dev_ctl_csrbus_read_data(dev_ctl_csrbus_read_data),
689 .dev_ctl_csrbus_omni_data(dev_ctl_csrbus_omni_data),
690 .dev_sts_csrbus_read_data(dev_sts_csrbus_read_data),
691 .dev_sts_csrbus_omni_data(dev_sts_csrbus_omni_data),
692 .lnk_cap_csrbus_read_data(lnk_cap_csrbus_read_data),
693 .lnk_cap_csrbus_omni_data(lnk_cap_csrbus_omni_data),
694 .lnk_ctl_csrbus_read_data(lnk_ctl_csrbus_read_data),
695 .lnk_ctl_csrbus_omni_data(lnk_ctl_csrbus_omni_data),
696 .lnk_sts_csrbus_read_data(lnk_sts_csrbus_read_data),
697 .lnk_sts_csrbus_omni_data(lnk_sts_csrbus_omni_data),
698 .slt_cap_csrbus_read_data(slt_cap_csrbus_read_data),
699 .slt_cap_csrbus_omni_data(slt_cap_csrbus_omni_data),
700 .ue_log_csrbus_read_data(ue_log_csrbus_read_data),
701 .ue_log_csrbus_omni_data(ue_log_csrbus_omni_data),
702 .ue_int_en_csrbus_read_data(ue_int_en_csrbus_read_data),
703 .ue_int_en_csrbus_omni_data(ue_int_en_csrbus_omni_data),
704 .ue_en_err_csrbus_read_data(ue_en_err_csrbus_read_data),
705 .ue_en_err_csrbus_omni_data(ue_en_err_csrbus_omni_data),
706 .ue_err_rw1c_alias_csrbus_read_data(ue_err_rw1c_alias_csrbus_read_data),
707 .ue_err_rw1c_alias_csrbus_omni_data(ue_err_rw1c_alias_csrbus_omni_data),
708 .ue_err_rw1s_alias_csrbus_read_data(ue_err_rw1s_alias_csrbus_read_data),
709 .ue_err_rw1s_alias_csrbus_omni_data(ue_err_rw1s_alias_csrbus_omni_data),
710 .rue_hdr1_csrbus_read_data(rue_hdr1_csrbus_read_data),
711 .rue_hdr1_csrbus_omni_data(rue_hdr1_csrbus_omni_data),
712 .rue_hdr2_csrbus_read_data(rue_hdr2_csrbus_read_data),
713 .rue_hdr2_csrbus_omni_data(rue_hdr2_csrbus_omni_data),
714 .tue_hdr1_csrbus_read_data(tue_hdr1_csrbus_read_data),
715 .tue_hdr1_csrbus_omni_data(tue_hdr1_csrbus_omni_data),
716 .tue_hdr2_csrbus_read_data(tue_hdr2_csrbus_read_data),
717 .tue_hdr2_csrbus_omni_data(tue_hdr2_csrbus_omni_data),
718 .ce_log_csrbus_read_data(ce_log_csrbus_read_data),
719 .ce_log_csrbus_omni_data(ce_log_csrbus_omni_data),
720 .ce_int_en_csrbus_read_data(ce_int_en_csrbus_read_data),
721 .ce_int_en_csrbus_omni_data(ce_int_en_csrbus_omni_data),
722 .ce_en_err_csrbus_read_data(ce_en_err_csrbus_read_data),
723 .ce_en_err_csrbus_omni_data(ce_en_err_csrbus_omni_data),
724 .ce_err_rw1c_alias_csrbus_read_data(ce_err_rw1c_alias_csrbus_read_data),
725 .ce_err_rw1c_alias_csrbus_omni_data(ce_err_rw1c_alias_csrbus_omni_data),
726 .ce_err_rw1s_alias_csrbus_read_data(ce_err_rw1s_alias_csrbus_read_data),
727 .ce_err_rw1s_alias_csrbus_omni_data(ce_err_rw1s_alias_csrbus_omni_data),
728 .peu_dlpl_serdes_rev_csrbus_read_data(peu_dlpl_serdes_rev_csrbus_read_data),
729 .peu_dlpl_serdes_rev_csrbus_omni_data(peu_dlpl_serdes_rev_csrbus_omni_data),
730 .acknak_thresh_csrbus_read_data(acknak_thresh_csrbus_read_data),
731 .acknak_thresh_csrbus_omni_data(acknak_thresh_csrbus_omni_data),
732 .acknak_timer_csrbus_read_data(acknak_timer_csrbus_read_data),
733 .acknak_timer_csrbus_omni_data(acknak_timer_csrbus_omni_data),
734 .replay_tim_thresh_csrbus_read_data(replay_tim_thresh_csrbus_read_data),
735 .replay_tim_thresh_csrbus_omni_data(replay_tim_thresh_csrbus_omni_data),
736 .replay_timer_csrbus_read_data(replay_timer_csrbus_read_data),
737 .replay_timer_csrbus_omni_data(replay_timer_csrbus_omni_data),
738 .ven_dllp_msg_csrbus_read_data(ven_dllp_msg_csrbus_read_data),
739 .ven_dllp_msg_csrbus_omni_data(ven_dllp_msg_csrbus_omni_data),
740 .force_ltssm_csrbus_read_data(force_ltssm_csrbus_read_data),
741 .force_ltssm_csrbus_omni_data(force_ltssm_csrbus_omni_data),
742 .link_cfg_csrbus_read_data(link_cfg_csrbus_read_data),
743 .link_cfg_csrbus_omni_data(link_cfg_csrbus_omni_data),
744 .link_ctl_csrbus_read_data(link_ctl_csrbus_read_data),
745 .link_ctl_csrbus_omni_data(link_ctl_csrbus_omni_data),
746 .lane_skew_csrbus_read_data(lane_skew_csrbus_read_data),
747 .lane_skew_csrbus_omni_data(lane_skew_csrbus_omni_data),
748 .symbol_num_csrbus_read_data(symbol_num_csrbus_read_data),
749 .symbol_num_csrbus_omni_data(symbol_num_csrbus_omni_data),
750 .symbol_timer_csrbus_read_data(symbol_timer_csrbus_read_data),
751 .symbol_timer_csrbus_omni_data(symbol_timer_csrbus_omni_data),
752 .core_status_csrbus_read_data(core_status_csrbus_read_data),
753 .core_status_csrbus_omni_data(core_status_csrbus_omni_data),
754 .event_err_log_en_csrbus_read_data(event_err_log_en_csrbus_read_data),
755 .event_err_log_en_csrbus_omni_data(event_err_log_en_csrbus_omni_data),
756 .event_err_int_en_csrbus_read_data(event_err_int_en_csrbus_read_data),
757 .event_err_int_en_csrbus_omni_data(event_err_int_en_csrbus_omni_data),
758 .event_err_int_sts_csrbus_read_data(event_err_int_sts_csrbus_read_data),
759 .event_err_int_sts_csrbus_omni_data(event_err_int_sts_csrbus_omni_data),
760 .event_err_sts_clr_rw1c_alias_csrbus_read_data(event_err_sts_clr_rw1c_alias_csrbus_read_data),
761 .event_err_sts_clr_rw1c_alias_csrbus_omni_data(event_err_sts_clr_rw1c_alias_csrbus_omni_data),
762 .event_err_sts_clr_rw1s_alias_csrbus_read_data(event_err_sts_clr_rw1s_alias_csrbus_read_data),
763 .event_err_sts_clr_rw1s_alias_csrbus_omni_data(event_err_sts_clr_rw1s_alias_csrbus_omni_data),
764 .lnk_bit_err_cnt_1_csrbus_read_data(lnk_bit_err_cnt_1_csrbus_read_data),
765 .lnk_bit_err_cnt_1_csrbus_omni_data(lnk_bit_err_cnt_1_csrbus_omni_data),
766 .lnk_bit_err_cnt_2_csrbus_read_data(lnk_bit_err_cnt_2_csrbus_read_data),
767 .lnk_bit_err_cnt_2_csrbus_omni_data(lnk_bit_err_cnt_2_csrbus_omni_data),
768 .serdes_pll_csrbus_read_data(serdes_pll_csrbus_read_data),
769 .serdes_pll_csrbus_omni_data(serdes_pll_csrbus_omni_data),
770 .serdes_receiver_lane_ctl_csrbus_read_data(serdes_receiver_lane_ctl_csrbus_read_data),
771 .serdes_receiver_lane_ctl_csrbus_omni_data(serdes_receiver_lane_ctl_csrbus_omni_data),
772 .serdes_receiver_lane_status_csrbus_read_data(serdes_receiver_lane_status_csrbus_read_data),
773 .serdes_receiver_lane_status_csrbus_omni_data(serdes_receiver_lane_status_csrbus_omni_data),
774 .serdes_xmitter_lane_ctl_csrbus_read_data(serdes_xmitter_lane_ctl_csrbus_read_data),
775 .serdes_xmitter_lane_ctl_csrbus_omni_data(serdes_xmitter_lane_ctl_csrbus_omni_data),
776 .serdes_xmitter_lane_status_csrbus_read_data(serdes_xmitter_lane_status_csrbus_read_data),
777 .serdes_xmitter_lane_status_csrbus_omni_data(serdes_xmitter_lane_status_csrbus_omni_data),
778 .serdes_macro_test_cfg_csrbus_read_data(serdes_macro_test_cfg_csrbus_read_data),
779 .serdes_macro_test_cfg_csrbus_omni_data(serdes_macro_test_cfg_csrbus_omni_data)
780
781 );
782
783
784 peu_csr_omni csr_omni(
785 .tlu_ctl_csrbus_read_data(tlu_ctl_csrbus_read_data),
786 .tlu_ctl_csrbus_omni_data(tlu_ctl_csrbus_omni_data),
787 .ilu_err_rw1s_alias_csrbus_read_data(ilu_err_rw1s_alias_csrbus_read_data),
788 .ilu_err_rw1s_alias_csrbus_omni_data(ilu_err_rw1s_alias_csrbus_omni_data),
789 .tlu_sts_csrbus_read_data(tlu_sts_csrbus_read_data),
790 .tlu_sts_csrbus_omni_data(tlu_sts_csrbus_omni_data),
791 .trn_off_csrbus_read_data(trn_off_csrbus_read_data),
792 .trn_off_csrbus_omni_data(trn_off_csrbus_omni_data),
793 .tlu_ici_csrbus_read_data(tlu_ici_csrbus_read_data),
794 .tlu_ici_csrbus_omni_data(tlu_ici_csrbus_omni_data),
795 .tlu_diag_csrbus_read_data(tlu_diag_csrbus_read_data),
796 .tlu_diag_csrbus_omni_data(tlu_diag_csrbus_omni_data),
797 .tlu_ecc_csrbus_read_data(tlu_ecc_csrbus_read_data),
798 .tlu_ecc_csrbus_omni_data(tlu_ecc_csrbus_omni_data),
799 .tlu_ecl_csrbus_read_data(tlu_ecl_csrbus_read_data),
800 .tlu_ecl_csrbus_omni_data(tlu_ecl_csrbus_omni_data),
801 .tlu_erb_csrbus_read_data(tlu_erb_csrbus_read_data),
802 .tlu_erb_csrbus_omni_data(tlu_erb_csrbus_omni_data),
803 .tlu_ica_csrbus_read_data(tlu_ica_csrbus_read_data),
804 .tlu_ica_csrbus_omni_data(tlu_ica_csrbus_omni_data),
805 .tlu_icr_csrbus_read_data(tlu_icr_csrbus_read_data),
806 .tlu_icr_csrbus_omni_data(tlu_icr_csrbus_omni_data),
807 .oe_log_csrbus_read_data(oe_log_csrbus_read_data),
808 .oe_log_csrbus_omni_data(oe_log_csrbus_omni_data),
809 .oe_int_en_csrbus_read_data(oe_int_en_csrbus_read_data),
810 .oe_int_en_csrbus_omni_data(oe_int_en_csrbus_omni_data),
811 .oe_en_err_csrbus_read_data(oe_en_err_csrbus_read_data),
812 .oe_en_err_csrbus_omni_data(oe_en_err_csrbus_omni_data),
813 .oe_err_rw1c_alias_csrbus_read_data(oe_err_rw1c_alias_csrbus_read_data),
814 .oe_err_rw1c_alias_csrbus_omni_data(oe_err_rw1c_alias_csrbus_omni_data),
815 .oe_err_rw1s_alias_csrbus_read_data(oe_err_rw1s_alias_csrbus_read_data),
816 .oe_err_rw1s_alias_csrbus_omni_data(oe_err_rw1s_alias_csrbus_omni_data),
817 .roe_hdr1_csrbus_read_data(roe_hdr1_csrbus_read_data),
818 .roe_hdr1_csrbus_omni_data(roe_hdr1_csrbus_omni_data),
819 .roe_hdr2_csrbus_read_data(roe_hdr2_csrbus_read_data),
820 .roe_hdr2_csrbus_omni_data(roe_hdr2_csrbus_omni_data),
821 .toe_hdr1_csrbus_read_data(toe_hdr1_csrbus_read_data),
822 .toe_hdr1_csrbus_omni_data(toe_hdr1_csrbus_omni_data),
823 .toe_hdr2_csrbus_read_data(toe_hdr2_csrbus_read_data),
824 .toe_hdr2_csrbus_omni_data(toe_hdr2_csrbus_omni_data),
825 .tlu_prfc_csrbus_read_data(tlu_prfc_csrbus_read_data),
826 .tlu_prfc_csrbus_omni_data(tlu_prfc_csrbus_omni_data),
827 .tlu_prf0_csrbus_read_data(tlu_prf0_csrbus_read_data),
828 .tlu_prf0_csrbus_omni_data(tlu_prf0_csrbus_omni_data),
829 .tlu_prf1_csrbus_read_data(tlu_prf1_csrbus_read_data),
830 .tlu_prf1_csrbus_omni_data(tlu_prf1_csrbus_omni_data),
831 .tlu_prf2_csrbus_read_data(tlu_prf2_csrbus_read_data),
832 .tlu_prf2_csrbus_omni_data(tlu_prf2_csrbus_omni_data),
833 .tlu_dbg_sel_a_csrbus_read_data(tlu_dbg_sel_a_csrbus_read_data),
834 .tlu_dbg_sel_a_csrbus_omni_data(tlu_dbg_sel_a_csrbus_omni_data),
835 .tlu_dbg_sel_b_csrbus_read_data(tlu_dbg_sel_b_csrbus_read_data),
836 .tlu_dbg_sel_b_csrbus_omni_data(tlu_dbg_sel_b_csrbus_omni_data),
837 .dev_cap_csrbus_read_data(dev_cap_csrbus_read_data),
838 .dev_cap_csrbus_omni_data(dev_cap_csrbus_omni_data),
839 .dev_ctl_csrbus_read_data(dev_ctl_csrbus_read_data),
840 .dev_ctl_csrbus_omni_data(dev_ctl_csrbus_omni_data),
841 .dev_sts_csrbus_read_data(dev_sts_csrbus_read_data),
842 .dev_sts_csrbus_omni_data(dev_sts_csrbus_omni_data),
843 .lnk_cap_csrbus_read_data(lnk_cap_csrbus_read_data),
844 .lnk_cap_csrbus_omni_data(lnk_cap_csrbus_omni_data),
845 .lnk_ctl_csrbus_read_data(lnk_ctl_csrbus_read_data),
846 .lnk_ctl_csrbus_omni_data(lnk_ctl_csrbus_omni_data),
847 .lnk_sts_csrbus_read_data(lnk_sts_csrbus_read_data),
848 .lnk_sts_csrbus_omni_data(lnk_sts_csrbus_omni_data),
849 .slt_cap_csrbus_read_data(slt_cap_csrbus_read_data),
850 .slt_cap_csrbus_omni_data(slt_cap_csrbus_omni_data),
851 .ue_log_csrbus_read_data(ue_log_csrbus_read_data),
852 .ue_log_csrbus_omni_data(ue_log_csrbus_omni_data),
853 .ue_int_en_csrbus_read_data(ue_int_en_csrbus_read_data),
854 .ue_int_en_csrbus_omni_data(ue_int_en_csrbus_omni_data),
855 .ue_en_err_csrbus_read_data(ue_en_err_csrbus_read_data),
856 .ue_en_err_csrbus_omni_data(ue_en_err_csrbus_omni_data),
857 .ue_err_rw1c_alias_csrbus_read_data(ue_err_rw1c_alias_csrbus_read_data),
858 .ue_err_rw1c_alias_csrbus_omni_data(ue_err_rw1c_alias_csrbus_omni_data),
859 .ue_err_rw1s_alias_csrbus_read_data(ue_err_rw1s_alias_csrbus_read_data),
860 .ue_err_rw1s_alias_csrbus_omni_data(ue_err_rw1s_alias_csrbus_omni_data),
861 .rue_hdr1_csrbus_read_data(rue_hdr1_csrbus_read_data),
862 .rue_hdr1_csrbus_omni_data(rue_hdr1_csrbus_omni_data),
863 .rue_hdr2_csrbus_read_data(rue_hdr2_csrbus_read_data),
864 .rue_hdr2_csrbus_omni_data(rue_hdr2_csrbus_omni_data),
865 .tue_hdr1_csrbus_read_data(tue_hdr1_csrbus_read_data),
866 .tue_hdr1_csrbus_omni_data(tue_hdr1_csrbus_omni_data),
867 .tue_hdr2_csrbus_read_data(tue_hdr2_csrbus_read_data),
868 .tue_hdr2_csrbus_omni_data(tue_hdr2_csrbus_omni_data),
869 .ce_log_csrbus_read_data(ce_log_csrbus_read_data),
870 .ce_log_csrbus_omni_data(ce_log_csrbus_omni_data),
871 .ce_int_en_csrbus_read_data(ce_int_en_csrbus_read_data),
872 .ce_int_en_csrbus_omni_data(ce_int_en_csrbus_omni_data),
873 .ce_en_err_csrbus_read_data(ce_en_err_csrbus_read_data),
874 .ce_en_err_csrbus_omni_data(ce_en_err_csrbus_omni_data),
875 .ce_err_rw1c_alias_csrbus_read_data(ce_err_rw1c_alias_csrbus_read_data),
876 .ce_err_rw1c_alias_csrbus_omni_data(ce_err_rw1c_alias_csrbus_omni_data),
877 .ce_err_rw1s_alias_csrbus_read_data(ce_err_rw1s_alias_csrbus_read_data),
878 .ce_err_rw1s_alias_csrbus_omni_data(ce_err_rw1s_alias_csrbus_omni_data),
879 .peu_dlpl_serdes_rev_csrbus_read_data(peu_dlpl_serdes_rev_csrbus_read_data),
880 .peu_dlpl_serdes_rev_csrbus_omni_data(peu_dlpl_serdes_rev_csrbus_omni_data),
881 .acknak_thresh_csrbus_read_data(acknak_thresh_csrbus_read_data),
882 .acknak_thresh_csrbus_omni_data(acknak_thresh_csrbus_omni_data),
883 .acknak_timer_csrbus_read_data(acknak_timer_csrbus_read_data),
884 .acknak_timer_csrbus_omni_data(acknak_timer_csrbus_omni_data),
885 .replay_tim_thresh_csrbus_read_data(replay_tim_thresh_csrbus_read_data),
886 .replay_tim_thresh_csrbus_omni_data(replay_tim_thresh_csrbus_omni_data),
887 .replay_timer_csrbus_read_data(replay_timer_csrbus_read_data),
888 .replay_timer_csrbus_omni_data(replay_timer_csrbus_omni_data),
889 .ven_dllp_msg_csrbus_read_data(ven_dllp_msg_csrbus_read_data),
890 .ven_dllp_msg_csrbus_omni_data(ven_dllp_msg_csrbus_omni_data),
891 .force_ltssm_csrbus_read_data(force_ltssm_csrbus_read_data),
892 .force_ltssm_csrbus_omni_data(force_ltssm_csrbus_omni_data),
893 .link_cfg_csrbus_read_data(link_cfg_csrbus_read_data),
894 .link_cfg_csrbus_omni_data(link_cfg_csrbus_omni_data),
895 .link_ctl_csrbus_read_data(link_ctl_csrbus_read_data),
896 .link_ctl_csrbus_omni_data(link_ctl_csrbus_omni_data),
897 .lane_skew_csrbus_read_data(lane_skew_csrbus_read_data),
898 .lane_skew_csrbus_omni_data(lane_skew_csrbus_omni_data),
899 .symbol_num_csrbus_read_data(symbol_num_csrbus_read_data),
900 .symbol_num_csrbus_omni_data(symbol_num_csrbus_omni_data),
901 .symbol_timer_csrbus_read_data(symbol_timer_csrbus_read_data),
902 .symbol_timer_csrbus_omni_data(symbol_timer_csrbus_omni_data),
903 .core_status_csrbus_read_data(core_status_csrbus_read_data),
904 .core_status_csrbus_omni_data(core_status_csrbus_omni_data),
905 .event_err_log_en_csrbus_read_data(event_err_log_en_csrbus_read_data),
906 .event_err_log_en_csrbus_omni_data(event_err_log_en_csrbus_omni_data),
907 .event_err_int_en_csrbus_read_data(event_err_int_en_csrbus_read_data),
908 .event_err_int_en_csrbus_omni_data(event_err_int_en_csrbus_omni_data),
909 .event_err_int_sts_csrbus_read_data(event_err_int_sts_csrbus_read_data),
910 .event_err_int_sts_csrbus_omni_data(event_err_int_sts_csrbus_omni_data),
911 .event_err_sts_clr_rw1c_alias_csrbus_read_data(event_err_sts_clr_rw1c_alias_csrbus_read_data),
912 .event_err_sts_clr_rw1c_alias_csrbus_omni_data(event_err_sts_clr_rw1c_alias_csrbus_omni_data),
913 .event_err_sts_clr_rw1s_alias_csrbus_read_data(event_err_sts_clr_rw1s_alias_csrbus_read_data),
914 .event_err_sts_clr_rw1s_alias_csrbus_omni_data(event_err_sts_clr_rw1s_alias_csrbus_omni_data),
915 .lnk_bit_err_cnt_1_csrbus_read_data(lnk_bit_err_cnt_1_csrbus_read_data),
916 .lnk_bit_err_cnt_1_csrbus_omni_data(lnk_bit_err_cnt_1_csrbus_omni_data),
917 .lnk_bit_err_cnt_2_csrbus_read_data(lnk_bit_err_cnt_2_csrbus_read_data),
918 .lnk_bit_err_cnt_2_csrbus_omni_data(lnk_bit_err_cnt_2_csrbus_omni_data),
919 .serdes_pll_csrbus_read_data(serdes_pll_csrbus_read_data),
920 .serdes_pll_csrbus_omni_data(serdes_pll_csrbus_omni_data),
921 .serdes_receiver_lane_ctl_csrbus_read_data(serdes_receiver_lane_ctl_csrbus_read_data),
922 .serdes_receiver_lane_ctl_csrbus_omni_data(serdes_receiver_lane_ctl_csrbus_omni_data),
923 .serdes_receiver_lane_status_csrbus_read_data(serdes_receiver_lane_status_csrbus_read_data),
924 .serdes_receiver_lane_status_csrbus_omni_data(serdes_receiver_lane_status_csrbus_omni_data),
925 .serdes_xmitter_lane_ctl_csrbus_read_data(serdes_xmitter_lane_ctl_csrbus_read_data),
926 .serdes_xmitter_lane_ctl_csrbus_omni_data(serdes_xmitter_lane_ctl_csrbus_omni_data),
927 .serdes_xmitter_lane_status_csrbus_read_data(serdes_xmitter_lane_status_csrbus_read_data),
928 .serdes_xmitter_lane_status_csrbus_omni_data(serdes_xmitter_lane_status_csrbus_omni_data),
929 .serdes_macro_test_cfg_csrbus_read_data(serdes_macro_test_cfg_csrbus_read_data),
930 .serdes_macro_test_cfg_csrbus_omni_data(serdes_macro_test_cfg_csrbus_omni_data)
931
932 );
933
934
935 deserializer deser ( // Internally, model is gated by init_done
936 .lane_in(link_in),
937 .lane_in_bar(link_in_bar),
938 .lane_out0(in_ln0),
939 .lane_out1(in_ln1),
940 .lane_out2(in_ln2),
941 .lane_out3(in_ln3),
942 .lane_out4(in_ln4),
943 .lane_out5(in_ln5),
944 .lane_out6(in_ln6),
945 .lane_out7(in_ln7),
946 .lane_out8(in_ln8),
947 .lane_out9(in_ln9),
948 .lane_out0_b(in_ln0_b),
949 .lane_out1_b(in_ln1_b),
950 .lane_out2_b(in_ln2_b),
951 .lane_out3_b(in_ln3_b),
952 .lane_out4_b(in_ln4_b),
953 .lane_out5_b(in_ln5_b),
954 .lane_out6_b(in_ln6_b),
955 .lane_out7_b(in_ln7_b),
956 .lane_out8_b(in_ln8_b),
957 .lane_out9_b(in_ln9_b),
958 .init_done(init_done_rx),
959 .ts1_pattern_received(ts1_pattern_received),
960 .frm_boundary(frame_boundary_ltssm_rx),
961 .data_rdy(in_data_rdy),
962 .link_clk(link_clk_by_10_w)
963 );
964
965 serializer ser (
966 .out(link_out_w),
967 .out_bar(link_out_bar_w),
968 .lane_in0(out_ln0),
969 .lane_in1(out_ln1),
970 .lane_in2(out_ln2),
971 .lane_in3(out_ln3),
972 .lane_in4(out_ln4),
973 .lane_in5(out_ln5),
974 .lane_in6(out_ln6),
975 .lane_in7(out_ln7),
976 .lane_in8(out_ln8),
977 .lane_in9(out_ln9),
978 .frame_boundary(frame_boundary_ltssm_tx),
979 .link_clk(link_clk_by_10_w)
980 );
981
982 skew skew (.lane_in(((init_done || !stage_reinit) && (!last_idle_frame && !last_idle_frame_retraining))? link_out_w : link_out_w_ltssm),
983 .lane_in_bar( (init_done)? link_out_bar_w : link_out_bar_w_ltssm),
984 .link_clk (link_clk_by_10_w),
985 .out (out_w),
986 .out_bar (out_bar_w));
987
988
989
990
991
992
993endmodule // peu