Commit | Line | Data |
---|---|---|
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 | ||
60 | module niu_zcp2 ( | |
61 | // pio broadcast signals | |
62 | pio_clients_addr, | |
63 | pio_clients_rd, | |
64 | pio_clients_wdata, | |
65 | pio_zcp_sel, | |
66 | zcp_pio_ack, | |
67 | zcp_pio_rdata, | |
68 | zcp_pio_err, | |
69 | zcp_pio_intr, | |
70 | // rdmc stuff | |
71 | page_handle, // 20 bit per handle | |
72 | // fflp intf | |
73 | fflp_zcp_wr, | |
74 | fflp_zcp_data,// 27 bytes = 216 bits | |
75 | // port0 | |
76 | dmc_zcp_req0, | |
77 | zcp_dmc_ack0, | |
78 | zcp_dmc_dat0, | |
79 | zcp_dmc_dat_err0, | |
80 | zcp_dmc_emp0, | |
81 | zcp_dmc_ful_pkt0, | |
82 | // port1 | |
83 | dmc_zcp_req1, | |
84 | zcp_dmc_ack1, | |
85 | zcp_dmc_dat1, | |
86 | zcp_dmc_dat_err1, | |
87 | zcp_dmc_emp1, | |
88 | zcp_dmc_ful_pkt1, | |
89 | reset_l, | |
90 | clk, | |
91 | zcp_debug_port, | |
92 | tcu_aclk, | |
93 | tcu_bclk, | |
94 | tcu_se_scancollar_in, | |
95 | tcu_se_scancollar_out, | |
96 | tcu_clk_stop, | |
97 | tcu_array_wr_inhibit, | |
98 | niu_mb7_cntrl_fifo_zcp_scan_in, | |
99 | niu_mb7_cntrl_fifo_zcp_scan_out, | |
100 | l2clk_2x, | |
101 | // mbist controller related | |
102 | niu_tcu_mbist_fail_7, | |
103 | niu_tcu_mbist_done_7, | |
104 | mb7_scan_in, | |
105 | mb7_scan_out, | |
106 | tcu_pce_ov, | |
107 | tcu_niu_mbist_start_7, | |
108 | tcu_mbist_bisi_en, | |
109 | tcu_scan_en, | |
110 | // specific to mb8 | |
111 | niu_mb8_cntrl_fifo_zcp_scan_in, | |
112 | niu_mb8_cntrl_fifo_zcp_scan_out, | |
113 | niu_tcu_mbist_fail_8, | |
114 | niu_tcu_mbist_done_8, | |
115 | mb8_scan_in, | |
116 | mb8_scan_out, | |
117 | tcu_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) | |
183 | wire cfifo_ren0; // From niu_zcp_slv of niu_zcp_slv.v | |
184 | wire cfifo_ren1; // From niu_zcp_slv of niu_zcp_slv.v | |
185 | wire cfifo_ren2; // From niu_zcp_slv of niu_zcp_slv.v | |
186 | wire cfifo_ren3; // From niu_zcp_slv of niu_zcp_slv.v | |
187 | wire cfifo_wen0; // From niu_zcp_slv of niu_zcp_slv.v | |
188 | wire cfifo_wen1; // From niu_zcp_slv of niu_zcp_slv.v | |
189 | wire cfifo_wen2; // From niu_zcp_slv of niu_zcp_slv.v | |
190 | wire cfifo_wen3; // From niu_zcp_slv of niu_zcp_slv.v | |
191 | wire [4:0] default_rdc; // From niu_zcp_slv of niu_zcp_slv.v | |
192 | wire [10:0] dmaw_threshold; // From niu_zcp_slv of niu_zcp_slv.v | |
193 | wire dn_ram_ren; // From niu_zcp_slv of niu_zcp_slv.v | |
194 | wire dn_ram_wen; // From niu_zcp_slv of niu_zcp_slv.v | |
195 | wire [9:0] ds_offset0; // From niu_zcp_slv of niu_zcp_slv.v | |
196 | wire [9:0] ds_offset1; // From niu_zcp_slv of niu_zcp_slv.v | |
197 | wire [9:0] ds_offset2; // From niu_zcp_slv of niu_zcp_slv.v | |
198 | wire [9:0] ds_offset3; // From niu_zcp_slv of niu_zcp_slv.v | |
199 | wire [19:0] handle; // From niu_zcp_slv of niu_zcp_slv.v | |
200 | wire latch_ram_dout; // From niu_zcp_slv of niu_zcp_slv.v | |
201 | wire ld_ram_rdata; // From niu_zcp_slv of niu_zcp_slv.v | |
202 | wire ram_ren; // From niu_zcp_slv of niu_zcp_slv.v | |
203 | wire [4:0] ram_sel; // From niu_zcp_slv of niu_zcp_slv.v | |
204 | wire ram_wen; // From niu_zcp_slv of niu_zcp_slv.v | |
205 | wire req_dis; // From niu_zcp_slv of niu_zcp_slv.v | |
206 | wire rsp_dis; // From niu_zcp_slv of niu_zcp_slv.v | |
207 | wire sel_cfifo0; // From niu_zcp_slv of niu_zcp_slv.v | |
208 | wire sel_cfifo1; // From niu_zcp_slv of niu_zcp_slv.v | |
209 | wire sel_cfifo2; // From niu_zcp_slv of niu_zcp_slv.v | |
210 | wire sel_cfifo3; // From niu_zcp_slv of niu_zcp_slv.v | |
211 | wire sel_dn_ram; // From niu_zcp_slv of niu_zcp_slv.v | |
212 | wire sel_st_ram; // From niu_zcp_slv of niu_zcp_slv.v | |
213 | wire [11:0] slv_ram_addr; // From niu_zcp_slv of niu_zcp_slv.v | |
214 | wire [131:0] slv_ram_be; // From niu_zcp_slv of niu_zcp_slv.v | |
215 | wire [131:0] slv_ram_wdata; // From niu_zcp_slv of niu_zcp_slv.v | |
216 | wire slv_request; // From niu_zcp_slv of niu_zcp_slv.v | |
217 | wire [11:0] slv_tt_index; // From niu_zcp_slv of niu_zcp_slv.v | |
218 | wire st_ram_ren; // From niu_zcp_slv of niu_zcp_slv.v | |
219 | wire st_ram_wen; // From niu_zcp_slv of niu_zcp_slv.v | |
220 | wire [4:0] table_rdc; // From niu_zcp_slv of niu_zcp_slv.v | |
221 | wire tt_en; // From niu_zcp_slv of niu_zcp_slv.v | |
222 | wire tt_index_chk0; // From niu_zcp_slv of niu_zcp_slv.v | |
223 | wire tt_index_chk1; // From niu_zcp_slv of niu_zcp_slv.v | |
224 | wire tt_index_chk2; // From niu_zcp_slv of niu_zcp_slv.v | |
225 | wire tt_index_chk3; // From niu_zcp_slv of niu_zcp_slv.v | |
226 | wire [9:0] tt_index_end0; // From niu_zcp_slv of niu_zcp_slv.v | |
227 | wire [9:0] tt_index_end1; // From niu_zcp_slv of niu_zcp_slv.v | |
228 | wire [9:0] tt_index_end2; // From niu_zcp_slv of niu_zcp_slv.v | |
229 | wire [9:0] tt_index_end3; // From niu_zcp_slv of niu_zcp_slv.v | |
230 | wire [9:0] tt_index_start0; // From niu_zcp_slv of niu_zcp_slv.v | |
231 | wire [9:0] tt_index_start1; // From niu_zcp_slv of niu_zcp_slv.v | |
232 | wire [9:0] tt_index_start2; // From niu_zcp_slv of niu_zcp_slv.v | |
233 | wire [9:0] tt_index_start3; // From niu_zcp_slv of niu_zcp_slv.v | |
234 | wire [9:0] tt_offset0; // From niu_zcp_slv of niu_zcp_slv.v | |
235 | wire [9:0] tt_offset1; // From niu_zcp_slv of niu_zcp_slv.v | |
236 | wire [9:0] tt_offset2; // From niu_zcp_slv of niu_zcp_slv.v | |
237 | wire [9:0] tt_offset3; // From niu_zcp_slv of niu_zcp_slv.v | |
238 | wire va_ram_ren0; // From niu_zcp_slv of niu_zcp_slv.v | |
239 | wire va_ram_ren1; // From niu_zcp_slv of niu_zcp_slv.v | |
240 | wire va_ram_ren2; // From niu_zcp_slv of niu_zcp_slv.v | |
241 | wire va_ram_ren3; // From niu_zcp_slv of niu_zcp_slv.v | |
242 | wire va_ram_ren4; // From niu_zcp_slv of niu_zcp_slv.v | |
243 | wire va_ram_ren5; // From niu_zcp_slv of niu_zcp_slv.v | |
244 | wire va_ram_ren6; // From niu_zcp_slv of niu_zcp_slv.v | |
245 | wire va_ram_ren7; // From niu_zcp_slv of niu_zcp_slv.v | |
246 | wire va_ram_wen0; // From niu_zcp_slv of niu_zcp_slv.v | |
247 | wire va_ram_wen1; // From niu_zcp_slv of niu_zcp_slv.v | |
248 | wire va_ram_wen2; // From niu_zcp_slv of niu_zcp_slv.v | |
249 | wire va_ram_wen3; // From niu_zcp_slv of niu_zcp_slv.v | |
250 | wire va_ram_wen4; // From niu_zcp_slv of niu_zcp_slv.v | |
251 | wire va_ram_wen5; // From niu_zcp_slv of niu_zcp_slv.v | |
252 | wire va_ram_wen6; // From niu_zcp_slv of niu_zcp_slv.v | |
253 | wire va_ram_wen7; // From niu_zcp_slv of niu_zcp_slv.v | |
254 | wire [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 | ||
295 | zcp_RegDff #(1) reset_RegDff (.din(reset_temp),.clk(clk),.qout(reset)); | |
296 | ||
297 | ||
298 | /* --------------- tt instantiation -------------------------- */ | |
299 | niu_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 ----------------------------- */ | |
375 | niu_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 | |
483 | niu_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 | |
519 | niu_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 | ||
555 | endmodule // niu_zcp2 | |
556 | ||
557 | ||
558 |