Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / design / sys / iop / dmu / rtl / dmu_dmc.v
CommitLineData
86530b38
AT
1// ========== Copyright Header Begin ==========================================
2//
3// OpenSPARC T2 Processor File: dmu_dmc.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 ============================================
35module dmu_dmc
36 (
37 l2clk, // clock for rams, since they have their own headers
38 l1clk, // clock for all flops
39
40 j2d_rst_l, // DMC soft reset
41 j2d_por_l, // DMC hard reset
42
43// scan
44 scan_in, // scan in
45 tcu_scan_en, // scan enable
46 tcu_array_bypass, // scan bypass for ram arrays
47 tcu_se_scancollar_in, //
48 tcu_se_scancollar_out, //
49 tcu_array_wr_inhibit,// scan write inhibit for ram arrays
50 tcu_pce_ov, //
51 tcu_aclk, // scan siclk in
52 tcu_bclk, // scan siclk out
53 scan_out, // scan out
54
55
56 j2d_spare, // Spare jbus to DMCA connections
57 d2j_spare,
58
59 cr2ds_dbg_sel_a,
60 cr2ds_dbg_sel_b,
61 ds2cr_dbg_a,
62 ds2cr_dbg_b,
63
64 dmu_mio_debug_bus_a,
65 dmu_mio_debug_bus_b,
66
67// j2d_ext_int_l, // External interrupt lines passed through JBC on to DMC
68// j2d_i2c0_int_l, // Interrupt line used to signal DMC that I2C bus 0 needs to do an interrupt
69// j2d_i2c1_int_l, // Interrupt line used to signal DMC that I2C bus 1 needs to do an interrupt
70// j2d_jbc_int_l, // Interrupt line used to signal DMC that JBC needs to do an interrupt
71
72 j2d_jid, // Lower bit of JID, used to select which JID
73 j2d_instance_id,
74
75 y2k_int_l, // Interrupt req for PEC core (level based)
76
77 j2d_csr_ring_out,
78 d2j_csr_ring_in,
79
80 k2y_csr_ring_out,
81 y2k_csr_ring_in,
82
83 d2j_cmd, // req/resp cmd
84 d2j_addr, // addr of dma/int req
85 d2j_ctag, // transaction tag
86 d2j_cmd_vld, // valid signal
87
88 d2j_data, // 16 byte data bus
89 d2j_bmsk, // bmask for partial wr
90 d2j_data_par, // parity for data/bmask
91 d2j_data_vld, // valid signal
92
93 d2j_p_wrack_tag,
94 d2j_p_wrack_vld,
95
96 y2k_rel_enq,
97 y2k_rel_rcd,
98
99 y2k_mps,
100
101 y2k_buf_addr_vld_monitor,
102 y2k_buf_addr, // Address width, to address 128 entries DMA / 64 entries PIO
103 k2y_buf_data, // Data width, 16 bytes
104 k2y_buf_dpar, // Parity width 32 bit parity on data
105
106 j2d_d_data, // dma rd data
107 j2d_d_data_err, // data status
108 j2d_d_data_par, // data parity
109 j2d_d_data_vld, // valid signal
110 j2d_d_wrack_tag, // dma wrack tag
111 j2d_d_wrack_vld, // valid signal
112 j2d_di_cmd, // dma/int cmd
113 j2d_di_cmd_vld, // valid signal
114 j2d_di_ctag, // dma/int tag
115
116 j2d_p_addr, // addr of pio
117 j2d_p_bmsk, // bmask for pio
118 j2d_p_cmd, // pio cmd
119 j2d_p_cmd_vld, // valid signal
120 j2d_p_ctag, // pio tag
121 j2d_p_data, // pio wr data
122 j2d_p_data_par, // data parity
123 j2d_p_data_vld, // valid signal
124
125 k2y_dou_dptr, // CRM: DOU-DMA Status Port
126 k2y_dou_err,
127 k2y_dou_vld,
128
129// d2j_tsb_base,
130// d2j_tsb_enable,
131// d2j_tsb_size,
132
133 j2d_mmu_addr,
134 j2d_mmu_addr_vld,
135
136 k2y_buf_addr_vld_monitor,
137 k2y_buf_addr, // read pointer to IDB
138 y2k_buf_data, // 16-byte data
139 y2k_buf_dpar, // data parity
140
141 k2y_rcd, // egress PEC rcd
142 k2y_rcd_enq, // egress enqueue for PEC rcd
143 k2y_rcd_deq, // ingress record fifo full
144
145 k2y_rel_enq, // ingress enqueue
146 k2y_rel_rcd, // ingress release rcd
147
148 y2k_rcd, // ingress PEC record
149 y2k_rcd_enq, // ingress PEC record enqueue
150 y2k_rcd_deq, // egress rcd fifo full
151
152 k2y_dbg_sel_a,
153 k2y_dbg_sel_b,
154 y2k_dbg_a,
155 y2k_dbg_b,
156
157 dsn_dmc_iei,
158 dmu_dbg_err_event,
159 ds2cl_stall,
160
161 dmu_cb0_run,
162 dmu_cb0_addr,
163 dmu_cb0_wdata_key,
164 dmu_cb0_mmu_ptb_wr_en,
165 dmu_cb0_mmu_ptb_rd_en,
166 dmu_cb0_mmu_ptb_lkup_en,
167 mmu_ptb_hit,
168 dmu_cb0_mmu_vtb_wr_en,
169 dmu_cb0_mmu_vtb_rd_en,
170 dmu_cb0_mmu_vtb_lkup_en,
171 dmu_cb0_hld,
172 mmu_vtb_hit,
173 vtb_dout_4msb,
174 mmu_ptb_read_data,
175 vtb2csr_rd,
176 dev_tsb_read_data,
177 dmu_mb0_run,
178 dmu_mb0_addr,
179 dmu_mb0_wdata,
180 dmu_mb0_dev_wr_en,
181 dmu_mb0_dev_rd_en,
182 dmu_mb0_tsb_wr_en,
183 dmu_mb0_tsb_rd_en,
184 dmu_mb0_tdb_wr_en,
185 dmu_mb0_tdb_rd_en,
186 tdb_dout_8msb,
187 tdb2csr_rd,
188 dmu_diu_read_data,
189 dmu_mb0_diu_wr_en,
190 dmu_mb0_diu_rd_en,
191 dmu_mb0_dou_dma_data_wr_en,
192 dmu_mb0_dou_dma_data_rd_en,
193 dmu_mb0_dou_pio_data_wr_en,
194 dmu_mb0_dou_pio_data_rd_en,
195 dmu_dou_pio_read_data,
196 dmu_dou_dma_read_data,
197// efu wires
198 efu_dmu_data, // input efu to devtsb
199 efu_dmu_xfer_en, // input efu to devtsb
200 efu_dmu_clr , // input efu to devtsb
201 dmu_efu_data, // output of devtsb to efu
202 dmu_efu_xfer_en, // output of devtsb to efu
203
204 d2p_idb_rd, // rd en to peu idb ram
205 d2p_req_id, // BP 8-18-05 req_id to peu for messages
206 p2d_npwr_stall_en, // BP 12-02-05 force 1 non-posted write outstanding
207 il2cl_gr_16 // BP 12-02-05 force 1 non-posted write outstanding from ilu
208
209
210
211 );
212
213//############################################################################
214// PORT DECLARATIONS
215//############################################################################
216
217 input l2clk;
218 input l1clk;
219
220 input j2d_rst_l;
221 input j2d_por_l;
222
223 input scan_in;
224 input tcu_scan_en;
225 input tcu_array_bypass;
226 input tcu_se_scancollar_in;
227 input tcu_se_scancollar_out;
228 input tcu_array_wr_inhibit;
229 input tcu_pce_ov;
230 input tcu_aclk;
231 input tcu_bclk;
232 output scan_out;
233
234
235 input [`FIRE_J2D_SPARE_WDTH-1:0] j2d_spare;
236
237 output [`FIRE_DLC_DEBUG_SEL_WDTH-1:0] cr2ds_dbg_sel_a;
238 output [`FIRE_DLC_DEBUG_SEL_WDTH-1:0] cr2ds_dbg_sel_b;
239 input [`FIRE_DEBUG_WDTH-1:0] ds2cr_dbg_a;
240 input [`FIRE_DEBUG_WDTH-1:0] ds2cr_dbg_b;
241
242 output [`FIRE_DEBUG_WDTH-1:0] dmu_mio_debug_bus_a;
243 output [`FIRE_DEBUG_WDTH-1:0] dmu_mio_debug_bus_b;
244
245 input y2k_int_l;
246// input [`FIRE_J2D_EXT_INT_WDTH-1:0] j2d_ext_int_l;
247// input j2d_i2c0_int_l;
248// input j2d_i2c1_int_l;
249// input j2d_jbc_int_l;
250
251 input [`FIRE_J2D_JID_WDTH-1:0] j2d_jid;
252 input [`FIRE_J2D_INSTANCE_ID_WDTH-1:0] j2d_instance_id;
253
254 input [`FIRE_CSR_RING_WIDTH-1:0] j2d_csr_ring_out;
255 output [`FIRE_CSR_RING_WIDTH-1:0] d2j_csr_ring_in;
256 output [`FIRE_CSR_RING_WIDTH-1:0] k2y_csr_ring_out;
257 input [`FIRE_CSR_RING_WIDTH-1:0] y2k_csr_ring_in;
258
259 output [`FIRE_D2J_CMD_WDTH-1:0] d2j_cmd;
260 output [`FIRE_D2J_ADDR_WDTH-1:0] d2j_addr;
261 output [`FIRE_D2J_CTAG_WDTH-1:0] d2j_ctag;
262 output d2j_cmd_vld;
263
264 output [`FIRE_D2J_DATA_WDTH-1:0] d2j_data;
265 output [`FIRE_D2J_BMSK_WDTH-1:0] d2j_bmsk;
266 output [`FIRE_D2J_DPAR_WDTH-1:0] d2j_data_par;
267 output d2j_data_vld;
268
269 output [`FIRE_D2J_P_WRACK_WDTH-1:0] d2j_p_wrack_tag;
270 output d2j_p_wrack_vld;
271
272 input [`FIRE_DLC_DRR_REC_WDTH-1:0] y2k_rel_rcd;
273 input y2k_rel_enq;
274
275 output [`FIRE_D2J_SPARE_WDTH-1:0] d2j_spare;
276
277 input [`FIRE_DLC_MPS-1:0] y2k_mps;
278
279 input y2k_buf_addr_vld_monitor;
280 input [`FIRE_DLC_ERD_ADDR_WDTH-1:0] y2k_buf_addr;
281 output [`FIRE_DLC_ERD_DATA_WDTH-1:0] k2y_buf_data;
282 output [`FIRE_DLC_ERD_DPAR_WDTH-1:0] k2y_buf_dpar;
283
284 input [`FIRE_J2D_D_WRACK_WDTH-1:0] j2d_d_wrack_tag;
285 input j2d_d_wrack_vld;
286
287 input [`FIRE_J2D_DI_CMD_WDTH-1:0] j2d_di_cmd;
288 input [`FIRE_J2D_DI_CTAG_WDTH-1:0] j2d_di_ctag;
289 input j2d_di_cmd_vld;
290
291 input [`FIRE_J2D_P_CMD_WDTH-1:0] j2d_p_cmd;
292 input [`FIRE_J2D_P_ADDR_WDTH-1:0] j2d_p_addr;
293 input [`FIRE_J2D_P_BMSK_WDTH-1:0] j2d_p_bmsk;
294 input [`FIRE_J2D_P_CTAG_WDTH-1:0] j2d_p_ctag;
295 input j2d_p_cmd_vld;
296
297 input [`FIRE_J2D_D_DATA_WDTH-1:0] j2d_d_data;
298 input [`FIRE_J2D_D_DPAR_WDTH-1:0] j2d_d_data_par;
299 input j2d_d_data_err;
300 input j2d_d_data_vld;
301
302 input [`FIRE_J2D_P_DATA_WDTH-1:0] j2d_p_data;
303 input [`FIRE_J2D_P_DPAR_WDTH-1:0] j2d_p_data_par;
304 input j2d_p_data_vld;
305
306 output [`FIRE_DLC_DOU_REL_WDTH-1:0] k2y_dou_dptr;
307 output k2y_dou_err;
308 output k2y_dou_vld;
309
310 input [`FIRE_J2D_MMU_ADDR_BITS] j2d_mmu_addr;
311 input j2d_mmu_addr_vld;
312
313// output [`FIRE_D2J_TSB_BASE_BITS] d2j_tsb_base;
314// output d2j_tsb_enable;
315// output [`FIRE_D2J_TSB_SIZE_BITS] d2j_tsb_size;
316
317
318 output k2y_buf_addr_vld_monitor;
319 output [`FIRE_DLC_ITI_ADDR_WDTH-1:0] k2y_buf_addr;
320 input [`FIRE_DLC_ITI_DATA_WDTH-1:0] y2k_buf_data;
321 input [`FIRE_DLC_ITI_DPAR_WDTH-1:0] y2k_buf_dpar;
322
323 output k2y_rcd_deq;
324 input [`FIRE_DLC_IPE_REC_WDTH-1:0] y2k_rcd;
325 input y2k_rcd_enq;
326
327 output [`FIRE_DLC_EPE_REC_WDTH-1:0] k2y_rcd;
328 output k2y_rcd_enq;
329 input y2k_rcd_deq;
330
331 output [`FIRE_DLC_URR_REC_WDTH-1:0] k2y_rel_rcd;
332 output k2y_rel_enq;
333
334 output [`FIRE_DLC_DEBUG_SEL_WDTH-1:0] k2y_dbg_sel_a;
335 output [`FIRE_DLC_DEBUG_SEL_WDTH-1:0] k2y_dbg_sel_b;
336 input [`FIRE_DEBUG_WDTH-1:0] y2k_dbg_a;
337 input [`FIRE_DEBUG_WDTH-1:0] y2k_dbg_b;
338
339 input dsn_dmc_iei;
340
341 output dmu_dbg_err_event;
342 input ds2cl_stall; //for N2 dbg quiescing
343
344 input dmu_cb0_run;
345 input [5:0] dmu_cb0_addr;
346 input [32:0] dmu_cb0_wdata_key;
347 input dmu_cb0_mmu_ptb_wr_en;
348 input dmu_cb0_mmu_ptb_rd_en;
349 input dmu_cb0_mmu_ptb_lkup_en;
350 output [63:0] mmu_ptb_hit;
351 input dmu_cb0_mmu_vtb_wr_en;
352 input dmu_cb0_mmu_vtb_rd_en;
353 input dmu_cb0_mmu_vtb_lkup_en;
354 input dmu_cb0_hld;
355 output [63:0] mmu_vtb_hit;
356 output [3:0] vtb_dout_4msb;
357 output [32:0] mmu_ptb_read_data;
358 output [29:0] vtb2csr_rd;
359
360 output [63:0] dev_tsb_read_data;
361 input dmu_mb0_run;
362 input [8:0] dmu_mb0_addr;
363 input [7:0] dmu_mb0_wdata;
364 input dmu_mb0_dev_wr_en;
365 input dmu_mb0_dev_rd_en;
366 input dmu_mb0_tsb_wr_en;
367 input dmu_mb0_tsb_rd_en;
368 input dmu_mb0_tdb_wr_en;
369 input dmu_mb0_tdb_rd_en;
370 output [7:0] tdb_dout_8msb;
371 output [51:0] tdb2csr_rd;
372
373 output [148:0] dmu_diu_read_data;
374 input dmu_mb0_diu_wr_en;
375 input dmu_mb0_diu_rd_en;
376 output [131:0] dmu_dou_pio_read_data;
377 output [131:0] dmu_dou_dma_read_data;
378 input dmu_mb0_dou_pio_data_wr_en;
379 input dmu_mb0_dou_pio_data_rd_en;
380 input dmu_mb0_dou_dma_data_wr_en;
381 input dmu_mb0_dou_dma_data_rd_en;
382// efu wires
383 input efu_dmu_data ; // input efu to devtsb
384 input efu_dmu_xfer_en; // input efu to devtsb
385 input efu_dmu_clr; // input efu to devtsb
386 output dmu_efu_data; // output of devtsb to efu
387 output dmu_efu_xfer_en ; // output of devtsb to efu
388// BP n2 34-01-05 requested by circuit designers
389 output d2p_idb_rd ; // peu idb read enable
390 output [`FIRE_PCIE_REQ_ID_BITS] d2p_req_id;
391 input p2d_npwr_stall_en; // forces 1 non-posted write outstanding
392 input il2cl_gr_16; // forces 1 non-posted write outstanding from ilu
393
394
395
396//############################################################################
397// SIGNAL DECLARATIONS
398//############################################################################
399
400//**************************************************
401// Wires
402//**************************************************
403
404 //------------------------------------------------------------------------
405 // IMU Wires
406 //------------------------------------------------------------------------
407
408 wire [`FIRE_DLC_IOT_REC_WDTH-1:0] im2rm_rcd;
409 wire im2rm_rcd_enq;
410
411 wire [`FIRE_DLC_IIN_REC_WDTH-1:0] rm2im_rcd;
412 wire rm2im_rcd_enq;
413
414 wire [`FIRE_DLC_MDF_REC_WDTH-1:0] tm2im_data;
415 wire tm2im_data_enq;
416
417 wire rm2im_rply_enq;
418 wire [`FIRE_DLC_MRR_REC_WDTH-1:0] rm2im_rply;
419
420 wire mm2im_int;
421
422 wire im2rm_mdo_enq;
423 wire [`FIRE_DLC_MQR_REC_WDTH-1:0] im2rm_mdo;
424
425 wire im2di_wr;
426 wire [`FIRE_DLC_IRD_ADDR_WDTH-1:0] im2di_addr;
427 wire [`FIRE_DLC_IRD_DATA_WDTH-1:0] im2di_data;
428 wire [`FIRE_DLC_IRD_DPAR_WDTH-1:0] im2di_dpar;
429 wire [`FIRE_DLC_IRD_BMASK_WDTH-1:0] im2di_bmask;
430
431 wire [`FIRE_DLC_SCW_MSI32_WDTH-1:0] im2tm_msi32_addr_reg;
432 wire [`FIRE_DLC_SCW_MSI64_WDTH-1:0] im2tm_msi64_addr_reg;
433 wire [`FIRE_DLC_SCW_MEM64_WDTH-1:0] im2rm_mem64_offset_reg;
434
435 wire cr2im_csrbus_valid;
436 wire im2cr_csrbus_done;
437 wire im2cr_csrbus_mapped;
438 wire [`FIRE_CSR_DATA_WIDTH-1:0] cr2im_csrbus_wr_data;
439 wire cr2im_csrbus_wr;
440 wire [`FIRE_CSR_DATA_WIDTH-1:0] im2cr_csrbus_read_data;
441 wire [`FIRE_CSR_ADDR_MAX_WIDTH-1:0] cr2im_csrbus_addr;
442 wire [`FIRE_CSR_SRC_BUS_ID_WIDTH-1:0] cr2im_csrbus_src_bus;
443 wire im2cr_csrbus_acc_vio;
444
445 //------------------------------------------------------------------------
446 // CRU Wires
447 //------------------------------------------------------------------------
448
449 wire cr2mm_csrbus_valid;
450 wire mm2cr_csrbus_done;
451 wire mm2cr_csrbus_mapped;
452 wire [`FIRE_CSR_DATA_WIDTH-1:0] cr2mm_csrbus_wr_data;
453 wire cr2mm_csrbus_wr;
454 wire [`FIRE_CSR_DATA_WIDTH-1:0] mm2cr_csrbus_read_data;
455 wire [`FIRE_CSR_ADDR_MAX_WIDTH-1:0] cr2mm_csrbus_addr;
456 wire [`FIRE_CSR_SRC_BUS_ID_WIDTH-1:0] cr2mm_csrbus_src_bus;
457 wire mm2cr_csrbus_acc_vio;
458
459 wire cr2ps_csrbus_valid;
460 wire ps2cr_csrbus_done;
461 wire ps2cr_csrbus_mapped;
462 wire [`FIRE_CSR_DATA_WIDTH-1:0] cr2ps_csrbus_wr_data;
463 wire cr2ps_csrbus_wr;
464 wire [`FIRE_CSR_DATA_WIDTH-1:0] ps2cr_csrbus_read_data;
465 wire [`FIRE_CSR_ADDR_MAX_WIDTH-1:0] cr2ps_csrbus_addr;
466 wire [`FIRE_CSR_SRC_BUS_ID_WIDTH-1:0] cr2ps_csrbus_src_bus;
467 wire ps2cr_csrbus_acc_vio;
468
469 wire cr2ts_csrbus_valid;
470 wire ts2cr_csrbus_done;
471 wire ts2cr_csrbus_mapped;
472 wire [`FIRE_CSR_DATA_WIDTH-1:0] cr2ts_csrbus_wr_data;
473 wire cr2ts_csrbus_wr;
474 wire [`FIRE_CSR_DATA_WIDTH-1:0] ts2cr_csrbus_read_data;
475 wire [`FIRE_CSR_ADDR_MAX_WIDTH-1:0] cr2ts_csrbus_addr;
476 wire [`FIRE_CSR_SRC_BUS_ID_WIDTH-1:0] cr2ts_csrbus_src_bus;
477 wire ts2cr_csrbus_acc_vio;
478
479 wire [`FIRE_PCIE_BUS_NUM_BITS] cr2cl_bus_num;
480 wire [`FIRE_PCIE_REQ_ID_BITS] cr2rm_req_id;
481
482 //------------------------------------------------------------------------
483 // CLU Wires
484 //------------------------------------------------------------------------
485
486 wire [`FIRE_DLC_PSR_CMD_TYPE_WDTH-1:0] cl2ps_e_cmd_type;
487 wire [`FIRE_DLC_PSR_TRN_WDTH-1:0] cl2ps_e_trn;
488 wire [`FIRE_DLC_PSR_PIO_DATA_WDTH-1:0] cl2ps_e_wr_data;
489 wire cl2ps_e_req;
490 wire [`FIRE_DLC_PSR_DMA_DATA_WDTH-1:0] ps2cl_e_rd_data;
491 wire ps2cl_e_gnt;
492
493 wire cl2pm_rcd_full; // icr fifo full
494 wire [`FIRE_DLC_ICR_REC_WDTH-1:0] pm2cl_rcd; // ingress cmd rcd
495 wire pm2cl_rcd_enq; // enqueue for icr
496
497 wire [`FIRE_DLC_EPR_REC_WDTH-1:0] cl2cm_rcd; // egress pkt rcd
498 wire cl2cm_rcd_enq; // enqueue for epr
499 wire cm2cl_rcd_full; // epr fifo full
500
501 wire cl2mm_tcr_ack; // ack for tcr
502 wire [`FIRE_DLC_TCR_WDTH-1:0] mm2cl_tcr_rcd; // tablewalk cmd rcd
503 wire mm2cl_tcr_req; // req for tcr
504
505 wire [`FIRE_DLC_TDR_WDTH-1:0] cl2mm_tdr_rcd; // tablewalk data rcd
506 wire cl2mm_tdr_vld; // valid signal
507
508 wire [`FIRE_DLC_DOU_REL_WDTH-1:0] rm2cl_bufrel;
509 wire rm2cl_bufrel_enq;
510
511 wire [`FIRE_DLC_DMA_RPTR_WDTH-1:0] cl2tm_dma_rptr;
512 wire [`FIRE_DLC_INT_RPTR_WDTH-1:0] cl2tm_int_rptr;
513 wire [`FIRE_DLC_DMA_WPTR_WDTH-1:0] tm2cl_dma_wptr;
514 wire [`FIRE_DLC_PIO_WPTR_WDTH-1:0] tm2cl_pio_wptr;
515
516 wire [`FIRE_DLC_CRD_ADDR_WDTH-1:0] cl2di_addr; // buffer address
517 wire [`FIRE_DLC_CRD_DATA_WDTH-1:0] di2cl_data; // data for trans
518 wire [`FIRE_DLC_CRD_BMASK_WDTH-1:0] di2cl_bmask; // bytemask for data
519 wire [`FIRE_DLC_CRD_DPAR_WDTH-1:0] di2cl_dpar; // parity for data
520
521 wire [`FIRE_DLC_CDD_DATA_WDTH-1:0] cl2do_dma_data; // dma rd data
522 wire [`FIRE_DLC_CDD_DPAR_WDTH-1:0] cl2do_dma_dpar; // dma data par
523 wire [`FIRE_DLC_CDD_ADDR_WDTH-1:0] cl2do_dma_addr; // dma buf addr
524 wire cl2do_dma_wr; // dma buf wr en
525
526 wire [`FIRE_DLC_CPD_DATA_WDTH-1:0] cl2do_pio_data; // pio wr data
527 wire [`FIRE_DLC_CPD_DPAR_WDTH-1:0] cl2do_pio_dpar; // pio data par
528 wire [`FIRE_DLC_CPD_ADDR_WDTH-1:0] cl2do_pio_addr; // pio buf addr
529 wire cl2do_pio_wr;
530
531 //------------------------------------------------------------------------
532 // RMU Wires
533 //------------------------------------------------------------------------
534
535 wire [`FIRE_DLC_DIM_REC_WDTH-1:0] tm2rm_rcd;
536 wire tm2rm_rcd_enq;
537 wire rm2tm_rcd_full;
538
539 wire [`FIRE_DLC_ERR_REC_WDTH-1:0] cm2rm_rcd;
540 wire cm2rm_rcd_enq;
541 wire rm2cm_rcd_full;
542
543 wire rm2ts_i_req; // SRM request for access
544 wire [`FIRE_DLC_TSR_CMD_TYPE_WDTH-1:0] rm2ts_i_cmd_type; // type of access requested (trn req w/write)
545 wire [`FIRE_DLC_TSR_WR_DATA_WDTH-1:0] rm2ts_i_wr_data; // wr data to be put on scbd
546
547 wire ts2rm_i_full; // flow control, no request for trtag can be made
548 wire [`FIRE_DLC_TSR_TRN_WDTH-1:0] ts2rm_i_n_trn; // next trtag returned on trn request
549 wire ts2rm_i_gnt; // grant signal for request
550
551 wire rm2ts_e_req; // RRM request for access
552 wire [`FIRE_DLC_TSR_CMD_TYPE_WDTH-1:0] rm2ts_e_cmd_type; // type of access requested (read, write, read w/clear)
553 wire [`FIRE_DLC_TSR_TRN_WDTH-1:0] rm2ts_e_trn; // trtag to be cleared, read from or written to
554 wire [`FIRE_DLC_TSR_WR_DATA_WDTH-1:0] rm2ts_e_wr_data; // wr data to be put on scbd
555
556 wire ts2rm_e_gnt; // grant signal for request
557 wire [`FIRE_DLC_TSR_RD_DATA_WDTH-1:0] ts2rm_e_rd_data; // data read from scbd (trtag is address read from)
558
559 wire [`FIRE_DLC_SRM_WDTH-1:0] rm2mm_rcd;
560 wire rm2mm_rcd_enq;
561 wire mm2rm_rcd_full;
562
563 //------------------------------------------------------------------------
564 // CMU Wires
565 //-----------------------------------------------------------------------
566
567 wire mm2cm_rcd_enq;
568 wire [`FIRE_DLC_ISR_REC_WDTH-1:0] mm2cm_rcd;
569 wire cm2mm_rcd_full;
570
571 wire cm2pm_rcd_enq;
572 wire [`FIRE_DLC_IPR_REC_WDTH-1:0] cm2pm_rcd;
573 wire pm2cm_rcd_full;
574
575 //------------------------------------------------------------------------
576 // PMU Wires
577 //-----------------------------------------------------------------------
578
579 wire pm2ps_i_req; // PRM request for access
580 wire [`FIRE_DLC_PSR_CMD_TYPE_WDTH-1:0] pm2ps_i_cmd_type; // type of access requested (TRN req w/ Write)
581 wire [`FIRE_DLC_PSR_DMA_DATA_WDTH-1:0] pm2ps_i_wr_data; // wr data to be put on scbd
582
583 wire ps2pm_i_full; // flow control, no request for pktag can be made
584 wire [`FIRE_DLC_PSR_TRN_WDTH-1:0] ps2pm_i_n_trn; // next pktag returned on trn request
585 wire ps2pm_i_gnt; // grant signal for request
586 wire [`FIRE_DLC_PSR_TRN_WDTH-1:0] pm2ps_i_trn; // pktag to be read from
587 wire [`FIRE_DLC_PSR_PIO_DATA_WDTH-1:0] ps2pm_i_rd_data; // data read from scbd (pktag is address read from)
588
589 //------------------------------------------------------------------------
590 // DIU Wires
591 //-----------------------------------------------------------------------
592
593 wire tm2di_wr;
594 wire [`FIRE_DLC_TRD_ADDR_WDTH-1:0] tm2di_addr; // Address width, to address 128 entries DMA / 64 entries PIO 1 bit select
595 wire [`FIRE_DLC_TRD_DATA_WDTH-1:0] tm2di_data; // Data width, 16 bytes
596 wire [`FIRE_DLC_TRD_BMASK_WDTH-1:0] tm2di_bmask; // 16 bit bmask
597 wire [`FIRE_DLC_TRD_DPAR_WDTH-1:0] tm2di_dpar; // Parity width 32 bit parity on data 1 bit for 16 bit bmask
598
599 //------------------------------------------------------------------------
600 // Reset Wires
601 //-----------------------------------------------------------------------
602
603 wire rst_l;
604 wire por_l;
605
606 //------------------------------------------------------------------------
607 // Debug Wires
608 //-----------------------------------------------------------------------
609
610 wire [`FIRE_DLC_DEBUG_SEL_WDTH-1:0] cr2im_dbg_sel_a;
611 wire [`FIRE_DLC_DEBUG_SEL_WDTH-1:0] cr2im_dbg_sel_b;
612 wire [`FIRE_DEBUG_WDTH-1:0] im2cr_dbg_a;
613 wire [`FIRE_DEBUG_WDTH-1:0] im2cr_dbg_b;
614
615 wire [`FIRE_DLC_DEBUG_SEL_WDTH-1:0] cr2cm_dbg_sel_a;
616 wire [`FIRE_DLC_DEBUG_SEL_WDTH-1:0] cr2cm_dbg_sel_b;
617 wire [`FIRE_DEBUG_WDTH-1:0] cm2cr_dbg_a;
618 wire [`FIRE_DEBUG_WDTH-1:0] cm2cr_dbg_b;
619
620 wire [`FIRE_DLC_DEBUG_SEL_WDTH-1:0] cr2cl_dbg_sel_a;
621 wire [`FIRE_DLC_DEBUG_SEL_WDTH-1:0] cr2cl_dbg_sel_b;
622 wire [`FIRE_DEBUG_WDTH-1:0] cl2cr_dbg_a;
623 wire [`FIRE_DEBUG_WDTH-1:0] cl2cr_dbg_b;
624
625 wire [`FIRE_DLC_DEBUG_SEL_WDTH-1:0] cr2ts_dbg_sel_a;
626 wire [`FIRE_DLC_DEBUG_SEL_WDTH-1:0] cr2ts_dbg_sel_b;
627 wire [`FIRE_DEBUG_WDTH-1:0] ts2cr_dbg_a;
628 wire [`FIRE_DEBUG_WDTH-1:0] ts2cr_dbg_b;
629
630 wire [`FIRE_DLC_DEBUG_SEL_WDTH-1:0] cr2tm_dbg_sel_a;
631 wire [`FIRE_DLC_DEBUG_SEL_WDTH-1:0] cr2tm_dbg_sel_b;
632 wire [`FIRE_DEBUG_WDTH-1:0] tm2cr_dbg_a;
633 wire [`FIRE_DEBUG_WDTH-1:0] tm2cr_dbg_b;
634
635 wire [`FIRE_DLC_DEBUG_SEL_WDTH-1:0] cr2rm_dbg_sel_a;
636 wire [`FIRE_DLC_DEBUG_SEL_WDTH-1:0] cr2rm_dbg_sel_b;
637 wire [`FIRE_DEBUG_WDTH-1:0] rm2cr_dbg_a;
638 wire [`FIRE_DEBUG_WDTH-1:0] rm2cr_dbg_b;
639
640 wire [`FIRE_DLC_DEBUG_SEL_WDTH-1:0] cr2ps_dbg_sel_a;
641 wire [`FIRE_DLC_DEBUG_SEL_WDTH-1:0] cr2ps_dbg_sel_b;
642 wire [`FIRE_DEBUG_WDTH-1:0] ps2cr_dbg_a;
643 wire [`FIRE_DEBUG_WDTH-1:0] ps2cr_dbg_b;
644
645 wire [`FIRE_DLC_DEBUG_SEL_WDTH-1:0] cr2pm_dbg_sel_a;
646 wire [`FIRE_DLC_DEBUG_SEL_WDTH-1:0] cr2pm_dbg_sel_b;
647 wire [`FIRE_DEBUG_WDTH-1:0] pm2cr_dbg_a;
648 wire [`FIRE_DEBUG_WDTH-1:0] pm2cr_dbg_b;
649
650 wire [`FIRE_DLC_DEBUG_SEL_WDTH-1:0] cr2mm_dbg_sel_a;
651 wire [`FIRE_DLC_DEBUG_SEL_WDTH-1:0] cr2mm_dbg_sel_b;
652 wire [`FIRE_DEBUG_WDTH-1:0] mm2cr_dbg_a;
653 wire [`FIRE_DEBUG_WDTH-1:0] mm2cr_dbg_b;
654 wire cl2di_rd_en;
655 wire rm2crm_npwr_wrack,csr_sun4v_en,im2tm_eqs_adr_63;
656 wire im2crm_bc_stall_en, im2crm_ilu_stall_en;
657//############################################################################
658// EFU wires
659//############################################################################
660 wire efu_dmu_data ; // input efu to devtsb
661 wire efu_dmu_xfer_en; // input efu to devtsb
662 wire efu_dmu_clr; // input efu to devtsb
663 wire dmu_efu_data; // output of devtsb to efu
664 wire dmu_efu_xfer_en ; // output of devtsb to efu
665//############################################################################
666// ZERO IN CHECKERS
667//############################################################################
668
669
670//############################################################################
671// TIE OFFS
672//############################################################################
673
674 assign d2j_spare = j2d_spare;
675
676//############################################################################
677// MODULE INSTANTIATIONS
678//############################################################################
679`ifdef IOMMU_SAT
680`else
681
682 dmu_rmu rmu
683 (
684 .clk (l1clk),
685 .rst_l (rst_l),
686
687 .d2j_p_wrack_tag (d2j_p_wrack_tag),
688 .d2j_p_wrack_vld (d2j_p_wrack_vld),
689
690 .y2k_rel_rcd (y2k_rel_rcd),
691 .y2k_rel_enq (y2k_rel_enq),
692
693 .k2y_rcd (k2y_rcd),
694 .k2y_rcd_enq (k2y_rcd_enq),
695 .y2k_rcd_deq (y2k_rcd_deq),
696
697 .tm2rm_rcd (tm2rm_rcd),
698 .tm2rm_rcd_enq (tm2rm_rcd_enq),
699 .rm2tm_rcd_full (rm2tm_rcd_full),
700
701 .rm2im_rcd (rm2im_rcd),
702 .rm2im_rcd_enq (rm2im_rcd_enq),
703
704 .im2rm_rcd (im2rm_rcd),
705 .im2rm_rcd_enq (im2rm_rcd_enq),
706
707 .im2rm_mdo (im2rm_mdo),
708 .im2rm_mdo_enq (im2rm_mdo_enq),
709
710 .rm2im_rply (rm2im_rply),
711 .rm2im_rply_enq (rm2im_rply_enq),
712
713 .im2rm_mem64_offset_reg (im2rm_mem64_offset_reg),
714
715 .rm2ts_i_cmd_type (rm2ts_i_cmd_type),
716 .rm2ts_i_wr_data (rm2ts_i_wr_data),
717 .rm2ts_i_req (rm2ts_i_req),
718 .ts2rm_i_gnt (ts2rm_i_gnt),
719 .ts2rm_i_full (ts2rm_i_full),
720 .ts2rm_i_n_trn (ts2rm_i_n_trn),
721
722 .rm2ts_e_cmd_type (rm2ts_e_cmd_type),
723 .rm2ts_e_wr_data (rm2ts_e_wr_data),
724 .rm2ts_e_trn (rm2ts_e_trn),
725 .rm2ts_e_req (rm2ts_e_req),
726 .ts2rm_e_gnt (ts2rm_e_gnt),
727 .ts2rm_e_rd_data (ts2rm_e_rd_data),
728
729 .rm2mm_rcd (rm2mm_rcd),
730 .rm2mm_rcd_enq (rm2mm_rcd_enq),
731 .mm2rm_rcd_full (mm2rm_rcd_full),
732
733 .cm2rm_rcd (cm2rm_rcd),
734 .cm2rm_rcd_enq (cm2rm_rcd_enq),
735 .rm2cm_rcd_full (rm2cm_rcd_full),
736
737 .rm2cl_bufrel (rm2cl_bufrel),
738 .rm2cl_bufrel_enq (rm2cl_bufrel_enq),
739
740 .cr2rm_req_id (cr2rm_req_id),
741 .cr2rm_dbg_sel_a (cr2rm_dbg_sel_a),
742 .cr2rm_dbg_sel_b (cr2rm_dbg_sel_b),
743 .rm2cr_dbg_a (rm2cr_dbg_a),
744 .rm2cr_dbg_b (rm2cr_dbg_b),
745
746 .rm2crm_npwr_wrack (rm2crm_npwr_wrack)
747 );
748
749 dmu_imu imu
750 (
751 .clk (l1clk),
752 .rst_l (rst_l),
753 .por_l (por_l),
754
755 .im2rm_rcd (im2rm_rcd),
756 .im2rm_rcd_enq (im2rm_rcd_enq),
757
758 .rm2im_rcd (rm2im_rcd),
759 .rm2im_rcd_enq (rm2im_rcd_enq),
760
761 .tm2im_data (tm2im_data),
762 .tm2im_data_enq (tm2im_data_enq),
763
764 .j2d_jid (j2d_jid),
765 .j2d_instance_id (j2d_instance_id),
766
767 .rm2im_rply (rm2im_rply),
768 .rm2im_rply_enq (rm2im_rply_enq),
769
770 .mm2im_int (mm2im_int),
771 .y2k_int_l (y2k_int_l),
772// .j2d_ext_int_l (j2d_ext_int_l),
773// .j2d_i2c0_int_l (j2d_i2c0_int_l),
774// .j2d_i2c1_int_l (j2d_i2c1_int_l),
775// .j2d_jbc_int_l (j2d_jbc_int_l),
776
777 .im2rm_mdo_enq (im2rm_mdo_enq),
778 .im2rm_mdo (im2rm_mdo),
779
780 .im2di_wr (im2di_wr),
781 .im2di_addr (im2di_addr),
782 .im2di_data (im2di_data),
783 .im2di_dpar (im2di_dpar),
784 .im2di_bmask (im2di_bmask),
785
786 .im2tm_msi32_addr_reg (im2tm_msi32_addr_reg),
787 .im2tm_msi64_addr_reg (im2tm_msi64_addr_reg),
788 .im2rm_mem64_offset_reg (im2rm_mem64_offset_reg),
789
790 .cr2im_csrbus_valid (cr2im_csrbus_valid),
791 .im2cr_csrbus_done (im2cr_csrbus_done),
792 .im2cr_csrbus_mapped (im2cr_csrbus_mapped),
793 .cr2im_csrbus_wr_data (cr2im_csrbus_wr_data),
794 .cr2im_csrbus_wr (cr2im_csrbus_wr),
795 .im2cr_csrbus_read_data (im2cr_csrbus_read_data),
796 .cr2im_csrbus_addr (cr2im_csrbus_addr),
797 .cr2im_csrbus_src_bus (cr2im_csrbus_src_bus),
798 .im2cr_csrbus_acc_vio (im2cr_csrbus_acc_vio),
799
800 .cr2im_dbg_sel_a (cr2im_dbg_sel_a),
801 .cr2im_dbg_sel_b (cr2im_dbg_sel_b),
802 .im2cr_dbg_a (im2cr_dbg_a),
803 .im2cr_dbg_b (im2cr_dbg_b),
804 .dmu_dbg_err_event (dmu_dbg_err_event),
805 .csr_sun4v_en (csr_sun4v_en),
806 .im2tm_eqs_adr_63 (im2tm_eqs_adr_63),
807 .im2crm_bc_stall_en (im2crm_bc_stall_en),
808 .im2crm_ilu_stall_en (im2crm_ilu_stall_en)
809 );
810
811 dmu_cru cru
812 (
813 .clk (l1clk),
814 .rst_l (rst_l),
815
816 .j2d_instance_id (j2d_instance_id),
817
818 .j2d_csr_ring_out (j2d_csr_ring_out),
819 .d2j_csr_ring_in (d2j_csr_ring_in),
820
821 .k2y_csr_ring_out (k2y_csr_ring_out),
822 .y2k_csr_ring_in (y2k_csr_ring_in),
823
824 .cr2im_csrbus_valid (cr2im_csrbus_valid),
825 .im2cr_csrbus_done (im2cr_csrbus_done),
826 .im2cr_csrbus_mapped (im2cr_csrbus_mapped),
827 .cr2im_csrbus_wr_data (cr2im_csrbus_wr_data),
828 .cr2im_csrbus_wr (cr2im_csrbus_wr),
829 .im2cr_csrbus_read_data (im2cr_csrbus_read_data),
830 .cr2im_csrbus_addr (cr2im_csrbus_addr),
831 .cr2im_csrbus_src_bus (cr2im_csrbus_src_bus),
832 .im2cr_csrbus_acc_vio (im2cr_csrbus_acc_vio),
833
834 .cr2mm_csrbus_valid (cr2mm_csrbus_valid),
835 .mm2cr_csrbus_done (mm2cr_csrbus_done),
836 .mm2cr_csrbus_mapped (mm2cr_csrbus_mapped),
837 .cr2mm_csrbus_wr_data (cr2mm_csrbus_wr_data),
838 .cr2mm_csrbus_wr (cr2mm_csrbus_wr),
839 .mm2cr_csrbus_read_data (mm2cr_csrbus_read_data),
840 .cr2mm_csrbus_addr (cr2mm_csrbus_addr),
841 .cr2mm_csrbus_src_bus (cr2mm_csrbus_src_bus),
842 .mm2cr_csrbus_acc_vio (mm2cr_csrbus_acc_vio),
843
844 .cr2ps_csrbus_valid (cr2ps_csrbus_valid),
845 .ps2cr_csrbus_done (ps2cr_csrbus_done),
846 .ps2cr_csrbus_mapped (ps2cr_csrbus_mapped),
847 .cr2ps_csrbus_wr_data (cr2ps_csrbus_wr_data),
848 .cr2ps_csrbus_wr (cr2ps_csrbus_wr),
849 .ps2cr_csrbus_read_data (ps2cr_csrbus_read_data),
850 .cr2ps_csrbus_addr (cr2ps_csrbus_addr),
851 .cr2ps_csrbus_src_bus (cr2ps_csrbus_src_bus),
852 .ps2cr_csrbus_acc_vio (ps2cr_csrbus_acc_vio),
853
854 .cr2ts_csrbus_valid (cr2ts_csrbus_valid),
855 .ts2cr_csrbus_done (ts2cr_csrbus_done),
856 .ts2cr_csrbus_mapped (ts2cr_csrbus_mapped),
857 .cr2ts_csrbus_wr_data (cr2ts_csrbus_wr_data),
858 .cr2ts_csrbus_wr (cr2ts_csrbus_wr),
859 .ts2cr_csrbus_read_data (ts2cr_csrbus_read_data),
860 .cr2ts_csrbus_addr (cr2ts_csrbus_addr),
861 .cr2ts_csrbus_src_bus (cr2ts_csrbus_src_bus),
862 .ts2cr_csrbus_acc_vio (ts2cr_csrbus_acc_vio),
863
864 .cr2cl_bus_num (cr2cl_bus_num),
865 .cr2rm_req_id (cr2rm_req_id),
866 .d2p_req_id (d2p_req_id),
867
868 .cr2im_dbg_sel_a (cr2im_dbg_sel_a),
869 .cr2im_dbg_sel_b (cr2im_dbg_sel_b),
870 .im2cr_dbg_a (im2cr_dbg_a),
871 .im2cr_dbg_b (im2cr_dbg_b),
872
873 .cr2cm_dbg_sel_a (cr2cm_dbg_sel_a),
874 .cr2cm_dbg_sel_b (cr2cm_dbg_sel_b),
875 .cm2cr_dbg_a (cm2cr_dbg_a),
876 .cm2cr_dbg_b (cm2cr_dbg_b),
877
878 .cr2cl_dbg_sel_a (cr2cl_dbg_sel_a),
879 .cr2cl_dbg_sel_b (cr2cl_dbg_sel_b),
880 .cl2cr_dbg_a (cl2cr_dbg_a),
881 .cl2cr_dbg_b (cl2cr_dbg_b),
882
883 .cr2ts_dbg_sel_a (cr2ts_dbg_sel_a),
884 .cr2ts_dbg_sel_b (cr2ts_dbg_sel_b),
885 .ts2cr_dbg_a (ts2cr_dbg_a),
886 .ts2cr_dbg_b (ts2cr_dbg_b),
887
888 .cr2tm_dbg_sel_a (cr2tm_dbg_sel_a),
889 .cr2tm_dbg_sel_b (cr2tm_dbg_sel_b),
890 .tm2cr_dbg_a (tm2cr_dbg_a),
891 .tm2cr_dbg_b (tm2cr_dbg_b),
892
893 .cr2rm_dbg_sel_a (cr2rm_dbg_sel_a),
894 .cr2rm_dbg_sel_b (cr2rm_dbg_sel_b),
895 .rm2cr_dbg_a (rm2cr_dbg_a),
896 .rm2cr_dbg_b (rm2cr_dbg_b),
897
898 .cr2ps_dbg_sel_a (cr2ps_dbg_sel_a),
899 .cr2ps_dbg_sel_b (cr2ps_dbg_sel_b),
900 .ps2cr_dbg_a (ps2cr_dbg_a),
901 .ps2cr_dbg_b (ps2cr_dbg_b),
902
903 .cr2pm_dbg_sel_a (cr2pm_dbg_sel_a),
904 .cr2pm_dbg_sel_b (cr2pm_dbg_sel_b),
905 .pm2cr_dbg_a (pm2cr_dbg_a),
906 .pm2cr_dbg_b (pm2cr_dbg_b),
907
908 .cr2mm_dbg_sel_a (cr2mm_dbg_sel_a),
909 .cr2mm_dbg_sel_b (cr2mm_dbg_sel_b),
910 .mm2cr_dbg_a (mm2cr_dbg_a),
911 .mm2cr_dbg_b (mm2cr_dbg_b),
912
913 .k2y_dbg_sel_a (k2y_dbg_sel_a),
914 .k2y_dbg_sel_b (k2y_dbg_sel_b),
915 .y2k_dbg_a (y2k_dbg_a),
916 .y2k_dbg_b (y2k_dbg_b),
917
918 .cr2ds_dbg_sel_a (cr2ds_dbg_sel_a[5:0]),
919 .cr2ds_dbg_sel_b (cr2ds_dbg_sel_b[5:0]),
920 .ds2cr_dbg_a (ds2cr_dbg_a[7:0]),
921 .ds2cr_dbg_b (ds2cr_dbg_b[7:0]),
922
923 .dmu_mio_debug_bus_a (dmu_mio_debug_bus_a[7:0]),
924 .dmu_mio_debug_bus_b (dmu_mio_debug_bus_b[7:0])
925 );
926
927 dmu_clu clu
928 (
929 .clk (l1clk),
930 .rst_l (rst_l),
931 .d2j_cmd (d2j_cmd),
932 .d2j_addr (d2j_addr),
933 .d2j_ctag (d2j_ctag),
934 .d2j_cmd_vld (d2j_cmd_vld),
935 .d2j_data (d2j_data),
936 .d2j_bmsk (d2j_bmsk),
937 .d2j_data_par (d2j_data_par),
938 .d2j_data_vld (d2j_data_vld),
939 .j2d_d_wrack_tag (j2d_d_wrack_tag),
940 .j2d_d_wrack_vld (j2d_d_wrack_vld),
941 .j2d_di_cmd (j2d_di_cmd),
942 .j2d_di_ctag (j2d_di_ctag),
943 .j2d_di_cmd_vld (j2d_di_cmd_vld),
944 .j2d_p_cmd (j2d_p_cmd),
945 .j2d_p_addr (j2d_p_addr),
946 .j2d_p_bmsk (j2d_p_bmsk),
947 .j2d_p_ctag (j2d_p_ctag),
948 .j2d_p_cmd_vld (j2d_p_cmd_vld),
949 .j2d_d_data (j2d_d_data),
950 .j2d_d_data_par (j2d_d_data_par),
951 .j2d_d_data_err (j2d_d_data_err),
952 .j2d_d_data_vld (j2d_d_data_vld),
953 .j2d_p_data (j2d_p_data),
954 .j2d_p_data_par (j2d_p_data_par),
955 .j2d_p_data_vld (j2d_p_data_vld),
956 .k2y_dou_dptr (k2y_dou_dptr),
957 .k2y_dou_err (k2y_dou_err),
958 .k2y_dou_vld (k2y_dou_vld),
959 .cl2ps_e_cmd_type (cl2ps_e_cmd_type),
960 .cl2ps_e_trn (cl2ps_e_trn),
961 .cl2ps_e_wr_data (cl2ps_e_wr_data),
962 .cl2ps_e_req (cl2ps_e_req),
963 .ps2cl_e_rd_data (ps2cl_e_rd_data),
964 .ps2cl_e_gnt (ps2cl_e_gnt),
965 .cl2pm_rcd_full (cl2pm_rcd_full),
966 .pm2cl_rcd (pm2cl_rcd),
967 .pm2cl_rcd_enq (pm2cl_rcd_enq),
968 .cl2cm_rcd (cl2cm_rcd),
969 .cl2cm_rcd_enq (cl2cm_rcd_enq),
970 .cm2cl_rcd_full (cm2cl_rcd_full),
971 .cl2mm_tcr_ack (cl2mm_tcr_ack),
972 .mm2cl_tcr_rcd (mm2cl_tcr_rcd),
973 .mm2cl_tcr_req (mm2cl_tcr_req),
974 .cl2mm_tdr_rcd (cl2mm_tdr_rcd),
975 .cl2mm_tdr_vld (cl2mm_tdr_vld),
976 .rm2cl_bufrel (rm2cl_bufrel),
977 .rm2cl_bufrel_enq (rm2cl_bufrel_enq),
978 .cl2tm_dma_rptr (cl2tm_dma_rptr),
979 .cl2tm_int_rptr (cl2tm_int_rptr),
980 .tm2cl_dma_wptr (tm2cl_dma_wptr),
981 .tm2cl_pio_wptr (tm2cl_pio_wptr),
982 .cl2di_addr (cl2di_addr),
983 .cl2di_rd_en (cl2di_rd_en),
984 .di2cl_data (di2cl_data),
985 .di2cl_bmask (di2cl_bmask),
986 .di2cl_dpar (di2cl_dpar),
987 .cl2do_dma_data (cl2do_dma_data),
988 .cl2do_dma_dpar (cl2do_dma_dpar),
989 .cl2do_dma_addr (cl2do_dma_addr),
990 .cl2do_dma_wr (cl2do_dma_wr),
991 .cl2do_pio_data (cl2do_pio_data),
992 .cl2do_pio_dpar (cl2do_pio_dpar),
993 .cl2do_pio_addr (cl2do_pio_addr),
994 .cl2do_pio_wr (cl2do_pio_wr),
995 .cl2cr_dbg_a (cl2cr_dbg_a),
996 .cl2cr_dbg_b (cl2cr_dbg_b),
997 .cr2cl_dbg_sel_a (cr2cl_dbg_sel_a),
998 .cr2cl_dbg_sel_b (cr2cl_dbg_sel_b),
999 .cr2cl_bus_num (cr2cl_bus_num),
1000 .ds2cl_stall (ds2cl_stall),
1001 .p2d_npwr_stall_en (p2d_npwr_stall_en),
1002 .rm2crm_npwr_wrack (rm2crm_npwr_wrack),
1003 .im2crm_bc_stall_en (im2crm_bc_stall_en),
1004 .im2crm_ilu_stall_en (im2crm_ilu_stall_en),
1005 .il2cl_gr_16 (il2cl_gr_16)
1006 );
1007
1008 dmu_cmu cmu
1009 (
1010 .clk (l1clk),
1011 .rst_l (rst_l),
1012
1013 .cr2cm_dbg_sel_a (cr2cm_dbg_sel_a),
1014 .cm2cr_dbg_a (cm2cr_dbg_a),
1015 .cr2cm_dbg_sel_b (cr2cm_dbg_sel_b),
1016 .cm2cr_dbg_b (cm2cr_dbg_b),
1017
1018 .mm2cm_rcd_enq (mm2cm_rcd_enq),
1019 .mm2cm_rcd (mm2cm_rcd),
1020 .cm2mm_rcd_full (cm2mm_rcd_full),
1021 .cm2pm_rcd_enq (cm2pm_rcd_enq),
1022 .cm2pm_rcd (cm2pm_rcd),
1023
1024 .pm2cm_rcd_full (pm2cm_rcd_full),
1025
1026 .cl2cm_rcd_enq (cl2cm_rcd_enq),
1027 .cl2cm_rcd (cl2cm_rcd),
1028 .cm2cl_rcd_full (cm2cl_rcd_full),
1029 .cm2rm_rcd_enq (cm2rm_rcd_enq),
1030 .cm2rm_rcd (cm2rm_rcd),
1031 .rm2cm_rcd_full (rm2cm_rcd_full),
1032
1033 .y2k_mps (y2k_mps)
1034 );
1035
1036 dmu_pmu pmu
1037 (
1038 .clk (l1clk),
1039 .rst_l (rst_l),
1040
1041 .cr2pm_dbg_sel_a (cr2pm_dbg_sel_a),
1042 .pm2cr_dbg_a (pm2cr_dbg_a),
1043 .cr2pm_dbg_sel_b (cr2pm_dbg_sel_b),
1044 .pm2cr_dbg_b (pm2cr_dbg_b),
1045
1046 .cm2pm_rcd_enq (cm2pm_rcd_enq),
1047 .cm2pm_rcd (cm2pm_rcd),
1048 .pm2cm_rcd_full (pm2cm_rcd_full),
1049
1050 .pm2cl_rcd_enq (pm2cl_rcd_enq),
1051 .pm2cl_rcd (pm2cl_rcd),
1052 .cl2pm_rcd_full (cl2pm_rcd_full),
1053
1054 .pm2ps_i_req (pm2ps_i_req),
1055 .ps2pm_i_gnt (ps2pm_i_gnt),
1056 .pm2ps_i_trn (pm2ps_i_trn),
1057 .ps2pm_i_n_trn (ps2pm_i_n_trn),
1058 .pm2ps_i_cmd_type (pm2ps_i_cmd_type),
1059 .ps2pm_i_full (ps2pm_i_full),
1060 .pm2ps_i_wr_data (pm2ps_i_wr_data),
1061 .ps2pm_i_rd_data (ps2pm_i_rd_data)
1062 );
1063
1064 dmu_dou dou
1065 (
1066 .l2clk (l2clk),
1067 .clk (l1clk),
1068 .rst_l (rst_l),
1069 .scan_in (scan_in),
1070 .tcu_array_bypass (tcu_array_bypass),
1071 .tcu_scan_en (tcu_scan_en),
1072 .tcu_se_scancollar_in (tcu_se_scancollar_in),
1073 .tcu_se_scancollar_out (tcu_se_scancollar_out),
1074 .tcu_array_wr_inhibit (tcu_array_wr_inhibit),
1075 .tcu_pce_ov (tcu_pce_ov),
1076 .tcu_aclk (tcu_aclk),
1077 .tcu_bclk (tcu_bclk),
1078 .scan_out (),
1079
1080 .cl2do_dma_wr (cl2do_dma_wr),
1081 .cl2do_dma_addr (cl2do_dma_addr),
1082 .cl2do_dma_data (cl2do_dma_data),
1083 .cl2do_dma_dpar (cl2do_dma_dpar),
1084
1085 .cl2do_pio_wr (cl2do_pio_wr),
1086 .cl2do_pio_addr (cl2do_pio_addr),
1087 .cl2do_pio_data (cl2do_pio_data),
1088 .cl2do_pio_dpar (cl2do_pio_dpar),
1089
1090 .y2k_buf_addr (y2k_buf_addr),
1091 .k2y_buf_data (k2y_buf_data),
1092 .k2y_buf_dpar (k2y_buf_dpar),
1093
1094 .dmu_mb0_run (dmu_mb0_run),
1095 .dmu_mb0_addr (dmu_mb0_addr[7:0]),
1096 .dmu_mb0_wdata (dmu_mb0_wdata),
1097 .dmu_mb0_dou_dma_data_wr_en (dmu_mb0_dou_dma_data_wr_en),
1098 .dmu_mb0_dou_dma_data_rd_en (dmu_mb0_dou_dma_data_rd_en),
1099 .dmu_mb0_dou_pio_data_wr_en (dmu_mb0_dou_pio_data_wr_en),
1100 .dmu_mb0_dou_pio_data_rd_en (dmu_mb0_dou_pio_data_rd_en),
1101 .dmu_dou_pio_read_data (dmu_dou_pio_read_data),
1102 .dmu_dou_dma_read_data (dmu_dou_dma_read_data)
1103 );
1104
1105 dmu_diu diu
1106 (
1107 .l2clk (l2clk),
1108 .clk (l1clk),
1109 .rst_l (rst_l),
1110 .scan_in (scan_in),
1111 .tcu_array_bypass (tcu_array_bypass),
1112 .tcu_scan_en (tcu_scan_en),
1113 .tcu_se_scancollar_in (tcu_se_scancollar_in),
1114 .tcu_array_wr_inhibit (tcu_array_wr_inhibit),
1115 .tcu_pce_ov (tcu_pce_ov),
1116 .tcu_aclk (tcu_aclk),
1117 .tcu_bclk (tcu_bclk),
1118 .scan_out (),
1119
1120 .tm2di_wr (tm2di_wr),
1121 .tm2di_addr (tm2di_addr),
1122 .tm2di_data (tm2di_data),
1123 .tm2di_bmask (tm2di_bmask),
1124 .tm2di_dpar (tm2di_dpar),
1125
1126 .im2di_wr (im2di_wr),
1127 .im2di_addr (im2di_addr),
1128 .im2di_data (im2di_data),
1129 .im2di_bmask (im2di_bmask),
1130 .im2di_dpar (im2di_dpar),
1131
1132 .cl2di_addr (cl2di_addr),
1133 .cl2di_rd_en (cl2di_rd_en),
1134 .di2cl_data (di2cl_data),
1135 .di2cl_dpar (di2cl_dpar),
1136 .di2cl_bmask (di2cl_bmask),
1137
1138 .dmu_diu_read_data (dmu_diu_read_data),
1139 .dmu_mb0_run (dmu_mb0_run),
1140 .dmu_mb0_addr (dmu_mb0_addr[7:0]),
1141 .dmu_mb0_wdata (dmu_mb0_wdata),
1142 .dmu_mb0_diu_wr_en (dmu_mb0_diu_wr_en),
1143 .dmu_mb0_diu_rd_en (dmu_mb0_diu_rd_en)
1144 );
1145
1146`endif
1147
1148
1149 dmu_mmu mmu
1150 (
1151 .l2clk (l2clk),
1152 .clk (l1clk),
1153 .por_l (por_l),
1154 .rst_l (rst_l),
1155 .scan_in (scan_in),
1156 .tcu_array_bypass (tcu_array_bypass),
1157 .tcu_scan_en (tcu_scan_en),
1158 .tcu_se_scancollar_in (tcu_se_scancollar_in),
1159 .tcu_array_wr_inhibit (tcu_array_wr_inhibit),
1160 .tcu_pce_ov (tcu_pce_ov),
1161 .tcu_aclk (tcu_aclk),
1162 .tcu_bclk (tcu_bclk),
1163 .scan_out (scan_out),
1164
1165 .j2d_instance_id (j2d_instance_id),
1166 .j2d_mmu_addr (j2d_mmu_addr),
1167 .j2d_mmu_addr_vld (j2d_mmu_addr_vld),
1168
1169 .cl2mm_tcr_ack (cl2mm_tcr_ack),
1170
1171 .cm2mm_rcd_full (cm2mm_rcd_full),
1172
1173 .cr2mm_csrbus_addr (cr2mm_csrbus_addr),
1174 .cr2mm_csrbus_src_bus (cr2mm_csrbus_src_bus),
1175 .cr2mm_csrbus_valid (cr2mm_csrbus_valid),
1176 .cr2mm_csrbus_wr (cr2mm_csrbus_wr),
1177 .cr2mm_csrbus_wr_data (cr2mm_csrbus_wr_data),
1178 .cr2mm_dbg_sel_a (cr2mm_dbg_sel_a),
1179 .cr2mm_dbg_sel_b (cr2mm_dbg_sel_b),
1180
1181 .cl2mm_tdr_rcd (cl2mm_tdr_rcd),
1182 .cl2mm_tdr_vld (cl2mm_tdr_vld),
1183
1184 .rm2mm_rcd (rm2mm_rcd),
1185 .rm2mm_rcd_enq (rm2mm_rcd_enq),
1186
1187// .d2j_tsb_base (d2j_tsb_base),
1188// .d2j_tsb_enable (d2j_tsb_enable),
1189// .d2j_tsb_size (d2j_tsb_size),
1190
1191 .mm2cl_tcr_rcd (mm2cl_tcr_rcd),
1192 .mm2cl_tcr_req (mm2cl_tcr_req),
1193 .mm2cm_rcd (mm2cm_rcd),
1194 .mm2cm_rcd_enq (mm2cm_rcd_enq),
1195
1196 .mm2cr_csrbus_acc_vio (mm2cr_csrbus_acc_vio),
1197 .mm2cr_csrbus_done (mm2cr_csrbus_done),
1198 .mm2cr_csrbus_mapped (mm2cr_csrbus_mapped),
1199 .mm2cr_csrbus_read_data (mm2cr_csrbus_read_data),
1200 .mm2cr_dbg_a (mm2cr_dbg_a),
1201 .mm2cr_dbg_b (mm2cr_dbg_b),
1202
1203 .mm2im_int (mm2im_int),
1204
1205 .mm2rm_rcd_full (mm2rm_rcd_full),
1206
1207 .dsn_dmc_iei (dsn_dmc_iei),
1208
1209 .ptb2csr_rd2 (mmu_ptb_read_data),
1210 .vtb2csr_rd (vtb2csr_rd),
1211 .dmu_cb0_run (dmu_cb0_run),
1212 .dmu_cb0_addr (dmu_cb0_addr),
1213 .dmu_cb0_wdata_key (dmu_cb0_wdata_key),
1214 .dmu_cb0_mmu_ptb_wr_en (dmu_cb0_mmu_ptb_wr_en),
1215 .dmu_cb0_mmu_ptb_rd_en (dmu_cb0_mmu_ptb_rd_en),
1216 .dmu_cb0_mmu_ptb_lkup_en (dmu_cb0_mmu_ptb_lkup_en),
1217 .mmu_ptb_hit (mmu_ptb_hit),
1218 .dmu_cb0_mmu_vtb_wr_en (dmu_cb0_mmu_vtb_wr_en),
1219 .dmu_cb0_mmu_vtb_rd_en (dmu_cb0_mmu_vtb_rd_en),
1220 .dmu_cb0_mmu_vtb_lkup_en (dmu_cb0_mmu_vtb_lkup_en),
1221 .dmu_cb0_hld (dmu_cb0_hld),
1222 .mmu_vtb_hit (mmu_vtb_hit),
1223 .vtb_dout_4msb (vtb_dout_4msb),
1224 .tdb_dout_8msb (tdb_dout_8msb),
1225 .dmu_mb0_run (dmu_mb0_run),
1226 .dmu_mb0_addr (dmu_mb0_addr),
1227 .dmu_mb0_wdata (dmu_mb0_wdata),
1228 .dmu_mb0_tdb_wr_en (dmu_mb0_tdb_wr_en),
1229 .dmu_mb0_tdb_rd_en (dmu_mb0_tdb_rd_en),
1230 .tdb2csr_rd (tdb2csr_rd),
1231 .dmu_mb0_dev_wr_en (dmu_mb0_dev_wr_en),
1232 .dmu_mb0_dev_rd_en (dmu_mb0_dev_rd_en),
1233 .dmu_mb0_tsb_wr_en (dmu_mb0_tsb_wr_en),
1234 .dmu_mb0_tsb_rd_en (dmu_mb0_tsb_rd_en),
1235 .dev_iotsb2csr_rd (dev_tsb_read_data),
1236 .efu_dmu_data (efu_dmu_data), // input efu to devtsb
1237 .efu_dmu_xfer_en (efu_dmu_xfer_en), // input efu to devtsb
1238 .efu_dmu_clr (efu_dmu_clr), // input efu to devtsb
1239 .dmu_efu_data (dmu_efu_data), // output of devtsb to efu
1240 .dmu_efu_xfer_en (dmu_efu_xfer_en), // output of devtsb to efu
1241 .csr_sun4v_en (csr_sun4v_en) // sun4v csr enable bit to imu
1242
1243
1244 );
1245
1246`ifdef IOMMU_SAT
1247`else
1248
1249 dmu_psb psb
1250 (
1251 .clk (l1clk),
1252 .rst_l (rst_l),
1253 .pm2ps_i_req (pm2ps_i_req),
1254 .pm2ps_i_cmd_type (pm2ps_i_cmd_type),
1255 .pm2ps_i_trn (pm2ps_i_trn),
1256 .pm2ps_i_wr_data (pm2ps_i_wr_data),
1257 .ps2pm_i_full (ps2pm_i_full),
1258 .ps2pm_i_gnt (ps2pm_i_gnt),
1259 .ps2pm_i_n_trn (ps2pm_i_n_trn),
1260 .ps2pm_i_rd_data (ps2pm_i_rd_data),
1261 .cl2ps_e_req (cl2ps_e_req),
1262 .cl2ps_e_cmd_type (cl2ps_e_cmd_type),
1263 .cl2ps_e_trn (cl2ps_e_trn),
1264 .cl2ps_e_wr_data (cl2ps_e_wr_data),
1265 .ps2cl_e_gnt (ps2cl_e_gnt),
1266 .ps2cl_e_rd_data (ps2cl_e_rd_data),
1267 .cr2ps_csrbus_valid (cr2ps_csrbus_valid),
1268 .cr2ps_csrbus_src_bus (cr2ps_csrbus_src_bus),
1269 .cr2ps_csrbus_addr (cr2ps_csrbus_addr),
1270 .cr2ps_csrbus_wr (cr2ps_csrbus_wr),
1271 .cr2ps_csrbus_wr_data (cr2ps_csrbus_wr_data),
1272 .ps2cr_csrbus_mapped (ps2cr_csrbus_mapped),
1273 .ps2cr_csrbus_read_data (ps2cr_csrbus_read_data),
1274 .ps2cr_csrbus_done (ps2cr_csrbus_done),
1275 .ps2cr_csrbus_acc_vio (ps2cr_csrbus_acc_vio),
1276 .j2d_instance_id (j2d_instance_id),
1277
1278 .cr2ps_dbg_sel_a (cr2ps_dbg_sel_a),
1279 .cr2ps_dbg_sel_b (cr2ps_dbg_sel_b),
1280 .ps2cr_dbg_a (ps2cr_dbg_a),
1281 .ps2cr_dbg_b (ps2cr_dbg_b)
1282 );
1283
1284 dmu_tsb tsb
1285 (
1286 .clk (l1clk),
1287 .rst_l (rst_l),
1288
1289 .rm2ts_i_req (rm2ts_i_req),
1290 .rm2ts_i_cmd_type (rm2ts_i_cmd_type),
1291 .rm2ts_i_wr_data (rm2ts_i_wr_data),
1292 .ts2rm_i_full (ts2rm_i_full),
1293 .ts2rm_i_gnt (ts2rm_i_gnt),
1294 .ts2rm_i_n_trn (ts2rm_i_n_trn),
1295
1296 .rm2ts_e_req (rm2ts_e_req),
1297 .rm2ts_e_cmd_type (rm2ts_e_cmd_type),
1298 .rm2ts_e_trn (rm2ts_e_trn),
1299 .rm2ts_e_wr_data (rm2ts_e_wr_data),
1300 .ts2rm_e_gnt (ts2rm_e_gnt),
1301 .ts2rm_e_rd_data (ts2rm_e_rd_data),
1302
1303 .cr2ts_csrbus_valid (cr2ts_csrbus_valid),
1304 .cr2ts_csrbus_src_bus (cr2ts_csrbus_src_bus),
1305 .cr2ts_csrbus_addr (cr2ts_csrbus_addr),
1306 .cr2ts_csrbus_wr (cr2ts_csrbus_wr),
1307 .cr2ts_csrbus_wr_data (cr2ts_csrbus_wr_data),
1308 .ts2cr_csrbus_mapped (ts2cr_csrbus_mapped),
1309 .ts2cr_csrbus_read_data (ts2cr_csrbus_read_data),
1310 .ts2cr_csrbus_done (ts2cr_csrbus_done),
1311 .ts2cr_csrbus_acc_vio (ts2cr_csrbus_acc_vio),
1312 .j2d_instance_id (j2d_instance_id),
1313
1314 .cr2ts_dbg_sel_a (cr2ts_dbg_sel_a),
1315 .cr2ts_dbg_sel_b (cr2ts_dbg_sel_b),
1316 .ts2cr_dbg_a (ts2cr_dbg_a),
1317 .ts2cr_dbg_b (ts2cr_dbg_b)
1318 );
1319
1320 dmu_tmu tmu
1321 (
1322 .clk (l1clk),
1323 .rst_l (rst_l),
1324
1325 .d2p_idb_rd (d2p_idb_rd),
1326
1327 .y2k_rcd (y2k_rcd),
1328 .y2k_rcd_enq (y2k_rcd_enq),
1329 .k2y_rcd_deq (k2y_rcd_deq),
1330
1331 .k2y_rel_rcd (k2y_rel_rcd),
1332 .k2y_rel_enq (k2y_rel_enq),
1333
1334 .y2k_buf_addr_vld_monitor (y2k_buf_addr_vld_monitor),
1335 .k2y_buf_addr_vld_monitor (k2y_buf_addr_vld_monitor),
1336 .k2y_buf_addr (k2y_buf_addr),
1337 .y2k_buf_data (y2k_buf_data),
1338 .y2k_buf_dpar (y2k_buf_dpar),
1339
1340 .tm2di_wr (tm2di_wr),
1341 .tm2di_addr (tm2di_addr),
1342 .tm2di_data (tm2di_data),
1343 .tm2di_bmask (tm2di_bmask),
1344 .tm2di_dpar (tm2di_dpar),
1345
1346 .cl2tm_dma_rptr (cl2tm_dma_rptr),
1347 .cl2tm_int_rptr (cl2tm_int_rptr),
1348 .tm2cl_dma_wptr (tm2cl_dma_wptr),
1349 .tm2cl_pio_wptr (tm2cl_pio_wptr),
1350
1351 .tm2rm_rcd (tm2rm_rcd),
1352 .tm2rm_rcd_enq (tm2rm_rcd_enq),
1353 .rm2tm_rcd_full (rm2tm_rcd_full),
1354
1355 .tm2im_data_enq (tm2im_data_enq),
1356 .tm2im_data (tm2im_data),
1357
1358 .im2tm_msi32_addr_reg (im2tm_msi32_addr_reg),
1359 .im2tm_msi64_addr_reg (im2tm_msi64_addr_reg),
1360
1361 .cr2tm_dbg_sel_a (cr2tm_dbg_sel_a),
1362 .cr2tm_dbg_sel_b (cr2tm_dbg_sel_b),
1363 .tm2cr_dbg_a (tm2cr_dbg_a),
1364 .tm2cr_dbg_b (tm2cr_dbg_b),
1365 .im2tm_eqs_adr_63 (im2tm_eqs_adr_63),
1366 .csr_sun4v_en (csr_sun4v_en)
1367 );
1368
1369assign rst_l = j2d_rst_l;
1370assign por_l = j2d_por_l;
1371
1372// lbist_rst_cct rst_cct
1373// (
1374// .rst_l_in (j2d_rst_l),
1375// .clk (l1clk),
1376// .bist_en (1'b0),
1377// .rst_l_out (rst_l)
1378// );
1379
1380// lbist_rst_cct por_cct
1381// (
1382// .rst_l_in (j2d_por_l),
1383// .clk (l1clk),
1384// .bist_en (1'b0),
1385// .rst_l_out (por_l)
1386// );
1387
1388`endif
1389
1390
1391endmodule // dmu_dmc