Commit | Line | Data |
---|---|---|
86530b38 AT |
1 | // ========== Copyright Header Begin ========================================== |
2 | // | |
3 | // OpenSPARC T2 Processor File: niu_smx.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/1ns | |
36 | `include "niu_smx_define.h" | |
37 | ||
38 | module niu_smx( | |
39 | ||
40 | // VPERL: &PORTLIST; | |
41 | // VPERL: GENERATED_BEG | |
42 | niu_clk, | |
43 | iol2clk, | |
44 | niu_reset_l, | |
45 | niu_sii_hdr_vld, | |
46 | niu_sii_reqbypass, | |
47 | niu_sii_datareq, | |
48 | niu_sii_data, | |
49 | niu_sii_parity, | |
50 | sii_niu_oqdq, | |
51 | sii_niu_bqdq, | |
52 | sio_niu_hdr_vld, | |
53 | sio_niu_datareq, | |
54 | sio_niu_data, | |
55 | sio_niu_parity, | |
56 | niu_sio_dq, | |
57 | dmc_meta0_req, | |
58 | dmc_meta0_req_cmd, | |
59 | dmc_meta0_req_address, | |
60 | dmc_meta0_req_length, | |
61 | dmc_meta0_req_transID, | |
62 | dmc_meta0_req_port_num, | |
63 | dmc_meta0_req_dma_num, | |
64 | dmc_meta0_req_client, | |
65 | meta_dmc0_req_accept, | |
66 | meta_dmc0_req_errors, | |
67 | meta_dmc0_data_req, | |
68 | dmc_meta0_data_valid, | |
69 | dmc_meta0_data, | |
70 | dmc_meta0_req_byteenable, | |
71 | dmc_meta0_status, | |
72 | dmc_meta0_transfer_complete, | |
73 | dmc_meta1_req, | |
74 | dmc_meta1_req_cmd, | |
75 | dmc_meta1_req_address, | |
76 | dmc_meta1_req_length, | |
77 | dmc_meta1_req_transID, | |
78 | dmc_meta1_req_port_num, | |
79 | dmc_meta1_req_dma_num, | |
80 | dmc_meta1_req_client, | |
81 | meta_dmc1_req_accept, | |
82 | meta_dmc1_req_errors, | |
83 | meta_dmc_resp_ready, | |
84 | meta_dmc_resp_cmd, | |
85 | meta_dmc_resp_cmd_status, | |
86 | meta_dmc_resp_address, | |
87 | meta_dmc_resp_length, | |
88 | meta_dmc_resp_transID, | |
89 | meta_dmc_resp_port_num, | |
90 | meta_dmc_resp_dma_num, | |
91 | ||
92 | meta_dmc_resp_client_txc, // cc | |
93 | meta_dmc_resp_client_tdmc, // cc | |
94 | meta_dmc_resp_client_rdmc, // cc | |
95 | ||
96 | meta_dmc_data_valid_txc, // cc | |
97 | meta_dmc_data_valid_tdmc, // cc | |
98 | meta_dmc_data_valid_rdmc, // cc | |
99 | ||
100 | meta_dmc_resp_complete_txc, // 1 cc | |
101 | meta_dmc_resp_complete_tdmc, // 2 cc | |
102 | meta_dmc_resp_complete_rdmc, // 5 cc | |
103 | ||
104 | meta_dmc_resp_transfer_cmpl_txc, // cc | |
105 | meta_dmc_resp_transfer_cmpl_tdmc, // cc | |
106 | meta_dmc_resp_transfer_cmpl_rdmc, // cc | |
107 | ||
108 | meta_dmc_ack_client_tdmc, // 2 cc | |
109 | meta_dmc_ack_client_rdmc, // 4 cc | |
110 | ||
111 | rdmc_meta_resp_accept, | |
112 | txc_meta_resp_accept, | |
113 | tdmc_meta_resp_accept, | |
114 | ||
115 | meta_dmc_data, | |
116 | meta_dmc_resp_byteenable, | |
117 | meta_dmc_data_status, | |
118 | ||
119 | // meta_dmc_resp_client, | |
120 | // meta_dmc_data_valid, | |
121 | // meta_dmc_resp_complete, | |
122 | // meta_dmc_ack_client, | |
123 | ||
124 | meta_dmc_resp_transfer_cmpl, | |
125 | ||
126 | meta_dmc_ack_ready, | |
127 | meta_dmc_ack_cmd, | |
128 | meta_dmc_ack_cmd_status, | |
129 | meta_dmc_ack_dma_num, | |
130 | meta_dmc_ack_transID, | |
131 | meta_dmc_ack_complete, | |
132 | meta_dmc_ack_transfer_cmpl, | |
133 | rdmc_meta_ack_accept, | |
134 | tdmc_meta_ack_accept, | |
135 | ncu_niu_ctag_uei, | |
136 | ncu_niu_ctag_cei, | |
137 | ncu_niu_d_pei, | |
138 | niu_ncu_ctag_ue, | |
139 | niu_ncu_ctag_ce, | |
140 | niu_ncu_d_pe, | |
141 | tcu_aclk, | |
142 | tcu_bclk, | |
143 | tcu_se_scancollar_in, | |
144 | tcu_array_wr_inhibit, | |
145 | tcu_mbist_user_mode, | |
146 | tds_smx_mbist_scan_in, | |
147 | tcu_tds_smx_mbist_start, | |
148 | tcu_mbist_bisi_en, | |
149 | tds_smx_tcu_mbist_fail, | |
150 | tds_smx_tcu_mbist_done, | |
151 | tds_smx_mbist_scan_out, | |
152 | pio_smx_cfg_data, | |
153 | smx_pio_intr, | |
154 | smx_pio_status, | |
155 | pio_smx_clear_intr, | |
156 | pio_smx_ctrl, | |
157 | pio_smx_debug_vector, | |
158 | dbg1_niu_stall, | |
159 | dbg1_niu_resume, | |
160 | niu_dbg1_stall_ack, | |
161 | smx_debug_port | |
162 | // VPERL: GENERATED_END | |
163 | ||
164 | ); | |
165 | input niu_clk; | |
166 | input iol2clk; | |
167 | input niu_reset_l; | |
168 | ||
169 | // sii interface (req) | |
170 | output niu_sii_hdr_vld; | |
171 | output niu_sii_reqbypass; | |
172 | output niu_sii_datareq; | |
173 | output [127:0] niu_sii_data; | |
174 | output [7:0] niu_sii_parity; | |
175 | ||
176 | input sii_niu_oqdq; | |
177 | input sii_niu_bqdq; | |
178 | ||
179 | // sio if (resp) | |
180 | input sio_niu_hdr_vld; | |
181 | input sio_niu_datareq; | |
182 | input [127:0] sio_niu_data; | |
183 | input [7:0] sio_niu_parity; | |
184 | output niu_sio_dq; | |
185 | ||
186 | // dmc wr req cmd if | |
187 | input dmc_meta0_req; | |
188 | input [7:0] dmc_meta0_req_cmd; | |
189 | input [63:0] dmc_meta0_req_address; | |
190 | input [13:0] dmc_meta0_req_length; | |
191 | input [5:0] dmc_meta0_req_transID; | |
192 | input [1:0] dmc_meta0_req_port_num; | |
193 | input [4:0] dmc_meta0_req_dma_num; | |
194 | input [7:0] dmc_meta0_req_client; | |
195 | output meta_dmc0_req_accept; | |
196 | output meta_dmc0_req_errors; // ??? TBD | |
197 | ||
198 | // dmc wr req data if | |
199 | output meta_dmc0_data_req; | |
200 | input dmc_meta0_data_valid; | |
201 | input [127:0] dmc_meta0_data; | |
202 | input [15:0] dmc_meta0_req_byteenable; | |
203 | input [3:0] dmc_meta0_status; | |
204 | input dmc_meta0_transfer_complete; | |
205 | ||
206 | // dmc rd cmd if | |
207 | input dmc_meta1_req; | |
208 | input [7:0] dmc_meta1_req_cmd; | |
209 | input [63:0] dmc_meta1_req_address; | |
210 | input [13:0] dmc_meta1_req_length; | |
211 | input [5:0] dmc_meta1_req_transID; | |
212 | input [1:0] dmc_meta1_req_port_num; | |
213 | input [4:0] dmc_meta1_req_dma_num; | |
214 | input [7:0] dmc_meta1_req_client; | |
215 | output meta_dmc1_req_accept; | |
216 | output meta_dmc1_req_errors; // ??? TBD | |
217 | ||
218 | // dmc resp cmd if | |
219 | output meta_dmc_resp_ready; | |
220 | output [7:0] meta_dmc_resp_cmd; | |
221 | output [3:0] meta_dmc_resp_cmd_status; | |
222 | output [63:0] meta_dmc_resp_address; | |
223 | output [13:0] meta_dmc_resp_length; | |
224 | output [5:0] meta_dmc_resp_transID; | |
225 | output [1:0] meta_dmc_resp_port_num; | |
226 | output [4:0] meta_dmc_resp_dma_num; | |
227 | ||
228 | // output [7:0] meta_dmc_resp_client; // cc | |
229 | output meta_dmc_resp_client_txc; | |
230 | output meta_dmc_resp_client_tdmc; | |
231 | output meta_dmc_resp_client_rdmc; | |
232 | ||
233 | ||
234 | input rdmc_meta_resp_accept; | |
235 | input txc_meta_resp_accept; | |
236 | input tdmc_meta_resp_accept; | |
237 | ||
238 | // wire [7:0] dmc_meta_resp_accept; | |
239 | ||
240 | // dmc resp data if | |
241 | // output [7:0] meta_dmc_data_valid; // cc | |
242 | output meta_dmc_data_valid_txc; | |
243 | output meta_dmc_data_valid_tdmc; | |
244 | output meta_dmc_data_valid_rdmc; | |
245 | ||
246 | output [127:0] meta_dmc_data; | |
247 | output [15:0] meta_dmc_resp_byteenable; | |
248 | output [3:0] meta_dmc_data_status; // <- chg | |
249 | ||
250 | // output [7:0] meta_dmc_resp_complete; // cc | |
251 | output meta_dmc_resp_complete_txc; // 1 | |
252 | output meta_dmc_resp_complete_tdmc; // 2 | |
253 | output meta_dmc_resp_complete_rdmc; // 5 | |
254 | ||
255 | output [7:0] meta_dmc_resp_transfer_cmpl; // chg cc | |
256 | output meta_dmc_resp_transfer_cmpl_txc; | |
257 | output meta_dmc_resp_transfer_cmpl_tdmc; | |
258 | output meta_dmc_resp_transfer_cmpl_rdmc; | |
259 | ||
260 | ||
261 | output meta_dmc_ack_ready; // Resp Command Request <--- all ack?? | |
262 | output [7:0] meta_dmc_ack_cmd; // Command Request | |
263 | output [3:0] meta_dmc_ack_cmd_status; // Command Request | |
264 | output [4:0] meta_dmc_ack_dma_num; // Channel Number | |
265 | output [5:0] meta_dmc_ack_transID; // Transaction ID | |
266 | ||
267 | // output [7:0] meta_dmc_ack_client; // bitwise client cc | |
268 | output meta_dmc_ack_client_tdmc; // 2 | |
269 | output meta_dmc_ack_client_rdmc; // 4 | |
270 | ||
271 | output meta_dmc_ack_complete; // tdmc is the only client | |
272 | output [7:0] meta_dmc_ack_transfer_cmpl; // Last trans of TransID | |
273 | ||
274 | input rdmc_meta_ack_accept; // bitwise client accept | |
275 | input tdmc_meta_ack_accept; // bitwise client accept | |
276 | ||
277 | // wire [7:0] dmc_meta_ack_accept; // bitwise client accept | |
278 | ||
279 | ||
280 | input ncu_niu_ctag_uei; | |
281 | input ncu_niu_ctag_cei; | |
282 | input ncu_niu_d_pei; | |
283 | ||
284 | output niu_ncu_ctag_ue; | |
285 | output niu_ncu_ctag_ce; | |
286 | output niu_ncu_d_pe; | |
287 | ||
288 | // mbist if | |
289 | ||
290 | input tcu_aclk; | |
291 | input tcu_bclk; | |
292 | input tcu_se_scancollar_in; | |
293 | input tcu_array_wr_inhibit; | |
294 | input tcu_mbist_user_mode; | |
295 | ||
296 | input tds_smx_mbist_scan_in; | |
297 | input tcu_tds_smx_mbist_start; | |
298 | input tcu_mbist_bisi_en; | |
299 | ||
300 | output tds_smx_tcu_mbist_fail; | |
301 | output tds_smx_tcu_mbist_done; | |
302 | output tds_smx_mbist_scan_out; | |
303 | ||
304 | ||
305 | // pio if | |
306 | input [31:0] pio_smx_cfg_data; // static | |
307 | output smx_pio_intr; // level signal; | |
308 | // once high stays high until clear by pio | |
309 | output[31:0] smx_pio_status; // status info related to intr | |
310 | input pio_smx_clear_intr; // a pulse | |
311 | ||
312 | input [31:0] pio_smx_ctrl; | |
313 | input [31:0] pio_smx_debug_vector; | |
314 | ||
315 | // n2 debug if | |
316 | input dbg1_niu_stall; | |
317 | input dbg1_niu_resume; | |
318 | output niu_dbg1_stall_ack; | |
319 | ||
320 | // niu debug port | |
321 | output [31:0] smx_debug_port; | |
322 | ||
323 | ||
324 | wire [7:0] niu_mb0_wdata; | |
325 | // wire [5:0] niu_mb0_addr; | |
326 | wire niu_mb0_smx_table_wr_en; | |
327 | wire niu_mb0_smx_table_rd_en; | |
328 | wire niu_mb0_run; | |
329 | ||
330 | wire niu_mb0_smx_store_wr_en; | |
331 | wire niu_mb0_smx_store_rd_en; | |
332 | ||
333 | wire [145:0] niu_mb0_smx_store_data_out; | |
334 | wire [145:0] niu_mb0_smx_table_data_out; | |
335 | ||
336 | ||
337 | // meta interface not used by clients | |
338 | // wire [63:0] meta_dmc_ack_address; // Memory Address | |
339 | // wire [13:0] meta_dmc_ack_length; // Packet Length | |
340 | // wire [1:0] meta_dmc_ack_port_num; // Port Number | |
341 | wire meta_dmc_ack_complete; // bitwise client | |
342 | ||
343 | ||
344 | // VPERL: PERL_BEG | |
345 | // &WIRES; | |
346 | // &INSTANCE ("./niu_smx_rdreq_dmc.v", "rdreq_dmc"); | |
347 | // &INSTANCE ("./niu_smx_wreq_dmc.v", "wreq_dmc"); | |
348 | // &INSTANCE ("./niu_smx_req_sii.v", "req_sii"); | |
349 | // &INSTANCE ("./niu_smx_resp_sio.v", "resp_sio"); | |
350 | // &INSTANCE ("./niu_smx_resp_dmc.v", "resp_dmc"); | |
351 | // &INSTANCE ("./niu_smx_req_ff.v", "req_ff"); | |
352 | // &INSTANCE ("./niu_smx_resp_ff.v", "resp_ff"); | |
353 | // &INSTANCE ("./niu_smx_xtb.v", "xtb"); | |
354 | // &INSTANCE ("./niu_smx_status.v", "flag_status"); | |
355 | // &INSTANCE ("./niu_smx_timer.v", "timer"); | |
356 | // &INSTANCE ("./niu_smx_timeout_hdlr.v", "timeout_hdlr"); | |
357 | // &INSTANCE ("./niu_smx_stall_hdlr.v", "stall_hdlr"); | |
358 | // &INSTANCE ("./niu_smx_pio.v", "pio"); | |
359 | // &INSTANCE ("/vobs/neptune/design/niu/niu_mb0/rtl/niu_mb0.v niu_mb0", "niu_mb0"); | |
360 | ||
361 | // &CONNECT ("resp_dmc.dmc_meta_resp_accept", "{1'b0, 1'b0, rdmc_meta_resp_accept, \ | |
362 | // 1'b0, 1'b0, tdmc_meta_resp_accept, \ | |
363 | // txc_meta_resp_accept, 1'b0}"); | |
364 | // &CONNECT ("resp_dmc.dmc_meta_ack_accept", "{1'b0, 1'b0, 1'b0, rdmc_meta_ack_accept, \ | |
365 | // 1'b0, tdmc_meta_ack_accept, 1'b0, 1'b0}"); | |
366 | // | |
367 | // &CONNECT ("flag_status.resp_rcv_rd", "1'b0"); | |
368 | // &CONNECT ("flag_status.resp_rcv_rdata",""); | |
369 | // &CONNECT ("flag_status.resp_rcv_raddr","{6{1'b0}}"); | |
370 | // &CONNECT ("flag_status.timeout_rd", "1'b0"); | |
371 | // &CONNECT ("flag_status.timeout_rdata",""); | |
372 | // &CONNECT ("flag_status.timeout_raddr","{6{1'b0}}"); | |
373 | // &CONNECT ("flag_status.tid_newarr_rd", "1'b0"); | |
374 | // &CONNECT ("flag_status.tid_newarr_rdata",""); | |
375 | // &CONNECT ("flag_status.tid_newarr_raddr","{6{1'b0}}"); | |
376 | ||
377 | // &CONNECT ("resp_ff.niu_mb0_smx_store_32x146_wdata","niu_mb0_wdata[7:0]"); | |
378 | // &CONNECT ("resp_ff.niu_mb0_smx_store_32x146_rd_addr","niu_mb0_addr[4:0]"); | |
379 | // &CONNECT ("resp_ff.niu_mb0_smx_store_32x146_wr_addr","niu_mb0_addr[4:0]"); | |
380 | // &CONNECT ("resp_ff.niu_mb0_smx_store_32x146_wr_en","niu_mb0_smx_store_wr_en"); | |
381 | // &CONNECT ("resp_ff.niu_mb0_smx_store_32x146_rd_en","niu_mb0_smx_store_rd_en"); | |
382 | ||
383 | // &CONNECT ("xtb.niu_mb0_smx_table_64x146_wdata","niu_mb0_wdata[7:0]"); | |
384 | // &CONNECT ("xtb.niu_mb0_smx_table_64x146_rd_addr","niu_mb0_addr[5:0]"); | |
385 | // &CONNECT ("xtb.niu_mb0_smx_table_64x146_wr_addr","niu_mb0_addr[5:0]"); | |
386 | // &CONNECT ("xtb.niu_mb0_smx_table_64x146_wr_en","niu_mb0_smx_table_wr_en"); | |
387 | // &CONNECT ("xtb.niu_mb0_smx_table_64x146_rd_en","niu_mb0_smx_table_rd_en"); | |
388 | ||
389 | // &CONNECT ("niu_mb0.mb0_scan_in", "tds_smx_mbist_scan_in"); | |
390 | // &CONNECT ("niu_mb0.mb0_scan_out", "tds_smx_mbist_scan_out"); | |
391 | // &CONNECT ("niu_mb0.tcu_niu_mbist_start_0", "tcu_tds_smx_mbist_start"); | |
392 | // &CONNECT ("niu_mb0.niu_tcu_mbist_done_0", "tds_smx_tcu_mbist_done"); | |
393 | // &CONNECT ("niu_mb0.niu_tcu_mbist_fail_0", "tds_smx_tcu_mbist_fail"); | |
394 | // &CONNECT ("niu_mb0.l1clk", "niu_clk"); | |
395 | // &CONNECT ("niu_mb0.rst_l", "niu_reset_l"); | |
396 | // &CONNECT ("niu_mb0.tcu_mbist_user_mode", "tcu_mbist_user_mode"); | |
397 | // &CONNECT ("rdreq_dmc.clk", "niu_clk"); | |
398 | // &CONNECT ("wreq_dmc.clk", "niu_clk"); | |
399 | // &CONNECT ("req_sii.clk", "niu_clk"); | |
400 | // &CONNECT ("resp_sio.clk", "niu_clk"); | |
401 | // &CONNECT ("resp_dmc.clk", "niu_clk"); | |
402 | // &CONNECT ("req_ff.clk", "niu_clk"); | |
403 | // &CONNECT ("resp_ff.clk", "niu_clk"); | |
404 | // &CONNECT ("xtb.clk", "niu_clk"); | |
405 | // &CONNECT ("flag_status.clk", "niu_clk"); | |
406 | // &CONNECT ("timer.clk", "niu_clk"); | |
407 | // &CONNECT ("timeout_hdlr.clk", "niu_clk"); | |
408 | // &CONNECT ("stall_hdlr.clk", "niu_clk"); | |
409 | // &CONNECT ("pio.clk", "niu_clk"); | |
410 | // &CONNECT ("rdreq_dmc.reset_l", "niu_reset_l"); | |
411 | // &CONNECT ("wreq_dmc.reset_l", "niu_reset_l"); | |
412 | // &CONNECT ("req_sii.reset_l", "niu_reset_l"); | |
413 | // &CONNECT ("resp_sio.reset_l", "niu_reset_l"); | |
414 | // &CONNECT ("resp_dmc.reset_l", "niu_reset_l"); | |
415 | // &CONNECT ("req_ff.reset_l", "niu_reset_l"); | |
416 | // &CONNECT ("resp_ff.reset_l", "niu_reset_l"); | |
417 | // &CONNECT ("xtb.reset_l", "niu_reset_l"); | |
418 | // &CONNECT ("flag_status.reset_l", "niu_reset_l"); | |
419 | // &CONNECT ("timer.reset_l", "niu_reset_l"); | |
420 | // &CONNECT ("timeout_hdlr.reset_l", "niu_reset_l"); | |
421 | // &CONNECT ("stall_hdlr.reset_l", "niu_reset_l"); | |
422 | // &CONNECT ("pio.reset_l", "niu_reset_l"); | |
423 | ||
424 | // # ??? need to bring this out when pio avail??? | |
425 | //# &CONNECT ("pio.pio_ld", "1'b0"); | |
426 | // &CONNECT ("pio.pio_data", "pio_smx_cfg_data"); | |
427 | // VPERL: PERL_END | |
428 | // VPERL: GENERATED_BEG | |
429 | ||
430 | wire [65:0] rdreq_cmdff_rdata; | |
431 | wire [65:0] rdreq_cmdff_wdata; | |
432 | wire [127:0] rdreq_xtb_wdata; | |
433 | wire [31:0] reg_timer_cfg; | |
434 | wire [21:0] resp_cmdff_rdata; | |
435 | wire [21:0] resp_cmdff_wdata; | |
436 | wire [143:0] resp_dataff_rdata; | |
437 | wire [143:0] resp_dataff_wdata; | |
438 | wire [63:0] resp_rcv_rdata_bus; | |
439 | wire [63:0] tid_newarr_rdata_bus; | |
440 | wire [63:0] tid_valid_rdata_bus; | |
441 | wire [63:0] tid_dirty_rdata_bus; | |
442 | wire [63:0] timeout_rdata_bus; | |
443 | wire [63:0] tohdl_cmdl_addr; | |
444 | wire [118:0] tohdl_xtb_rdata; | |
445 | wire [65:0] wreq_cmdff_rdata; | |
446 | wire [65:0] wreq_cmdff_wdata; | |
447 | wire [127:0] wreq_dataff_rdata; | |
448 | wire [127:0] wreq_dataff_wdata; | |
449 | wire [127:0] wreq_xtb_wdata; | |
450 | wire [128:0] xtb_rdata; | |
451 | wire [1:0] arb_cs; | |
452 | wire [2:0] cmdl_cs; | |
453 | wire cmdl_tohdl_ack; | |
454 | wire [2:0] dreq_cs; | |
455 | wire [2:0] dv_cs; | |
456 | wire [5:0] niu_mb0_addr; | |
457 | wire niu_mb0_smx_store_scan_out; // vlint | |
458 | wire niu_mb0_smx_table_scan_out; // vlint | |
459 | wire [2:0] pio_resp_err_inject_cfg; | |
460 | wire [2:0] pio_xtb_err_inject_cfg; | |
461 | wire [1:0] proc_cs; | |
462 | wire [2:0] rdreq_cmd_cs; | |
463 | wire rdreq_cmdff_empty; | |
464 | wire rdreq_cmdff_full; | |
465 | wire rdreq_cmdff_rd; | |
466 | wire rdreq_cmdff_wr; | |
467 | wire rdreq_cmdreq_idle; | |
468 | wire rdreq_rst_xtb_wr; | |
469 | wire [5:0] rdreq_xtb_waddr; | |
470 | wire rdreq_xtb_wr; | |
471 | wire [1:0] reg_ras_cfg; | |
472 | wire resp_cmdff_empty; | |
473 | wire resp_cmdff_full; | |
474 | wire resp_cmdff_rd; | |
475 | wire resp_cmdff_wr; | |
476 | wire resp_dataff_empty; | |
477 | wire resp_dataff_full; | |
478 | wire resp_dataff_rd; | |
479 | wire resp_dataff_wr; | |
480 | wire resp_rcv_rst; | |
481 | wire [5:0] resp_rcv_rst_addr; | |
482 | wire resp_rcv_set; | |
483 | wire [5:0] resp_rcv_set_addr; | |
484 | wire [1:0] sii_cs; | |
485 | wire siireq_idle; | |
486 | wire smx_nc_err; | |
487 | wire stall_enable; | |
488 | wire tid_newarr_rst; | |
489 | wire [5:0] tid_newarr_rst_addr; | |
490 | wire tid_newarr_set; | |
491 | wire [5:0] tid_newarr_set_addr; | |
492 | wire [5:0] tid_valid_raddr; | |
493 | wire tid_valid_rd; | |
494 | wire tid_valid_rdata; | |
495 | wire tid_valid_rst0; | |
496 | wire tid_valid_rst1; | |
497 | wire [5:0] tid_valid_rst_addr0; | |
498 | wire [5:0] tid_valid_rst_addr1; | |
499 | wire tid_valid_set; | |
500 | wire [5:0] tid_valid_set_addr; | |
501 | wire timeout_rst; | |
502 | wire [5:0] timeout_rst_addr; | |
503 | wire timeout_set; | |
504 | wire [5:0] timeout_set_addr; | |
505 | wire [7:0] tohdl_cmdl_client; | |
506 | wire [7:0] tohdl_cmdl_cmd; | |
507 | wire [4:0] tohdl_cmdl_dma; | |
508 | wire [13:0] tohdl_cmdl_len; | |
509 | wire [1:0] tohdl_cmdl_port; | |
510 | wire tohdl_cmdl_req; | |
511 | wire [5:0] tohdl_cmdl_xid; | |
512 | wire [5:0] tohdl_intr_status; | |
513 | wire tohdl_set_intr; | |
514 | wire [5:0] tohdl_xtb_raddr; | |
515 | wire tohdl_xtb_rd; | |
516 | wire tohdl_xtb_rd_ack; | |
517 | wire tohdl_xtb_rdata_err; | |
518 | wire [2:0] wreq_cmd_cs; | |
519 | wire wreq_cmdff_empty; | |
520 | wire wreq_cmdff_full; | |
521 | wire wreq_cmdff_rd; | |
522 | wire wreq_cmdff_wr; | |
523 | wire wreq_cmdreq_idle; | |
524 | wire wreq_dataff_empty; | |
525 | wire wreq_dataff_full; | |
526 | wire wreq_dataff_rd; | |
527 | wire wreq_dataff_wr; | |
528 | wire [1:0] wreq_dv_cs; | |
529 | wire wreq_pcmd_ff_empty; | |
530 | wire wreq_pcmd_ff_full; | |
531 | wire wreq_pcmd_ff_rd; | |
532 | wire [3:0] wreq_pcmd_ff_rdata; | |
533 | wire [3:0] wreq_pcmd_ff_wdata; | |
534 | wire wreq_pcmd_ff_wr; | |
535 | wire wreq_rst_xtb_wr; | |
536 | wire [5:0] wreq_xtb_waddr; | |
537 | wire wreq_xtb_wr; | |
538 | wire [5:0] xtb_raddr; | |
539 | wire xtb_rcvfile_update; | |
540 | wire [5:0] xtb_rcvfile_update_addr; | |
541 | wire xtb_rd; | |
542 | wire xtb_rd_ack; | |
543 | wire xtb_rdata_err; | |
544 | wire [63:0] tid_xmited_rdata_bus; | |
545 | wire [5:0] tid_xmited_set_addr; | |
546 | wire tid_xmited_set; | |
547 | ||
548 | wire wire_zero; | |
549 | ||
550 | wire [7:0] meta_dmc_resp_client; | |
551 | wire [7:0] meta_dmc_data_valid; | |
552 | wire [7:0] meta_dmc_resp_complete; | |
553 | wire [7:0] meta_dmc_resp_transfer_cmpl; | |
554 | wire [7:0] meta_dmc_ack_client; | |
555 | ||
556 | assign meta_dmc_resp_client_txc = meta_dmc_resp_client[1]; | |
557 | assign meta_dmc_resp_client_tdmc = meta_dmc_resp_client[2]; | |
558 | assign meta_dmc_resp_client_rdmc = meta_dmc_resp_client[5]; | |
559 | ||
560 | assign meta_dmc_data_valid_txc = meta_dmc_data_valid[1]; | |
561 | assign meta_dmc_data_valid_tdmc = meta_dmc_data_valid[2]; | |
562 | assign meta_dmc_data_valid_rdmc = meta_dmc_data_valid[5]; | |
563 | ||
564 | assign meta_dmc_resp_complete_txc = meta_dmc_resp_complete[1]; | |
565 | assign meta_dmc_resp_complete_tdmc = meta_dmc_resp_complete[2]; | |
566 | assign meta_dmc_resp_complete_rdmc = meta_dmc_resp_complete[5]; | |
567 | ||
568 | assign meta_dmc_resp_transfer_cmpl_txc = meta_dmc_resp_transfer_cmpl[1]; | |
569 | assign meta_dmc_resp_transfer_cmpl_tdmc = meta_dmc_resp_transfer_cmpl[2]; | |
570 | assign meta_dmc_resp_transfer_cmpl_rdmc = meta_dmc_resp_transfer_cmpl[5]; | |
571 | ||
572 | assign meta_dmc_ack_client_tdmc = meta_dmc_ack_client[2]; | |
573 | assign meta_dmc_ack_client_rdmc = meta_dmc_ack_client[4] | (wire_zero & 1'b0) ; | |
574 | ||
575 | assign wire_zero = (&meta_dmc_resp_client[7:0]) & (1'b0) & | |
576 | (&meta_dmc_data_valid[7:0]) & (1'b0) & | |
577 | (&meta_dmc_resp_complete[7:0]) & (1'b0) & | |
578 | (&meta_dmc_ack_client[7:0]) & (1'b0); | |
579 | ||
580 | niu_smx_rdreq_dmc rdreq_dmc ( | |
581 | .clk (niu_clk), | |
582 | .reset_l (niu_reset_l), | |
583 | .dmc_meta1_req (dmc_meta1_req), | |
584 | .dmc_meta1_req_cmd (dmc_meta1_req_cmd[7:0]), | |
585 | .dmc_meta1_req_address (dmc_meta1_req_address[63:0]), | |
586 | .dmc_meta1_req_length (dmc_meta1_req_length[13:0]), | |
587 | .dmc_meta1_req_transID (dmc_meta1_req_transID[5:0]), | |
588 | .dmc_meta1_req_port_num (dmc_meta1_req_port_num[1:0]), | |
589 | .dmc_meta1_req_dma_num (dmc_meta1_req_dma_num[4:0]), | |
590 | .dmc_meta1_req_client (dmc_meta1_req_client[7:0]), | |
591 | .meta_dmc1_req_accept (meta_dmc1_req_accept), | |
592 | .rdreq_cmdff_wr (rdreq_cmdff_wr), | |
593 | .rdreq_cmdff_wdata (rdreq_cmdff_wdata[65:0]), | |
594 | .rdreq_cmdff_full (rdreq_cmdff_full), | |
595 | .rdreq_xtb_wr (rdreq_xtb_wr), | |
596 | .rdreq_xtb_waddr (rdreq_xtb_waddr[5:0]), | |
597 | .rdreq_xtb_wdata (rdreq_xtb_wdata[127:0]), | |
598 | .rdreq_rst_xtb_wr (rdreq_rst_xtb_wr), | |
599 | .stall_enable (stall_enable), | |
600 | .rdreq_cmdreq_idle (rdreq_cmdreq_idle), | |
601 | .rdreq_cmd_cs (rdreq_cmd_cs[2:0]), | |
602 | .tid_valid_rdata_bus (tid_valid_rdata_bus[63:0]) | |
603 | ); | |
604 | ||
605 | niu_smx_wreq_dmc wreq_dmc ( | |
606 | .clk (niu_clk), | |
607 | .reset_l (niu_reset_l), | |
608 | .dmc_meta0_req (dmc_meta0_req), | |
609 | .dmc_meta0_req_cmd (dmc_meta0_req_cmd[7:0]), | |
610 | .dmc_meta0_req_address (dmc_meta0_req_address[63:0]), | |
611 | .dmc_meta0_req_length (dmc_meta0_req_length[13:0]), | |
612 | .dmc_meta0_req_transID (dmc_meta0_req_transID[5:0]), | |
613 | .dmc_meta0_req_port_num (dmc_meta0_req_port_num[1:0]), | |
614 | .dmc_meta0_req_dma_num (dmc_meta0_req_dma_num[4:0]), | |
615 | .dmc_meta0_req_client (dmc_meta0_req_client[7:0]), | |
616 | .meta_dmc0_req_accept (meta_dmc0_req_accept), | |
617 | .meta_dmc0_data_req (meta_dmc0_data_req), | |
618 | .dmc_meta0_data_valid (dmc_meta0_data_valid), | |
619 | .dmc_meta0_data (dmc_meta0_data[127:0]), | |
620 | .dmc_meta0_req_byteenable (dmc_meta0_req_byteenable[15:0]), | |
621 | .dmc_meta0_status (dmc_meta0_status[3:0]), | |
622 | .dmc_meta0_transfer_complete (dmc_meta0_transfer_complete), | |
623 | .wreq_cmdff_wr (wreq_cmdff_wr), | |
624 | .wreq_cmdff_wdata (wreq_cmdff_wdata[65:0]), | |
625 | .wreq_cmdff_full (wreq_cmdff_full), | |
626 | .wreq_dataff_wr (wreq_dataff_wr), | |
627 | .wreq_dataff_wdata (wreq_dataff_wdata[127:0]), | |
628 | .wreq_dataff_full (wreq_dataff_full), | |
629 | .wreq_pcmd_ff_wr (wreq_pcmd_ff_wr), | |
630 | .wreq_pcmd_ff_wdata (wreq_pcmd_ff_wdata[3:0]), | |
631 | .wreq_pcmd_ff_full (wreq_pcmd_ff_full), | |
632 | .wreq_xtb_wr (wreq_xtb_wr), | |
633 | .wreq_xtb_waddr (wreq_xtb_waddr[5:0]), | |
634 | .wreq_xtb_wdata (wreq_xtb_wdata[127:0]), | |
635 | .wreq_rst_xtb_wr (wreq_rst_xtb_wr), | |
636 | .stall_enable (stall_enable), | |
637 | .wreq_cmdreq_idle (wreq_cmdreq_idle), | |
638 | .wreq_cmd_cs (wreq_cmd_cs[2:0]), | |
639 | .dreq_cs (dreq_cs[2:0]), | |
640 | .wreq_dv_cs (wreq_dv_cs[1:0]) | |
641 | ); | |
642 | ||
643 | niu_smx_req_sii req_sii ( | |
644 | .clk (niu_clk), | |
645 | .reset_l (niu_reset_l), | |
646 | .niu_sii_hdr_vld (niu_sii_hdr_vld), | |
647 | .niu_sii_reqbypass (niu_sii_reqbypass), | |
648 | .niu_sii_datareq (niu_sii_datareq), | |
649 | .niu_sii_data (niu_sii_data[127:0]), | |
650 | .niu_sii_parity (niu_sii_parity[7:0]), | |
651 | .sii_niu_oqdq (sii_niu_oqdq), | |
652 | .sii_niu_bqdq (sii_niu_bqdq), | |
653 | .wreq_cmdff_rd (wreq_cmdff_rd), | |
654 | .wreq_cmdff_rdata (wreq_cmdff_rdata[65:0]), | |
655 | .wreq_cmdff_empty (wreq_cmdff_empty), | |
656 | .wreq_pcmd_ff_rd (wreq_pcmd_ff_rd), | |
657 | .wreq_pcmd_ff_rdata (wreq_pcmd_ff_rdata[3:0]), | |
658 | .wreq_pcmd_ff_empty (wreq_pcmd_ff_empty), | |
659 | .rdreq_cmdff_rd (rdreq_cmdff_rd), | |
660 | .rdreq_cmdff_rdata (rdreq_cmdff_rdata[65:0]), | |
661 | .rdreq_cmdff_empty (rdreq_cmdff_empty), | |
662 | .wreq_dataff_rd (wreq_dataff_rd), | |
663 | .wreq_dataff_rdata (wreq_dataff_rdata[127:0]), | |
664 | .wreq_dataff_empty (wreq_dataff_empty), | |
665 | .siireq_idle (siireq_idle), | |
666 | .sii_cs (sii_cs[1:0]), | |
667 | .arb_cs (arb_cs[1:0]), | |
668 | .tid_valid_rdata_bus (tid_valid_rdata_bus[63:0]), | |
669 | .tid_xmited_set (tid_xmited_set), | |
670 | .tid_xmited_set_addr (tid_xmited_set_addr[5:0]) | |
671 | ); | |
672 | ||
673 | niu_smx_resp_sio resp_sio ( | |
674 | .clk (niu_clk), | |
675 | .reset_l (niu_reset_l), | |
676 | .sio_niu_hdr_vld (sio_niu_hdr_vld), | |
677 | .sio_niu_datareq (sio_niu_datareq), | |
678 | .sio_niu_data (sio_niu_data[127:0]), | |
679 | .sio_niu_parity (sio_niu_parity[7:0]), | |
680 | .resp_cmdff_wr (resp_cmdff_wr), | |
681 | .resp_cmdff_wdata (resp_cmdff_wdata[21:0]), | |
682 | .resp_cmdff_full (resp_cmdff_full), | |
683 | .resp_dataff_wr (resp_dataff_wr), | |
684 | .resp_dataff_wdata (resp_dataff_wdata[143:0]), | |
685 | .resp_dataff_full (resp_dataff_full), | |
686 | .ncu_niu_ctag_uei (ncu_niu_ctag_uei), | |
687 | .ncu_niu_ctag_cei (ncu_niu_ctag_cei), | |
688 | .ncu_niu_d_pei (ncu_niu_d_pei), | |
689 | .niu_ncu_ctag_ue (niu_ncu_ctag_ue), | |
690 | .niu_ncu_ctag_ce (niu_ncu_ctag_ce), | |
691 | .niu_ncu_d_pe (niu_ncu_d_pe), | |
692 | .reg_ras_cfg (reg_ras_cfg[1:0]) | |
693 | ); | |
694 | ||
695 | niu_smx_resp_dmc resp_dmc ( | |
696 | .clk (niu_clk), | |
697 | .reset_l (niu_reset_l), | |
698 | .meta_dmc_resp_ready (meta_dmc_resp_ready), | |
699 | .meta_dmc_resp_cmd (meta_dmc_resp_cmd[7:0]), | |
700 | .meta_dmc_resp_cmd_status (meta_dmc_resp_cmd_status[3:0]), | |
701 | .meta_dmc_resp_address (meta_dmc_resp_address[63:0]), | |
702 | .meta_dmc_resp_length (meta_dmc_resp_length[13:0]), | |
703 | .meta_dmc_resp_transID (meta_dmc_resp_transID[5:0]), | |
704 | .meta_dmc_resp_port_num (meta_dmc_resp_port_num[1:0]), | |
705 | .meta_dmc_resp_dma_num (meta_dmc_resp_dma_num[4:0]), | |
706 | .meta_dmc_resp_client (meta_dmc_resp_client[7:0]), | |
707 | .dmc_meta_resp_accept ({1'b0, 1'b0, rdmc_meta_resp_accept, | |
708 | 1'b0, 1'b0, tdmc_meta_resp_accept, | |
709 | txc_meta_resp_accept, 1'b0}), | |
710 | .meta_dmc_data_valid (meta_dmc_data_valid[7:0]), | |
711 | .meta_dmc_data (meta_dmc_data[127:0]), | |
712 | .meta_dmc_resp_byteenable (meta_dmc_resp_byteenable[15:0]), | |
713 | .meta_dmc_data_status (meta_dmc_data_status[3:0]), | |
714 | .meta_dmc_resp_complete (meta_dmc_resp_complete[7:0]), | |
715 | .meta_dmc_resp_transfer_cmpl (meta_dmc_resp_transfer_cmpl[7:0]), | |
716 | .meta_dmc_ack_ready (meta_dmc_ack_ready), | |
717 | .meta_dmc_ack_cmd (meta_dmc_ack_cmd[7:0]), | |
718 | .meta_dmc_ack_cmd_status (meta_dmc_ack_cmd_status[3:0]), | |
719 | .meta_dmc_ack_transID (meta_dmc_ack_transID[5:0]), | |
720 | .meta_dmc_ack_dma_num (meta_dmc_ack_dma_num[4:0]), | |
721 | .meta_dmc_ack_client (meta_dmc_ack_client[7:0]), | |
722 | .dmc_meta_ack_accept ({1'b0, 1'b0, 1'b0, rdmc_meta_ack_accept, | |
723 | 1'b0, tdmc_meta_ack_accept, 1'b0, 1'b0}), | |
724 | .meta_dmc_ack_complete (meta_dmc_ack_complete), | |
725 | .meta_dmc_ack_transfer_cmpl (meta_dmc_ack_transfer_cmpl[7:0]), | |
726 | .niu_sio_dq (niu_sio_dq), | |
727 | .xtb_rd (xtb_rd), | |
728 | .xtb_raddr (xtb_raddr[5:0]), | |
729 | .xtb_rdata (xtb_rdata[128:0]), | |
730 | .xtb_rd_ack (xtb_rd_ack), | |
731 | .xtb_rdata_err (xtb_rdata_err), | |
732 | .xtb_rcvfile_update (xtb_rcvfile_update), | |
733 | .xtb_rcvfile_update_addr (xtb_rcvfile_update_addr[5:0]), | |
734 | .resp_cmdff_empty (resp_cmdff_empty), | |
735 | .resp_cmdff_rdata (resp_cmdff_rdata[21:0]), | |
736 | .resp_cmdff_rd (resp_cmdff_rd), | |
737 | .resp_dataff_empty (resp_dataff_empty), | |
738 | .resp_dataff_rdata (resp_dataff_rdata[143:0]), | |
739 | .resp_dataff_rd (resp_dataff_rd), | |
740 | .tid_valid_rst0 (tid_valid_rst0), | |
741 | .tid_valid_rst_addr0 (tid_valid_rst_addr0[5:0]), | |
742 | .tid_valid_rd (tid_valid_rd), | |
743 | .tid_valid_raddr (tid_valid_raddr[5:0]), | |
744 | .tid_valid_rdata (tid_valid_rdata), | |
745 | .resp_rcv_set (resp_rcv_set), | |
746 | .resp_rcv_set_addr (resp_rcv_set_addr[5:0]), | |
747 | .tohdl_cmdl_req (tohdl_cmdl_req), | |
748 | .tohdl_cmdl_cmd (tohdl_cmdl_cmd[7:0]), | |
749 | .tohdl_cmdl_addr (tohdl_cmdl_addr[63:0]), | |
750 | .tohdl_cmdl_len (tohdl_cmdl_len[13:0]), | |
751 | .tohdl_cmdl_xid (tohdl_cmdl_xid[5:0]), | |
752 | .tohdl_cmdl_port (tohdl_cmdl_port[1:0]), | |
753 | .tohdl_cmdl_dma (tohdl_cmdl_dma[4:0]), | |
754 | .tohdl_cmdl_client (tohdl_cmdl_client[7:0]), | |
755 | .cmdl_tohdl_ack (cmdl_tohdl_ack), | |
756 | .pio_resp_err_inject_cfg (pio_resp_err_inject_cfg[2:0]), | |
757 | .cmdl_cs (cmdl_cs[2:0]), | |
758 | .dv_cs (dv_cs[2:0]), | |
759 | .proc_cs (proc_cs[1:0]), | |
760 | .tid_dirty_rdata_bus (tid_dirty_rdata_bus[63:0]) | |
761 | ); | |
762 | ||
763 | niu_smx_req_ff req_ff ( | |
764 | .clk (niu_clk), | |
765 | .reset_l (niu_reset_l), | |
766 | .rdreq_cmdff_wr (rdreq_cmdff_wr), | |
767 | .rdreq_cmdff_wdata (rdreq_cmdff_wdata[65:0]), | |
768 | .rdreq_cmdff_full (rdreq_cmdff_full), | |
769 | .rdreq_cmdff_rd (rdreq_cmdff_rd), | |
770 | .rdreq_cmdff_rdata (rdreq_cmdff_rdata[65:0]), | |
771 | .rdreq_cmdff_empty (rdreq_cmdff_empty), | |
772 | .wreq_cmdff_wr (wreq_cmdff_wr), | |
773 | .wreq_cmdff_wdata (wreq_cmdff_wdata[65:0]), | |
774 | .wreq_cmdff_full (wreq_cmdff_full), | |
775 | .wreq_cmdff_rd (wreq_cmdff_rd), | |
776 | .wreq_cmdff_rdata (wreq_cmdff_rdata[65:0]), | |
777 | .wreq_cmdff_empty (wreq_cmdff_empty), | |
778 | .wreq_dataff_wr (wreq_dataff_wr), | |
779 | .wreq_dataff_wdata (wreq_dataff_wdata[127:0]), | |
780 | .wreq_dataff_full (wreq_dataff_full), | |
781 | .wreq_dataff_rd (wreq_dataff_rd), | |
782 | .wreq_dataff_rdata (wreq_dataff_rdata[127:0]), | |
783 | .wreq_dataff_empty (wreq_dataff_empty), | |
784 | .wreq_pcmd_ff_wr (wreq_pcmd_ff_wr), | |
785 | .wreq_pcmd_ff_wdata (wreq_pcmd_ff_wdata[3:0]), | |
786 | .wreq_pcmd_ff_full (wreq_pcmd_ff_full), | |
787 | .wreq_pcmd_ff_rd (wreq_pcmd_ff_rd), | |
788 | .wreq_pcmd_ff_rdata (wreq_pcmd_ff_rdata[3:0]), | |
789 | .wreq_pcmd_ff_empty (wreq_pcmd_ff_empty) | |
790 | ); | |
791 | ||
792 | niu_smx_resp_ff resp_ff ( | |
793 | .clk (niu_clk), | |
794 | .iol2clk (iol2clk), | |
795 | .reset_l (niu_reset_l), | |
796 | .resp_cmdff_wr (resp_cmdff_wr), | |
797 | .resp_cmdff_wdata (resp_cmdff_wdata[21:0]), | |
798 | .resp_cmdff_full (resp_cmdff_full), | |
799 | .resp_cmdff_rd (resp_cmdff_rd), | |
800 | .resp_cmdff_rdata (resp_cmdff_rdata[21:0]), | |
801 | .resp_cmdff_empty (resp_cmdff_empty), | |
802 | .resp_dataff_wr (resp_dataff_wr), | |
803 | .resp_dataff_wdata (resp_dataff_wdata[143:0]), | |
804 | .resp_dataff_full (resp_dataff_full), | |
805 | .resp_dataff_rd (resp_dataff_rd), | |
806 | .resp_dataff_rdata (resp_dataff_rdata[143:0]), | |
807 | .resp_dataff_empty (resp_dataff_empty), | |
808 | .tcu_aclk (tcu_aclk), | |
809 | .tcu_bclk (tcu_bclk), | |
810 | .tcu_se_scancollar_in (tcu_se_scancollar_in), | |
811 | .tcu_array_wr_inhibit (tcu_array_wr_inhibit), | |
812 | .mb0_smx_store_32x146_scan_in (1'b0), | |
813 | .mb0_smx_store_32x146_scan_out (niu_mb0_smx_store_scan_out), | |
814 | .niu_mb0_smx_store_32x146_wdata (niu_mb0_wdata[7:0]), | |
815 | .niu_mb0_smx_store_32x146_rd_addr (niu_mb0_addr[4:0]), | |
816 | .niu_mb0_smx_store_32x146_wr_addr (niu_mb0_addr[4:0]), | |
817 | .niu_mb0_smx_store_32x146_wr_en (niu_mb0_smx_store_wr_en), | |
818 | .niu_mb0_smx_store_32x146_rd_en (niu_mb0_smx_store_rd_en), | |
819 | .niu_mb0_run (niu_mb0_run), | |
820 | .niu_mb0_smx_store_data_out (niu_mb0_smx_store_data_out[145:0]) | |
821 | ); | |
822 | ||
823 | niu_smx_xtb xtb ( | |
824 | .clk (niu_clk), | |
825 | .iol2clk (iol2clk), | |
826 | .reset_l (niu_reset_l), | |
827 | .rdreq_xtb_wr (rdreq_xtb_wr), | |
828 | .rdreq_xtb_waddr (rdreq_xtb_waddr[5:0]), | |
829 | .rdreq_xtb_wdata (rdreq_xtb_wdata[127:0]), | |
830 | .rdreq_rst_xtb_wr (rdreq_rst_xtb_wr), | |
831 | .wreq_xtb_wr (wreq_xtb_wr), | |
832 | .wreq_xtb_waddr (wreq_xtb_waddr[5:0]), | |
833 | .wreq_xtb_wdata (wreq_xtb_wdata[127:0]), | |
834 | .wreq_rst_xtb_wr (wreq_rst_xtb_wr), | |
835 | .xtb_rd (xtb_rd), | |
836 | .xtb_raddr (xtb_raddr[5:0]), | |
837 | .xtb_rdata (xtb_rdata[128:0]), | |
838 | .xtb_rd_ack (xtb_rd_ack), | |
839 | .xtb_rdata_err (xtb_rdata_err), | |
840 | .xtb_rcvfile_update (xtb_rcvfile_update), | |
841 | .xtb_rcvfile_update_addr (xtb_rcvfile_update_addr[5:0]), | |
842 | .tid_valid_set (tid_valid_set), | |
843 | .tid_valid_set_addr (tid_valid_set_addr[5:0]), | |
844 | .tid_newarr_set (tid_newarr_set), | |
845 | .tid_newarr_set_addr (tid_newarr_set_addr[5:0]), | |
846 | .tohdl_xtb_rd (tohdl_xtb_rd), | |
847 | .tohdl_xtb_raddr (tohdl_xtb_raddr[5:0]), | |
848 | .tohdl_xtb_rdata (tohdl_xtb_rdata[118:0]), | |
849 | .tohdl_xtb_rd_ack (tohdl_xtb_rd_ack), | |
850 | .tohdl_xtb_rdata_err (tohdl_xtb_rdata_err), | |
851 | .tcu_aclk (tcu_aclk), | |
852 | .tcu_bclk (tcu_bclk), | |
853 | .tcu_se_scancollar_in (tcu_se_scancollar_in), | |
854 | .tcu_array_wr_inhibit (tcu_array_wr_inhibit), | |
855 | .mb0_smx_table_64x146_scan_in (1'b0), | |
856 | .mb0_smx_table_64x146_scan_out (niu_mb0_smx_table_scan_out), | |
857 | .niu_mb0_smx_table_64x146_wdata (niu_mb0_wdata[7:0]), | |
858 | .niu_mb0_smx_table_64x146_rd_addr (niu_mb0_addr[5:0]), | |
859 | .niu_mb0_smx_table_64x146_wr_addr (niu_mb0_addr[5:0]), | |
860 | .niu_mb0_smx_table_64x146_wr_en (niu_mb0_smx_table_wr_en), | |
861 | .niu_mb0_smx_table_64x146_rd_en (niu_mb0_smx_table_rd_en), | |
862 | .niu_mb0_run (niu_mb0_run), | |
863 | .niu_mb0_smx_table_data_out (niu_mb0_smx_table_data_out[145:0]), | |
864 | .pio_xtb_err_inject_cfg (pio_xtb_err_inject_cfg[2:0]) | |
865 | ); | |
866 | ||
867 | niu_smx_status flag_status ( | |
868 | .clk (niu_clk), | |
869 | .reset_l (niu_reset_l), | |
870 | .tid_valid_rst0 (tid_valid_rst0), | |
871 | .tid_valid_rst1 (tid_valid_rst1), | |
872 | .tid_valid_rst_addr0 (tid_valid_rst_addr0[5:0]), | |
873 | .tid_valid_rst_addr1 (tid_valid_rst_addr1[5:0]), | |
874 | .tid_valid_set (tid_valid_set), | |
875 | .tid_valid_set_addr (tid_valid_set_addr[5:0]), | |
876 | .tid_valid_rd (tid_valid_rd), | |
877 | .tid_valid_raddr (tid_valid_raddr[5:0]), | |
878 | .tid_valid_rdata (tid_valid_rdata), | |
879 | .tid_valid_rdata_bus (tid_valid_rdata_bus[63:0]), | |
880 | .tid_newarr_rst (tid_newarr_rst), | |
881 | .tid_newarr_rst_addr (tid_newarr_rst_addr[5:0]), | |
882 | .tid_newarr_set (tid_newarr_set), | |
883 | .tid_newarr_set_addr (tid_newarr_set_addr[5:0]), | |
884 | .tid_newarr_rd (1'b0), | |
885 | .tid_newarr_raddr ({6{1'b0}}), | |
886 | .tid_newarr_rdata (), | |
887 | .tid_newarr_rdata_bus (tid_newarr_rdata_bus[63:0]), | |
888 | .resp_rcv_rst (resp_rcv_rst), | |
889 | .resp_rcv_rst_addr (resp_rcv_rst_addr[5:0]), | |
890 | .resp_rcv_set (resp_rcv_set), | |
891 | .resp_rcv_set_addr (resp_rcv_set_addr[5:0]), | |
892 | .resp_rcv_rd (1'b0), | |
893 | .resp_rcv_raddr ({6{1'b0}}), | |
894 | .resp_rcv_rdata (), | |
895 | .resp_rcv_rdata_bus (resp_rcv_rdata_bus[63:0]), | |
896 | .timeout_set (timeout_set), | |
897 | .timeout_rst (timeout_rst), | |
898 | .timeout_set_addr (timeout_set_addr[5:0]), | |
899 | .timeout_rst_addr (timeout_rst_addr[5:0]), | |
900 | .timeout_rd (1'b0), | |
901 | .timeout_raddr ({6{1'b0}}), | |
902 | .timeout_rdata (), | |
903 | .timeout_rdata_bus (timeout_rdata_bus[63:0]), | |
904 | .tid_xmited_set (tid_xmited_set), | |
905 | .tid_xmited_set_addr (tid_xmited_set_addr[5:0]), | |
906 | .tid_xmited_rdata_bus (tid_xmited_rdata_bus[63:0]), | |
907 | .tid_dirty_rdata_bus (tid_dirty_rdata_bus[63:0]) | |
908 | ); | |
909 | ||
910 | niu_smx_timer timer ( | |
911 | .clk (niu_clk), | |
912 | .reset_l (niu_reset_l), | |
913 | .reg_timer_cfg (reg_timer_cfg[31:0]), | |
914 | .resp_rcv_rdata_bus (resp_rcv_rdata_bus[63:0]), | |
915 | .resp_rcv_rst (resp_rcv_rst), | |
916 | .resp_rcv_rst_addr (resp_rcv_rst_addr[5:0]), | |
917 | .tid_valid_rdata_bus (tid_valid_rdata_bus[63:0]), | |
918 | .tid_valid_rst1 (tid_valid_rst1), | |
919 | .tid_valid_rst_addr1 (tid_valid_rst_addr1[5:0]), | |
920 | .tid_newarr_rdata_bus (tid_newarr_rdata_bus[63:0]), | |
921 | .tid_newarr_rst (tid_newarr_rst), | |
922 | .tid_newarr_rst_addr (tid_newarr_rst_addr[5:0]), | |
923 | .timeout_set (timeout_set), | |
924 | .timeout_set_addr (timeout_set_addr[5:0]), | |
925 | .tid_xmited_rdata_bus (tid_xmited_rdata_bus[63:0]) | |
926 | ); | |
927 | ||
928 | niu_smx_timeout_hdlr timeout_hdlr ( | |
929 | .clk (niu_clk), | |
930 | .reset_l (niu_reset_l), | |
931 | .timeout_rdata_bus (timeout_rdata_bus[63:0]), | |
932 | .timeout_rst (timeout_rst), | |
933 | .timeout_rst_addr (timeout_rst_addr[5:0]), | |
934 | .tohdl_cmdl_req (tohdl_cmdl_req), | |
935 | .tohdl_cmdl_cmd (tohdl_cmdl_cmd[7:0]), | |
936 | .tohdl_cmdl_addr (tohdl_cmdl_addr[63:0]), | |
937 | .tohdl_cmdl_len (tohdl_cmdl_len[13:0]), | |
938 | .tohdl_cmdl_xid (tohdl_cmdl_xid[5:0]), | |
939 | .tohdl_cmdl_port (tohdl_cmdl_port[1:0]), | |
940 | .tohdl_cmdl_dma (tohdl_cmdl_dma[4:0]), | |
941 | .tohdl_cmdl_client (tohdl_cmdl_client[7:0]), | |
942 | .cmdl_tohdl_ack (cmdl_tohdl_ack), | |
943 | .tohdl_xtb_rd (tohdl_xtb_rd), | |
944 | .tohdl_xtb_raddr (tohdl_xtb_raddr[5:0]), | |
945 | .tohdl_xtb_rdata (tohdl_xtb_rdata[118:0]), | |
946 | .tohdl_xtb_rd_ack (tohdl_xtb_rd_ack), | |
947 | .tohdl_xtb_rdata_err (tohdl_xtb_rdata_err), | |
948 | .smx_nc_err (smx_nc_err), | |
949 | .tohdl_set_intr (tohdl_set_intr), | |
950 | .tohdl_intr_status (tohdl_intr_status[5:0]) | |
951 | ); | |
952 | ||
953 | niu_smx_stall_hdlr stall_hdlr ( | |
954 | .clk (niu_clk), | |
955 | .reset_l (niu_reset_l), | |
956 | .dbg1_niu_stall (dbg1_niu_stall), | |
957 | .dbg1_niu_resume (dbg1_niu_resume), | |
958 | .niu_dbg1_stall_ack (niu_dbg1_stall_ack), | |
959 | .tid_valid_rdata_bus (tid_valid_rdata_bus[63:0]), | |
960 | .stall_enable (stall_enable), | |
961 | .wreq_cmdreq_idle (wreq_cmdreq_idle), | |
962 | .rdreq_cmdreq_idle (rdreq_cmdreq_idle), | |
963 | .wreq_cmdff_empty (wreq_cmdff_empty), | |
964 | .rdreq_cmdff_empty (rdreq_cmdff_empty), | |
965 | .siireq_idle (siireq_idle), | |
966 | .smx_nc_err (smx_nc_err) | |
967 | ); | |
968 | ||
969 | niu_smx_pio pio ( | |
970 | .clk (niu_clk), | |
971 | .reset_l (niu_reset_l), | |
972 | .reg_timer_cfg (reg_timer_cfg[31:0]), | |
973 | .reg_ras_cfg (reg_ras_cfg[1:0]), | |
974 | .pio_data (pio_smx_cfg_data), | |
975 | .smx_pio_intr (smx_pio_intr), | |
976 | .smx_pio_status (smx_pio_status[31:0]), | |
977 | .pio_smx_clear_intr (pio_smx_clear_intr), | |
978 | .pio_smx_ctrl (pio_smx_ctrl[31:0]), | |
979 | .pio_smx_debug_vector (pio_smx_debug_vector[31:0]), | |
980 | .smx_debug_port (smx_debug_port[31:0]), | |
981 | .tohdl_set_intr (tohdl_set_intr), | |
982 | .tohdl_intr_status (tohdl_intr_status[5:0]), | |
983 | .pio_xtb_err_inject_cfg (pio_xtb_err_inject_cfg[2:0]), | |
984 | .pio_resp_err_inject_cfg (pio_resp_err_inject_cfg[2:0]), | |
985 | .niu_sii_hdr_vld (niu_sii_hdr_vld), | |
986 | .niu_sii_reqbypass (niu_sii_reqbypass), | |
987 | .niu_sii_datareq (niu_sii_datareq), | |
988 | .sii_niu_oqdq (sii_niu_oqdq), | |
989 | .sii_niu_bqdq (sii_niu_bqdq), | |
990 | .wreq_cmdff_rd (wreq_cmdff_rd), | |
991 | .rdreq_cmdff_rd (rdreq_cmdff_rd), | |
992 | .wreq_dataff_rd (wreq_dataff_rd), | |
993 | .wreq_cmdff_wr (wreq_cmdff_wr), | |
994 | .rdreq_cmdff_wr (rdreq_cmdff_wr), | |
995 | .wreq_dataff_wr (wreq_dataff_wr), | |
996 | .sio_niu_hdr_vld (sio_niu_hdr_vld), | |
997 | .sio_niu_datareq (sio_niu_datareq), | |
998 | .niu_sio_dq (niu_sio_dq), | |
999 | .resp_cmdff_wr (resp_cmdff_wr), | |
1000 | .resp_dataff_wr (resp_dataff_wr), | |
1001 | .resp_cmdff_rd (resp_cmdff_rd), | |
1002 | .resp_dataff_rd (resp_dataff_rd), | |
1003 | .meta_dmc_resp_ready (meta_dmc_resp_ready), | |
1004 | .meta_dmc_ack_ready (meta_dmc_ack_ready), | |
1005 | .dmc_meta0_req (dmc_meta0_req), | |
1006 | .meta_dmc1_req_accept (meta_dmc1_req_accept), | |
1007 | .dmc_meta1_req (dmc_meta1_req), | |
1008 | .meta_dmc0_req_accept (meta_dmc0_req_accept), | |
1009 | .meta_dmc0_data_req (meta_dmc0_data_req), | |
1010 | .dmc_meta0_data_valid (dmc_meta0_data_valid), | |
1011 | .sii_cs (sii_cs[1:0]), | |
1012 | .arb_cs (arb_cs[1:0]), | |
1013 | .rdreq_cmd_cs (rdreq_cmd_cs[2:0]), | |
1014 | .wreq_cmd_cs (wreq_cmd_cs[2:0]), | |
1015 | .wreq_dv_cs (wreq_dv_cs[1:0]), | |
1016 | .dreq_cs (dreq_cs[2:0]), | |
1017 | .proc_cs (proc_cs[1:0]), | |
1018 | .cmdl_cs (cmdl_cs[2:0]), | |
1019 | .dv_cs (dv_cs[2:0]) | |
1020 | ); | |
1021 | ||
1022 | niu_mb0 niu_mb0 ( | |
1023 | .niu_mb0_smx_table_rd_en (niu_mb0_smx_table_rd_en), | |
1024 | .niu_mb0_smx_table_wr_en (niu_mb0_smx_table_wr_en), | |
1025 | .niu_mb0_smx_store_rd_en (niu_mb0_smx_store_rd_en), | |
1026 | .niu_mb0_smx_store_wr_en (niu_mb0_smx_store_wr_en), | |
1027 | .niu_mb0_addr (niu_mb0_addr[5:0]), | |
1028 | .niu_mb0_wdata (niu_mb0_wdata[7:0]), | |
1029 | .niu_mb0_run (niu_mb0_run), | |
1030 | .niu_tcu_mbist_fail_0 (tds_smx_tcu_mbist_fail), | |
1031 | .niu_tcu_mbist_done_0 (tds_smx_tcu_mbist_done), | |
1032 | .mb0_scan_out (tds_smx_mbist_scan_out), | |
1033 | .l1clk (niu_clk), | |
1034 | .rst_l (niu_reset_l), | |
1035 | .tcu_mbist_user_mode (tcu_mbist_user_mode), | |
1036 | .mb0_scan_in (tds_smx_mbist_scan_in), | |
1037 | .tcu_aclk (tcu_aclk), | |
1038 | .tcu_bclk (tcu_bclk), | |
1039 | .tcu_niu_mbist_start_0 (tcu_tds_smx_mbist_start), | |
1040 | .niu_mb0_smx_table_data_out (niu_mb0_smx_table_data_out[145:0]), | |
1041 | .niu_mb0_smx_store_data_out (niu_mb0_smx_store_data_out[145:0]), | |
1042 | .tcu_mbist_bisi_en (tcu_mbist_bisi_en) | |
1043 | ); | |
1044 | // VPERL: GENERATED_END | |
1045 | ||
1046 | // &CONNECT ("rm.rmreset", "buf_reset_r"); | |
1047 | // niu_smx_rdreq_dmc | |
1048 | // niu_smx_wreq_dmc | |
1049 | // niu_smx_resp_dmc | |
1050 | // niu_smx_req_sii | |
1051 | // niu_smx_resp_sio | |
1052 | // niu_smx_req_ff | |
1053 | // niu_smx_resp_ff | |
1054 | // niu_smx_xtb | |
1055 | ||
1056 | ||
1057 | ||
1058 | assign meta_dmc0_req_errors= 1'b0; // ??? not use by anyone | |
1059 | assign meta_dmc1_req_errors= 1'b0; // ??? not use by anyone | |
1060 | ||
1061 | ||
1062 | endmodule | |
1063 | ||
1064 | ||
1065 |