Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / design / sys / iop / niu / rtl / niu_zcp2.v
CommitLineData
86530b38
AT
1// ========== Copyright Header Begin ==========================================
2//
3// OpenSPARC T2 Processor File: niu_zcp2.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/*%W% %G%*/
36
37/*************************************************************************
38 *
39 * File Name : niu_zcp2.v
40 * Author Name : John Lo
41 * Description : For N2 only.
42 * Parent Module:
43 * Child Module:
44 * Interface Mod:
45 * Date Created : 3/25/2004
46 *
47 * Design Notes :
48 *
49 * Copyright (c) 2020, Sun Microsystems, Inc.
50 * Sun Proprietary and Confidential
51 *
52 * Modification :
53 *
54 * Synthesis Notes:
55 *
56 *************************************************************************/
57
58`include "./niu_zcp.h"
59
60module niu_zcp2 (
61// pio broadcast signals
62pio_clients_addr,
63pio_clients_rd,
64pio_clients_wdata,
65pio_zcp_sel,
66zcp_pio_ack,
67zcp_pio_rdata,
68zcp_pio_err,
69zcp_pio_intr,
70// rdmc stuff
71page_handle, // 20 bit per handle
72// fflp intf
73fflp_zcp_wr,
74fflp_zcp_data,// 27 bytes = 216 bits
75// port0
76dmc_zcp_req0,
77zcp_dmc_ack0,
78zcp_dmc_dat0,
79zcp_dmc_dat_err0,
80zcp_dmc_emp0,
81zcp_dmc_ful_pkt0,
82// port1
83dmc_zcp_req1,
84zcp_dmc_ack1,
85zcp_dmc_dat1,
86zcp_dmc_dat_err1,
87zcp_dmc_emp1,
88zcp_dmc_ful_pkt1,
89reset_l,
90clk,
91zcp_debug_port,
92tcu_aclk,
93tcu_bclk,
94tcu_se_scancollar_in,
95tcu_se_scancollar_out,
96tcu_clk_stop,
97tcu_array_wr_inhibit,
98niu_mb7_cntrl_fifo_zcp_scan_in,
99niu_mb7_cntrl_fifo_zcp_scan_out,
100l2clk_2x,
101// mbist controller related
102niu_tcu_mbist_fail_7,
103niu_tcu_mbist_done_7,
104mb7_scan_in,
105mb7_scan_out,
106tcu_pce_ov,
107tcu_niu_mbist_start_7,
108tcu_mbist_bisi_en,
109tcu_scan_en,
110// specific to mb8
111niu_mb8_cntrl_fifo_zcp_scan_in,
112niu_mb8_cntrl_fifo_zcp_scan_out,
113niu_tcu_mbist_fail_8,
114niu_tcu_mbist_done_8,
115mb8_scan_in,
116mb8_scan_out,
117tcu_niu_mbist_start_8
118 );
119 // pio broadcast signals
120 input [19:0] pio_clients_addr;
121 input pio_clients_rd;
122 input [63:0] pio_clients_wdata;
123 input pio_zcp_sel;
124 output zcp_pio_ack;
125 output [63:0] zcp_pio_rdata;
126 output zcp_pio_err;
127 output zcp_pio_intr;
128 // rdmc stuff
129 input [`PMS31:0] page_handle; // 20 bit per handle
130 // fflp intf
131 input fflp_zcp_wr;
132 input [`IFIFO_W_R] fflp_zcp_data;// 27 bytes = 216 bits
133 // port0
134 input dmc_zcp_req0;
135 output zcp_dmc_ack0;
136 output [`CFIFO_W_R] zcp_dmc_dat0;
137 output zcp_dmc_dat_err0;
138 output zcp_dmc_emp0;
139 output zcp_dmc_ful_pkt0;
140 // port1
141 input dmc_zcp_req1;
142 output zcp_dmc_ack1;
143 output [`CFIFO_W_R] zcp_dmc_dat1;
144 output zcp_dmc_dat_err1;
145 output zcp_dmc_emp1;
146 output zcp_dmc_ful_pkt1;
147 input reset_l;
148 input clk;
149 output [31:0] zcp_debug_port;
150 // DFT signals
151 // memory related
152 input tcu_aclk;
153 input tcu_bclk;
154 input tcu_se_scancollar_in;
155 input tcu_se_scancollar_out;
156 input tcu_clk_stop;
157 input tcu_array_wr_inhibit;
158 input niu_mb7_cntrl_fifo_zcp_scan_in;
159 output niu_mb7_cntrl_fifo_zcp_scan_out;
160 input l2clk_2x;
161 // mbist controller related
162 output niu_tcu_mbist_fail_7;
163 output niu_tcu_mbist_done_7;
164 input mb7_scan_in;
165 output mb7_scan_out;
166 input tcu_pce_ov;
167 input tcu_niu_mbist_start_7;
168 input tcu_mbist_bisi_en;
169 input tcu_scan_en;
170 // specific to mb8
171 input niu_mb8_cntrl_fifo_zcp_scan_in;
172 output niu_mb8_cntrl_fifo_zcp_scan_out;
173 output niu_tcu_mbist_fail_8;
174 output niu_tcu_mbist_done_8;
175 input mb8_scan_in;
176 output mb8_scan_out;
177 input tcu_niu_mbist_start_8;
178
179
180
181/*AUTOWIRE*/
182// Beginning of automatic wires (for undeclared instantiated-module outputs)
183wire cfifo_ren0; // From niu_zcp_slv of niu_zcp_slv.v
184wire cfifo_ren1; // From niu_zcp_slv of niu_zcp_slv.v
185wire cfifo_ren2; // From niu_zcp_slv of niu_zcp_slv.v
186wire cfifo_ren3; // From niu_zcp_slv of niu_zcp_slv.v
187wire cfifo_wen0; // From niu_zcp_slv of niu_zcp_slv.v
188wire cfifo_wen1; // From niu_zcp_slv of niu_zcp_slv.v
189wire cfifo_wen2; // From niu_zcp_slv of niu_zcp_slv.v
190wire cfifo_wen3; // From niu_zcp_slv of niu_zcp_slv.v
191wire [4:0] default_rdc; // From niu_zcp_slv of niu_zcp_slv.v
192wire [10:0] dmaw_threshold; // From niu_zcp_slv of niu_zcp_slv.v
193wire dn_ram_ren; // From niu_zcp_slv of niu_zcp_slv.v
194wire dn_ram_wen; // From niu_zcp_slv of niu_zcp_slv.v
195wire [9:0] ds_offset0; // From niu_zcp_slv of niu_zcp_slv.v
196wire [9:0] ds_offset1; // From niu_zcp_slv of niu_zcp_slv.v
197wire [9:0] ds_offset2; // From niu_zcp_slv of niu_zcp_slv.v
198wire [9:0] ds_offset3; // From niu_zcp_slv of niu_zcp_slv.v
199wire [19:0] handle; // From niu_zcp_slv of niu_zcp_slv.v
200wire latch_ram_dout; // From niu_zcp_slv of niu_zcp_slv.v
201wire ld_ram_rdata; // From niu_zcp_slv of niu_zcp_slv.v
202wire ram_ren; // From niu_zcp_slv of niu_zcp_slv.v
203wire [4:0] ram_sel; // From niu_zcp_slv of niu_zcp_slv.v
204wire ram_wen; // From niu_zcp_slv of niu_zcp_slv.v
205wire req_dis; // From niu_zcp_slv of niu_zcp_slv.v
206wire rsp_dis; // From niu_zcp_slv of niu_zcp_slv.v
207wire sel_cfifo0; // From niu_zcp_slv of niu_zcp_slv.v
208wire sel_cfifo1; // From niu_zcp_slv of niu_zcp_slv.v
209wire sel_cfifo2; // From niu_zcp_slv of niu_zcp_slv.v
210wire sel_cfifo3; // From niu_zcp_slv of niu_zcp_slv.v
211wire sel_dn_ram; // From niu_zcp_slv of niu_zcp_slv.v
212wire sel_st_ram; // From niu_zcp_slv of niu_zcp_slv.v
213wire [11:0] slv_ram_addr; // From niu_zcp_slv of niu_zcp_slv.v
214wire [131:0] slv_ram_be; // From niu_zcp_slv of niu_zcp_slv.v
215wire [131:0] slv_ram_wdata; // From niu_zcp_slv of niu_zcp_slv.v
216wire slv_request; // From niu_zcp_slv of niu_zcp_slv.v
217wire [11:0] slv_tt_index; // From niu_zcp_slv of niu_zcp_slv.v
218wire st_ram_ren; // From niu_zcp_slv of niu_zcp_slv.v
219wire st_ram_wen; // From niu_zcp_slv of niu_zcp_slv.v
220wire [4:0] table_rdc; // From niu_zcp_slv of niu_zcp_slv.v
221wire tt_en; // From niu_zcp_slv of niu_zcp_slv.v
222wire tt_index_chk0; // From niu_zcp_slv of niu_zcp_slv.v
223wire tt_index_chk1; // From niu_zcp_slv of niu_zcp_slv.v
224wire tt_index_chk2; // From niu_zcp_slv of niu_zcp_slv.v
225wire tt_index_chk3; // From niu_zcp_slv of niu_zcp_slv.v
226wire [9:0] tt_index_end0; // From niu_zcp_slv of niu_zcp_slv.v
227wire [9:0] tt_index_end1; // From niu_zcp_slv of niu_zcp_slv.v
228wire [9:0] tt_index_end2; // From niu_zcp_slv of niu_zcp_slv.v
229wire [9:0] tt_index_end3; // From niu_zcp_slv of niu_zcp_slv.v
230wire [9:0] tt_index_start0; // From niu_zcp_slv of niu_zcp_slv.v
231wire [9:0] tt_index_start1; // From niu_zcp_slv of niu_zcp_slv.v
232wire [9:0] tt_index_start2; // From niu_zcp_slv of niu_zcp_slv.v
233wire [9:0] tt_index_start3; // From niu_zcp_slv of niu_zcp_slv.v
234wire [9:0] tt_offset0; // From niu_zcp_slv of niu_zcp_slv.v
235wire [9:0] tt_offset1; // From niu_zcp_slv of niu_zcp_slv.v
236wire [9:0] tt_offset2; // From niu_zcp_slv of niu_zcp_slv.v
237wire [9:0] tt_offset3; // From niu_zcp_slv of niu_zcp_slv.v
238wire va_ram_ren0; // From niu_zcp_slv of niu_zcp_slv.v
239wire va_ram_ren1; // From niu_zcp_slv of niu_zcp_slv.v
240wire va_ram_ren2; // From niu_zcp_slv of niu_zcp_slv.v
241wire va_ram_ren3; // From niu_zcp_slv of niu_zcp_slv.v
242wire va_ram_ren4; // From niu_zcp_slv of niu_zcp_slv.v
243wire va_ram_ren5; // From niu_zcp_slv of niu_zcp_slv.v
244wire va_ram_ren6; // From niu_zcp_slv of niu_zcp_slv.v
245wire va_ram_ren7; // From niu_zcp_slv of niu_zcp_slv.v
246wire va_ram_wen0; // From niu_zcp_slv of niu_zcp_slv.v
247wire va_ram_wen1; // From niu_zcp_slv of niu_zcp_slv.v
248wire va_ram_wen2; // From niu_zcp_slv of niu_zcp_slv.v
249wire va_ram_wen3; // From niu_zcp_slv of niu_zcp_slv.v
250wire va_ram_wen4; // From niu_zcp_slv of niu_zcp_slv.v
251wire va_ram_wen5; // From niu_zcp_slv of niu_zcp_slv.v
252wire va_ram_wen6; // From niu_zcp_slv of niu_zcp_slv.v
253wire va_ram_wen7; // From niu_zcp_slv of niu_zcp_slv.v
254wire [4:0] zc_rdc; // From niu_zcp_slv of niu_zcp_slv.v
255// End of automatics
256
257 wire [`CFIFO_W_R] zcp_dmc_dat0;
258 wire [`CFIFO_W_R] zcp_dmc_dat1;
259
260 wire [7:0] fflp_rdc;
261 wire [7:0] tt_rdc_reg;
262
263 wire slv_accepted = 1'b1;
264 wire [127:0] vram_slv_rdata = 128'b0;
265 wire [127:0] sram_slv_rdata = 128'b0;
266 wire [127:0] dram_slv_rdata = 128'b0;
267 wire [9:0] addr;
268 wire zcp_dmc_dat_err0;
269 wire zcp_dmc_dat_err1;
270 // non exist ports
271 wire zcp_dmc_dat_err2 = 1'b0;
272 wire zcp_dmc_dat_err3 = 1'b0;
273 wire [`CFIFO_W_R] zcp_dmc_dat2 = `CFIFO_W'b0;// 130 bits: [129:0]
274 wire [`CFIFO_W_R] zcp_dmc_dat3 = `CFIFO_W'b0;// 130 bits: [129:0]
275
276 wire wr_en0;
277 wire wr_en1;
278 wire wr_en2;
279 wire wr_en3;
280 wire [`CFIFO_W_R] wr_data; // 130 bits: [129:0]
281 wire [215:0] fflp_data;
282 wire neptune_signature;
283 wire [`VAFIFO_A_PTR] rsp_rp;
284 wire [11:0] tt_index;
285
286 wire reset;
287 wire reset_temp;
288 wire FUNC_MODE = 1'b1;
289
290
291/* --------------- reset logic -------------------------- */
292
293 assign reset_temp = ~reset_l;
294
295zcp_RegDff #(1) reset_RegDff (.din(reset_temp),.clk(clk),.qout(reset));
296
297
298/* --------------- tt instantiation -------------------------- */
299niu_zcp_tt niu_zcp_tt (
300`ifdef NEPTUNE
301// tt intf
302.va_dout0(va_dout0),
303.va_dout1(va_dout1),
304.va_dout2(va_dout2),
305.va_dout3(va_dout3),
306.va_dout4(va_dout4),
307.va_dout5(va_dout5),
308.va_dout6(va_dout6),
309.va_dout7(va_dout7),
310.va_dout8(va_dout8),
311.va_dout9(va_dout9),
312.va_dout10(va_dout10),
313.va_dout11(va_dout11),
314.va_dout12(va_dout12),
315.va_dout13(va_dout13),
316.va_dout14(va_dout14),
317.va_dout15(va_dout15),
318.st_dout0(st_dout0),
319.st_dout1(st_dout1),
320.dn_dout0(dn_dout0),
321.dn_dout1(dn_dout1),
322// req ptr intf
323.credit_ok(credit_ok),
324.tt_index(tt_index),
325.buf_req(buf_req),
326.HoQ_reg(HoQ_reg),
327.wb_HoQ_reg(wb_HoQ_reg),
328.win_HoQ_reg(win_HoQ_reg),
329.cross_q_end_reg(cross_q_end_reg),
330.tt_index_reg(tt_index_reg),
331.ring_size_reg(ring_size_reg),
332.ring_base_addr_reg(ring_base_addr_reg),
333.reach_buf_end_reg(reach_buf_end_reg),
334.num_buf_requested_reg(num_buf_requested_reg),
335// wb
336.wb_dn_reg(wb_dn_reg),
337.wb_tt(wb_tt),
338//
339.tt_rd_en(tt_rd_en),
340.tt_active(tt_active),
341`else // !ifdef NEPTUNE
342`endif
343.clk(clk),
344.reset(reset),
345// zcp_slv intf
346.tt_en(tt_en),
347.dmaw_threshold(dmaw_threshold[10:0]),
348.tt_index_err(1'b0),
349.slv_ram_wdata(slv_ram_wdata[`CFIFO_W_R]),
350.cfifo_wen0(cfifo_wen0),
351.cfifo_wen1(cfifo_wen1),
352.cfifo_wen2(cfifo_wen2),
353.cfifo_wen3(cfifo_wen3),
354.handle(handle[19:0]),
355// fflp wr intf
356.fflp_zcp_wr(fflp_zcp_wr),
357.fflp_zcp_data(fflp_zcp_data[`IFIFO_W_R]),
358// rx dmc stuff
359.decode_default_rdc(decode_default_rdc),
360.decode_table_rdc(decode_table_rdc),
361.decode_zc_rdc(decode_zc_rdc),
362.tt_rdc_reg(tt_rdc_reg[7:0]),
363.fflp_rdc(fflp_rdc[7:0]),
364.default_rdc(default_rdc[4:0]),
365.table_rdc(table_rdc[4:0]),
366.zc_rdc(zc_rdc[4:0]),
367.wr_data(wr_data[`CFIFO_W_R]),
368.wr_en0(wr_en0),
369.wr_en1(wr_en1),
370.wr_en2(wr_en2),
371.wr_en3(wr_en3)
372);
373
374/* --------------- pio interface ----------------------------- */
375niu_zcp_slv niu_zcp_slv
376 (/*AUTOINST*/
377 // Outputs
378 .zcp_pio_ack (zcp_pio_ack),
379 .zcp_pio_rdata (zcp_pio_rdata[63:0]),
380 .zcp_pio_err (zcp_pio_err),
381 .zcp_pio_intr (zcp_pio_intr),
382 .handle (handle[19:0]),
383 .default_rdc (default_rdc[4:0]),
384 .table_rdc (table_rdc[4:0]),
385 .zc_rdc (zc_rdc[4:0]),
386 .tt_en (tt_en),
387 .req_dis (req_dis),
388 .rsp_dis (rsp_dis),
389 .dmaw_threshold (dmaw_threshold[10:0]),
390 .slv_request (slv_request),
391 .slv_tt_index (slv_tt_index[11:0]),
392 .ram_sel (ram_sel[4:0]),
393 .slv_ram_addr (slv_ram_addr[11:0]),
394 .slv_ram_wdata (slv_ram_wdata[131:0]),
395 .slv_ram_be (slv_ram_be[131:0]),
396 .latch_ram_dout (latch_ram_dout),
397 .ld_ram_rdata (ld_ram_rdata),
398 .ram_ren (ram_ren),
399 .ram_wen (ram_wen),
400 .sel_st_ram (sel_st_ram),
401 .sel_dn_ram (sel_dn_ram),
402 .sel_cfifo0 (sel_cfifo0),
403 .sel_cfifo1 (sel_cfifo1),
404 .sel_cfifo2 (sel_cfifo2),
405 .sel_cfifo3 (sel_cfifo3),
406 .va_ram_ren0 (va_ram_ren0),
407 .va_ram_wen0 (va_ram_wen0),
408 .va_ram_ren1 (va_ram_ren1),
409 .va_ram_wen1 (va_ram_wen1),
410 .va_ram_ren2 (va_ram_ren2),
411 .va_ram_wen2 (va_ram_wen2),
412 .va_ram_ren3 (va_ram_ren3),
413 .va_ram_wen3 (va_ram_wen3),
414 .va_ram_ren4 (va_ram_ren4),
415 .va_ram_wen4 (va_ram_wen4),
416 .va_ram_ren5 (va_ram_ren5),
417 .va_ram_wen5 (va_ram_wen5),
418 .va_ram_ren6 (va_ram_ren6),
419 .va_ram_wen6 (va_ram_wen6),
420 .va_ram_ren7 (va_ram_ren7),
421 .va_ram_wen7 (va_ram_wen7),
422 .st_ram_ren (st_ram_ren),
423 .st_ram_wen (st_ram_wen),
424 .dn_ram_ren (dn_ram_ren),
425 .dn_ram_wen (dn_ram_wen),
426 .cfifo_ren0 (cfifo_ren0),
427 .cfifo_wen0 (cfifo_wen0),
428 .cfifo_ren1 (cfifo_ren1),
429 .cfifo_wen1 (cfifo_wen1),
430 .cfifo_ren2 (cfifo_ren2),
431 .cfifo_wen2 (cfifo_wen2),
432 .cfifo_ren3 (cfifo_ren3),
433 .cfifo_wen3 (cfifo_wen3),
434 .tt_offset0 (tt_offset0[9:0]),
435 .tt_index_start0 (tt_index_start0[9:0]),
436 .tt_index_end0 (tt_index_end0[9:0]),
437 .tt_index_chk0 (tt_index_chk0),
438 .tt_offset1 (tt_offset1[9:0]),
439 .tt_index_start1 (tt_index_start1[9:0]),
440 .tt_index_end1 (tt_index_end1[9:0]),
441 .tt_index_chk1 (tt_index_chk1),
442 .tt_offset2 (tt_offset2[9:0]),
443 .tt_index_start2 (tt_index_start2[9:0]),
444 .tt_index_end2 (tt_index_end2[9:0]),
445 .tt_index_chk2 (tt_index_chk2),
446 .tt_offset3 (tt_offset3[9:0]),
447 .tt_index_start3 (tt_index_start3[9:0]),
448 .tt_index_end3 (tt_index_end3[9:0]),
449 .tt_index_chk3 (tt_index_chk3),
450 .ds_offset0 (ds_offset0[9:0]),
451 .ds_offset1 (ds_offset1[9:0]),
452 .ds_offset2 (ds_offset2[9:0]),
453 .ds_offset3 (ds_offset3[9:0]),
454 .zcp_debug_port (zcp_debug_port[31:0]),
455 // Inputs
456 .clk (clk),
457 .reset (reset),
458 .pio_clients_addr (pio_clients_addr[19:0]),
459 .pio_clients_rd (pio_clients_rd),
460 .pio_clients_wdata (pio_clients_wdata[63:0]),
461 .pio_zcp_sel (pio_zcp_sel),
462 .zcp_dmc_dat_err0 (zcp_dmc_dat_err0),
463 .zcp_dmc_dat_err1 (zcp_dmc_dat_err1),
464 .zcp_dmc_dat_err2 (zcp_dmc_dat_err2),
465 .zcp_dmc_dat_err3 (zcp_dmc_dat_err3),
466 .decode_default_rdc (decode_default_rdc),
467 .decode_table_rdc (decode_table_rdc),
468 .decode_zc_rdc (decode_zc_rdc),
469 .tt_rdc_reg (tt_rdc_reg[7:0]),
470 .fflp_rdc (fflp_rdc[7:0]),
471 .page_handle (page_handle[`PMS31:0]),
472 .slv_accepted (slv_accepted),
473 .vram_slv_rdata (vram_slv_rdata[127:0]),
474 .sram_slv_rdata (sram_slv_rdata[127:0]),
475 .dram_slv_rdata (dram_slv_rdata[127:0]),
476 .zcp_dmc_dat0 (zcp_dmc_dat0[`CFIFO_W_R]),
477 .zcp_dmc_dat1 (zcp_dmc_dat1[`CFIFO_W_R]),
478 .zcp_dmc_dat2 (zcp_dmc_dat2[`CFIFO_W_R]),
479 .zcp_dmc_dat3 (zcp_dmc_dat3[`CFIFO_W_R]));
480
481
482// cfifo0
483niu_zcp_cfifo8KB niu_zcp_cfifo8KB_port0(
484.clk(clk),
485.reset(reset),
486.wr_en(wr_en0),
487.wr_data(wr_data[`CFIFO_W_R]),
488.dmc_zcp_req(dmc_zcp_req0),
489.zcp_dmc_ack(zcp_dmc_ack0),
490.zcp_dmc_dat(zcp_dmc_dat0[`CFIFO_W_R]),
491.zcp_dmc_dat_err(zcp_dmc_dat_err0),
492.zcp_dmc_emp(zcp_dmc_emp0),
493.zcp_dmc_ful_pkt(zcp_dmc_ful_pkt0),
494.sel_cfifo(sel_cfifo0),
495.slv_ram_addr(slv_ram_addr[11:0]),
496// DFT signals
497 // memory related
498 .tcu_aclk(tcu_aclk),
499 .tcu_bclk(tcu_bclk),
500 .tcu_se_scancollar_in(tcu_se_scancollar_in),
501 .tcu_se_scancollar_out(tcu_se_scancollar_out),
502 .tcu_clk_stop(tcu_clk_stop),
503 .tcu_array_wr_inhibit(tcu_array_wr_inhibit),
504 .scan_in(niu_mb7_cntrl_fifo_zcp_scan_in),
505 .scan_out(niu_mb7_cntrl_fifo_zcp_scan_out),
506 .l2clk_2x(l2clk_2x),
507 // mbist controller related
508 .niu_tcu_mbist_fail(niu_tcu_mbist_fail_7),
509 .niu_tcu_mbist_done(niu_tcu_mbist_done_7),
510 .mb_scan_in(mb7_scan_in),
511 .mb_scan_out(mb7_scan_out),
512 .tcu_pce_ov(tcu_pce_ov),
513 .tcu_niu_mbist_start(tcu_niu_mbist_start_7), // exception
514 .tcu_mbist_bisi_en(tcu_mbist_bisi_en),
515 .tcu_scan_en(tcu_scan_en)
516);
517
518// cfifo1
519niu_zcp_cfifo8KB niu_zcp_cfifo8KB_port1(
520.clk(clk),
521.reset(reset),
522.wr_en(wr_en1),
523.wr_data(wr_data[`CFIFO_W_R]),
524.dmc_zcp_req(dmc_zcp_req1),
525.zcp_dmc_ack(zcp_dmc_ack1),
526.zcp_dmc_dat(zcp_dmc_dat1[`CFIFO_W_R]),
527.zcp_dmc_dat_err(zcp_dmc_dat_err1),
528.zcp_dmc_emp(zcp_dmc_emp1),
529.zcp_dmc_ful_pkt(zcp_dmc_ful_pkt1),
530.sel_cfifo(sel_cfifo1),
531.slv_ram_addr(slv_ram_addr[11:0]),
532// DFT signals
533 // memory related
534 .tcu_aclk(tcu_aclk),
535 .tcu_bclk(tcu_bclk),
536 .tcu_se_scancollar_in(tcu_se_scancollar_in),
537 .tcu_se_scancollar_out(tcu_se_scancollar_out),
538 .tcu_clk_stop(tcu_clk_stop),
539 .tcu_array_wr_inhibit(tcu_array_wr_inhibit),
540 .scan_in(niu_mb8_cntrl_fifo_zcp_scan_in),
541 .scan_out(niu_mb8_cntrl_fifo_zcp_scan_out),
542 .l2clk_2x(l2clk_2x),
543 // mbist controller related
544 .niu_tcu_mbist_fail(niu_tcu_mbist_fail_8),
545 .niu_tcu_mbist_done(niu_tcu_mbist_done_8),
546 .mb_scan_in(mb8_scan_in),
547 .mb_scan_out(mb8_scan_out),
548 .tcu_pce_ov(tcu_pce_ov),
549 .tcu_niu_mbist_start(tcu_niu_mbist_start_8), // exception
550 .tcu_mbist_bisi_en(tcu_mbist_bisi_en),
551 .tcu_scan_en(tcu_scan_en)
552);
553
554
555endmodule // niu_zcp2
556
557
558