Commit | Line | Data |
---|---|---|
86530b38 AT |
1 | // ========== Copyright Header Begin ========================================== |
2 | // | |
3 | // OpenSPARC T2 Processor File: db1.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 | module db1 ( | |
36 | tcu_pce_ov, | |
37 | tcu_clk_stop, | |
38 | tcu_aclk, | |
39 | tcu_bclk, | |
40 | tcu_scan_en, | |
41 | tcu_atpg_mode, | |
42 | tcu_dbr_gateoff, | |
43 | scan_in, | |
44 | scan_out, | |
45 | rst_wmr_protect, | |
46 | cluster_arst_l, | |
47 | ccu_io_out, | |
48 | tcu_div_bypass, | |
49 | ccu_dbg1_serdes_dtm, | |
50 | l2t1_dbg1_sii_iq_dequeue, | |
51 | l2t3_dbg1_sii_iq_dequeue, | |
52 | l2t4_dbg1_sii_iq_dequeue, | |
53 | l2t5_dbg1_sii_iq_dequeue, | |
54 | l2t6_dbg1_sii_iq_dequeue, | |
55 | l2t7_dbg1_sii_iq_dequeue, | |
56 | l2t1_dbg1_sii_wib_dequeue, | |
57 | l2t3_dbg1_sii_wib_dequeue, | |
58 | l2t4_dbg1_sii_wib_dequeue, | |
59 | l2t5_dbg1_sii_wib_dequeue, | |
60 | l2t6_dbg1_sii_wib_dequeue, | |
61 | l2t7_dbg1_sii_wib_dequeue, | |
62 | l2t1_dbg1_err_event, | |
63 | l2t3_dbg1_err_event, | |
64 | l2t4_dbg1_err_event, | |
65 | l2t5_dbg1_err_event, | |
66 | l2t6_dbg1_err_event, | |
67 | l2t7_dbg1_err_event, | |
68 | l2t1_dbg1_pa_match, | |
69 | l2t3_dbg1_pa_match, | |
70 | l2t4_dbg1_pa_match, | |
71 | l2t5_dbg1_pa_match, | |
72 | l2t6_dbg1_pa_match, | |
73 | l2t7_dbg1_pa_match, | |
74 | l2t1_dbg1_xbar_vcid, | |
75 | l2t3_dbg1_xbar_vcid, | |
76 | l2t4_dbg1_xbar_vcid, | |
77 | l2t5_dbg1_xbar_vcid, | |
78 | l2t6_dbg1_xbar_vcid, | |
79 | l2t7_dbg1_xbar_vcid, | |
80 | l2b4_dbg1_sio_ctag_vld, | |
81 | l2b5_dbg1_sio_ctag_vld, | |
82 | l2b6_dbg1_sio_ctag_vld, | |
83 | l2b7_dbg1_sio_ctag_vld, | |
84 | l2b4_dbg1_sio_ack_type, | |
85 | l2b5_dbg1_sio_ack_type, | |
86 | l2b6_dbg1_sio_ack_type, | |
87 | l2b7_dbg1_sio_ack_type, | |
88 | l2b4_dbg1_sio_ack_dest, | |
89 | l2b5_dbg1_sio_ack_dest, | |
90 | l2b6_dbg1_sio_ack_dest, | |
91 | l2b7_dbg1_sio_ack_dest, | |
92 | spc1_dbg1_instr_cmt_grp0, | |
93 | spc1_dbg1_instr_cmt_grp1, | |
94 | spc3_dbg1_instr_cmt_grp0, | |
95 | spc3_dbg1_instr_cmt_grp1, | |
96 | spc4_dbg1_instr_cmt_grp0, | |
97 | spc4_dbg1_instr_cmt_grp1, | |
98 | spc5_dbg1_instr_cmt_grp0, | |
99 | spc5_dbg1_instr_cmt_grp1, | |
100 | spc6_dbg1_instr_cmt_grp0, | |
101 | spc6_dbg1_instr_cmt_grp1, | |
102 | spc7_dbg1_instr_cmt_grp0, | |
103 | spc7_dbg1_instr_cmt_grp1, | |
104 | mcu0_dbg1_crc21, | |
105 | mcu0_dbg1_rd_req_in_0, | |
106 | mcu0_dbg1_rd_req_in_1, | |
107 | mcu0_dbg1_rd_req_out, | |
108 | mcu0_dbg1_wr_req_in_0, | |
109 | mcu0_dbg1_wr_req_in_1, | |
110 | mcu0_dbg1_wr_req_out, | |
111 | mcu0_dbg1_mecc_err, | |
112 | mcu0_dbg1_secc_err, | |
113 | mcu0_dbg1_fbd_err, | |
114 | mcu0_dbg1_err_mode, | |
115 | mcu0_dbg1_err_event, | |
116 | mcu1_dbg1_crc21, | |
117 | mcu1_dbg1_rd_req_in_0, | |
118 | mcu1_dbg1_rd_req_in_1, | |
119 | mcu1_dbg1_rd_req_out, | |
120 | mcu1_dbg1_wr_req_in_0, | |
121 | mcu1_dbg1_wr_req_in_1, | |
122 | mcu1_dbg1_wr_req_out, | |
123 | mcu1_dbg1_mecc_err, | |
124 | mcu1_dbg1_secc_err, | |
125 | mcu1_dbg1_fbd_err, | |
126 | mcu1_dbg1_err_mode, | |
127 | mcu1_dbg1_err_event, | |
128 | mcu2_dbg1_crc21, | |
129 | mcu2_dbg1_rd_req_in_0, | |
130 | mcu2_dbg1_rd_req_in_1, | |
131 | mcu2_dbg1_rd_req_out, | |
132 | mcu2_dbg1_wr_req_in_0, | |
133 | mcu2_dbg1_wr_req_in_1, | |
134 | mcu2_dbg1_wr_req_out, | |
135 | mcu2_dbg1_mecc_err, | |
136 | mcu2_dbg1_secc_err, | |
137 | mcu2_dbg1_fbd_err, | |
138 | mcu2_dbg1_err_mode, | |
139 | mcu2_dbg1_err_event, | |
140 | mcu3_dbg1_crc21, | |
141 | mcu3_dbg1_rd_req_in_0, | |
142 | mcu3_dbg1_rd_req_in_1, | |
143 | mcu3_dbg1_rd_req_out, | |
144 | mcu3_dbg1_wr_req_in_0, | |
145 | mcu3_dbg1_wr_req_in_1, | |
146 | mcu3_dbg1_wr_req_out, | |
147 | mcu3_dbg1_mecc_err, | |
148 | mcu3_dbg1_secc_err, | |
149 | mcu3_dbg1_fbd_err, | |
150 | mcu3_dbg1_err_mode, | |
151 | mcu3_dbg1_err_event, | |
152 | dbg1_niu_stall, | |
153 | niu_dbg1_stall_ack, | |
154 | dbg1_niu_resume, | |
155 | dbg1_dmu_stall, | |
156 | dmu_dbg1_stall_ack, | |
157 | dbg1_dmu_resume, | |
158 | dmu_dbg1_err_event, | |
159 | sii_dbg1_l2t0_req, | |
160 | sii_dbg1_l2t1_req, | |
161 | sii_dbg1_l2t2_req, | |
162 | sii_dbg1_l2t3_req, | |
163 | sii_dbg1_l2t4_req, | |
164 | sii_dbg1_l2t5_req, | |
165 | sii_dbg1_l2t6_req, | |
166 | sii_dbg1_l2t7_req, | |
167 | ncu_dbg1_error_event, | |
168 | ncu_dbg1_stall, | |
169 | ncu_dbg1_vld, | |
170 | ncu_dbg1_data, | |
171 | dbg1_ncu_stall, | |
172 | dbg1_ncu_vld, | |
173 | dbg1_ncu_data, | |
174 | dbg1_tcu_soc_hard_stop, | |
175 | dbg1_tcu_soc_asrt_trigout, | |
176 | tcu_mio_jtag_membist_mode, | |
177 | gclk, | |
178 | io_cmp_sync_en, | |
179 | cmp_io2x_sync_en, | |
180 | cmp_io_sync_en, | |
181 | dbg1_niu_dbg_sel, | |
182 | mio_dbg1_testmode, | |
183 | mio_pll_testmode, | |
184 | dbg1_mio_dbg_dq, | |
185 | dbg1_mio_drv_en_op_only, | |
186 | dbg1_mio_drv_en_muxtest_op, | |
187 | dbg1_mio_drv_en_muxbist_op, | |
188 | dbg1_mio_drv_en_muxtest_inp, | |
189 | dbg1_mio_drv_en_muxtestpll_inp, | |
190 | dbg1_mio_sel_niu_debug_mode, | |
191 | dbg1_mio_sel_pcix_debug_mode, | |
192 | dbg1_mio_sel_soc_obs_mode, | |
193 | dbg1_mio_drv_imped, | |
194 | dbg0_dbg1_l2t0_sii_iq_dequeue, | |
195 | dbg0_dbg1_l2t2_sii_iq_dequeue, | |
196 | dbg0_dbg1_l2t0_sii_wib_dequeue, | |
197 | dbg0_dbg1_l2t2_sii_wib_dequeue, | |
198 | dbg0_dbg1_l2t0_err_event, | |
199 | dbg0_dbg1_l2t2_err_event, | |
200 | dbg0_dbg1_l2t0_pa_match, | |
201 | dbg0_dbg1_l2t2_pa_match, | |
202 | dbg0_dbg1_l2t0_xbar_vcid, | |
203 | dbg0_dbg1_l2t2_xbar_vcid, | |
204 | dbg0_dbg1_debug_data, | |
205 | dbg0_dbg1_l2b0_sio_ctag_vld, | |
206 | dbg0_dbg1_l2b1_sio_ctag_vld, | |
207 | dbg0_dbg1_l2b2_sio_ctag_vld, | |
208 | dbg0_dbg1_l2b3_sio_ctag_vld, | |
209 | dbg0_dbg1_l2b0_sio_ack_type, | |
210 | dbg0_dbg1_l2b1_sio_ack_type, | |
211 | dbg0_dbg1_l2b2_sio_ack_type, | |
212 | dbg0_dbg1_l2b3_sio_ack_type, | |
213 | dbg0_dbg1_l2b0_sio_ack_dest, | |
214 | dbg0_dbg1_l2b1_sio_ack_dest, | |
215 | dbg0_dbg1_l2b2_sio_ack_dest, | |
216 | dbg0_dbg1_l2b3_sio_ack_dest, | |
217 | dbg0_dbg1_spc0_instr_cmt_grp0, | |
218 | dbg0_dbg1_spc0_instr_cmt_grp1, | |
219 | dbg0_dbg1_spc2_instr_cmt_grp0, | |
220 | dbg0_dbg1_spc2_instr_cmt_grp1); | |
221 | wire l2clk; | |
222 | wire db1_clk_header_cmp_clk_scan_out; | |
223 | wire aclk; | |
224 | wire bclk; | |
225 | wire ce_ovrd; | |
226 | wire cmp_io2x_sync_en_out; | |
227 | wire io_cmp_sync_en_out; | |
228 | wire cmp_io_sync_en_out; | |
229 | wire db1_clk_header_cmp_clk_scan_in; | |
230 | wire iol2clk; | |
231 | wire db1_clk_header_iol2clk_scan_out; | |
232 | wire wmr_protect; | |
233 | wire aclk_wmr; | |
234 | wire db1_clk_header_iol2clk_scan_in; | |
235 | wire ucbflow_scanin; | |
236 | wire ucbflow_scanout; | |
237 | wire dbg1_csr_scanin; | |
238 | wire dbg1_csr_scanout; | |
239 | wire dbg1_dbgprt_scanin; | |
240 | wire dbg1_dbgprt_scanout; | |
241 | wire rd_req_vld; | |
242 | wire wr_req_vld; | |
243 | wire [5:0] thr_id_in; | |
244 | wire [1:0] buf_id_in; | |
245 | wire [39:0] addr_in; | |
246 | wire [63:0] data_in; | |
247 | wire req_acpted; | |
248 | wire rd_ack_vld; | |
249 | wire rd_nack_vld; | |
250 | wire [5:0] thr_id_out; | |
251 | wire [1:0] buf_id_out; | |
252 | wire [63:0] data_out; | |
253 | wire ack_busy; | |
254 | wire l2t0_pa_match_synced; | |
255 | wire l2t1_pa_match_synced; | |
256 | wire l2t2_pa_match_synced; | |
257 | wire l2t3_pa_match_synced; | |
258 | wire l2t4_pa_match_synced; | |
259 | wire l2t5_pa_match_synced; | |
260 | wire l2t6_pa_match_synced; | |
261 | wire l2t7_pa_match_synced; | |
262 | wire l2t_error_event_synced; | |
263 | wire [83:0] mcu_dbg_signals; | |
264 | wire [87:0] mcu_dtm_signals; | |
265 | wire sel_soc_obs_mode; | |
266 | wire sel_charac_mode; | |
267 | wire sel_rep_mode; | |
268 | wire sel_core_soc_debug_mode; | |
269 | wire sel_train_mode; | |
270 | ||
271 | ||
272 | input tcu_pce_ov; | |
273 | input tcu_clk_stop; | |
274 | input tcu_aclk; | |
275 | input tcu_bclk; | |
276 | input tcu_scan_en; | |
277 | input tcu_atpg_mode; | |
278 | input tcu_dbr_gateoff; | |
279 | ||
280 | input scan_in; | |
281 | output scan_out; | |
282 | ||
283 | // new signals after clock header insertion | |
284 | ||
285 | input rst_wmr_protect; | |
286 | input cluster_arst_l; | |
287 | input ccu_io_out; | |
288 | input tcu_div_bypass; | |
289 | input ccu_dbg1_serdes_dtm; | |
290 | ||
291 | ||
292 | // interface with L2T 1,3,4,5,6,7 | |
293 | ||
294 | input l2t1_dbg1_sii_iq_dequeue; //L2t 1 dequeue from IQ | |
295 | input l2t3_dbg1_sii_iq_dequeue; //L2t 3 dequeue from IQ | |
296 | input l2t4_dbg1_sii_iq_dequeue; //L2t 4 dequeue from IQ | |
297 | input l2t5_dbg1_sii_iq_dequeue; //L2t 5 dequeue from IQ | |
298 | input l2t6_dbg1_sii_iq_dequeue; //L2t 6 dequeue from IQ | |
299 | input l2t7_dbg1_sii_iq_dequeue; //L2t 7 dequeue from IQ | |
300 | ||
301 | input l2t1_dbg1_sii_wib_dequeue; //L2t 1 dequeue from IOWB | |
302 | input l2t3_dbg1_sii_wib_dequeue; //L2t 3 dequeue from IOWB | |
303 | input l2t4_dbg1_sii_wib_dequeue; //L2t 4 dequeue from IOWB | |
304 | input l2t5_dbg1_sii_wib_dequeue; //L2t 5 dequeue from IOWB | |
305 | input l2t6_dbg1_sii_wib_dequeue; //L2t 6 dequeue from IOWB | |
306 | input l2t7_dbg1_sii_wib_dequeue; //L2t 7 dequeue from IOWB | |
307 | ||
308 | input l2t1_dbg1_err_event; //An Error event occurred in l2t 1 | |
309 | input l2t3_dbg1_err_event; //An Error event occurred in l2t 3 | |
310 | input l2t4_dbg1_err_event; //An Error event occurred in l2t 4 | |
311 | input l2t5_dbg1_err_event; //An Error event occurred in l2t 5 | |
312 | input l2t6_dbg1_err_event; //An Error event occurred in l2t 6 | |
313 | input l2t7_dbg1_err_event; //An Error event occurred in l2t 7 | |
314 | ||
315 | input l2t1_dbg1_pa_match; //A PA match detected in l2t 1 | |
316 | input l2t3_dbg1_pa_match; //A PA match detected in l2t 3 | |
317 | input l2t4_dbg1_pa_match; //A PA match detected in l2t 4 | |
318 | input l2t5_dbg1_pa_match; //A PA match detected in l2t 5 | |
319 | input l2t6_dbg1_pa_match; //A PA match detected in l2t 6 | |
320 | input l2t7_dbg1_pa_match; //A PA match detected in l2t 7 | |
321 | ||
322 | input [5:0] l2t1_dbg1_xbar_vcid; //VCID[5:0] from Xbar to L2t 1 | |
323 | input [5:0] l2t3_dbg1_xbar_vcid; //VCID[5:0] from Xbar to L2t 3 | |
324 | input [5:0] l2t4_dbg1_xbar_vcid; //VCID[5:0] from Xbar to L2t 4 | |
325 | input [5:0] l2t5_dbg1_xbar_vcid; //VCID[5:0] from Xbar to L2t 5 | |
326 | input [5:0] l2t6_dbg1_xbar_vcid; //VCID[5:0] from Xbar to L2t 6 | |
327 | input [5:0] l2t7_dbg1_xbar_vcid; //VCID[5:0] from Xbar to L2t 7 | |
328 | ||
329 | // Interface with L2B 4,5,6,7 | |
330 | ||
331 | input l2b4_dbg1_sio_ctag_vld; //Ctag valid from L2b 4 to SIO | |
332 | input l2b5_dbg1_sio_ctag_vld; //Ctag valid from L2b 5 to SIO | |
333 | input l2b6_dbg1_sio_ctag_vld; //Ctag valid from L2b 6 to SIO | |
334 | input l2b7_dbg1_sio_ctag_vld; //Ctag valid from L2b 7 to SIO | |
335 | ||
336 | input l2b4_dbg1_sio_ack_type; //Read or Wr ack from L2b 4 to SIO | |
337 | input l2b5_dbg1_sio_ack_type; //Read or Wr ack from L2b 5 to SIO | |
338 | input l2b6_dbg1_sio_ack_type; //Read or Wr ack from L2b 6 to SIO | |
339 | input l2b7_dbg1_sio_ack_type; //Read or Wr ack from L2b 7 to SIO | |
340 | ||
341 | input l2b4_dbg1_sio_ack_dest; //Read or Wr ack dest (NIU/DMU) from L2b 4 to SIO | |
342 | input l2b5_dbg1_sio_ack_dest; //Read or Wr ack dest (NIU/DMU) from L2b 5 to SIO | |
343 | input l2b6_dbg1_sio_ack_dest; //Read or Wr ack dest (NIU/DMU) from L2b 6 to SIO | |
344 | input l2b7_dbg1_sio_ack_dest; //Read or Wr ack dest (NIU/DMU) from L2b 7 to SIO | |
345 | ||
346 | // Interface with Sparcs 1,3,4,5,6,7 | |
347 | ||
348 | input [1:0] spc1_dbg1_instr_cmt_grp0;//Instruction Commited in Thread Group 0 for SPC 1 | |
349 | input [1:0] spc1_dbg1_instr_cmt_grp1;//Instruction Commited in Thread Group 1 for SPC 1 | |
350 | input [1:0] spc3_dbg1_instr_cmt_grp0;//Instruction Commited in Thread Group 0 for SPC 3 | |
351 | input [1:0] spc3_dbg1_instr_cmt_grp1;//Instruction Commited in Thread Group 1 for SPC 3 | |
352 | input [1:0] spc4_dbg1_instr_cmt_grp0;//Instruction Commited in Thread Group 0 for SPC 4 | |
353 | input [1:0] spc4_dbg1_instr_cmt_grp1;//Instruction Commited in Thread Group 1 for SPC 4 | |
354 | input [1:0] spc5_dbg1_instr_cmt_grp0;//Instruction Commited in Thread Group 0 for SPC 5 | |
355 | input [1:0] spc5_dbg1_instr_cmt_grp1;//Instruction Commited in Thread Group 1 for SPC 5 | |
356 | input [1:0] spc6_dbg1_instr_cmt_grp0;//Instruction Commited in Thread Group 0 for SPC 6 | |
357 | input [1:0] spc6_dbg1_instr_cmt_grp1;//Instruction Commited in Thread Group 1 for SPC 6 | |
358 | input [1:0] spc7_dbg1_instr_cmt_grp0;//Instruction Commited in Thread Group 0 for SPC 7 | |
359 | input [1:0] spc7_dbg1_instr_cmt_grp1;//Instruction Commited in Thread Group 1 for SPC 7 | |
360 | ||
361 | // interface with MCU 0 | |
362 | ||
363 | input mcu0_dbg1_crc21; // CRC bit 21 for DTM | |
364 | input [3:0] mcu0_dbg1_rd_req_in_0; //Read Request from L2 bank 0 to MCU 0 (id + valid) | |
365 | input [3:0] mcu0_dbg1_rd_req_in_1; //Read Request from L2 bank 1 to MCU 0 (id + valid) | |
366 | input [4:0] mcu0_dbg1_rd_req_out;//Read ack from MCU 0 to L2 bank 0 or 1 (id + valid + dest_L2_bank) | |
367 | input mcu0_dbg1_wr_req_in_0; //Write req valid from L2 bank 0 | |
368 | input mcu0_dbg1_wr_req_in_1; //Write req valid from L2 bank 1 | |
369 | input [1:0] mcu0_dbg1_wr_req_out; //0,1,2,3 Writes completed to DRAM | |
370 | input mcu0_dbg1_mecc_err; //MCU 0 has detected an mecc error on a L2 read or scrub | |
371 | input mcu0_dbg1_secc_err; //MCU 0 has detected a secc error on a L2 read or scrub | |
372 | input mcu0_dbg1_fbd_err; //MCU 0 has detected a fbdimm channel error | |
373 | input mcu0_dbg1_err_mode; //Fbdimm interface logic of MCU 0 has gone into error handling mode. | |
374 | input mcu0_dbg1_err_event; //An error event occurred in MCU 0 | |
375 | ||
376 | // interface with MCU 1 | |
377 | ||
378 | input mcu1_dbg1_crc21; // CRC bit 21 for DTM | |
379 | input [3:0] mcu1_dbg1_rd_req_in_0; //Read Request from L2 bank 0 to MCU 1 (id + valid) | |
380 | input [3:0] mcu1_dbg1_rd_req_in_1; //Read Request from L2 bank 1 to MCU 1 (id + valid) | |
381 | input [4:0] mcu1_dbg1_rd_req_out;//Read ack from MCU 1 to L2 bank 0 or 1 (id + valid + dest_L2_bank) | |
382 | input mcu1_dbg1_wr_req_in_0; //Write req valid from L2 bank 0 | |
383 | input mcu1_dbg1_wr_req_in_1; //Write req valid from L2 bank 1 | |
384 | input [1:0] mcu1_dbg1_wr_req_out; //0,1,2,3 Writes completed to DRAM | |
385 | input mcu1_dbg1_mecc_err; //MCU 1 has detected an mecc error on a L2 read or scrub | |
386 | input mcu1_dbg1_secc_err; //MCU 1 has detected a secc error on a L2 read or scrub | |
387 | input mcu1_dbg1_fbd_err; //MCU 1 has detected a fbdimm channel error | |
388 | input mcu1_dbg1_err_mode; //Fbdimm interface logic of MCU 1 has gone into error handling mode. | |
389 | input mcu1_dbg1_err_event; //An error event occurred in MCU 1 | |
390 | ||
391 | // interface with MCU 2 | |
392 | ||
393 | input mcu2_dbg1_crc21; // CRC bit 21 for DTM | |
394 | input [3:0] mcu2_dbg1_rd_req_in_0; //Read Request from L2 bank 0 to MCU 2 (id + valid) | |
395 | input [3:0] mcu2_dbg1_rd_req_in_1; //Read Request from L2 bank 1 to MCU 2 (id + valid) | |
396 | input [4:0] mcu2_dbg1_rd_req_out;//Read ack from MCU 2 to L2 bank 0 or 1 (id + valid + dest_L2_bank) | |
397 | input mcu2_dbg1_wr_req_in_0; //Write req valid from L2 bank 0 | |
398 | input mcu2_dbg1_wr_req_in_1; //Write req valid from L2 bank 1 | |
399 | input [1:0] mcu2_dbg1_wr_req_out; //0,1,2,3 Writes completed to DRAM | |
400 | input mcu2_dbg1_mecc_err; //MCU 2 has detected an mecc error on a L2 read or scrub | |
401 | input mcu2_dbg1_secc_err; //MCU 2 has detected a secc error on a L2 read or scrub | |
402 | input mcu2_dbg1_fbd_err; //MCU 2 has detected a fbdimm channel error | |
403 | input mcu2_dbg1_err_mode; //Fbdimm interface logic of MCU 2 has gone into error handling mode. | |
404 | input mcu2_dbg1_err_event; //An error event occurred in MCU 2 | |
405 | ||
406 | // interface with MCU 3 | |
407 | ||
408 | input mcu3_dbg1_crc21; // CRC bit 21 for DTM | |
409 | input [3:0] mcu3_dbg1_rd_req_in_0; //Read Request from L2 bank 0 to MCU 3 (id + valid) | |
410 | input [3:0] mcu3_dbg1_rd_req_in_1; //Read Request from L2 bank 1 to MCU 3 (id + valid) | |
411 | input [4:0] mcu3_dbg1_rd_req_out;//Read ack from MCU 3 to L2 bank 0 or 1 (id + valid + dest_L2_bank) | |
412 | input mcu3_dbg1_wr_req_in_0; //Write req valid from L2 bank 0 | |
413 | input mcu3_dbg1_wr_req_in_1; //Write req valid from L2 bank 1 | |
414 | input [1:0] mcu3_dbg1_wr_req_out; //0,1,2,3 Writes completed to DRAM | |
415 | input mcu3_dbg1_mecc_err; //MCU 3 has detected an mecc error on a L2 read or scrub | |
416 | input mcu3_dbg1_secc_err; //MCU 3 has detected a secc error on a L2 read or scrub | |
417 | input mcu3_dbg1_fbd_err; //MCU 3 has detected a fbdimm channel error | |
418 | input mcu3_dbg1_err_mode; //Fbdimm interface logic of MCU 3 has gone into error handling mode. | |
419 | input mcu3_dbg1_err_event; //An error event occurred in MCU 3 | |
420 | ||
421 | //interface with NIU | |
422 | ||
423 | output dbg1_niu_stall; //Request to stall / quiesce NIU -> NCU and NIU -> SII interfaces | |
424 | input niu_dbg1_stall_ack; //Ack from NIU indicating NIU -> NCU and NIU -> SII interfaces have quiesced | |
425 | output dbg1_niu_resume; //Request to resume packets on NIU -> NCU and NIU -> SII interfaces | |
426 | ||
427 | // Interface with DMU | |
428 | ||
429 | output dbg1_dmu_stall; //Request to stall / quiesce DMU -> NCU and DMU -> SII interfaces | |
430 | input dmu_dbg1_stall_ack; //Ack from DMU indicating DMU -> NCU and DMU -> SII interfaces have quiesced | |
431 | output dbg1_dmu_resume; //Request to resume packets on DMU -> NCU and DMU -> SII interfaces | |
432 | input dmu_dbg1_err_event; //An error event occurred in DMU | |
433 | ||
434 | // interface with SII | |
435 | ||
436 | input [1:0] sii_dbg1_l2t0_req; //Req type encoded on 2 bits from sii to L2t 0 | |
437 | input [1:0] sii_dbg1_l2t1_req; //Req type encoded on 2 bits from sii to L2t 1 | |
438 | input [1:0] sii_dbg1_l2t2_req; //Req type encoded on 2 bits from sii to L2t 2 | |
439 | input [1:0] sii_dbg1_l2t3_req; //Req type encoded on 2 bits from sii to L2t 3 | |
440 | input [1:0] sii_dbg1_l2t4_req; //Req type encoded on 2 bits from sii to L2t 4 | |
441 | input [1:0] sii_dbg1_l2t5_req; //Req type encoded on 2 bits from sii to L2t 5 | |
442 | input [1:0] sii_dbg1_l2t6_req; //Req type encoded on 2 bits from sii to L2t 6 | |
443 | input [1:0] sii_dbg1_l2t7_req; //Req type encoded on 2 bits from sii to L2t 7 | |
444 | ||
445 | ||
446 | // interface with NCU | |
447 | ||
448 | input ncu_dbg1_error_event; //An Error event occurred in NCU. | |
449 | input ncu_dbg1_stall; //NCU back Pressure control signal to Dbg1 | |
450 | input ncu_dbg1_vld; //NCU to Dbg1 UCB data valid | |
451 | input [3:0] ncu_dbg1_data; //NCU to Dbg1 UCB data bus | |
452 | output dbg1_ncu_stall; //Dbg1 back pressure control signal to NCU | |
453 | output dbg1_ncu_vld; //Dbg1 to NCU UCB data valid | |
454 | output [3:0] dbg1_ncu_data; //Dbg1 to NCU UCB data | |
455 | ||
456 | // interface with TCU | |
457 | ||
458 | output dbg1_tcu_soc_hard_stop; //Hard Stop request to TCU fron SOC | |
459 | output dbg1_tcu_soc_asrt_trigout; //Assert TRIGOUT request to TCU from SOC | |
460 | input tcu_mio_jtag_membist_mode; | |
461 | ||
462 | // interface with CCU | |
463 | ||
464 | input gclk; //Internal CMP clock from CCU | |
465 | input io_cmp_sync_en; // IO to CMP sync enable | |
466 | input cmp_io2x_sync_en; // CMP to IO2X sync enable | |
467 | input cmp_io_sync_en; // CMP to IO sync enable | |
468 | ||
469 | // interface with MIO | |
470 | ||
471 | output [4:0] dbg1_niu_dbg_sel; | |
472 | input mio_dbg1_testmode; | |
473 | input mio_pll_testmode; | |
474 | output [165:0] dbg1_mio_dbg_dq; //N2 Debug port | |
475 | output dbg1_mio_drv_en_op_only; //Drive en to pins configured only as debug port | |
476 | output dbg1_mio_drv_en_muxtest_op; //Drive en to pins configured both as debug port and scan out[31:0] pins | |
477 | output dbg1_mio_drv_en_muxbist_op; //Drive en to pins configured both as debug port and mbist output pins. | |
478 | output dbg1_mio_drv_en_muxtest_inp; //Drive en to pins configured as debug port and testmode input pins | |
479 | output dbg1_mio_drv_en_muxtestpll_inp; // Drive en to pins configured as debug port and pll_testmode input pins | |
480 | ||
481 | output dbg1_mio_sel_niu_debug_mode; | |
482 | output dbg1_mio_sel_pcix_debug_mode; | |
483 | output dbg1_mio_sel_soc_obs_mode; | |
484 | output [1:0] dbg1_mio_drv_imped; | |
485 | ||
486 | ||
487 | // Interface with DBG0 | |
488 | ||
489 | input dbg0_dbg1_l2t0_sii_iq_dequeue; //L2t 0 dequeue from IQ : flopped version | |
490 | input dbg0_dbg1_l2t2_sii_iq_dequeue; //L2t 2 dequeue from IQ : flopped version | |
491 | input dbg0_dbg1_l2t0_sii_wib_dequeue; //L2t 0 dequeue from IOWB : flopped version | |
492 | input dbg0_dbg1_l2t2_sii_wib_dequeue; //L2t 2 dequeue from IOWB : flopped version | |
493 | input dbg0_dbg1_l2t0_err_event; //An Error event occurred in l2t 0 : flopped version | |
494 | input dbg0_dbg1_l2t2_err_event; //An Error event occurred in l2t 2 : flopped version | |
495 | input dbg0_dbg1_l2t0_pa_match; //A PA match detected in l2t 0 : flopped version | |
496 | input dbg0_dbg1_l2t2_pa_match; //A PA match detected in l2t 2 : flopped version | |
497 | input [5:0] dbg0_dbg1_l2t0_xbar_vcid; //VCID[5:0] from Xbar to L2t 0 : flopped version | |
498 | input [5:0] dbg0_dbg1_l2t2_xbar_vcid; //VCID[5:0] from Xbar to L2t 2 : flopped version | |
499 | ||
500 | input [165:0] dbg0_dbg1_debug_data; // 166 bit debug data bus carrying repeatability signals to DBG1 | |
501 | input dbg0_dbg1_l2b0_sio_ctag_vld; //Ctag valid from L2b 0 to SIO : flopped version | |
502 | input dbg0_dbg1_l2b1_sio_ctag_vld; //Ctag valid from L2b 1 to SIO : flopped version | |
503 | input dbg0_dbg1_l2b2_sio_ctag_vld; //Ctag valid from L2b 2 to SIO : flopped version | |
504 | input dbg0_dbg1_l2b3_sio_ctag_vld; //Ctag valid from L2b 3 to SIO : flopped version | |
505 | input dbg0_dbg1_l2b0_sio_ack_type; //Read or Wr ack from L2b 0 to SIO : flopped version | |
506 | input dbg0_dbg1_l2b1_sio_ack_type; //Read or Wr ack from L2b 1 to SIO : flopped version | |
507 | input dbg0_dbg1_l2b2_sio_ack_type; //Read or Wr ack from L2b 2 to SIO : flopped version | |
508 | input dbg0_dbg1_l2b3_sio_ack_type; //Read or Wr ack from L2b 3 to SIO : flopped version | |
509 | input dbg0_dbg1_l2b0_sio_ack_dest; //Read or Wr ack dest (NIU/DMU) from L2b 0 to SIO : flopped version | |
510 | input dbg0_dbg1_l2b1_sio_ack_dest; //Read or Wr ack dest (NIU/DMU) from L2b 1 to SIO : flopped version | |
511 | input dbg0_dbg1_l2b2_sio_ack_dest; //Read or Wr ack dest (NIU/DMU) from L2b 2 to SIO : flopped version | |
512 | input dbg0_dbg1_l2b3_sio_ack_dest; //Read or Wr ack dest (NIU/DMU) from L2b 3 to SIO : flopped version | |
513 | ||
514 | input [1:0] dbg0_dbg1_spc0_instr_cmt_grp0;//Instruction Commited in Thread Group 0 for SPC 0 | |
515 | input [1:0] dbg0_dbg1_spc0_instr_cmt_grp1;//Instruction Commited in Thread Group 1 for SPC 0 | |
516 | input [1:0] dbg0_dbg1_spc2_instr_cmt_grp0;//Instruction Commited in Thread Group 0 for SPC 2 | |
517 | input [1:0] dbg0_dbg1_spc2_instr_cmt_grp1;//Instruction Commited in Thread Group 1 for SPC 2 | |
518 | ||
519 | clkgen_db1_cmp db1_clk_header_cmp_clk | |
520 | ( | |
521 | .l2clk (l2clk ), | |
522 | .scan_out (db1_clk_header_cmp_clk_scan_out), | |
523 | .aclk (aclk ), | |
524 | .bclk (bclk ), | |
525 | .pce_ov (ce_ovrd ), | |
526 | .wmr_protect ( ), | |
527 | .wmr_ ( ), | |
528 | .por_ ( ), | |
529 | .aclk_wmr ( ), | |
530 | .dr_sync_en ( ), | |
531 | .io2x_sync_en (cmp_io2x_sync_en_out ), | |
532 | .slow_cmp_sync_en (io_cmp_sync_en_out ), | |
533 | .cmp_slow_sync_en (cmp_io_sync_en_out ), | |
534 | .tcu_clk_stop (tcu_clk_stop ), | |
535 | .tcu_pce_ov (tcu_pce_ov ), | |
536 | .rst_wmr_protect (rst_wmr_protect ), | |
537 | .rst_wmr_ (1'b0 ), | |
538 | .rst_por_ (1'b0 ), | |
539 | .ccu_dr_sync_en (1'b0 ), | |
540 | .ccu_io2x_sync_en (cmp_io2x_sync_en ), | |
541 | .ccu_cmp_slow_sync_en (cmp_io_sync_en ), | |
542 | .ccu_slow_cmp_sync_en (io_cmp_sync_en ), | |
543 | .tcu_div_bypass (1'b0 ), | |
544 | .ccu_div_ph (1'b1 ), | |
545 | .cluster_div_en (1'b0 ), | |
546 | .gclk (gclk ), | |
547 | .scan_en (tcu_scan_en ), | |
548 | .clk_ext (1'b0 ), | |
549 | .ccu_serdes_dtm (1'b0 ), | |
550 | .cluster_arst_l (cluster_arst_l ), | |
551 | .tcu_wr_inhibit (1'b0 ), | |
552 | .tcu_atpg_mode (tcu_atpg_mode ), | |
553 | .array_wr_inhibit ( ), | |
554 | .tcu_aclk (tcu_aclk ), | |
555 | .tcu_bclk (tcu_bclk ), | |
556 | .scan_in (db1_clk_header_cmp_clk_scan_in) | |
557 | ); | |
558 | ||
559 | clkgen_db1_io db1_clk_header_iol2clk | |
560 | ( | |
561 | .l2clk (iol2clk ), | |
562 | .scan_out (db1_clk_header_iol2clk_scan_out), | |
563 | .aclk ( ), | |
564 | .bclk ( ), | |
565 | .pce_ov ( ), | |
566 | .wmr_protect (wmr_protect ), | |
567 | .wmr_ ( ), | |
568 | .por_ ( ), | |
569 | .aclk_wmr (aclk_wmr ), | |
570 | .slow_cmp_sync_en ( ), | |
571 | .cmp_slow_sync_en ( ), | |
572 | .tcu_clk_stop (tcu_clk_stop ), | |
573 | .tcu_pce_ov (tcu_pce_ov ), | |
574 | .rst_wmr_protect (rst_wmr_protect ), | |
575 | .rst_wmr_ (1'b0 ), | |
576 | .rst_por_ (1'b0 ), | |
577 | .ccu_cmp_slow_sync_en (1'b0 ), | |
578 | .ccu_slow_cmp_sync_en (1'b0 ), | |
579 | .tcu_div_bypass (tcu_div_bypass ), | |
580 | .ccu_div_ph (ccu_io_out ), | |
581 | .cluster_div_en (1'b1 ), | |
582 | .gclk (gclk ), | |
583 | .clk_ext (1'b0 ), | |
584 | .ccu_serdes_dtm (1'b0 ), | |
585 | .cluster_arst_l (cluster_arst_l ), | |
586 | .tcu_wr_inhibit (1'b0 ), | |
587 | .tcu_atpg_mode (tcu_atpg_mode ), | |
588 | .array_wr_inhibit ( ), | |
589 | .tcu_aclk (tcu_aclk ), | |
590 | .tcu_bclk (tcu_bclk ), | |
591 | .scan_en (tcu_scan_en ), | |
592 | .scan_in (db1_clk_header_iol2clk_scan_in) | |
593 | ); | |
594 | ||
595 | ||
596 | ||
597 | db1_ucbflow_ctl ucbflow ( | |
598 | .scan_in(ucbflow_scanin), | |
599 | .scan_out(ucbflow_scanout), | |
600 | .tcu_pce_ov(ce_ovrd), | |
601 | .tcu_clk_stop(1'b0), | |
602 | .tcu_aclk(aclk), | |
603 | .tcu_bclk(bclk), | |
604 | .iol2clk(iol2clk), | |
605 | .tcu_scan_en(tcu_scan_en), | |
606 | .ncu_dbg1_vld(ncu_dbg1_vld), | |
607 | .ncu_dbg1_data(ncu_dbg1_data[3:0]), | |
608 | .dbg1_ncu_stall(dbg1_ncu_stall), | |
609 | .dbg1_ncu_vld(dbg1_ncu_vld), | |
610 | .dbg1_ncu_data(dbg1_ncu_data[3:0]), | |
611 | .ncu_dbg1_stall(ncu_dbg1_stall), | |
612 | .rd_req_vld(rd_req_vld), | |
613 | .wr_req_vld(wr_req_vld), | |
614 | .thr_id_in(thr_id_in[5:0]), | |
615 | .buf_id_in(buf_id_in[1:0]), | |
616 | .addr_in(addr_in[39:0]), | |
617 | .data_in(data_in[63:0]), | |
618 | .req_acpted(req_acpted), | |
619 | .rd_ack_vld(rd_ack_vld), | |
620 | .rd_nack_vld(rd_nack_vld), | |
621 | .thr_id_out(thr_id_out[5:0]), | |
622 | .buf_id_out(buf_id_out[1:0]), | |
623 | .data_out(data_out[63:0]), | |
624 | .ack_busy(ack_busy) | |
625 | ); | |
626 | ||
627 | db1_csr_ctl dbg1_csr ( | |
628 | .scan_in(dbg1_csr_scanin), | |
629 | .scan_out(dbg1_csr_scanout), | |
630 | .tcu_pce_ov(ce_ovrd), | |
631 | .tcu_clk_stop(1'b0), | |
632 | .tcu_aclk(aclk), | |
633 | .tcu_bclk(bclk), | |
634 | .iol2clk(iol2clk), | |
635 | .mcu0_dbg1_crc21(mcu0_dbg1_crc21), | |
636 | .mcu0_dbg1_rd_req_in_0(mcu0_dbg1_rd_req_in_0[3:0]), | |
637 | .mcu0_dbg1_rd_req_in_1(mcu0_dbg1_rd_req_in_1[3:0]), | |
638 | .mcu0_dbg1_rd_req_out(mcu0_dbg1_rd_req_out[4:0]), | |
639 | .mcu0_dbg1_wr_req_in_0(mcu0_dbg1_wr_req_in_0), | |
640 | .mcu0_dbg1_wr_req_in_1(mcu0_dbg1_wr_req_in_1), | |
641 | .mcu0_dbg1_wr_req_out(mcu0_dbg1_wr_req_out[1:0]), | |
642 | .mcu0_dbg1_mecc_err(mcu0_dbg1_mecc_err), | |
643 | .mcu0_dbg1_secc_err(mcu0_dbg1_secc_err), | |
644 | .mcu0_dbg1_fbd_err(mcu0_dbg1_fbd_err), | |
645 | .mcu0_dbg1_err_mode(mcu0_dbg1_err_mode), | |
646 | .mcu0_dbg1_err_event(mcu0_dbg1_err_event), | |
647 | .mcu1_dbg1_crc21(mcu1_dbg1_crc21), | |
648 | .mcu1_dbg1_rd_req_in_0(mcu1_dbg1_rd_req_in_0[3:0]), | |
649 | .mcu1_dbg1_rd_req_in_1(mcu1_dbg1_rd_req_in_1[3:0]), | |
650 | .mcu1_dbg1_rd_req_out(mcu1_dbg1_rd_req_out[4:0]), | |
651 | .mcu1_dbg1_wr_req_in_0(mcu1_dbg1_wr_req_in_0), | |
652 | .mcu1_dbg1_wr_req_in_1(mcu1_dbg1_wr_req_in_1), | |
653 | .mcu1_dbg1_wr_req_out(mcu1_dbg1_wr_req_out[1:0]), | |
654 | .mcu1_dbg1_mecc_err(mcu1_dbg1_mecc_err), | |
655 | .mcu1_dbg1_secc_err(mcu1_dbg1_secc_err), | |
656 | .mcu1_dbg1_fbd_err(mcu1_dbg1_fbd_err), | |
657 | .mcu1_dbg1_err_mode(mcu1_dbg1_err_mode), | |
658 | .mcu1_dbg1_err_event(mcu1_dbg1_err_event), | |
659 | .mcu2_dbg1_crc21(mcu2_dbg1_crc21), | |
660 | .mcu2_dbg1_rd_req_in_0(mcu2_dbg1_rd_req_in_0[3:0]), | |
661 | .mcu2_dbg1_rd_req_in_1(mcu2_dbg1_rd_req_in_1[3:0]), | |
662 | .mcu2_dbg1_rd_req_out(mcu2_dbg1_rd_req_out[4:0]), | |
663 | .mcu2_dbg1_wr_req_in_0(mcu2_dbg1_wr_req_in_0), | |
664 | .mcu2_dbg1_wr_req_in_1(mcu2_dbg1_wr_req_in_1), | |
665 | .mcu2_dbg1_wr_req_out(mcu2_dbg1_wr_req_out[1:0]), | |
666 | .mcu2_dbg1_mecc_err(mcu2_dbg1_mecc_err), | |
667 | .mcu2_dbg1_secc_err(mcu2_dbg1_secc_err), | |
668 | .mcu2_dbg1_fbd_err(mcu2_dbg1_fbd_err), | |
669 | .mcu2_dbg1_err_mode(mcu2_dbg1_err_mode), | |
670 | .mcu2_dbg1_err_event(mcu2_dbg1_err_event), | |
671 | .mcu3_dbg1_crc21(mcu3_dbg1_crc21), | |
672 | .mcu3_dbg1_rd_req_in_0(mcu3_dbg1_rd_req_in_0[3:0]), | |
673 | .mcu3_dbg1_rd_req_in_1(mcu3_dbg1_rd_req_in_1[3:0]), | |
674 | .mcu3_dbg1_rd_req_out(mcu3_dbg1_rd_req_out[4:0]), | |
675 | .mcu3_dbg1_wr_req_in_0(mcu3_dbg1_wr_req_in_0), | |
676 | .mcu3_dbg1_wr_req_in_1(mcu3_dbg1_wr_req_in_1), | |
677 | .mcu3_dbg1_wr_req_out(mcu3_dbg1_wr_req_out[1:0]), | |
678 | .mcu3_dbg1_mecc_err(mcu3_dbg1_mecc_err), | |
679 | .mcu3_dbg1_secc_err(mcu3_dbg1_secc_err), | |
680 | .mcu3_dbg1_fbd_err(mcu3_dbg1_fbd_err), | |
681 | .mcu3_dbg1_err_mode(mcu3_dbg1_err_mode), | |
682 | .mcu3_dbg1_err_event(mcu3_dbg1_err_event), | |
683 | .dbg1_niu_stall(dbg1_niu_stall), | |
684 | .niu_dbg1_stall_ack(niu_dbg1_stall_ack), | |
685 | .dbg1_niu_resume(dbg1_niu_resume), | |
686 | .dbg1_dmu_stall(dbg1_dmu_stall), | |
687 | .dmu_dbg1_stall_ack(dmu_dbg1_stall_ack), | |
688 | .dbg1_dmu_resume(dbg1_dmu_resume), | |
689 | .dmu_dbg1_err_event(dmu_dbg1_err_event), | |
690 | .ncu_dbg1_error_event(ncu_dbg1_error_event), | |
691 | .l2t0_pa_match_synced(l2t0_pa_match_synced), | |
692 | .l2t1_pa_match_synced(l2t1_pa_match_synced), | |
693 | .l2t2_pa_match_synced(l2t2_pa_match_synced), | |
694 | .l2t3_pa_match_synced(l2t3_pa_match_synced), | |
695 | .l2t4_pa_match_synced(l2t4_pa_match_synced), | |
696 | .l2t5_pa_match_synced(l2t5_pa_match_synced), | |
697 | .l2t6_pa_match_synced(l2t6_pa_match_synced), | |
698 | .l2t7_pa_match_synced(l2t7_pa_match_synced), | |
699 | .l2t_error_event_synced(l2t_error_event_synced), | |
700 | .tcu_mio_jtag_membist_mode(tcu_mio_jtag_membist_mode), | |
701 | .tcu_dbr_gateoff(tcu_dbr_gateoff), | |
702 | .mio_dbg1_testmode(mio_dbg1_testmode), | |
703 | .mio_pll_testmode(mio_pll_testmode), | |
704 | .dbg1_niu_dbg_sel(dbg1_niu_dbg_sel[4:0]), | |
705 | .dbg1_tcu_soc_hard_stop(dbg1_tcu_soc_hard_stop), | |
706 | .dbg1_tcu_soc_asrt_trigout(dbg1_tcu_soc_asrt_trigout), | |
707 | .tcu_scan_en(tcu_scan_en), | |
708 | .aclk_wmr(aclk_wmr), | |
709 | .wmr_protect(wmr_protect), | |
710 | .rd_req_vld(rd_req_vld), | |
711 | .wr_req_vld(wr_req_vld), | |
712 | .addr_in(addr_in[39:0]), | |
713 | .data_in(data_in[63:0]), | |
714 | .thr_id_in(thr_id_in[5:0]), | |
715 | .buf_id_in(buf_id_in[1:0]), | |
716 | .ack_busy(ack_busy), | |
717 | .rd_ack_vld(rd_ack_vld), | |
718 | .rd_nack_vld(rd_nack_vld), | |
719 | .req_acpted(req_acpted), | |
720 | .data_out(data_out[63:0]), | |
721 | .thr_id_out(thr_id_out[5:0]), | |
722 | .buf_id_out(buf_id_out[1:0]), | |
723 | .mcu_dbg_signals(mcu_dbg_signals[83:0]), | |
724 | .mcu_dtm_signals(mcu_dtm_signals[87:0]), | |
725 | .sel_soc_obs_mode(sel_soc_obs_mode), | |
726 | .sel_charac_mode(sel_charac_mode), | |
727 | .sel_rep_mode(sel_rep_mode), | |
728 | .sel_core_soc_debug_mode(sel_core_soc_debug_mode), | |
729 | .sel_train_mode(sel_train_mode), | |
730 | .dbg1_mio_sel_niu_debug_mode(dbg1_mio_sel_niu_debug_mode), | |
731 | .dbg1_mio_sel_pcix_debug_mode(dbg1_mio_sel_pcix_debug_mode), | |
732 | .dbg1_mio_sel_soc_obs_mode(dbg1_mio_sel_soc_obs_mode), | |
733 | .dbg1_mio_drv_en_op_only(dbg1_mio_drv_en_op_only), | |
734 | .dbg1_mio_drv_en_muxtest_op(dbg1_mio_drv_en_muxtest_op), | |
735 | .dbg1_mio_drv_en_muxbist_op(dbg1_mio_drv_en_muxbist_op), | |
736 | .dbg1_mio_drv_en_muxtest_inp(dbg1_mio_drv_en_muxtest_inp), | |
737 | .dbg1_mio_drv_en_muxtestpll_inp(dbg1_mio_drv_en_muxtestpll_inp), | |
738 | .dbg1_mio_drv_imped(dbg1_mio_drv_imped[1:0]) | |
739 | ); | |
740 | ||
741 | db1_dbgprt_dp dbg1_dbgprt ( | |
742 | .scan_in(dbg1_dbgprt_scanin), | |
743 | .scan_out(dbg1_dbgprt_scanout), | |
744 | .tcu_pce_ov(ce_ovrd), | |
745 | .tcu_clk_stop(1'b0), | |
746 | .tcu_aclk(aclk), | |
747 | .tcu_bclk(bclk), | |
748 | .io_cmp_sync_en(io_cmp_sync_en_out), | |
749 | .cmp_io2x_sync_en(cmp_io2x_sync_en_out), | |
750 | .cmp_io_sync_en(cmp_io_sync_en_out), | |
751 | .l2clk(l2clk), | |
752 | .dbg0_dbg1_l2t0_pa_match(dbg0_dbg1_l2t0_pa_match), | |
753 | .dbg0_dbg1_l2t2_pa_match(dbg0_dbg1_l2t2_pa_match), | |
754 | .l2t1_dbg1_pa_match(l2t1_dbg1_pa_match), | |
755 | .l2t3_dbg1_pa_match(l2t3_dbg1_pa_match), | |
756 | .l2t4_dbg1_pa_match(l2t4_dbg1_pa_match), | |
757 | .l2t5_dbg1_pa_match(l2t5_dbg1_pa_match), | |
758 | .l2t6_dbg1_pa_match(l2t6_dbg1_pa_match), | |
759 | .l2t7_dbg1_pa_match(l2t7_dbg1_pa_match), | |
760 | .dbg0_dbg1_l2t0_err_event(dbg0_dbg1_l2t0_err_event), | |
761 | .dbg0_dbg1_l2t2_err_event(dbg0_dbg1_l2t2_err_event), | |
762 | .l2t1_dbg1_err_event(l2t1_dbg1_err_event), | |
763 | .l2t3_dbg1_err_event(l2t3_dbg1_err_event), | |
764 | .l2t4_dbg1_err_event(l2t4_dbg1_err_event), | |
765 | .l2t5_dbg1_err_event(l2t5_dbg1_err_event), | |
766 | .l2t6_dbg1_err_event(l2t6_dbg1_err_event), | |
767 | .l2t7_dbg1_err_event(l2t7_dbg1_err_event), | |
768 | .dbg0_dbg1_debug_data(dbg0_dbg1_debug_data[165:0]), | |
769 | .mcu_dtm_signals(mcu_dtm_signals[87:0]), | |
770 | .ccu_dbg1_serdes_dtm(ccu_dbg1_serdes_dtm), | |
771 | .tcu_scan_en(tcu_scan_en), | |
772 | .mcu_dbg_signals(mcu_dbg_signals[83:0]), | |
773 | .sii_dbg1_l2t0_req(sii_dbg1_l2t0_req[1:0]), | |
774 | .sii_dbg1_l2t1_req(sii_dbg1_l2t1_req[1:0]), | |
775 | .sii_dbg1_l2t2_req(sii_dbg1_l2t2_req[1:0]), | |
776 | .sii_dbg1_l2t3_req(sii_dbg1_l2t3_req[1:0]), | |
777 | .sii_dbg1_l2t4_req(sii_dbg1_l2t4_req[1:0]), | |
778 | .sii_dbg1_l2t5_req(sii_dbg1_l2t5_req[1:0]), | |
779 | .sii_dbg1_l2t6_req(sii_dbg1_l2t6_req[1:0]), | |
780 | .sii_dbg1_l2t7_req(sii_dbg1_l2t7_req[1:0]), | |
781 | .l2t1_dbg1_sii_iq_dequeue(l2t1_dbg1_sii_iq_dequeue), | |
782 | .l2t3_dbg1_sii_iq_dequeue(l2t3_dbg1_sii_iq_dequeue), | |
783 | .l2t4_dbg1_sii_iq_dequeue(l2t4_dbg1_sii_iq_dequeue), | |
784 | .l2t5_dbg1_sii_iq_dequeue(l2t5_dbg1_sii_iq_dequeue), | |
785 | .l2t6_dbg1_sii_iq_dequeue(l2t6_dbg1_sii_iq_dequeue), | |
786 | .l2t7_dbg1_sii_iq_dequeue(l2t7_dbg1_sii_iq_dequeue), | |
787 | .dbg0_dbg1_l2t0_sii_iq_dequeue(dbg0_dbg1_l2t0_sii_iq_dequeue), | |
788 | .dbg0_dbg1_l2t2_sii_iq_dequeue(dbg0_dbg1_l2t2_sii_iq_dequeue), | |
789 | .l2t1_dbg1_sii_wib_dequeue(l2t1_dbg1_sii_wib_dequeue), | |
790 | .l2t3_dbg1_sii_wib_dequeue(l2t3_dbg1_sii_wib_dequeue), | |
791 | .l2t4_dbg1_sii_wib_dequeue(l2t4_dbg1_sii_wib_dequeue), | |
792 | .l2t5_dbg1_sii_wib_dequeue(l2t5_dbg1_sii_wib_dequeue), | |
793 | .l2t6_dbg1_sii_wib_dequeue(l2t6_dbg1_sii_wib_dequeue), | |
794 | .l2t7_dbg1_sii_wib_dequeue(l2t7_dbg1_sii_wib_dequeue), | |
795 | .dbg0_dbg1_l2t0_sii_wib_dequeue(dbg0_dbg1_l2t0_sii_wib_dequeue), | |
796 | .dbg0_dbg1_l2t2_sii_wib_dequeue(dbg0_dbg1_l2t2_sii_wib_dequeue), | |
797 | .l2t1_dbg1_xbar_vcid(l2t1_dbg1_xbar_vcid[5:0]), | |
798 | .l2t3_dbg1_xbar_vcid(l2t3_dbg1_xbar_vcid[5:0]), | |
799 | .l2t4_dbg1_xbar_vcid(l2t4_dbg1_xbar_vcid[5:0]), | |
800 | .l2t5_dbg1_xbar_vcid(l2t5_dbg1_xbar_vcid[5:0]), | |
801 | .l2t6_dbg1_xbar_vcid(l2t6_dbg1_xbar_vcid[5:0]), | |
802 | .l2t7_dbg1_xbar_vcid(l2t7_dbg1_xbar_vcid[5:0]), | |
803 | .dbg0_dbg1_l2t0_xbar_vcid(dbg0_dbg1_l2t0_xbar_vcid[5:0]), | |
804 | .dbg0_dbg1_l2t2_xbar_vcid(dbg0_dbg1_l2t2_xbar_vcid[5:0]), | |
805 | .l2b4_dbg1_sio_ctag_vld(l2b4_dbg1_sio_ctag_vld), | |
806 | .l2b5_dbg1_sio_ctag_vld(l2b5_dbg1_sio_ctag_vld), | |
807 | .l2b6_dbg1_sio_ctag_vld(l2b6_dbg1_sio_ctag_vld), | |
808 | .l2b7_dbg1_sio_ctag_vld(l2b7_dbg1_sio_ctag_vld), | |
809 | .dbg0_dbg1_l2b0_sio_ctag_vld(dbg0_dbg1_l2b0_sio_ctag_vld), | |
810 | .dbg0_dbg1_l2b1_sio_ctag_vld(dbg0_dbg1_l2b1_sio_ctag_vld), | |
811 | .dbg0_dbg1_l2b2_sio_ctag_vld(dbg0_dbg1_l2b2_sio_ctag_vld), | |
812 | .dbg0_dbg1_l2b3_sio_ctag_vld(dbg0_dbg1_l2b3_sio_ctag_vld), | |
813 | .l2b4_dbg1_sio_ack_type(l2b4_dbg1_sio_ack_type), | |
814 | .l2b5_dbg1_sio_ack_type(l2b5_dbg1_sio_ack_type), | |
815 | .l2b6_dbg1_sio_ack_type(l2b6_dbg1_sio_ack_type), | |
816 | .l2b7_dbg1_sio_ack_type(l2b7_dbg1_sio_ack_type), | |
817 | .dbg0_dbg1_l2b0_sio_ack_type(dbg0_dbg1_l2b0_sio_ack_type), | |
818 | .dbg0_dbg1_l2b1_sio_ack_type(dbg0_dbg1_l2b1_sio_ack_type), | |
819 | .dbg0_dbg1_l2b2_sio_ack_type(dbg0_dbg1_l2b2_sio_ack_type), | |
820 | .dbg0_dbg1_l2b3_sio_ack_type(dbg0_dbg1_l2b3_sio_ack_type), | |
821 | .l2b4_dbg1_sio_ack_dest(l2b4_dbg1_sio_ack_dest), | |
822 | .l2b5_dbg1_sio_ack_dest(l2b5_dbg1_sio_ack_dest), | |
823 | .l2b6_dbg1_sio_ack_dest(l2b6_dbg1_sio_ack_dest), | |
824 | .l2b7_dbg1_sio_ack_dest(l2b7_dbg1_sio_ack_dest), | |
825 | .dbg0_dbg1_l2b0_sio_ack_dest(dbg0_dbg1_l2b0_sio_ack_dest), | |
826 | .dbg0_dbg1_l2b1_sio_ack_dest(dbg0_dbg1_l2b1_sio_ack_dest), | |
827 | .dbg0_dbg1_l2b2_sio_ack_dest(dbg0_dbg1_l2b2_sio_ack_dest), | |
828 | .dbg0_dbg1_l2b3_sio_ack_dest(dbg0_dbg1_l2b3_sio_ack_dest), | |
829 | .spc1_dbg1_instr_cmt_grp0(spc1_dbg1_instr_cmt_grp0[1:0]), | |
830 | .spc1_dbg1_instr_cmt_grp1(spc1_dbg1_instr_cmt_grp1[1:0]), | |
831 | .spc3_dbg1_instr_cmt_grp0(spc3_dbg1_instr_cmt_grp0[1:0]), | |
832 | .spc3_dbg1_instr_cmt_grp1(spc3_dbg1_instr_cmt_grp1[1:0]), | |
833 | .spc4_dbg1_instr_cmt_grp0(spc4_dbg1_instr_cmt_grp0[1:0]), | |
834 | .spc4_dbg1_instr_cmt_grp1(spc4_dbg1_instr_cmt_grp1[1:0]), | |
835 | .spc5_dbg1_instr_cmt_grp0(spc5_dbg1_instr_cmt_grp0[1:0]), | |
836 | .spc5_dbg1_instr_cmt_grp1(spc5_dbg1_instr_cmt_grp1[1:0]), | |
837 | .spc6_dbg1_instr_cmt_grp0(spc6_dbg1_instr_cmt_grp0[1:0]), | |
838 | .spc6_dbg1_instr_cmt_grp1(spc6_dbg1_instr_cmt_grp1[1:0]), | |
839 | .spc7_dbg1_instr_cmt_grp0(spc7_dbg1_instr_cmt_grp0[1:0]), | |
840 | .spc7_dbg1_instr_cmt_grp1(spc7_dbg1_instr_cmt_grp1[1:0]), | |
841 | .dbg0_dbg1_spc0_instr_cmt_grp0(dbg0_dbg1_spc0_instr_cmt_grp0[1:0]), | |
842 | .dbg0_dbg1_spc0_instr_cmt_grp1(dbg0_dbg1_spc0_instr_cmt_grp1[1:0]), | |
843 | .dbg0_dbg1_spc2_instr_cmt_grp0(dbg0_dbg1_spc2_instr_cmt_grp0[1:0]), | |
844 | .dbg0_dbg1_spc2_instr_cmt_grp1(dbg0_dbg1_spc2_instr_cmt_grp1[1:0]), | |
845 | .sel_soc_obs_mode(sel_soc_obs_mode), | |
846 | .sel_charac_mode(sel_charac_mode), | |
847 | .sel_rep_mode(sel_rep_mode), | |
848 | .sel_core_soc_debug_mode(sel_core_soc_debug_mode), | |
849 | .sel_train_mode(sel_train_mode), | |
850 | .l2t0_pa_match_synced(l2t0_pa_match_synced), | |
851 | .l2t1_pa_match_synced(l2t1_pa_match_synced), | |
852 | .l2t2_pa_match_synced(l2t2_pa_match_synced), | |
853 | .l2t3_pa_match_synced(l2t3_pa_match_synced), | |
854 | .l2t4_pa_match_synced(l2t4_pa_match_synced), | |
855 | .l2t5_pa_match_synced(l2t5_pa_match_synced), | |
856 | .l2t6_pa_match_synced(l2t6_pa_match_synced), | |
857 | .l2t7_pa_match_synced(l2t7_pa_match_synced), | |
858 | .l2t_error_event_synced(l2t_error_event_synced), | |
859 | .dbg1_mio_dbg_dq(dbg1_mio_dbg_dq[165:0]) | |
860 | ); | |
861 | ||
862 | ||
863 | // fixscan start: | |
864 | assign db1_clk_header_cmp_clk_scan_in = scan_in ; | |
865 | assign db1_clk_header_iol2clk_scan_in = db1_clk_header_cmp_clk_scan_out; | |
866 | assign ucbflow_scanin = db1_clk_header_iol2clk_scan_out; | |
867 | assign dbg1_csr_scanin = ucbflow_scanout ; | |
868 | assign dbg1_dbgprt_scanin = dbg1_csr_scanout ; | |
869 | assign scan_out = dbg1_dbgprt_scanout ; | |
870 | // fixscan end: | |
871 | endmodule | |
872 |