Commit | Line | Data |
---|---|---|
86530b38 AT |
1 | // ========== Copyright Header Begin ========================================== |
2 | // | |
3 | // OpenSPARC T2 Processor File: rst_cmp_ctl.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 | `define ASSERT 1'b0 // For active low signal. | |
36 | `define DEASSERT 1'b1 // For active low signal. | |
37 | ||
38 | `define INFO 20 | |
39 | // (Origin:) | |
40 | `define IOB_CREG_RESET_GEN 40'h89_0000_0808 //Adr of RESET_GEN reg (Fire.) | |
41 | `define IOB_CREG_RESET_SOURCE 40'h89_0000_0818 //Adr of RESET_SOURCE reg (Fire.) | |
42 | `define IOB_CREG_SSYSRESET 40'h89_0000_0838 //Adr of SSYS_RESET reg (N1.) | |
43 | `define IOB_CREG_RESETSTAT 40'h89_0000_0810 //Adr of RSET_STAT reg (N1.) | |
44 | `define IOB_CREG_CCU_TIME 40'h89_0000_0860 //Adr of CCU_TIME reg (N2.) | |
45 | `define IOB_CREG_LOCK_TIME 40'h89_0000_0870 //Adr of LOCK_TIME reg (N2.) | |
46 | `define IOB_CREG_PROP_TIME 40'h89_0000_0880 //Adr of PROP_TIME reg (N2.) | |
47 | `define IOB_CREG_NIU_TIME 40'h89_0000_0890 //Adr of NIU_TIME reg (N2.) | |
48 | `define IOB_CREG_RESET_FEE 40'h89_0000_0820 //Adr of RESET_FEE reg (N2.) | |
49 | //________________________________________________________________ | |
50 | ||
51 | `define RST_FSM_WIDTH 33 | |
52 | `define RST_INIT_STATE 33'h0_0000_0001 | |
53 | `define POR1_LOCK_TIME 33'h0_0000_0002 | |
54 | `define POR1_ARST_TIME 33'h0_0000_0004 | |
55 | `define POR1_SYNC_STABLE 33'h0_0000_0008 | |
56 | `define POR1_ASICFLUSH_STOP_ACK 33'h0_0000_0010 | |
57 | `define POR1_NIU_TIME 33'h0_0000_0020 | |
58 | `define POR1_FLUSH_STOP_ACK 33'h0_0000_0040 | |
59 | `define POR1_BISX_DONE 33'h0_0000_0080 | |
60 | `define POR2_FLUSH_INIT_ACK 33'h0_0000_0100 | |
61 | `define POR2_LOCK_TIME 33'h0_0000_0200 | |
62 | `define POR2_FLUSH_STOP_ACK 33'h0_0000_0400 | |
63 | `define POR2_EFU_DONE 33'h0_0000_0800 | |
64 | `define POR2_ASSERT_RUN 33'h0_0000_1000 | |
65 | `define POR2_UNPARK_THREAD 33'h0_0000_2000 | |
66 | `define WMR1_WMR_GEN 33'h0_0000_4000 | |
67 | `define WMR1_DEASSERT_RUN 33'h0_0000_8000 | |
68 | `define WMR1_FLUSH_INIT_ACK 33'h0_0001_0000 | |
69 | `define WMR1_PRE_PLL1 33'h0_0002_0000 | |
70 | `define WMR1_PRE_PLL2 33'h0_0004_0000 | |
71 | `define WMR1_CCU_PLL 33'h0_0008_0000 | |
72 | `define WMR1_LOCK_TIME 33'h0_0010_0000 | |
73 | `define WMR1_ARST_TIME 33'h0_0020_0000 | |
74 | `define WMR1_PROP_TIME 33'h0_0040_0000 | |
75 | `define WMR1_SYNC_STABLE 33'h0_0080_0000 | |
76 | `define WMR1_FLUSH_STOP_ACK 33'h0_0100_0000 | |
77 | `define WMR1_BISX_DONE 33'h0_0200_0000 | |
78 | `define WMR2_FLUSH_INIT_ACK 33'h0_0400_0000 | |
79 | `define WMR2_PROP_TIME 33'h0_0800_0000 | |
80 | `define WMR2_FLUSH_STOP_ACK 33'h0_1000_0000 | |
81 | `define WMR2_NIU_TIME 33'h1_0000_0000 | |
82 | `define WMR2_ASSERT_RUN 33'h0_2000_0000 | |
83 | `define WMR2_UNPARK_THREAD 33'h0_4000_0000 | |
84 | `define RST_ARBITER 33'h0_8000_0000 | |
85 | ||
86 | `define XIR_IDLE 2'h1 | |
87 | `define XIR_DONE 2'h2 | |
88 | ||
89 | `define DMU_IDLE 3'h1 | |
90 | `define DMU_TIME1 3'h2 | |
91 | `define DMU_TIME2 3'h4 | |
92 | ||
93 | `define NIU_IDLE 2'h1 | |
94 | `define NIU_TIME 2'h2 | |
95 | //________________________________________________________________ | |
96 | ||
97 | // Already taken addresses, in address order: | |
98 | // sort -t "'" -k 2 /home/jl148824/project/NCU/include/iop.h: | |
99 | ||
100 | //`define IOB_CREG_INTMAN 32'h00000000 | |
101 | //`define IOB_CREG_INTSTAT 32'h00000000 | |
102 | //`define IOB_CREG_INTCTL 32'h00000400 | |
103 | //`define IOB_CREG_MDATA0 32'h00000400 | |
104 | //`define IOB_CREG_MDATA1 32'h00000500 | |
105 | //`define IOB_CREG_MDATA0_ALIAS 32'h00000600 | |
106 | //`define IOB_CREG_MDATA1_ALIAS 32'h00000700 | |
107 | //`define IOB_CREG_INTVECDISP 32'h00000800 | |
108 | // 32'h00000808 // Adr of RESET_GEN reg. | |
109 | // Bill Bryg removed the CHIP_RESET reg from the Niagara 1 spec Feb 4 '03. | |
110 | //`define IOB_CREG_RESETSTAT 32'h00000810 // Adr of RSET_STAT reg. | |
111 | //`define IOB_CREG_SERNUM 32'h00000820 | |
112 | //`define IOB_CREG_TMSTATCTRL 32'h00000828 | |
113 | //`define IOB_CREG_COREAVAIL 32'h00000830 | |
114 | //`define IOB_CREG_SSYSRESET 32'h00000838 // Adr of SSYS_RESET reg. | |
115 | //`define IOB_CREG_FUSESTAT 32'h00000840 | |
116 | //`define IOB_CREG_MARGIN 32'h00000850 | |
117 | //`define IOB_CREG_MBUSY 32'h00000900 | |
118 | //`define IOB_CREG_JINTV 32'h00000a00 | |
119 | //`define IOB_CREG_MBUSY_ALIAS 32'h00000b00 | |
120 | //`define IOB_CREG_DBG_IOBVIS_CTRL 32'h00001000 | |
121 | //`define IOB_CREG_DBG_L2VIS_CTRL 32'h00001800 | |
122 | //`define IOB_CREG_DBG_L2VIS_MASKA 32'h00001820 | |
123 | //`define IOB_CREG_DBG_L2VIS_MASKB 32'h00001828 | |
124 | //`define IOB_CREG_DBG_L2VIS_CMPA 32'h00001830 | |
125 | //`define IOB_CREG_DBG_L2VIS_CMPB 32'h00001838 | |
126 | //`define IOB_CREG_DBG_L2VIS_TRIG 32'h00001840 | |
127 | //`define IOB_CREG_DBG_ENET_CTRL 32'h00002000 | |
128 | //`define IOB_CREG_DBG_ENET_IDLEVAL 32'h00002008 | |
129 | //`define IOB_CREG_DBG_JBUS_CTRL 32'h00002100 | |
130 | //`define IOB_CREG_DBG_JBUS_LO_MASK0 32'h00002140 | |
131 | //`define IOB_CREG_DBG_JBUS_LO_CMP0 32'h00002148 | |
132 | //`define IOB_CREG_DBG_JBUS_LO_CNT0 32'h00002150 | |
133 | //`define IOB_CREG_DBG_JBUS_LO_MASK1 32'h00002160 | |
134 | //`define IOB_CREG_DBG_JBUS_LO_CMP1 32'h00002168 | |
135 | //`define IOB_CREG_DBG_JBUS_LO_CNT1 32'h00002170 | |
136 | //`define IOB_CREG_DBG_JBUS_HI_MASK0 32'h00002180 | |
137 | //`define IOB_CREG_DBG_JBUS_HI_CMP0 32'h00002188 | |
138 | //`define IOB_CREG_DBG_JBUS_HI_CNT0 32'h00002190 | |
139 | //`define IOB_CREG_DBG_JBUS_HI_MASK1 32'h000021a0 | |
140 | //`define IOB_CREG_DBG_JBUS_HI_CMP1 32'h000021a8 | |
141 | //`define IOB_CREG_DBG_JBUS_HI_CNT1 32'h000021b0 | |
142 | //________________________________________________________________ | |
143 | ||
144 | // Verilog define statements for: | |
145 | // rst_ucbbusin4_ctl.sv and: | |
146 | // rst_ucbbusout4_ctl.sv: | |
147 | ||
148 | `define UCB_BUS_WIDTH 4 | |
149 | `define UCB_BUS_WIDTH_M1 3 | |
150 | `define CYC_NUM 32 | |
151 | `define CYC_NUM_M1 31 | |
152 | ||
153 | `define RST_UCB_DATA_WIDTH 16 | |
154 | // Width of: | |
155 | // data_in_io ;// Convert from io to cmp to sys. | |
156 | // data_in_sys ;// Convert from io to cmp to sys. | |
157 | // data_out_sys2 ;// Convert from sys to cmp. | |
158 | // data_out_cmp2 ;// Convert from sys to cmp to io. | |
159 | // The following stay 64 bits wide: | |
160 | // data_in ;// Convert from io to cmp to sys. | |
161 | // data_out ;// Converted from cmp to io. | |
162 | // If you modify RST_UCB_DATA_WIDTH, adjust the width of x'b0 in | |
163 | // the following two concatenations: | |
164 | // assign data_out [ 63:0] = | |
165 | // assign data_out_sys[`RST_UCB_DATA_WIDTH-1:0] = | |
166 | ||
167 | `define RST_TIME_WIDTH 16 | |
168 | // Width of: | |
169 | // lock_time_addr ? {32'b0, lock_time_q [31:0] }:// LOCK_TIME | |
170 | // prop_time_addr ? {32'b0, prop_time_q [31:0] }:// PROP_TIME | |
171 | // niu_time_addr ? {32'b0, niu_time_q [31:0] }:// NIU_TIME | |
172 | // msff_ctl_macro lock_time_ff (width=32,en=1,clr_=1) | |
173 | // msff_ctl_macro lock_count_ff (width=32,en=0,clr_=1) | |
174 | // msff_ctl_macro prop_time_ff (width=32,en=1,clr_=1) | |
175 | // msff_ctl_macro prop_count_ff (width=32,en=0,clr_=1) | |
176 | // msff_ctl_macro niu_time_ff (width=32,en=1,clr_=1) | |
177 | // msff_ctl_macro niu_count_ff (width=32,en=0,clr_=1) | |
178 | // msff_ctl_macro dmu_time_ff (width=32,en=1,clr_=1) | |
179 | // msff_ctl_macro dmu_count_ff (width=32,en=0,clr_=1) | |
180 | ||
181 | ||
182 | ||
183 | module rst_cmp_ctl ( | |
184 | l2clk, | |
185 | scan_in, | |
186 | scan_out, | |
187 | rst_aclk, | |
188 | rst_bclk, | |
189 | rst_scan_en, | |
190 | tcu_pce_ov, | |
191 | rst_clk_stop, | |
192 | tcu_rst_scan_mode, | |
193 | ccu_cmp_sys_sync_en, | |
194 | ccu_sys_cmp_sync_en, | |
195 | cmp_io_sync_en, | |
196 | io_cmp_sync_en, | |
197 | rst_cmp_ctl_wmr_sys2_, | |
198 | mio_rst_pwron_rst_l, | |
199 | tcu_rst_flush_init_ack, | |
200 | tcu_rst_flush_stop_ack, | |
201 | tcu_rst_asicflush_stop_ack, | |
202 | rst_mcu_selfrsh_sys2, | |
203 | rst_l2_por_sys2_, | |
204 | rst_l2_wmr_sys2_, | |
205 | rst_dmu_peu_por_sys2_, | |
206 | rst_dmu_peu_wmr_sys2_, | |
207 | rst_niu_mac_sys2_, | |
208 | rst_niu_wmr_sys2_, | |
209 | rst_tcu_clk_stop_sys2, | |
210 | rst_ncu_unpark_thread_sys2, | |
211 | rst_ncu_xir_sys2_, | |
212 | ncu_rst_xir_done_io, | |
213 | tcu_rst_efu_done, | |
214 | tcu_bisx_done, | |
215 | tcu_test_protect_io, | |
216 | ccu_rst_change_io, | |
217 | l2ta_rst_fatal_error_io, | |
218 | ncu_rst_fatal_error_io, | |
219 | tr_flush_init_ack_cmp, | |
220 | tr_flush_stop_ack_cmp, | |
221 | tr_asicflush_stop_ack_cmp, | |
222 | rt_flush_init_req_sys2, | |
223 | rt_flush_stop_req_sys2, | |
224 | rt_asicflush_stop_req_sys2, | |
225 | rst_tcu_flush_init_req, | |
226 | rst_tcu_flush_stop_req, | |
227 | rst_tcu_asicflush_stop_req, | |
228 | rd_req_vld_io, | |
229 | wr_req_vld_io, | |
230 | req_acpted_sys, | |
231 | rd_ack_vld_sys, | |
232 | rd_nack_vld_sys, | |
233 | addr_in_io, | |
234 | data_in_io, | |
235 | thr_id_in_io, | |
236 | buf_id_in_io, | |
237 | ack_busy_io, | |
238 | data_out_sys2, | |
239 | thr_id_out_sys, | |
240 | buf_id_out_sys, | |
241 | reset_gen_dbr_gen_q, | |
242 | rd_req_vld_sys, | |
243 | wr_req_vld_sys, | |
244 | req_acpted_cmp2, | |
245 | rd_ack_vld_cmp2, | |
246 | rd_nack_vld_cmp2, | |
247 | addr_in_sys, | |
248 | data_in_sys, | |
249 | thr_id_in_sys, | |
250 | buf_id_in_sys, | |
251 | ack_busy_sys, | |
252 | data_out_cmp2, | |
253 | thr_id_out_cmp2, | |
254 | buf_id_out_cmp2, | |
255 | rst_mcu_selfrsh_cmp2, | |
256 | rst_dmu_peu_por_, | |
257 | rst_dmu_peu_wmr_, | |
258 | rst_niu_mac_, | |
259 | rst_niu_wmr_, | |
260 | rst_tcu_clk_stop, | |
261 | rst_tcu_clk_stop_io, | |
262 | rst_l2_por_, | |
263 | rst_l2_wmr_, | |
264 | rst_ncu_unpark_thread_cmp2, | |
265 | rst_ncu_xir_cmp2_, | |
266 | ncu_rst_xir_done_sys, | |
267 | tcu_rst_efu_done_cmp, | |
268 | tcu_bisx_done_cmp, | |
269 | ncu_rst_fatal_error_cmp, | |
270 | tcu_test_protect_cmp, | |
271 | ccu_rst_change_cmp, | |
272 | l2t7_rst_fatal_error_cmp, | |
273 | l2t6_rst_fatal_error_cmp, | |
274 | l2t5_rst_fatal_error_cmp, | |
275 | l2t4_rst_fatal_error_cmp, | |
276 | l2t3_rst_fatal_error_cmp, | |
277 | l2t2_rst_fatal_error_cmp, | |
278 | l2t1_rst_fatal_error_cmp, | |
279 | l2t0_rst_fatal_error_cmp, | |
280 | pwron_rst_h_scan_mode_en, | |
281 | rst_tcu_dbr_gen, | |
282 | rst_rst_pwron_rst_l_sys2_, | |
283 | rst_tcu_pwron_rst_l, | |
284 | rst_rst_pwron_rst_l_io0_, | |
285 | mio_rst_pb_rst_sys_, | |
286 | mio_rst_pb_rst_sys2_, | |
287 | rst_rst_por_sys2_, | |
288 | rst_rst_por_io0_, | |
289 | rst_rst_wmr_sys2_, | |
290 | rst_rst_wmr_io0_); | |
291 | wire spares_scanout; | |
292 | wire tcu_aclk; | |
293 | wire tcu_bclk; | |
294 | wire tcu_scan_en; | |
295 | wire tcu_clk_stop; | |
296 | wire siclk; | |
297 | wire soclk; | |
298 | wire rst_tcu_pwron_rst_l_ff_scanin; | |
299 | wire rst_tcu_pwron_rst_l_ff_scanout; | |
300 | wire l1clk; | |
301 | wire ccu_sys_cmp_sync_en3; | |
302 | wire rst_tcu_pwron_rst_l_cmp_; | |
303 | wire rst_rst_pwron_rst_l_io0_ff_scanin; | |
304 | wire rst_rst_pwron_rst_l_io0_ff_scanout; | |
305 | wire cmp_io_sync_en2; | |
306 | wire rst_tcu_flush_init_req_ff_scanin; | |
307 | wire rst_tcu_flush_init_req_ff_scanout; | |
308 | wire rst_cmp_ctl_wmr_cmp_; | |
309 | wire rst_tcu_flush_stop_req_ff_scanin; | |
310 | wire rst_tcu_flush_stop_req_ff_scanout; | |
311 | wire rst_tcu_asicflush_stop_req_ff_scanin; | |
312 | wire rst_tcu_asicflush_stop_req_ff_scanout; | |
313 | wire rst_tcu_dbr_gen_ff_scanin; | |
314 | wire rst_tcu_dbr_gen_ff_scanout; | |
315 | wire tcu_rst_flush_init_ack_ff_scanin; | |
316 | wire tcu_rst_flush_init_ack_ff_scanout; | |
317 | wire ccu_cmp_sys_sync_en3; | |
318 | wire tcu_rst_flush_stop_ack_ff_scanin; | |
319 | wire tcu_rst_flush_stop_ack_ff_scanout; | |
320 | wire tcu_rst_asicflush_stop_ack_ff_scanin; | |
321 | wire tcu_rst_asicflush_stop_ack_ff_scanout; | |
322 | wire req_acpted_cmp_ff_scanin; | |
323 | wire req_acpted_cmp_ff_scanout; | |
324 | wire req_acpted_cmp; | |
325 | wire req_acpted_cmp2_ff_scanin; | |
326 | wire req_acpted_cmp2_ff_scanout; | |
327 | wire rd_ack_vld_cmp_ff_scanin; | |
328 | wire rd_ack_vld_cmp_ff_scanout; | |
329 | wire rd_ack_vld_cmp; | |
330 | wire rd_ack_vld_cmp2_ff_scanin; | |
331 | wire rd_ack_vld_cmp2_ff_scanout; | |
332 | wire rd_nack_vld_cmp_ff_scanin; | |
333 | wire rd_nack_vld_cmp_ff_scanout; | |
334 | wire rd_nack_vld_cmp; | |
335 | wire rd_nack_vld_cmp2_ff_scanin; | |
336 | wire rd_nack_vld_cmp2_ff_scanout; | |
337 | wire data_out_cmp_ff_scanin; | |
338 | wire data_out_cmp_ff_scanout; | |
339 | wire [15:0] data_out_cmp; | |
340 | wire data_out_cmp2_ff_scanin; | |
341 | wire data_out_cmp2_ff_scanout; | |
342 | wire addr_in_cmp_ff_scanin; | |
343 | wire addr_in_cmp_ff_scanout; | |
344 | wire io_cmp_sync_en2; | |
345 | wire [39:0] addr_in_cmp; | |
346 | wire addr_in_sys_ff_scanin; | |
347 | wire addr_in_sys_ff_scanout; | |
348 | wire data_in_cmp_ff_scanin; | |
349 | wire data_in_cmp_ff_scanout; | |
350 | wire [15:0] data_in_cmp; | |
351 | wire data_in_sys_ff_scanin; | |
352 | wire data_in_sys_ff_scanout; | |
353 | wire thr_id_in_cmp_ff_scanin; | |
354 | wire thr_id_in_cmp_ff_scanout; | |
355 | wire [5:0] thr_id_in_cmp; | |
356 | wire thr_id_in_sys_ff_scanin; | |
357 | wire thr_id_in_sys_ff_scanout; | |
358 | wire buf_id_in_cmp_ff_scanin; | |
359 | wire buf_id_in_cmp_ff_scanout; | |
360 | wire [1:0] buf_id_in_cmp; | |
361 | wire buf_id_in_sys_ff_scanin; | |
362 | wire buf_id_in_sys_ff_scanout; | |
363 | wire ack_busy_cmp_ff_scanin; | |
364 | wire ack_busy_cmp_ff_scanout; | |
365 | wire ack_busy_cmp; | |
366 | wire ack_busy_sys_ff_scanin; | |
367 | wire ack_busy_sys_ff_scanout; | |
368 | wire thr_id_out_cmp_ff_scanin; | |
369 | wire thr_id_out_cmp_ff_scanout; | |
370 | wire [5:0] thr_id_out_cmp; | |
371 | wire thr_id_out_cmp2_ff_scanin; | |
372 | wire thr_id_out_cmp2_ff_scanout; | |
373 | wire buf_id_out_cmp_ff_scanin; | |
374 | wire buf_id_out_cmp_ff_scanout; | |
375 | wire [1:0] buf_id_out_cmp; | |
376 | wire buf_id_out_cmp2_ff_scanin; | |
377 | wire buf_id_out_cmp2_ff_scanout; | |
378 | wire rd_req_vld_cmp_ff_scanin; | |
379 | wire rd_req_vld_cmp_ff_scanout; | |
380 | wire rd_req_vld_cmp; | |
381 | wire rd_req_vld_cmp2_ff_scanin; | |
382 | wire rd_req_vld_cmp2_ff_scanout; | |
383 | wire wr_req_vld_cmp_ff_scanin; | |
384 | wire wr_req_vld_cmp_ff_scanout; | |
385 | wire wr_req_vld_cmp; | |
386 | wire wr_req_vld_cmp2_ff_scanin; | |
387 | wire wr_req_vld_cmp2_ff_scanout; | |
388 | wire rst_mcu_selfrsh_cmp_ff_scanin; | |
389 | wire rst_mcu_selfrsh_cmp_ff_scanout; | |
390 | wire rst_mcu_selfrsh_cmp; | |
391 | wire rst_mcu_selfrsh_cmp2_ff_scanin; | |
392 | wire rst_mcu_selfrsh_cmp2_ff_scanout; | |
393 | wire rst_l2_por_ff_scanin; | |
394 | wire rst_l2_por_ff_scanout; | |
395 | wire rst_l2_wmr_ff_scanin; | |
396 | wire rst_l2_wmr_ff_scanout; | |
397 | wire rst_tcu_clk_stop_cmp_ff_scanin; | |
398 | wire rst_tcu_clk_stop_cmp_ff_scanout; | |
399 | wire l1clk_free_running; | |
400 | wire rst_tcu_clk_stop_io_ff_scanin; | |
401 | wire rst_tcu_clk_stop_io_ff_scanout; | |
402 | wire rst_dmu_peu_por_ff_scanin; | |
403 | wire rst_dmu_peu_por_ff_scanout; | |
404 | wire rst_dmu_peu_wmr_ff_scanin; | |
405 | wire rst_dmu_peu_wmr_ff_scanout; | |
406 | wire rst_niu_mac_ff_scanin; | |
407 | wire rst_niu_mac_ff_scanout; | |
408 | wire rst_niu_wmr_ff_scanin; | |
409 | wire rst_niu_wmr_ff_scanout; | |
410 | wire rst_ncu_unpark_thread_cmp_ff_scanin; | |
411 | wire rst_ncu_unpark_thread_cmp_ff_scanout; | |
412 | wire rst_ncu_unpark_thread_cmp; | |
413 | wire rst_ncu_unpark_thread_cmp2_ff_scanin; | |
414 | wire rst_ncu_unpark_thread_cmp2_ff_scanout; | |
415 | wire rst_ncu_xir_dout; | |
416 | wire rst_ncu_xir_cmp_ff_scanin; | |
417 | wire rst_ncu_xir_cmp_ff_scanout; | |
418 | wire rst_ncu_xir_cmp_; | |
419 | wire rst_ncu_xir_cmp2_ff_scanin; | |
420 | wire rst_ncu_xir_cmp2_ff_scanout; | |
421 | wire ncu_rst_xir_done_cmp_ff_scanin; | |
422 | wire ncu_rst_xir_done_cmp_ff_scanout; | |
423 | wire ncu_rst_xir_done_cmp; | |
424 | wire ncu_rst_xir_done_sys_ff_scanin; | |
425 | wire ncu_rst_xir_done_sys_ff_scanout; | |
426 | wire tcu_rst_efu_done_sys_ff_scanin; | |
427 | wire tcu_rst_efu_done_sys_ff_scanout; | |
428 | wire tcu_bisx_done_sys_ff_scanin; | |
429 | wire tcu_bisx_done_sys_ff_scanout; | |
430 | wire tcu_test_protect_cmp0_ff_scanin; | |
431 | wire tcu_test_protect_cmp0_ff_scanout; | |
432 | wire tcu_test_protect_cmp0; | |
433 | wire tcu_test_protect_cmp_ff_scanin; | |
434 | wire tcu_test_protect_cmp_ff_scanout; | |
435 | wire ccu_rst_change_cmp0_ff_scanin; | |
436 | wire ccu_rst_change_cmp0_ff_scanout; | |
437 | wire ccu_rst_change_cmp0; | |
438 | wire ccu_rst_change_cmp_ff_scanin; | |
439 | wire ccu_rst_change_cmp_ff_scanout; | |
440 | wire ncu_rst_fatal_error_cmp0_ff_scanin; | |
441 | wire ncu_rst_fatal_error_cmp0_ff_scanout; | |
442 | wire ncu_rst_fatal_error_cmp0; | |
443 | wire ncu_rst_fatal_error_hold_din; | |
444 | wire ncu_rst_fatal_error_hold_dout; | |
445 | wire ncu_rst_fatal_error_hold_ff_scanin; | |
446 | wire ncu_rst_fatal_error_hold_ff_scanout; | |
447 | wire ncu_rst_fatal_error_cmp_ff_scanin; | |
448 | wire ncu_rst_fatal_error_cmp_ff_scanout; | |
449 | wire l2ta_rst_fatal_error_cmp0_ff_scanin; | |
450 | wire l2ta_rst_fatal_error_cmp0_ff_scanout; | |
451 | wire [7:0] l2ta_rst_fatal_error_cmp0; | |
452 | wire [7:0] l2ta_rst_fatal_error_hold_din; | |
453 | wire [7:0] l2ta_rst_fatal_error_hold_dout; | |
454 | wire [7:0] l2ta_rst_fatal_error_cmp; | |
455 | wire l2ta_rst_fatal_error_hold_ff_scanin; | |
456 | wire l2ta_rst_fatal_error_hold_ff_scanout; | |
457 | wire l2ta_rst_fatal_error_cmp_ff_scanin; | |
458 | wire l2ta_rst_fatal_error_cmp_ff_scanout; | |
459 | wire mio_rst_pb_rst_cmp_ff_scanin; | |
460 | wire mio_rst_pb_rst_cmp_ff_scanout; | |
461 | wire mio_rst_pb_rst_cmp_; | |
462 | wire mio_rst_pb_rst_sys2_ff_scanin; | |
463 | wire mio_rst_pb_rst_sys2_ff_scanout; | |
464 | wire rst_cmp_ctl_wmr_cmp_ff_scanin; | |
465 | wire rst_cmp_ctl_wmr_cmp_ff_scanout; | |
466 | wire rst_rst_por_cmp_ff_scanin; | |
467 | wire rst_rst_por_cmp_ff_scanout; | |
468 | wire rst_rst_por_cmp_; | |
469 | wire rst_rst_por_io_ff_scanin; | |
470 | wire rst_rst_por_io_ff_scanout; | |
471 | wire rst_rst_wmr_cmp_ff_scanin; | |
472 | wire rst_rst_wmr_cmp_ff_scanout; | |
473 | wire rst_rst_wmr_cmp_; | |
474 | wire rst_rst_wmr_io_ff_scanin; | |
475 | wire rst_rst_wmr_io_ff_scanout; | |
476 | wire cmp_io_sync_en2_ff_scanin; | |
477 | wire cmp_io_sync_en2_ff_scanout; | |
478 | wire io_cmp_sync_en2_ff_scanin; | |
479 | wire io_cmp_sync_en2_ff_scanout; | |
480 | wire ccu_cmp_sys_sync_en2_ff_scanin; | |
481 | wire ccu_cmp_sys_sync_en2_ff_scanout; | |
482 | wire ccu_cmp_sys_sync_en2; | |
483 | wire ccu_cmp_sys_sync_en3_ff_scanin; | |
484 | wire ccu_cmp_sys_sync_en3_ff_scanout; | |
485 | wire ccu_sys_cmp_sync_en2_ff_scanin; | |
486 | wire ccu_sys_cmp_sync_en2_ff_scanout; | |
487 | wire ccu_sys_cmp_sync_en2; | |
488 | wire ccu_sys_cmp_sync_en3_ff_scanin; | |
489 | wire ccu_sys_cmp_sync_en3_ff_scanout; | |
490 | wire spares_scanin; | |
491 | ||
492 | input l2clk ;// From clkgen_rst_cmp. | |
493 | input scan_in ;// rst_fsm_ctl_scanin? rst_cmp_ctl_scanin? | |
494 | output scan_out ;// | |
495 | //output rst_fsm_ctl_scanout ; | |
496 | input rst_aclk ;// Called rst_ here. .(tcu_aclk_gen ) | |
497 | input rst_bclk ;// to allow assign stmt. .(tcu_bclk_gen ) | |
498 | input rst_scan_en ;// Assign. .(tcu_scan_en ) | |
499 | input tcu_pce_ov ;// (No assign needed.) .(tcu_pce_ov_gen) | |
500 | input rst_clk_stop ;// Assign. .(1'b0 ) | |
501 | input tcu_rst_scan_mode ;// Indicates scan is active. | |
502 | input ccu_cmp_sys_sync_en ; | |
503 | input ccu_sys_cmp_sync_en ; | |
504 | input cmp_io_sync_en ; | |
505 | input io_cmp_sync_en ; | |
506 | //put ccu_rst_sync_stable ;// Review Oct 24 '05. | |
507 | input rst_cmp_ctl_wmr_sys2_; | |
508 | ||
509 | input mio_rst_pwron_rst_l ; | |
510 | input tcu_rst_flush_init_ack;// Convert from cmp to sys. | |
511 | input tcu_rst_flush_stop_ack;// Convert from cmp to sys. | |
512 | input tcu_rst_asicflush_stop_ack;// Convert from cmp to sys. | |
513 | ||
514 | input rst_mcu_selfrsh_sys2 ;// Convert from sys to cmp to io. | |
515 | input rst_l2_por_sys2_ ;// Convert from sys to cmp. | |
516 | input rst_l2_wmr_sys2_ ;// Convert from sys to cmp. | |
517 | input rst_dmu_peu_por_sys2_ ;// Convert from sys to cmp. | |
518 | input rst_dmu_peu_wmr_sys2_ ;// Convert from sys to cmp. | |
519 | input rst_niu_mac_sys2_ ;// Convert from sys to cmp. | |
520 | input rst_niu_wmr_sys2_ ;// Convert from sys to cmp. | |
521 | input rst_tcu_clk_stop_sys2 ;// Convert from sys to cmp. | |
522 | input rst_ncu_unpark_thread_sys2;// Convert from sys to cmp to io. | |
523 | input rst_ncu_xir_sys2_ ;// Convert from sys to cmp to io. | |
524 | input ncu_rst_xir_done_io ;// Convert from io to cmp to sys. | |
525 | input tcu_rst_efu_done ;// Convert from cmp to sys. | |
526 | input tcu_bisx_done ;// Convert from cmp to sys. | |
527 | input tcu_test_protect_io ;// Convert from cmp to sys. | |
528 | input ccu_rst_change_io ;// Convert from cmp to sys. | |
529 | input [ 7:0] l2ta_rst_fatal_error_io ;// Convert from io to cmp to sys. | |
530 | input ncu_rst_fatal_error_io ;// Convert from io to cmp to sys. | |
531 | ||
532 | output tr_flush_init_ack_cmp ;// Converted from cmp to sys. | |
533 | output tr_flush_stop_ack_cmp ;// Converted from cmp to sys. | |
534 | output tr_asicflush_stop_ack_cmp ;// Converted from cmp to sys. | |
535 | ||
536 | input rt_flush_init_req_sys2 ;// Convert from sys to cmp. | |
537 | input rt_flush_stop_req_sys2 ;// Convert from sys to cmp. | |
538 | input rt_asicflush_stop_req_sys2;// Convert from sys to cmp. | |
539 | ||
540 | output rst_tcu_flush_init_req ;// Converted from sys to cmp. | |
541 | output rst_tcu_flush_stop_req ;// Converted from sys to cmp. | |
542 | output rst_tcu_asicflush_stop_req;// Converted from sys to cmp. | |
543 | ||
544 | input rd_req_vld_io ;// Convert from io to cmp. | |
545 | input wr_req_vld_io ;// Convert from io to cmp. | |
546 | input req_acpted_sys ;// Convert from sys to cmp. | |
547 | input rd_ack_vld_sys ;// Convert from sys to cmp. | |
548 | input rd_nack_vld_sys ;// Convert from sys to cmp. | |
549 | input [39:0] addr_in_io ;// Convert from io to cmp to sys. | |
550 | input [`RST_UCB_DATA_WIDTH-1:0] | |
551 | data_in_io ;// Convert from io to cmp to sys. | |
552 | input [ 5:0] thr_id_in_io ;// Convert from io to cmp to sys. | |
553 | input [ 1:0] buf_id_in_io ;// Convert from io to cmp to sys. | |
554 | input ack_busy_io ;// Convert from io to cmp to sys. | |
555 | input [`RST_UCB_DATA_WIDTH-1:0] | |
556 | data_out_sys2 ;// Convert from sys to cmp. | |
557 | input [ 5:0] thr_id_out_sys ;// Convert from sys to cmp to io. | |
558 | input [ 1:0] buf_id_out_sys ;// Convert from sys to cmp to io. | |
559 | input reset_gen_dbr_gen_q ;// Convert from sys to cmp: | |
560 | // rst_tcu_dbr_gen | |
561 | ||
562 | output rd_req_vld_sys ;// Converted from io to cmp. | |
563 | output wr_req_vld_sys ;// Converted from io to cmp. | |
564 | output req_acpted_cmp2 ;// Convert from sys to cmp to io. | |
565 | output rd_ack_vld_cmp2 ;// Convert from sys to cmp to io. | |
566 | output rd_nack_vld_cmp2 ;// Convert from sys to cmp to io. | |
567 | output[39:0] addr_in_sys ;// Convert from io to cmp to sys. | |
568 | output[`RST_UCB_DATA_WIDTH-1:0] | |
569 | data_in_sys ;// Convert from io to cmp to sys. | |
570 | output[ 5:0] thr_id_in_sys ;// Convert from io to cmp to sys. | |
571 | output[ 1:0] buf_id_in_sys ;// Convert from io to cmp to sys. | |
572 | output ack_busy_sys ;// Convert from io to cmp to sys. | |
573 | output[`RST_UCB_DATA_WIDTH-1:0] | |
574 | data_out_cmp2 ;// Convert from sys to cmp to io. | |
575 | output[ 5:0] thr_id_out_cmp2 ;// Convert from sys to cmp to io. | |
576 | output[ 1:0] buf_id_out_cmp2 ;// Convert from sys to cmp to io. | |
577 | ||
578 | output rst_mcu_selfrsh_cmp2 ;// Convert from sys to cmp to io. | |
579 | output rst_dmu_peu_por_ ;// Converted from sys to cmp. | |
580 | output rst_dmu_peu_wmr_ ;// Converted from sys to cmp. | |
581 | output rst_niu_mac_ ;// Converted from sys to cmp. | |
582 | output rst_niu_wmr_ ;// Converted from sys to cmp. | |
583 | output rst_tcu_clk_stop ;// Converted from sys to cmp. | |
584 | output rst_tcu_clk_stop_io ;// Converted from sys to io. | |
585 | output rst_l2_por_ ;// Converted from sys to cmp. | |
586 | output rst_l2_wmr_ ;// Converted from sys to cmp. | |
587 | output rst_ncu_unpark_thread_cmp2;// Convert from sys to cmp to io. | |
588 | output rst_ncu_xir_cmp2_ ;// Convert from sys to cmp to io. | |
589 | output ncu_rst_xir_done_sys ;// Convert from io to cmp to sys. | |
590 | output tcu_rst_efu_done_cmp ;// Convert from cmp to sys. | |
591 | output tcu_bisx_done_cmp ;// Convert from cmp to sys. | |
592 | output ncu_rst_fatal_error_cmp ;// Convert from io to cmp to sys. | |
593 | output tcu_test_protect_cmp ;// Convert from io to cmp to sys. | |
594 | output ccu_rst_change_cmp ;// Convert from io to cmp to sys. | |
595 | output l2t7_rst_fatal_error_cmp ;// Convert from cmp to sys. | |
596 | output l2t6_rst_fatal_error_cmp ;// Convert from cmp to sys. | |
597 | output l2t5_rst_fatal_error_cmp ;// Convert from cmp to sys. | |
598 | output l2t4_rst_fatal_error_cmp ;// Convert from cmp to sys. | |
599 | output l2t3_rst_fatal_error_cmp ;// Convert from cmp to sys. | |
600 | output l2t2_rst_fatal_error_cmp ;// Convert from cmp to sys. | |
601 | output l2t1_rst_fatal_error_cmp ;// Convert from cmp to sys. | |
602 | output l2t0_rst_fatal_error_cmp ;// Convert from cmp to sys. | |
603 | output pwron_rst_h_scan_mode_en ;// = tcu_rst_scan_mode ? rst_scan_en: | |
604 | // ~mio_rst_pwron_rst_l; | |
605 | output rst_tcu_dbr_gen ;// Convert reset_gen_dbr_gen_q | |
606 | // from sys to cmp. | |
607 | input rst_rst_pwron_rst_l_sys2_ ;// BP 7-28-06 from rst_fsm_ctl sync to | |
608 | // cmp_clk then on to tcu | |
609 | output rst_tcu_pwron_rst_l ;// BP 7-28-05 rst_tcu_pwron_rst_cmp_ | |
610 | // synched to cmp_clk | |
611 | output rst_rst_pwron_rst_l_io0_ ; | |
612 | input mio_rst_pb_rst_sys_ ;// From rst_fsm_ctl sync to cmp&back. | |
613 | output mio_rst_pb_rst_sys2_ ;// | |
614 | input rst_rst_por_sys2_ ;// From rst_fsm_ctl to cmp to _io_ctl. | |
615 | output rst_rst_por_io0_ ;// From rst_fsm_ctl to cmp to _io_ctl. | |
616 | input rst_rst_wmr_sys2_ ;// From rst_fsm_ctl to cmp to ucbflow. | |
617 | output rst_rst_wmr_io0_ ;// From rst_fsm_ctl to cmp to ucbflow. | |
618 | ||
619 | // ign tr_flush_init_ack_cmp = tcu_rst_flush_init_ack;// Now a flop. | |
620 | // ign tr_flush_stop_ack_cmp = tcu_rst_flush_stop_ack;// Now a flop. | |
621 | ||
622 | // ign rst_tcu_flush_init_req = rt_flush_init_req_sys; // Now a flop. | |
623 | // ign rst_tcu_flush_stop_req = rt_flush_stop_req_sys; // Now a flop. | |
624 | ||
625 | // ign rst_tcu_flush_init_req = rt_flush_init_req_sys2;// Now a flop. | |
626 | // ign rst_tcu_flush_stop_req = rt_flush_stop_req_sys2;// Now a flop. | |
627 | ||
628 | // ign rd_req_vld_sys = rd_req_vld_io ;// Now a flop. | |
629 | // ign wr_req_vld_sys = wr_req_vld_io ;// Now a flop. | |
630 | // ign req_acpted_cmp2 = req_acpted_sys ;// Now a flop. | |
631 | //________________________________________________________________ | |
632 | ||
633 | assign scan_out | |
634 | = tcu_rst_scan_mode ? spares_scanout : 1'b0; | |
635 | assign tcu_aclk = tcu_rst_scan_mode ? rst_aclk : 1'b0; | |
636 | assign tcu_bclk = tcu_rst_scan_mode ? rst_bclk : 1'b0; | |
637 | assign tcu_scan_en = tcu_rst_scan_mode ? rst_scan_en : 1'b0; | |
638 | assign tcu_clk_stop = tcu_rst_scan_mode ? rst_clk_stop : 1'b0; | |
639 | ||
640 | //sign rst_fsm_ctl_scanout | |
641 | // = (~mio_rst_pwron_rst_l) ? scan_out : 1'b0; | |
642 | //sign tcu_aclk = (~mio_rst_pwron_rst_l) ? rst_aclk : 1'b0; | |
643 | //sign tcu_bclk = (~mio_rst_pwron_rst_l) ? rst_bclk : 1'b0; | |
644 | //sign tcu_scan_en = (~mio_rst_pwron_rst_l) ? rst_scan_en : 1'b0; | |
645 | //sign tcu_clk_stop = (~mio_rst_pwron_rst_l) ? rst_clk_stop : 1'b0; | |
646 | //________________________________________________________________ | |
647 | ||
648 | // N2 Bug ID: 107214 | |
649 | // The current fix leaves us with an 'x' after scan_en goes low, | |
650 | // right before we launch the capture clock. | |
651 | // This is b/c the PWRON_RST_L pin is not constrained during atpg. | |
652 | // So the equation should actually be a mux, as follows: | |
653 | ||
654 | assign pwron_rst_h_scan_mode_en = tcu_rst_scan_mode ? rst_scan_en : | |
655 | ~mio_rst_pwron_rst_l; | |
656 | // Place logic here (not allowed in rst.sv) | |
657 | // to pass this function to clkgen_rst_cmp's | |
658 | // input ports .tcu_clk_stop and .scan_en. | |
659 | //________________________________________________________________ | |
660 | ||
661 | assign siclk = tcu_aclk; // When say wire instead of assign, siclk = z. | |
662 | // Described to Anurag Bhatnagar Feb 23 '05. | |
663 | assign soclk = tcu_bclk; | |
664 | //________________________________________________________________ | |
665 | ||
666 | rst_cmp_ctl_msff_ctl_macro__clr__0__en_1__width_1 rst_tcu_pwron_rst_l_ff | |
667 | (.din (rst_rst_pwron_rst_l_sys2_ ),// synchronized version on sysclk | |
668 | // .clr_ (rst_cmp_ctl_wmr_cmp_ ),// Don't assert during WMR. | |
669 | .scan_in (rst_tcu_pwron_rst_l_ff_scanin ), | |
670 | .scan_out(rst_tcu_pwron_rst_l_ff_scanout), | |
671 | .l1clk (l1clk ), | |
672 | .en (ccu_sys_cmp_sync_en3 ),// Convert from sys to cmp. | |
673 | .dout (rst_tcu_pwron_rst_l_cmp_ ), | |
674 | .siclk(siclk), | |
675 | .soclk(soclk)); | |
676 | ||
677 | assign rst_tcu_pwron_rst_l = | |
678 | rst_tcu_pwron_rst_l_cmp_ & // BP 7-29-05 | |
679 | // rst_tcu_pwron_rst_l_cmp_ -> cmp clk | |
680 | rst_rst_pwron_rst_l_sys2_; // rst_tcu_pwron_rst_l_cmp_ -> sys clk | |
681 | // Async assert, cmp-sync deassert. | |
682 | ||
683 | rst_cmp_ctl_msff_ctl_macro__clr__0__en_1__width_1 rst_rst_pwron_rst_l_io0_ff | |
684 | (.din (rst_tcu_pwron_rst_l_cmp_ ), | |
685 | // .clr_ (rst_cmp_ctl_wmr_cmp_ ),// Don't assert during WMR. | |
686 | .scan_in (rst_rst_pwron_rst_l_io0_ff_scanin ), | |
687 | .scan_out(rst_rst_pwron_rst_l_io0_ff_scanout), | |
688 | .l1clk (l1clk ), | |
689 | .en (cmp_io_sync_en2 ),// Convert from cmp to io. | |
690 | .dout (rst_rst_pwron_rst_l_io0_ ), | |
691 | .siclk(siclk), | |
692 | .soclk(soclk)); | |
693 | //________________________________________________________________ | |
694 | ||
695 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_1 rst_tcu_flush_init_req_ff | |
696 | (.din (rt_flush_init_req_sys2 ),// | |
697 | .scan_in (rst_tcu_flush_init_req_ff_scanin ), | |
698 | .scan_out(rst_tcu_flush_init_req_ff_scanout), | |
699 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
700 | .l1clk (l1clk ), | |
701 | .en (ccu_sys_cmp_sync_en3 ),// Convert from sys to cmp. | |
702 | .dout (rst_tcu_flush_init_req ), | |
703 | .siclk(siclk), | |
704 | .soclk(soclk)); | |
705 | ||
706 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_1 rst_tcu_flush_stop_req_ff | |
707 | (.din (rt_flush_stop_req_sys2 ), | |
708 | .scan_in (rst_tcu_flush_stop_req_ff_scanin ), | |
709 | .scan_out(rst_tcu_flush_stop_req_ff_scanout), | |
710 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
711 | .l1clk (l1clk ), | |
712 | .en (ccu_sys_cmp_sync_en3 ),// Convert from sys to cmp. | |
713 | .dout (rst_tcu_flush_stop_req ), | |
714 | .siclk(siclk), | |
715 | .soclk(soclk)); | |
716 | ||
717 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_1 rst_tcu_asicflush_stop_req_ff | |
718 | (.din (rt_asicflush_stop_req_sys2 ), | |
719 | .scan_in (rst_tcu_asicflush_stop_req_ff_scanin ), | |
720 | .scan_out(rst_tcu_asicflush_stop_req_ff_scanout), | |
721 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
722 | .l1clk (l1clk ), | |
723 | .en (ccu_sys_cmp_sync_en3 ),// Convert from sys to cmp. | |
724 | .dout (rst_tcu_asicflush_stop_req ), | |
725 | .siclk(siclk), | |
726 | .soclk(soclk)); | |
727 | //________________________________________________________________ | |
728 | ||
729 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_1 rst_tcu_dbr_gen_ff | |
730 | (.din (reset_gen_dbr_gen_q ),// | |
731 | .scan_in (rst_tcu_dbr_gen_ff_scanin ), | |
732 | .scan_out(rst_tcu_dbr_gen_ff_scanout), | |
733 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
734 | .l1clk (l1clk ), | |
735 | .en (ccu_sys_cmp_sync_en3 ),// Convert from sys to cmp. | |
736 | .dout (rst_tcu_dbr_gen ), | |
737 | .siclk(siclk), | |
738 | .soclk(soclk)); | |
739 | //________________________________________________________________ | |
740 | ||
741 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_1 tcu_rst_flush_init_ack_ff | |
742 | (.din (tcu_rst_flush_init_ack ), | |
743 | .scan_in (tcu_rst_flush_init_ack_ff_scanin ), | |
744 | .scan_out(tcu_rst_flush_init_ack_ff_scanout), | |
745 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
746 | .l1clk (l1clk ), | |
747 | .en (ccu_cmp_sys_sync_en3 ),// Convert from cmp to sys. | |
748 | .dout (tr_flush_init_ack_cmp ), | |
749 | .siclk(siclk), | |
750 | .soclk(soclk)); | |
751 | ||
752 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_1 tcu_rst_flush_stop_ack_ff | |
753 | (.din (tcu_rst_flush_stop_ack ), | |
754 | .scan_in (tcu_rst_flush_stop_ack_ff_scanin ), | |
755 | .scan_out(tcu_rst_flush_stop_ack_ff_scanout), | |
756 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
757 | .l1clk (l1clk ), | |
758 | .en (ccu_cmp_sys_sync_en3 ),// Convert from cmp to sys. | |
759 | .dout (tr_flush_stop_ack_cmp ), | |
760 | .siclk(siclk), | |
761 | .soclk(soclk)); | |
762 | ||
763 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_1 tcu_rst_asicflush_stop_ack_ff | |
764 | (.din (tcu_rst_asicflush_stop_ack ), | |
765 | .scan_in (tcu_rst_asicflush_stop_ack_ff_scanin ), | |
766 | .scan_out(tcu_rst_asicflush_stop_ack_ff_scanout), | |
767 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
768 | .l1clk (l1clk ), | |
769 | .en (ccu_cmp_sys_sync_en3 ),//Convert from cmp to sys. | |
770 | .dout (tr_asicflush_stop_ack_cmp ), | |
771 | .siclk(siclk), | |
772 | .soclk(soclk)); | |
773 | //________________________________________________________________ | |
774 | ||
775 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_1 req_acpted_cmp_ff | |
776 | (.din (req_acpted_sys ), | |
777 | .scan_in (req_acpted_cmp_ff_scanin ), | |
778 | .scan_out(req_acpted_cmp_ff_scanout), | |
779 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
780 | .l1clk (l1clk ), | |
781 | .en (ccu_sys_cmp_sync_en3 ),// Convert from sys to cmp. | |
782 | .dout (req_acpted_cmp ), | |
783 | .siclk(siclk), | |
784 | .soclk(soclk)); | |
785 | ||
786 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_1 req_acpted_cmp2_ff | |
787 | (.din (req_acpted_cmp ), | |
788 | .scan_in (req_acpted_cmp2_ff_scanin ), | |
789 | .scan_out(req_acpted_cmp2_ff_scanout), | |
790 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
791 | .l1clk (l1clk ), | |
792 | .en (cmp_io_sync_en2 ),// Convert from cmp to io. | |
793 | .dout (req_acpted_cmp2 ), | |
794 | .siclk(siclk), | |
795 | .soclk(soclk)); | |
796 | //________________________________________________________________ | |
797 | ||
798 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_1 rd_ack_vld_cmp_ff | |
799 | (.din (rd_ack_vld_sys ), | |
800 | .scan_in (rd_ack_vld_cmp_ff_scanin ), | |
801 | .scan_out(rd_ack_vld_cmp_ff_scanout), | |
802 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
803 | .l1clk (l1clk ), | |
804 | .en (ccu_sys_cmp_sync_en3 ),// Convert from sys to cmp. | |
805 | .dout (rd_ack_vld_cmp ), | |
806 | .siclk(siclk), | |
807 | .soclk(soclk)); | |
808 | ||
809 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_1 rd_ack_vld_cmp2_ff | |
810 | (.din (rd_ack_vld_cmp ), | |
811 | .scan_in (rd_ack_vld_cmp2_ff_scanin ), | |
812 | .scan_out(rd_ack_vld_cmp2_ff_scanout), | |
813 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
814 | .l1clk (l1clk ), | |
815 | .en (cmp_io_sync_en2 ),// Convert from cmp to io. | |
816 | .dout (rd_ack_vld_cmp2 ), | |
817 | .siclk(siclk), | |
818 | .soclk(soclk)); | |
819 | //________________________________________________________________ | |
820 | ||
821 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_1 rd_nack_vld_cmp_ff | |
822 | (.din (rd_nack_vld_sys ), | |
823 | .scan_in (rd_nack_vld_cmp_ff_scanin ), | |
824 | .scan_out(rd_nack_vld_cmp_ff_scanout), | |
825 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
826 | .l1clk (l1clk ), | |
827 | .en (ccu_sys_cmp_sync_en3 ),// Convert from sys to cmp. | |
828 | .dout (rd_nack_vld_cmp ), | |
829 | .siclk(siclk), | |
830 | .soclk(soclk)); | |
831 | ||
832 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_1 rd_nack_vld_cmp2_ff | |
833 | (.din (rd_nack_vld_cmp ), | |
834 | .scan_in (rd_nack_vld_cmp2_ff_scanin ), | |
835 | .scan_out(rd_nack_vld_cmp2_ff_scanout), | |
836 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
837 | .l1clk (l1clk ), | |
838 | .en (cmp_io_sync_en2 ),// Convert from cmp to io. | |
839 | .dout (rd_nack_vld_cmp2 ), | |
840 | .siclk(siclk), | |
841 | .soclk(soclk)); | |
842 | //________________________________________________________________ | |
843 | ||
844 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_16 data_out_cmp_ff | |
845 | ||
846 | (.din (data_out_sys2[`RST_UCB_DATA_WIDTH-1:0]), | |
847 | .scan_in (data_out_cmp_ff_scanin ), | |
848 | .scan_out(data_out_cmp_ff_scanout), | |
849 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
850 | .l1clk (l1clk ), | |
851 | .en (ccu_sys_cmp_sync_en3 ),// Convert fr sys to cmp. | |
852 | .dout (data_out_cmp [`RST_UCB_DATA_WIDTH-1:0]), | |
853 | .siclk(siclk), | |
854 | .soclk(soclk)); | |
855 | ||
856 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_16 data_out_cmp2_ff | |
857 | ||
858 | (.din (data_out_cmp [`RST_UCB_DATA_WIDTH-1:0]), | |
859 | .scan_in (data_out_cmp2_ff_scanin ), | |
860 | .scan_out(data_out_cmp2_ff_scanout), | |
861 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
862 | .l1clk (l1clk ), | |
863 | .en (cmp_io_sync_en2 ),// Convert fr cmp to io. | |
864 | .dout (data_out_cmp2[`RST_UCB_DATA_WIDTH-1:0]), | |
865 | .siclk(siclk), | |
866 | .soclk(soclk)); | |
867 | //________________________________________________________________ | |
868 | ||
869 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_40 addr_in_cmp_ff | |
870 | (.din (addr_in_io[39:0] ), | |
871 | .scan_in (addr_in_cmp_ff_scanin ), | |
872 | .scan_out(addr_in_cmp_ff_scanout), | |
873 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
874 | .l1clk (l1clk ), | |
875 | .en (io_cmp_sync_en2 ),// Convert from io to cmp. | |
876 | .dout (addr_in_cmp[39:0] ), | |
877 | .siclk(siclk), | |
878 | .soclk(soclk)); | |
879 | ||
880 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_40 addr_in_sys_ff | |
881 | (.din (addr_in_cmp[39:0] ), | |
882 | .scan_in (addr_in_sys_ff_scanin ), | |
883 | .scan_out(addr_in_sys_ff_scanout), | |
884 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
885 | .l1clk (l1clk ), | |
886 | .en (ccu_cmp_sys_sync_en3 ),// Cross fr cmp to sys. | |
887 | .dout (addr_in_sys[39:0] ), | |
888 | .siclk(siclk), | |
889 | .soclk(soclk)); | |
890 | ||
891 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_16 data_in_cmp_ff | |
892 | ||
893 | (.din (data_in_io [`RST_UCB_DATA_WIDTH-1:0]), | |
894 | .scan_in (data_in_cmp_ff_scanin ), | |
895 | .scan_out(data_in_cmp_ff_scanout), | |
896 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
897 | .l1clk (l1clk ), | |
898 | .en (io_cmp_sync_en2 ),// Convert from io to cmp. | |
899 | .dout (data_in_cmp[`RST_UCB_DATA_WIDTH-1:0]), | |
900 | .siclk(siclk), | |
901 | .soclk(soclk)); | |
902 | ||
903 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_16 data_in_sys_ff | |
904 | ||
905 | (.din (data_in_cmp[`RST_UCB_DATA_WIDTH-1:0]), | |
906 | .scan_in (data_in_sys_ff_scanin ), | |
907 | .scan_out(data_in_sys_ff_scanout), | |
908 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
909 | .l1clk (l1clk ), | |
910 | .en (ccu_cmp_sys_sync_en3 ),// Cross fr cmp to sys. | |
911 | .dout (data_in_sys[`RST_UCB_DATA_WIDTH-1:0]), | |
912 | .siclk(siclk), | |
913 | .soclk(soclk)); | |
914 | ||
915 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_6 thr_id_in_cmp_ff | |
916 | (.din (thr_id_in_io[5:0] ), | |
917 | .scan_in (thr_id_in_cmp_ff_scanin ), | |
918 | .scan_out(thr_id_in_cmp_ff_scanout), | |
919 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
920 | .l1clk (l1clk ), | |
921 | .en (io_cmp_sync_en2 ),// Convert from io to cmp. | |
922 | .dout (thr_id_in_cmp[5:0] ), | |
923 | .siclk(siclk), | |
924 | .soclk(soclk)); | |
925 | ||
926 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_6 thr_id_in_sys_ff | |
927 | (.din (thr_id_in_cmp[5:0] ), | |
928 | .scan_in (thr_id_in_sys_ff_scanin ), | |
929 | .scan_out(thr_id_in_sys_ff_scanout), | |
930 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
931 | .l1clk (l1clk ), | |
932 | .en (ccu_cmp_sys_sync_en3 ),// Cross fr cmp to sys. | |
933 | .dout (thr_id_in_sys[5:0] ), | |
934 | .siclk(siclk), | |
935 | .soclk(soclk)); | |
936 | ||
937 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_2 buf_id_in_cmp_ff | |
938 | (.din (buf_id_in_io[1:0] ), | |
939 | .scan_in (buf_id_in_cmp_ff_scanin ), | |
940 | .scan_out(buf_id_in_cmp_ff_scanout), | |
941 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
942 | .l1clk (l1clk ), | |
943 | .en (io_cmp_sync_en2 ),// Convert from io to cmp. | |
944 | .dout (buf_id_in_cmp[1:0] ), | |
945 | .siclk(siclk), | |
946 | .soclk(soclk)); | |
947 | ||
948 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_2 buf_id_in_sys_ff | |
949 | (.din (buf_id_in_cmp[1:0] ), | |
950 | .scan_in (buf_id_in_sys_ff_scanin ), | |
951 | .scan_out(buf_id_in_sys_ff_scanout), | |
952 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
953 | .l1clk (l1clk ), | |
954 | .en (ccu_cmp_sys_sync_en3 ),// Cross fr cmp to sys. | |
955 | .dout (buf_id_in_sys[1:0] ), | |
956 | .siclk(siclk), | |
957 | .soclk(soclk)); | |
958 | ||
959 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_1 ack_busy_cmp_ff | |
960 | (.din (ack_busy_io ), | |
961 | .scan_in (ack_busy_cmp_ff_scanin ), | |
962 | .scan_out(ack_busy_cmp_ff_scanout), | |
963 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
964 | .l1clk (l1clk ), | |
965 | .en (io_cmp_sync_en2 ),// Convert from io to cmp. | |
966 | .dout (ack_busy_cmp ), | |
967 | .siclk(siclk), | |
968 | .soclk(soclk)); | |
969 | ||
970 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_1 ack_busy_sys_ff | |
971 | (.din (ack_busy_cmp ), | |
972 | .scan_in (ack_busy_sys_ff_scanin ), | |
973 | .scan_out(ack_busy_sys_ff_scanout), | |
974 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
975 | .l1clk (l1clk ), | |
976 | .en (ccu_cmp_sys_sync_en3 ),// Cross fr cmp to sys. | |
977 | .dout (ack_busy_sys ), | |
978 | .siclk(siclk), | |
979 | .soclk(soclk)); | |
980 | //________________________________________________________________ | |
981 | ||
982 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_6 thr_id_out_cmp_ff | |
983 | (.din (thr_id_out_sys[ 5:0] ), | |
984 | .scan_in (thr_id_out_cmp_ff_scanin ), | |
985 | .scan_out(thr_id_out_cmp_ff_scanout), | |
986 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
987 | .l1clk (l1clk ), | |
988 | .en (ccu_sys_cmp_sync_en3 ),// Convert from sys to cmp. | |
989 | .dout (thr_id_out_cmp[ 5:0] ), | |
990 | .siclk(siclk), | |
991 | .soclk(soclk)); | |
992 | ||
993 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_6 thr_id_out_cmp2_ff | |
994 | (.din (thr_id_out_cmp[ 5:0] ), | |
995 | .scan_in (thr_id_out_cmp2_ff_scanin ), | |
996 | .scan_out(thr_id_out_cmp2_ff_scanout), | |
997 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
998 | .l1clk (l1clk ), | |
999 | .en (cmp_io_sync_en2 ),// Convert from cmp to io. | |
1000 | .dout (thr_id_out_cmp2[ 5:0] ), | |
1001 | .siclk(siclk), | |
1002 | .soclk(soclk)); | |
1003 | //________________________________________________________________ | |
1004 | ||
1005 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_2 buf_id_out_cmp_ff | |
1006 | (.din (buf_id_out_sys[ 1:0] ), | |
1007 | .scan_in (buf_id_out_cmp_ff_scanin ), | |
1008 | .scan_out(buf_id_out_cmp_ff_scanout), | |
1009 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
1010 | .l1clk (l1clk ), | |
1011 | .en (ccu_sys_cmp_sync_en3 ),// Convert from sys to cmp. | |
1012 | .dout (buf_id_out_cmp[ 1:0] ), | |
1013 | .siclk(siclk), | |
1014 | .soclk(soclk)); | |
1015 | ||
1016 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_2 buf_id_out_cmp2_ff | |
1017 | (.din (buf_id_out_cmp[ 1:0] ), | |
1018 | .scan_in (buf_id_out_cmp2_ff_scanin ), | |
1019 | .scan_out(buf_id_out_cmp2_ff_scanout), | |
1020 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
1021 | .l1clk (l1clk ), | |
1022 | .en (cmp_io_sync_en2 ),// Convert from cmp to io. | |
1023 | .dout (buf_id_out_cmp2[ 1:0] ), | |
1024 | .siclk(siclk), | |
1025 | .soclk(soclk)); | |
1026 | //________________________________________________________________ | |
1027 | ||
1028 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_1 rd_req_vld_cmp_ff | |
1029 | (.din (rd_req_vld_io ), | |
1030 | .scan_in (rd_req_vld_cmp_ff_scanin ), | |
1031 | .scan_out(rd_req_vld_cmp_ff_scanout), | |
1032 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
1033 | .l1clk (l1clk ), | |
1034 | .en (io_cmp_sync_en2 ),// Convert from io to cmp. | |
1035 | .dout (rd_req_vld_cmp ), | |
1036 | .siclk(siclk), | |
1037 | .soclk(soclk)); | |
1038 | ||
1039 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_1 rd_req_vld_cmp2_ff | |
1040 | (.din (rd_req_vld_cmp ), | |
1041 | .scan_in (rd_req_vld_cmp2_ff_scanin ), | |
1042 | .scan_out(rd_req_vld_cmp2_ff_scanout), | |
1043 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
1044 | .l1clk (l1clk ), | |
1045 | .en (ccu_cmp_sys_sync_en3 ),// Convert from cmp to sys. | |
1046 | .dout (rd_req_vld_sys ), | |
1047 | .siclk(siclk), | |
1048 | .soclk(soclk)); | |
1049 | //________________________________________________________________ | |
1050 | ||
1051 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_1 wr_req_vld_cmp_ff | |
1052 | (.din (wr_req_vld_io ), | |
1053 | .scan_in (wr_req_vld_cmp_ff_scanin ), | |
1054 | .scan_out(wr_req_vld_cmp_ff_scanout), | |
1055 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
1056 | .l1clk (l1clk ), | |
1057 | .en (io_cmp_sync_en2 ),// Convert from io to cmp. | |
1058 | .dout (wr_req_vld_cmp ), | |
1059 | .siclk(siclk), | |
1060 | .soclk(soclk)); | |
1061 | ||
1062 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_1 wr_req_vld_cmp2_ff | |
1063 | (.din (wr_req_vld_cmp ), | |
1064 | .scan_in (wr_req_vld_cmp2_ff_scanin ), | |
1065 | .scan_out(wr_req_vld_cmp2_ff_scanout), | |
1066 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
1067 | .l1clk (l1clk ), | |
1068 | .en (ccu_cmp_sys_sync_en3 ),// Convert from cmp to sys. | |
1069 | .dout (wr_req_vld_sys ), | |
1070 | .siclk(siclk), | |
1071 | .soclk(soclk)); | |
1072 | //________________________________________________________________ | |
1073 | ||
1074 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_1 rst_mcu_selfrsh_cmp_ff | |
1075 | (.din (rst_mcu_selfrsh_sys2 ), | |
1076 | .scan_in (rst_mcu_selfrsh_cmp_ff_scanin ), | |
1077 | .scan_out(rst_mcu_selfrsh_cmp_ff_scanout), | |
1078 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
1079 | .l1clk (l1clk ), | |
1080 | .en (ccu_sys_cmp_sync_en3 ), // Cross fr sys to cmp to io. | |
1081 | .dout (rst_mcu_selfrsh_cmp ), | |
1082 | .siclk(siclk), | |
1083 | .soclk(soclk));// Cross fr sys to cmp to io. | |
1084 | ||
1085 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_1 rst_mcu_selfrsh_cmp2_ff | |
1086 | (.din (rst_mcu_selfrsh_cmp ), | |
1087 | .scan_in (rst_mcu_selfrsh_cmp2_ff_scanin ), | |
1088 | .scan_out(rst_mcu_selfrsh_cmp2_ff_scanout), | |
1089 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
1090 | .l1clk (l1clk ), | |
1091 | .en (cmp_io_sync_en2 ),// Convert fr cmp to io. | |
1092 | .dout (rst_mcu_selfrsh_cmp2 ), | |
1093 | .siclk(siclk), | |
1094 | .soclk(soclk)); | |
1095 | //________________________________________________________________ | |
1096 | ||
1097 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_1 rst_l2_por_ff | |
1098 | (.din (rst_l2_por_sys2_ ), | |
1099 | .scan_in (rst_l2_por_ff_scanin ), | |
1100 | .scan_out(rst_l2_por_ff_scanout), | |
1101 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
1102 | .l1clk (l1clk ), | |
1103 | .en (ccu_sys_cmp_sync_en3 ), // Cross fr sys_clk to cmp_clk. | |
1104 | .dout (rst_l2_por_ ), | |
1105 | .siclk(siclk), | |
1106 | .soclk(soclk));// Cross fr sys_clk to cmp_clk. | |
1107 | ||
1108 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_1 rst_l2_wmr_ff | |
1109 | (.din (rst_l2_wmr_sys2_ ), | |
1110 | .scan_in (rst_l2_wmr_ff_scanin ), | |
1111 | .scan_out(rst_l2_wmr_ff_scanout), | |
1112 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
1113 | .l1clk (l1clk ), | |
1114 | .en (ccu_sys_cmp_sync_en3 ), // Cross fr sys_clk to cmp_clk. | |
1115 | .dout (rst_l2_wmr_ ), | |
1116 | .siclk(siclk), | |
1117 | .soclk(soclk));// Cross fr sys_clk to cmp_clk. | |
1118 | ||
1119 | // rst_wmr_protect generation moved to rst_fsm_ctl, since untimed. | |
1120 | // | |
1121 | // msff_ctl_macro rst_wmr_protect_cmp_ff (width=1,en=1,clr_=0) | |
1122 | // (.din (rst_wmr_protect_sys2 ), | |
1123 | // .scan_in (rst_wmr_protect_cmp_ff_scanin ), | |
1124 | // .scan_out(rst_wmr_protect_cmp_ff_scanout), | |
1125 | // // .clr_ (rst_cmp_ctl_wmr_cmp_ ),// Don't clear during WMR. | |
1126 | // .l1clk (l1clk ), | |
1127 | // .en (ccu_sys_cmp_sync_en3 ), // Cross fr sys_clk-cmp_clk. | |
1128 | // .dout (rst_wmr_protect_cmp ));// Cross fr sys_clk-cmp_clk. | |
1129 | // | |
1130 | // assign rst_wmr_protect = tcu_rst_scan_mode ? | |
1131 | // 1'b0 : // Suppress when chip is being scanned. | |
1132 | // ~mio_rst_pwron_rst_l_sys_ ? // This is a TCU bug. | |
1133 | // 1'b0 : // Make not x when chip is in POR. | |
1134 | // rst_wmr_protect_cmp; | |
1135 | //________________________________________________________________ | |
1136 | ||
1137 | rst_cmp_ctl_msff_ctl_macro__clr__0__en_1__width_1 rst_tcu_clk_stop_cmp_ff | |
1138 | (.din (rst_tcu_clk_stop_sys2 ), | |
1139 | // .clr_ (rst_cmp_ctl_wmr_cmp_ ), // Needs to keep going. | |
1140 | .scan_in (rst_tcu_clk_stop_cmp_ff_scanin ), | |
1141 | .scan_out(rst_tcu_clk_stop_cmp_ff_scanout), | |
1142 | .l1clk (l1clk_free_running ), // Needs to keep going. | |
1143 | .en (ccu_sys_cmp_sync_en3 ), // Cross fr sys_clk to cmp_clk. | |
1144 | .dout (rst_tcu_clk_stop ), | |
1145 | .siclk(siclk), | |
1146 | .soclk(soclk)); | |
1147 | ||
1148 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_1 rst_tcu_clk_stop_io_ff | |
1149 | (.din (rst_tcu_clk_stop ), | |
1150 | .scan_in (rst_tcu_clk_stop_io_ff_scanin ), | |
1151 | .scan_out(rst_tcu_clk_stop_io_ff_scanout), | |
1152 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
1153 | .l1clk (l1clk_free_running ), // Needs to keep going. | |
1154 | .en (cmp_io_sync_en2 ), // Cross fr cmp_clk to io_clk. | |
1155 | .dout (rst_tcu_clk_stop_io ), | |
1156 | .siclk(siclk), | |
1157 | .soclk(soclk)); | |
1158 | //________________________________________________________________ | |
1159 | ||
1160 | //BP 9-27-05 note: to make sure rst_dmu_peu_por_ is repeatable. S has | |
1161 | // implemented a counter after rst_ccu_ is deasserted and counts | |
1162 | // sys clocks and then releases rst_dmu_peu_por_sys2_ thus | |
1163 | // the por to dmu and peu will always happen the same number | |
1164 | // of sys clocks after PWRON_RST_L is deasserted | |
1165 | ||
1166 | rst_cmp_ctl_msff_ctl_macro__clr__0__en_1__width_1 rst_dmu_peu_por_ff | |
1167 | (.din (rst_dmu_peu_por_sys2_ ), | |
1168 | // .clr_ (rst_cmp_ctl_wmr_cmp_ ),// Don't clear during WMR. | |
1169 | .scan_in (rst_dmu_peu_por_ff_scanin ), | |
1170 | .scan_out(rst_dmu_peu_por_ff_scanout), | |
1171 | .l1clk (l1clk ), | |
1172 | .en (ccu_sys_cmp_sync_en3 ), // Cross fr sys_clk to cmp_clk. | |
1173 | .dout (rst_dmu_peu_por_ ), | |
1174 | .siclk(siclk), | |
1175 | .soclk(soclk));// Cross fr sys_clk to cmp_clk. | |
1176 | ||
1177 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_1 rst_dmu_peu_wmr_ff | |
1178 | (.din (rst_dmu_peu_wmr_sys2_ ), | |
1179 | .scan_in (rst_dmu_peu_wmr_ff_scanin ), | |
1180 | .scan_out(rst_dmu_peu_wmr_ff_scanout), | |
1181 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
1182 | .l1clk (l1clk ), | |
1183 | .en (ccu_sys_cmp_sync_en3 ), // Cross fr sys_clk to cmp_clk. | |
1184 | .dout (rst_dmu_peu_wmr_ ), | |
1185 | .siclk(siclk), | |
1186 | .soclk(soclk));// Cross fr sys_clk to cmp_clk. | |
1187 | ||
1188 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_1 rst_niu_mac_ff | |
1189 | (.din (rst_niu_mac_sys2_ ), | |
1190 | .scan_in (rst_niu_mac_ff_scanin ), | |
1191 | .scan_out(rst_niu_mac_ff_scanout), | |
1192 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
1193 | .l1clk (l1clk ), | |
1194 | .en (ccu_sys_cmp_sync_en3 ), // Cross fr sys_clk to cmp_clk. | |
1195 | .dout (rst_niu_mac_ ), | |
1196 | .siclk(siclk), | |
1197 | .soclk(soclk));// Cross fr sys_clk to cmp_clk. | |
1198 | ||
1199 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_1 rst_niu_wmr_ff | |
1200 | (.din (rst_niu_wmr_sys2_ ), | |
1201 | .scan_in (rst_niu_wmr_ff_scanin ), | |
1202 | .scan_out(rst_niu_wmr_ff_scanout), | |
1203 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
1204 | .l1clk (l1clk ), | |
1205 | .en (ccu_sys_cmp_sync_en3 ), // Cross fr sys_clk to cmp_clk. | |
1206 | .dout (rst_niu_wmr_ ), | |
1207 | .siclk(siclk), | |
1208 | .soclk(soclk));// Cross fr sys_clk to cmp_clk. | |
1209 | //________________________________________________________________ | |
1210 | ||
1211 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_1 rst_ncu_unpark_thread_cmp_ff | |
1212 | (.din (rst_ncu_unpark_thread_sys2 ), | |
1213 | .scan_in (rst_ncu_unpark_thread_cmp_ff_scanin ), | |
1214 | .scan_out(rst_ncu_unpark_thread_cmp_ff_scanout), | |
1215 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
1216 | .l1clk (l1clk ), | |
1217 | .en (ccu_sys_cmp_sync_en3 ),// Convert fr sys to cmp. | |
1218 | .dout (rst_ncu_unpark_thread_cmp ), | |
1219 | .siclk(siclk), | |
1220 | .soclk(soclk)); | |
1221 | ||
1222 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_1 rst_ncu_unpark_thread_cmp2_ff | |
1223 | (.din (rst_ncu_unpark_thread_cmp ), | |
1224 | .scan_in (rst_ncu_unpark_thread_cmp2_ff_scanin ), | |
1225 | .scan_out(rst_ncu_unpark_thread_cmp2_ff_scanout), | |
1226 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
1227 | .l1clk (l1clk ), | |
1228 | .en (cmp_io_sync_en2 ),// Convert fr cmp to io. | |
1229 | .dout (rst_ncu_unpark_thread_cmp2 ), | |
1230 | .siclk(siclk), | |
1231 | .soclk(soclk)); | |
1232 | //________________________________________________________________ | |
1233 | ||
1234 | wire rst_ncu_xir_din = ~rst_ncu_xir_sys2_; | |
1235 | assign rst_ncu_xir_cmp2_ = ~rst_ncu_xir_dout; | |
1236 | // Store as active low, so | |
1237 | // resets to deasserted value. | |
1238 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_1 rst_ncu_xir_cmp_ff | |
1239 | (.din (rst_ncu_xir_din ), | |
1240 | .scan_in (rst_ncu_xir_cmp_ff_scanin ), | |
1241 | .scan_out(rst_ncu_xir_cmp_ff_scanout), | |
1242 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
1243 | .l1clk (l1clk ), | |
1244 | .en (ccu_sys_cmp_sync_en3 ),// Convert fr sys to cmp. | |
1245 | .dout (rst_ncu_xir_cmp_ ), | |
1246 | .siclk(siclk), | |
1247 | .soclk(soclk)); | |
1248 | ||
1249 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_1 rst_ncu_xir_cmp2_ff | |
1250 | (.din (rst_ncu_xir_cmp_ ), | |
1251 | .scan_in (rst_ncu_xir_cmp2_ff_scanin ), | |
1252 | .scan_out(rst_ncu_xir_cmp2_ff_scanout), | |
1253 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
1254 | .l1clk (l1clk ), | |
1255 | .en (cmp_io_sync_en2 ),// Convert fr cmp to io. | |
1256 | .dout (rst_ncu_xir_dout ), | |
1257 | .siclk(siclk), | |
1258 | .soclk(soclk)); | |
1259 | //________________________________________________________________ | |
1260 | ||
1261 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_1 ncu_rst_xir_done_cmp_ff | |
1262 | (.din (ncu_rst_xir_done_io ), | |
1263 | .scan_in (ncu_rst_xir_done_cmp_ff_scanin ), | |
1264 | .scan_out(ncu_rst_xir_done_cmp_ff_scanout), | |
1265 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
1266 | .l1clk (l1clk ), | |
1267 | .en (io_cmp_sync_en2 ),// Convert from io to cmp. | |
1268 | .dout (ncu_rst_xir_done_cmp ), | |
1269 | .siclk(siclk), | |
1270 | .soclk(soclk)); | |
1271 | ||
1272 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_1 ncu_rst_xir_done_sys_ff | |
1273 | (.din (ncu_rst_xir_done_cmp ), | |
1274 | .scan_in (ncu_rst_xir_done_sys_ff_scanin ), | |
1275 | .scan_out(ncu_rst_xir_done_sys_ff_scanout), | |
1276 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
1277 | .l1clk (l1clk ), | |
1278 | .en (ccu_cmp_sys_sync_en3 ),// Cross fr cmp to sys. | |
1279 | .dout (ncu_rst_xir_done_sys ), | |
1280 | .siclk(siclk), | |
1281 | .soclk(soclk)); | |
1282 | //________________________________________________________________ | |
1283 | ||
1284 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_1 tcu_rst_efu_done_sys_ff | |
1285 | (.din (tcu_rst_efu_done ), | |
1286 | .scan_in (tcu_rst_efu_done_sys_ff_scanin ), | |
1287 | .scan_out(tcu_rst_efu_done_sys_ff_scanout), | |
1288 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
1289 | .l1clk (l1clk ), | |
1290 | .en (ccu_cmp_sys_sync_en3 ),// Cross fr cmp to sys. | |
1291 | .dout (tcu_rst_efu_done_cmp ), | |
1292 | .siclk(siclk), | |
1293 | .soclk(soclk)); | |
1294 | ||
1295 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_1 tcu_bisx_done_sys_ff | |
1296 | (.din (tcu_bisx_done ), | |
1297 | .scan_in (tcu_bisx_done_sys_ff_scanin ), | |
1298 | .scan_out(tcu_bisx_done_sys_ff_scanout), | |
1299 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
1300 | .l1clk (l1clk ), | |
1301 | .en (ccu_cmp_sys_sync_en3 ),// Cross fr cmp to sys. | |
1302 | .dout (tcu_bisx_done_cmp ), | |
1303 | .siclk(siclk), | |
1304 | .soclk(soclk)); | |
1305 | //________________________________________________________________ | |
1306 | ||
1307 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_1 tcu_test_protect_cmp0_ff | |
1308 | (.din (tcu_test_protect_io ), | |
1309 | .scan_in (tcu_test_protect_cmp0_ff_scanin ), | |
1310 | .scan_out(tcu_test_protect_cmp0_ff_scanout), | |
1311 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
1312 | .l1clk (l1clk ), | |
1313 | .en (io_cmp_sync_en2 ),// Convert from io to cmp. | |
1314 | .dout (tcu_test_protect_cmp0 ), | |
1315 | .siclk(siclk), | |
1316 | .soclk(soclk)); | |
1317 | ||
1318 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_1 tcu_test_protect_cmp_ff | |
1319 | (.din (tcu_test_protect_cmp0 ), | |
1320 | .scan_in (tcu_test_protect_cmp_ff_scanin ), | |
1321 | .scan_out(tcu_test_protect_cmp_ff_scanout), | |
1322 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
1323 | .l1clk (l1clk ), | |
1324 | .en (ccu_cmp_sys_sync_en3 ),// Cross fr cmp to sys. | |
1325 | .dout (tcu_test_protect_cmp ), | |
1326 | .siclk(siclk), | |
1327 | .soclk(soclk)); | |
1328 | //________________________________________________________________ | |
1329 | ||
1330 | rst_cmp_ctl_msff_ctl_macro__clr__0__en_1__width_1 ccu_rst_change_cmp0_ff | |
1331 | (.din (ccu_rst_change_io ), | |
1332 | // .clr_ (rst_cmp_ctl_wmr_cmp_ ),// Don't assert during WMR. | |
1333 | .scan_in (ccu_rst_change_cmp0_ff_scanin ), | |
1334 | .scan_out(ccu_rst_change_cmp0_ff_scanout), | |
1335 | .l1clk (l1clk ), | |
1336 | .en (io_cmp_sync_en2 ),// Convert from io to cmp. | |
1337 | .dout (ccu_rst_change_cmp0 ), | |
1338 | .siclk(siclk), | |
1339 | .soclk(soclk)); | |
1340 | ||
1341 | rst_cmp_ctl_msff_ctl_macro__clr__0__en_1__width_1 ccu_rst_change_cmp_ff | |
1342 | (.din (ccu_rst_change_cmp0 ), | |
1343 | // .clr_ (rst_cmp_ctl_wmr_cmp_ ),// Don't assert during WMR. | |
1344 | .scan_in (ccu_rst_change_cmp_ff_scanin ), | |
1345 | .scan_out(ccu_rst_change_cmp_ff_scanout), | |
1346 | .l1clk (l1clk ), | |
1347 | .en (ccu_cmp_sys_sync_en3 ),// Cross fr cmp to sys. | |
1348 | .dout (ccu_rst_change_cmp ), | |
1349 | .siclk(siclk), | |
1350 | .soclk(soclk)); | |
1351 | //________________________________________________________________ | |
1352 | ||
1353 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_1 ncu_rst_fatal_error_cmp0_ff | |
1354 | (.din (ncu_rst_fatal_error_io ), | |
1355 | .scan_in (ncu_rst_fatal_error_cmp0_ff_scanin ), | |
1356 | .scan_out(ncu_rst_fatal_error_cmp0_ff_scanout), | |
1357 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
1358 | .l1clk (l1clk ), | |
1359 | .en (io_cmp_sync_en2 ),// Convert from io to cmp. | |
1360 | .dout (ncu_rst_fatal_error_cmp0 ), | |
1361 | .siclk(siclk), | |
1362 | .soclk(soclk)); | |
1363 | ||
1364 | assign ncu_rst_fatal_error_hold_din = | |
1365 | ncu_rst_fatal_error_hold_dout ? | |
1366 | (~ncu_rst_fatal_error_cmp | // Hold if pulse | |
1367 | // has not yet crossed to sys | |
1368 | ncu_rst_fatal_error_cmp0 ) : // or input is still high | |
1369 | // (has not yet fallen). | |
1370 | ncu_rst_fatal_error_cmp0 & // Assert when input asserts | |
1371 | ~ncu_rst_fatal_error_cmp ; // and output has fallen. | |
1372 | ||
1373 | rst_cmp_ctl_msff_ctl_macro__clr__1__width_1 ncu_rst_fatal_error_hold_ff | |
1374 | (.din (ncu_rst_fatal_error_hold_din ), | |
1375 | .scan_in (ncu_rst_fatal_error_hold_ff_scanin ), | |
1376 | .scan_out(ncu_rst_fatal_error_hold_ff_scanout), | |
1377 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
1378 | .l1clk (l1clk ), | |
1379 | .dout (ncu_rst_fatal_error_hold_dout ), | |
1380 | .siclk(siclk), | |
1381 | .soclk(soclk)); | |
1382 | ||
1383 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_1 ncu_rst_fatal_error_cmp_ff | |
1384 | (.din (ncu_rst_fatal_error_hold_dout ), | |
1385 | .scan_in (ncu_rst_fatal_error_cmp_ff_scanin ), | |
1386 | .scan_out(ncu_rst_fatal_error_cmp_ff_scanout), | |
1387 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
1388 | .l1clk (l1clk ), | |
1389 | .en (ccu_cmp_sys_sync_en3 ),// Cross fr cmp to sys. | |
1390 | .dout (ncu_rst_fatal_error_cmp ), | |
1391 | .siclk(siclk), | |
1392 | .soclk(soclk)); | |
1393 | //________________________________________________________________ | |
1394 | ||
1395 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_8 l2ta_rst_fatal_error_cmp0_ff | |
1396 | (.din (l2ta_rst_fatal_error_io[7:0] ), | |
1397 | .scan_in (l2ta_rst_fatal_error_cmp0_ff_scanin ), | |
1398 | .scan_out(l2ta_rst_fatal_error_cmp0_ff_scanout), | |
1399 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
1400 | .l1clk (l1clk ), | |
1401 | .en (io_cmp_sync_en2 ),// Convert from io to cmp. | |
1402 | .dout (l2ta_rst_fatal_error_cmp0[7:0] ), | |
1403 | .siclk(siclk), | |
1404 | .soclk(soclk)); | |
1405 | ||
1406 | assign l2ta_rst_fatal_error_hold_din [7] = | |
1407 | l2ta_rst_fatal_error_hold_dout[7] ? | |
1408 | ~( l2ta_rst_fatal_error_cmp [7] & // Drop when pulse has | |
1409 | // crossed to sys and | |
1410 | ~l2ta_rst_fatal_error_cmp0 [7] ) :// input has fallen. | |
1411 | l2ta_rst_fatal_error_cmp0 [7] & // Assert when input rises | |
1412 | ~l2ta_rst_fatal_error_cmp [7] ;// and output has fallen. | |
1413 | ||
1414 | assign l2ta_rst_fatal_error_hold_din [6] = | |
1415 | l2ta_rst_fatal_error_hold_dout[6] ? | |
1416 | ~( l2ta_rst_fatal_error_cmp [6] & // Drop when pulse has | |
1417 | // crossed to sys and | |
1418 | ~l2ta_rst_fatal_error_cmp0 [6] ) :// input has fallen. | |
1419 | l2ta_rst_fatal_error_cmp0 [6] & // Assert when input rises | |
1420 | ~l2ta_rst_fatal_error_cmp [6] ;// and output has fallen. | |
1421 | ||
1422 | assign l2ta_rst_fatal_error_hold_din [5] = | |
1423 | l2ta_rst_fatal_error_hold_dout[5] ? | |
1424 | ~( l2ta_rst_fatal_error_cmp [5] & // Drop when pulse has | |
1425 | // crossed to sys and | |
1426 | ~l2ta_rst_fatal_error_cmp0 [5] ) :// input has fallen. | |
1427 | l2ta_rst_fatal_error_cmp0 [5] & // Assert when input rises | |
1428 | ~l2ta_rst_fatal_error_cmp [5] ;// and output has fallen. | |
1429 | ||
1430 | assign l2ta_rst_fatal_error_hold_din [4] = | |
1431 | l2ta_rst_fatal_error_hold_dout[4] ? | |
1432 | ~( l2ta_rst_fatal_error_cmp [4] & // Drop when pulse has | |
1433 | // crossed to sys and | |
1434 | ~l2ta_rst_fatal_error_cmp0 [4] ) :// input has fallen. | |
1435 | l2ta_rst_fatal_error_cmp0 [4] & // Assert when input rises | |
1436 | ~l2ta_rst_fatal_error_cmp [4] ;// and output has fallen. | |
1437 | ||
1438 | assign l2ta_rst_fatal_error_hold_din [3] = | |
1439 | l2ta_rst_fatal_error_hold_dout[3] ? | |
1440 | ~( l2ta_rst_fatal_error_cmp [3] & // Drop when pulse has | |
1441 | // crossed to sys and | |
1442 | ~l2ta_rst_fatal_error_cmp0 [3] ) :// input has fallen. | |
1443 | l2ta_rst_fatal_error_cmp0 [3] & // Assert when input rises | |
1444 | ~l2ta_rst_fatal_error_cmp [3] ;// and output has fallen. | |
1445 | ||
1446 | assign l2ta_rst_fatal_error_hold_din [2] = | |
1447 | l2ta_rst_fatal_error_hold_dout[2] ? | |
1448 | ~( l2ta_rst_fatal_error_cmp [2] & // Drop when pulse has | |
1449 | // crossed to sys and | |
1450 | ~l2ta_rst_fatal_error_cmp0 [2] ) :// input has fallen. | |
1451 | l2ta_rst_fatal_error_cmp0 [2] & // Assert when input rises | |
1452 | ~l2ta_rst_fatal_error_cmp [2] ;// and output has fallen. | |
1453 | ||
1454 | assign l2ta_rst_fatal_error_hold_din [1] = | |
1455 | l2ta_rst_fatal_error_hold_dout[1] ? | |
1456 | ~( l2ta_rst_fatal_error_cmp [1] & // Drop when pulse has | |
1457 | // crossed to sys and | |
1458 | ~l2ta_rst_fatal_error_cmp0 [1] ) :// input has fallen. | |
1459 | l2ta_rst_fatal_error_cmp0 [1] & // Assert when input rises | |
1460 | ~l2ta_rst_fatal_error_cmp [1] ;// and output has fallen. | |
1461 | ||
1462 | assign l2ta_rst_fatal_error_hold_din [0] = | |
1463 | l2ta_rst_fatal_error_hold_dout[0] ? | |
1464 | ~( l2ta_rst_fatal_error_cmp [0] & // Drop when pulse has | |
1465 | // crossed to sys and | |
1466 | ~l2ta_rst_fatal_error_cmp0 [0] ) :// input has fallen. | |
1467 | l2ta_rst_fatal_error_cmp0 [0] & // Assert when input rises | |
1468 | ~l2ta_rst_fatal_error_cmp [0] ;// and output has fallen. | |
1469 | ||
1470 | rst_cmp_ctl_msff_ctl_macro__clr__1__width_8 l2ta_rst_fatal_error_hold_ff | |
1471 | (.din (l2ta_rst_fatal_error_hold_din[7:0] ), | |
1472 | .scan_in (l2ta_rst_fatal_error_hold_ff_scanin ), | |
1473 | .scan_out(l2ta_rst_fatal_error_hold_ff_scanout), | |
1474 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
1475 | .l1clk (l1clk ), | |
1476 | .dout (l2ta_rst_fatal_error_hold_dout[7:0] ), | |
1477 | .siclk(siclk), | |
1478 | .soclk(soclk)); | |
1479 | ||
1480 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_8 l2ta_rst_fatal_error_cmp_ff | |
1481 | (.din (l2ta_rst_fatal_error_hold_dout[7:0]), | |
1482 | .scan_in (l2ta_rst_fatal_error_cmp_ff_scanin ), | |
1483 | .scan_out(l2ta_rst_fatal_error_cmp_ff_scanout), | |
1484 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
1485 | .l1clk (l1clk ), | |
1486 | .en (ccu_cmp_sys_sync_en3 ),// Cross fr cmp to sys. | |
1487 | .dout (l2ta_rst_fatal_error_cmp[7:0] ), | |
1488 | .siclk(siclk), | |
1489 | .soclk(soclk)); | |
1490 | ||
1491 | assign {l2t7_rst_fatal_error_cmp , | |
1492 | l2t6_rst_fatal_error_cmp , | |
1493 | l2t5_rst_fatal_error_cmp , | |
1494 | l2t4_rst_fatal_error_cmp , | |
1495 | l2t3_rst_fatal_error_cmp , | |
1496 | l2t2_rst_fatal_error_cmp , | |
1497 | l2t1_rst_fatal_error_cmp , | |
1498 | l2t0_rst_fatal_error_cmp } = | |
1499 | l2ta_rst_fatal_error_cmp[7:0] ; // l2t all in one array. | |
1500 | //________________________________________________________________ | |
1501 | ||
1502 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_1 mio_rst_pb_rst_cmp_ff | |
1503 | (.din (mio_rst_pb_rst_sys_ ), | |
1504 | .scan_in (mio_rst_pb_rst_cmp_ff_scanin ), | |
1505 | .scan_out(mio_rst_pb_rst_cmp_ff_scanout), | |
1506 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
1507 | .l1clk (l1clk ), | |
1508 | .en (ccu_sys_cmp_sync_en3 ),// Convert fr sys to cmp. | |
1509 | .dout (mio_rst_pb_rst_cmp_ ), | |
1510 | .siclk(siclk), | |
1511 | .soclk(soclk)); | |
1512 | ||
1513 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_1 mio_rst_pb_rst_sys2_ff | |
1514 | (.din (mio_rst_pb_rst_cmp_ ), | |
1515 | .scan_in (mio_rst_pb_rst_sys2_ff_scanin ), | |
1516 | .scan_out(mio_rst_pb_rst_sys2_ff_scanout), | |
1517 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
1518 | .l1clk (l1clk ), | |
1519 | .en (ccu_cmp_sys_sync_en3 ),// Convert fr cmp to sys. | |
1520 | .dout (mio_rst_pb_rst_sys2_ ), | |
1521 | .siclk(siclk), | |
1522 | .soclk(soclk)); | |
1523 | //________________________________________________________________ | |
1524 | ||
1525 | // // | |
1526 | // // Incoming from MIO, asynchronous | |
1527 | // | |
1528 | // cl_sc1_clksyncff_4x | |
1529 | // mio_rst_pwron_rst_cmp_ff | |
1530 | // (.si (mio_rst_pwron_rst_cmp_ff_scanin ), // Remember to re-link | |
1531 | // // into chain of assigns | |
1532 | // .so (mio_rst_pwron_rst_cmp_ff_scanout), // when rerunning fixscan. | |
1533 | // .l1clk (l1clk ), | |
1534 | // .d (ccu_rst_sync_stable ), | |
1535 | // .q (mio_rst_pwron_rst_cmp_ ));// Cross fr async to cmp. | |
1536 | // // Review Oct 24 '05: | |
1537 | // // .d (mio_rst_pwron_rst_l ), // This input will deassert | |
1538 | // // before the clock starts. | |
1539 | ||
1540 | rst_cmp_ctl_msff_ctl_macro__clr__0__en_1__width_1 rst_cmp_ctl_wmr_cmp_ff | |
1541 | (.din (rst_cmp_ctl_wmr_sys2_ ), | |
1542 | // .clr_ (rst_cmp_ctl_wmr_cmp_ ),// Avoid loop. | |
1543 | .scan_in (rst_cmp_ctl_wmr_cmp_ff_scanin ), | |
1544 | .scan_out(rst_cmp_ctl_wmr_cmp_ff_scanout), | |
1545 | .l1clk (l1clk ), | |
1546 | .en (ccu_sys_cmp_sync_en3 ),// Convert fr sys to cmp. | |
1547 | .dout (rst_cmp_ctl_wmr_cmp_ ), | |
1548 | .siclk(siclk), | |
1549 | .soclk(soclk)); | |
1550 | ||
1551 | //sign rst_cmp_ctl_wmr_cmp_ = | |
1552 | // rst_cmp_ctl_wmr_cmp_dout_ & // Sync deassert, and | |
1553 | // rst_cmp_ctl_wmr_sys2_ ; // async assert. | |
1554 | // No need for | |
1555 | // async assert since | |
1556 | // only used for sync reset. | |
1557 | //________________________________________________________________ | |
1558 | ||
1559 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_1 rst_rst_por_cmp_ff | |
1560 | (.din (rst_rst_por_sys2_ ), | |
1561 | .scan_in (rst_rst_por_cmp_ff_scanin ), | |
1562 | .scan_out(rst_rst_por_cmp_ff_scanout), | |
1563 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
1564 | .l1clk (l1clk ), | |
1565 | .en (ccu_sys_cmp_sync_en3 ),// Convert fr sys to cmp. | |
1566 | .dout (rst_rst_por_cmp_ ), | |
1567 | .siclk(siclk), | |
1568 | .soclk(soclk)); | |
1569 | ||
1570 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_1 rst_rst_por_io_ff | |
1571 | (.din (rst_rst_por_cmp_ ), | |
1572 | .scan_in (rst_rst_por_io_ff_scanin ), | |
1573 | .scan_out(rst_rst_por_io_ff_scanout), | |
1574 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
1575 | .l1clk (l1clk ), | |
1576 | .en (cmp_io_sync_en2 ),// Convert fr cmp to io. | |
1577 | .dout (rst_rst_por_io0_ ), | |
1578 | .siclk(siclk), | |
1579 | .soclk(soclk));// One last flop to go, in _io_ctl. | |
1580 | ||
1581 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_1 rst_rst_wmr_cmp_ff | |
1582 | (.din (rst_rst_wmr_sys2_ ), | |
1583 | .scan_in (rst_rst_wmr_cmp_ff_scanin ), | |
1584 | .scan_out(rst_rst_wmr_cmp_ff_scanout), | |
1585 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
1586 | .l1clk (l1clk ), | |
1587 | .en (ccu_sys_cmp_sync_en3 ),// Convert fr sys to cmp. | |
1588 | .dout (rst_rst_wmr_cmp_ ), | |
1589 | .siclk(siclk), | |
1590 | .soclk(soclk)); | |
1591 | ||
1592 | rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_1 rst_rst_wmr_io_ff | |
1593 | (.din (rst_rst_wmr_cmp_ ), | |
1594 | .scan_in (rst_rst_wmr_io_ff_scanin ), | |
1595 | .scan_out(rst_rst_wmr_io_ff_scanout), | |
1596 | .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
1597 | .l1clk (l1clk ), | |
1598 | .en (cmp_io_sync_en2 ),// Convert fr cmp to io. | |
1599 | .dout (rst_rst_wmr_io0_ ), | |
1600 | .siclk(siclk), | |
1601 | .soclk(soclk));// One last flop to go, in _io_ctl. | |
1602 | //________________________________________________________________ | |
1603 | ||
1604 | // "Note 2. In every cluster that uses domain crossing, | |
1605 | // *_sync_en signals are to be flopped once, after the "cmp" | |
1606 | // cluster header output." "Cluster Heder Usage, Niagara 2", | |
1607 | // Version 1.41, Apr 29, 2005, Appendix B, "Cluster Header | |
1608 | // Waveforms", page 16. | |
1609 | ||
1610 | rst_cmp_ctl_msff_ctl_macro__clr__0__en_0__width_1 cmp_io_sync_en2_ff | |
1611 | (.din (cmp_io_sync_en ), | |
1612 | .scan_in (cmp_io_sync_en2_ff_scanin ), | |
1613 | .scan_out(cmp_io_sync_en2_ff_scanout), | |
1614 | // .clr_ (rst_cmp_ctl_wmr_cmp_ ),// Shift-in reset. | |
1615 | .l1clk (l1clk ), | |
1616 | .dout (cmp_io_sync_en2 ), | |
1617 | .siclk(siclk), | |
1618 | .soclk(soclk)); | |
1619 | ||
1620 | rst_cmp_ctl_msff_ctl_macro__clr__0__en_0__width_1 io_cmp_sync_en2_ff | |
1621 | (.din (io_cmp_sync_en ), | |
1622 | .scan_in (io_cmp_sync_en2_ff_scanin ), | |
1623 | .scan_out(io_cmp_sync_en2_ff_scanout), | |
1624 | // .clr_ (rst_cmp_ctl_wmr_cmp_ ),// Shift-in reset. | |
1625 | .l1clk (l1clk ), | |
1626 | .dout (io_cmp_sync_en2 ), | |
1627 | .siclk(siclk), | |
1628 | .soclk(soclk)); | |
1629 | ||
1630 | // Since the cmp-sys CDC sync_en signals are used directly, | |
1631 | // without being buffered by a cluster header, we flop them | |
1632 | // once upon arrival to the Reset Unit, and once more to allow | |
1633 | // each leaf flop to drive approximately 15 loads. | |
1634 | ||
1635 | // assign ccu_cmp_sys_sync_en3 = ccu_cmp_sys_sync_en;// Until ccu adjusts. | |
1636 | // assign ccu_sys_cmp_sync_en3 = ccu_sys_cmp_sync_en;// Until ccu adjusts. | |
1637 | ||
1638 | rst_cmp_ctl_msff_ctl_macro__clr__0__en_0__width_1 ccu_cmp_sys_sync_en2_ff | |
1639 | (.din (ccu_cmp_sys_sync_en ), | |
1640 | // .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
1641 | .scan_in (ccu_cmp_sys_sync_en2_ff_scanin ), | |
1642 | .scan_out(ccu_cmp_sys_sync_en2_ff_scanout), | |
1643 | .l1clk (l1clk_free_running ), | |
1644 | .dout (ccu_cmp_sys_sync_en2 ), | |
1645 | .siclk(siclk), | |
1646 | .soclk(soclk)); | |
1647 | ||
1648 | rst_cmp_ctl_msff_ctl_macro__clr__0__en_0__width_1 ccu_cmp_sys_sync_en3_ff | |
1649 | (.din (ccu_cmp_sys_sync_en2 ), | |
1650 | // .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
1651 | .scan_in (ccu_cmp_sys_sync_en3_ff_scanin ), | |
1652 | .scan_out(ccu_cmp_sys_sync_en3_ff_scanout), | |
1653 | .l1clk (l1clk_free_running ), | |
1654 | .dout (ccu_cmp_sys_sync_en3 ), | |
1655 | .siclk(siclk), | |
1656 | .soclk(soclk)); | |
1657 | ||
1658 | rst_cmp_ctl_msff_ctl_macro__clr__0__en_0__width_1 ccu_sys_cmp_sync_en2_ff | |
1659 | (.din (ccu_sys_cmp_sync_en ), | |
1660 | // .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
1661 | .scan_in (ccu_sys_cmp_sync_en2_ff_scanin ), | |
1662 | .scan_out(ccu_sys_cmp_sync_en2_ff_scanout), | |
1663 | .l1clk (l1clk_free_running ), | |
1664 | .dout (ccu_sys_cmp_sync_en2 ), | |
1665 | .siclk(siclk), | |
1666 | .soclk(soclk)); | |
1667 | ||
1668 | rst_cmp_ctl_msff_ctl_macro__clr__0__en_0__width_1 ccu_sys_cmp_sync_en3_ff | |
1669 | (.din (ccu_sys_cmp_sync_en2 ), | |
1670 | // .clr_ (rst_cmp_ctl_wmr_cmp_ ), | |
1671 | .scan_in (ccu_sys_cmp_sync_en3_ff_scanin ), | |
1672 | .scan_out(ccu_sys_cmp_sync_en3_ff_scanout), | |
1673 | .l1clk (l1clk_free_running ), | |
1674 | .dout (ccu_sys_cmp_sync_en3 ), | |
1675 | .siclk(siclk), | |
1676 | .soclk(soclk)); | |
1677 | //________________________________________________________________ | |
1678 | ||
1679 | rst_cmp_ctl_l1clkhdr_ctl_macro clkgen ( | |
1680 | .l2clk (l2clk ), | |
1681 | .l1en (1'b1 ), | |
1682 | .pce_ov (tcu_pce_ov ), // (No assign needed.) | |
1683 | .stop (tcu_clk_stop), // Qualified by assign stmt. | |
1684 | .se (tcu_scan_en ), // Qualified by assign stmt. | |
1685 | .l1clk (l1clk )); | |
1686 | ||
1687 | rst_cmp_ctl_l1clkhdr_ctl_macro rst_tcu_clk_stop_clkgen ( | |
1688 | .l2clk (l2clk ), | |
1689 | .l1en (1'b1 ), | |
1690 | .pce_ov (tcu_pce_ov ), // (No assign needed.) | |
1691 | .stop (1'b0 ), // Need to keep going to deassert rst_tcu_clk_stop. | |
1692 | .se (tcu_scan_en ), // Qualified by assign stmt. | |
1693 | .l1clk (l1clk_free_running)); | |
1694 | ||
1695 | // grep "Number of cells:" rst_*_l/*/scf/dc/rpt/syn_area.rpt | |
1696 | // Number of cells/450 = spare gate macros | |
1697 | // rst_cmp_l/rst_cmp_ctl/scf/dc/rpt/syn_area.rpt: Num: 22 /450=1 | |
1698 | ||
1699 | rst_cmp_ctl_spare_ctl_macro__num_1 spares ( | |
1700 | .scan_in (spares_scanin ), | |
1701 | .scan_out(spares_scanout), | |
1702 | .l1clk (l1clk), | |
1703 | .siclk(siclk), | |
1704 | .soclk(soclk) ); | |
1705 | //________________________________________________________________ | |
1706 | ||
1707 | // No longer need to re-link the following: rst_cmp_ctl_wmr_cmp_ff has replaced | |
1708 | // mio_rst_pwron_rst_cmp_ff. | |
1709 | // Remember to re-link | |
1710 | // into chain of assign statments | |
1711 | // when rerunning fixscan. | |
1712 | // assign mio_rst_pwron_rst_cmp_ff_scanin = io_cmp_sync_en2_ff_scanout ; | |
1713 | // assign spares_scanin = mio_rst_pwron_rst_cmp_ff_scanout; | |
1714 | ||
1715 | // But still do the following: | |
1716 | // After run fixscan, remember to comment out the line: | |
1717 | // assign scan_out = spares_scanout ; | |
1718 | // because elsewhere we have: | |
1719 | // assign scan_out | |
1720 | // = tcu_rst_scan_mode ? spares_scanout : 1'b0; | |
1721 | ||
1722 | //________________________________________________________________ | |
1723 | ||
1724 | // fixscan start: | |
1725 | assign rst_tcu_pwron_rst_l_ff_scanin = scan_in ; | |
1726 | assign rst_rst_pwron_rst_l_io0_ff_scanin = rst_tcu_pwron_rst_l_ff_scanout; | |
1727 | assign rst_tcu_flush_init_req_ff_scanin = rst_rst_pwron_rst_l_io0_ff_scanout; | |
1728 | assign rst_tcu_flush_stop_req_ff_scanin = rst_tcu_flush_init_req_ff_scanout; | |
1729 | assign rst_tcu_asicflush_stop_req_ff_scanin = rst_tcu_flush_stop_req_ff_scanout; | |
1730 | assign rst_tcu_dbr_gen_ff_scanin = rst_tcu_asicflush_stop_req_ff_scanout; | |
1731 | assign tcu_rst_flush_init_ack_ff_scanin = rst_tcu_dbr_gen_ff_scanout; | |
1732 | assign tcu_rst_flush_stop_ack_ff_scanin = tcu_rst_flush_init_ack_ff_scanout; | |
1733 | assign tcu_rst_asicflush_stop_ack_ff_scanin = tcu_rst_flush_stop_ack_ff_scanout; | |
1734 | assign req_acpted_cmp_ff_scanin = tcu_rst_asicflush_stop_ack_ff_scanout; | |
1735 | assign req_acpted_cmp2_ff_scanin = req_acpted_cmp_ff_scanout; | |
1736 | assign rd_ack_vld_cmp_ff_scanin = req_acpted_cmp2_ff_scanout; | |
1737 | assign rd_ack_vld_cmp2_ff_scanin = rd_ack_vld_cmp_ff_scanout; | |
1738 | assign rd_nack_vld_cmp_ff_scanin = rd_ack_vld_cmp2_ff_scanout; | |
1739 | assign rd_nack_vld_cmp2_ff_scanin = rd_nack_vld_cmp_ff_scanout; | |
1740 | assign data_out_cmp_ff_scanin = rd_nack_vld_cmp2_ff_scanout; | |
1741 | assign data_out_cmp2_ff_scanin = data_out_cmp_ff_scanout ; | |
1742 | assign addr_in_cmp_ff_scanin = data_out_cmp2_ff_scanout ; | |
1743 | assign addr_in_sys_ff_scanin = addr_in_cmp_ff_scanout ; | |
1744 | assign data_in_cmp_ff_scanin = addr_in_sys_ff_scanout ; | |
1745 | assign data_in_sys_ff_scanin = data_in_cmp_ff_scanout ; | |
1746 | assign thr_id_in_cmp_ff_scanin = data_in_sys_ff_scanout ; | |
1747 | assign thr_id_in_sys_ff_scanin = thr_id_in_cmp_ff_scanout ; | |
1748 | assign buf_id_in_cmp_ff_scanin = thr_id_in_sys_ff_scanout ; | |
1749 | assign buf_id_in_sys_ff_scanin = buf_id_in_cmp_ff_scanout ; | |
1750 | assign ack_busy_cmp_ff_scanin = buf_id_in_sys_ff_scanout ; | |
1751 | assign ack_busy_sys_ff_scanin = ack_busy_cmp_ff_scanout ; | |
1752 | assign thr_id_out_cmp_ff_scanin = ack_busy_sys_ff_scanout ; | |
1753 | assign thr_id_out_cmp2_ff_scanin = thr_id_out_cmp_ff_scanout; | |
1754 | assign buf_id_out_cmp_ff_scanin = thr_id_out_cmp2_ff_scanout; | |
1755 | assign buf_id_out_cmp2_ff_scanin = buf_id_out_cmp_ff_scanout; | |
1756 | assign rd_req_vld_cmp_ff_scanin = buf_id_out_cmp2_ff_scanout; | |
1757 | assign rd_req_vld_cmp2_ff_scanin = rd_req_vld_cmp_ff_scanout; | |
1758 | assign wr_req_vld_cmp_ff_scanin = rd_req_vld_cmp2_ff_scanout; | |
1759 | assign wr_req_vld_cmp2_ff_scanin = wr_req_vld_cmp_ff_scanout; | |
1760 | assign rst_mcu_selfrsh_cmp_ff_scanin = wr_req_vld_cmp2_ff_scanout; | |
1761 | assign rst_mcu_selfrsh_cmp2_ff_scanin = rst_mcu_selfrsh_cmp_ff_scanout; | |
1762 | assign rst_l2_por_ff_scanin = rst_mcu_selfrsh_cmp2_ff_scanout; | |
1763 | assign rst_l2_wmr_ff_scanin = rst_l2_por_ff_scanout ; | |
1764 | assign rst_tcu_clk_stop_cmp_ff_scanin = rst_l2_wmr_ff_scanout ; | |
1765 | assign rst_tcu_clk_stop_io_ff_scanin = rst_tcu_clk_stop_cmp_ff_scanout; | |
1766 | assign rst_dmu_peu_por_ff_scanin = rst_tcu_clk_stop_io_ff_scanout; | |
1767 | assign rst_dmu_peu_wmr_ff_scanin = rst_dmu_peu_por_ff_scanout; | |
1768 | assign rst_niu_mac_ff_scanin = rst_dmu_peu_wmr_ff_scanout; | |
1769 | assign rst_niu_wmr_ff_scanin = rst_niu_mac_ff_scanout ; | |
1770 | assign rst_ncu_unpark_thread_cmp_ff_scanin = rst_niu_wmr_ff_scanout ; | |
1771 | assign rst_ncu_unpark_thread_cmp2_ff_scanin = rst_ncu_unpark_thread_cmp_ff_scanout; | |
1772 | assign rst_ncu_xir_cmp_ff_scanin = rst_ncu_unpark_thread_cmp2_ff_scanout; | |
1773 | assign rst_ncu_xir_cmp2_ff_scanin = rst_ncu_xir_cmp_ff_scanout; | |
1774 | assign ncu_rst_xir_done_cmp_ff_scanin = rst_ncu_xir_cmp2_ff_scanout; | |
1775 | assign ncu_rst_xir_done_sys_ff_scanin = ncu_rst_xir_done_cmp_ff_scanout; | |
1776 | assign tcu_rst_efu_done_sys_ff_scanin = ncu_rst_xir_done_sys_ff_scanout; | |
1777 | assign tcu_bisx_done_sys_ff_scanin = tcu_rst_efu_done_sys_ff_scanout; | |
1778 | assign tcu_test_protect_cmp0_ff_scanin = tcu_bisx_done_sys_ff_scanout; | |
1779 | assign tcu_test_protect_cmp_ff_scanin = tcu_test_protect_cmp0_ff_scanout; | |
1780 | assign ccu_rst_change_cmp0_ff_scanin = tcu_test_protect_cmp_ff_scanout; | |
1781 | assign ccu_rst_change_cmp_ff_scanin = ccu_rst_change_cmp0_ff_scanout; | |
1782 | assign ncu_rst_fatal_error_cmp0_ff_scanin = ccu_rst_change_cmp_ff_scanout; | |
1783 | assign ncu_rst_fatal_error_hold_ff_scanin = ncu_rst_fatal_error_cmp0_ff_scanout; | |
1784 | assign ncu_rst_fatal_error_cmp_ff_scanin = ncu_rst_fatal_error_hold_ff_scanout; | |
1785 | assign l2ta_rst_fatal_error_cmp0_ff_scanin = ncu_rst_fatal_error_cmp_ff_scanout; | |
1786 | assign l2ta_rst_fatal_error_hold_ff_scanin = l2ta_rst_fatal_error_cmp0_ff_scanout; | |
1787 | assign l2ta_rst_fatal_error_cmp_ff_scanin = l2ta_rst_fatal_error_hold_ff_scanout; | |
1788 | assign mio_rst_pb_rst_cmp_ff_scanin = l2ta_rst_fatal_error_cmp_ff_scanout; | |
1789 | assign mio_rst_pb_rst_sys2_ff_scanin = mio_rst_pb_rst_cmp_ff_scanout; | |
1790 | assign rst_cmp_ctl_wmr_cmp_ff_scanin = mio_rst_pb_rst_sys2_ff_scanout; | |
1791 | assign rst_rst_por_cmp_ff_scanin = rst_cmp_ctl_wmr_cmp_ff_scanout; | |
1792 | assign rst_rst_por_io_ff_scanin = rst_rst_por_cmp_ff_scanout; | |
1793 | assign rst_rst_wmr_cmp_ff_scanin = rst_rst_por_io_ff_scanout; | |
1794 | assign rst_rst_wmr_io_ff_scanin = rst_rst_wmr_cmp_ff_scanout; | |
1795 | assign cmp_io_sync_en2_ff_scanin = rst_rst_wmr_io_ff_scanout; | |
1796 | assign io_cmp_sync_en2_ff_scanin = cmp_io_sync_en2_ff_scanout; | |
1797 | assign ccu_cmp_sys_sync_en2_ff_scanin = io_cmp_sync_en2_ff_scanout; | |
1798 | assign ccu_cmp_sys_sync_en3_ff_scanin = ccu_cmp_sys_sync_en2_ff_scanout; | |
1799 | assign ccu_sys_cmp_sync_en2_ff_scanin = ccu_cmp_sys_sync_en3_ff_scanout; | |
1800 | assign ccu_sys_cmp_sync_en3_ff_scanin = ccu_sys_cmp_sync_en2_ff_scanout; | |
1801 | assign spares_scanin = ccu_sys_cmp_sync_en3_ff_scanout; | |
1802 | ||
1803 | // But still do the following: | |
1804 | // After run fixscan, remember to comment out the line: | |
1805 | // assign scan_out = spares_scanout ; | |
1806 | // because elsewhere we have: | |
1807 | // assign scan_out | |
1808 | // = tcu_rst_scan_mode ? spares_scanout : 1'b0; | |
1809 | ||
1810 | //sign scan_out = spares_scanout ; | |
1811 | // fixscan end: | |
1812 | endmodule // rst_cmp_ctl | |
1813 | ||
1814 | ||
1815 | ||
1816 | ||
1817 | ||
1818 | ||
1819 | // any PARAMS parms go into naming of macro | |
1820 | ||
1821 | module rst_cmp_ctl_msff_ctl_macro__clr__0__en_1__width_1 ( | |
1822 | din, | |
1823 | en, | |
1824 | l1clk, | |
1825 | scan_in, | |
1826 | siclk, | |
1827 | soclk, | |
1828 | dout, | |
1829 | scan_out); | |
1830 | wire [0:0] fdin; | |
1831 | ||
1832 | input [0:0] din; | |
1833 | input en; | |
1834 | input l1clk; | |
1835 | input scan_in; | |
1836 | ||
1837 | ||
1838 | input siclk; | |
1839 | input soclk; | |
1840 | ||
1841 | output [0:0] dout; | |
1842 | output scan_out; | |
1843 | assign fdin[0:0] = (din[0:0] & {1{en}}) | (dout[0:0] & ~{1{en}}); | |
1844 | ||
1845 | ||
1846 | ||
1847 | ||
1848 | ||
1849 | ||
1850 | dff #(1) d0_0 ( | |
1851 | .l1clk(l1clk), | |
1852 | .siclk(siclk), | |
1853 | .soclk(soclk), | |
1854 | .d(fdin[0:0]), | |
1855 | .si(scan_in), | |
1856 | .so(scan_out), | |
1857 | .q(dout[0:0]) | |
1858 | ); | |
1859 | ||
1860 | ||
1861 | ||
1862 | ||
1863 | ||
1864 | ||
1865 | ||
1866 | ||
1867 | ||
1868 | ||
1869 | ||
1870 | ||
1871 | endmodule | |
1872 | ||
1873 | ||
1874 | ||
1875 | ||
1876 | ||
1877 | ||
1878 | ||
1879 | ||
1880 | ||
1881 | ||
1882 | ||
1883 | ||
1884 | ||
1885 | // any PARAMS parms go into naming of macro | |
1886 | ||
1887 | module rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_1 ( | |
1888 | din, | |
1889 | en, | |
1890 | clr_, | |
1891 | l1clk, | |
1892 | scan_in, | |
1893 | siclk, | |
1894 | soclk, | |
1895 | dout, | |
1896 | scan_out); | |
1897 | wire [0:0] fdin; | |
1898 | ||
1899 | input [0:0] din; | |
1900 | input en; | |
1901 | input clr_; | |
1902 | input l1clk; | |
1903 | input scan_in; | |
1904 | ||
1905 | ||
1906 | input siclk; | |
1907 | input soclk; | |
1908 | ||
1909 | output [0:0] dout; | |
1910 | output scan_out; | |
1911 | assign fdin[0:0] = (din[0:0] & {1{en}} & ~{1{(~clr_)}}) | (dout[0:0] & ~{1{en}} & ~{1{(~clr_)}}); | |
1912 | ||
1913 | ||
1914 | ||
1915 | ||
1916 | ||
1917 | ||
1918 | dff #(1) d0_0 ( | |
1919 | .l1clk(l1clk), | |
1920 | .siclk(siclk), | |
1921 | .soclk(soclk), | |
1922 | .d(fdin[0:0]), | |
1923 | .si(scan_in), | |
1924 | .so(scan_out), | |
1925 | .q(dout[0:0]) | |
1926 | ); | |
1927 | ||
1928 | ||
1929 | ||
1930 | ||
1931 | ||
1932 | ||
1933 | ||
1934 | ||
1935 | ||
1936 | ||
1937 | ||
1938 | ||
1939 | endmodule | |
1940 | ||
1941 | ||
1942 | ||
1943 | ||
1944 | ||
1945 | ||
1946 | ||
1947 | ||
1948 | ||
1949 | ||
1950 | ||
1951 | ||
1952 | ||
1953 | // any PARAMS parms go into naming of macro | |
1954 | ||
1955 | module rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_16 ( | |
1956 | din, | |
1957 | en, | |
1958 | clr_, | |
1959 | l1clk, | |
1960 | scan_in, | |
1961 | siclk, | |
1962 | soclk, | |
1963 | dout, | |
1964 | scan_out); | |
1965 | wire [15:0] fdin; | |
1966 | wire [14:0] so; | |
1967 | ||
1968 | input [15:0] din; | |
1969 | input en; | |
1970 | input clr_; | |
1971 | input l1clk; | |
1972 | input scan_in; | |
1973 | ||
1974 | ||
1975 | input siclk; | |
1976 | input soclk; | |
1977 | ||
1978 | output [15:0] dout; | |
1979 | output scan_out; | |
1980 | assign fdin[15:0] = (din[15:0] & {16{en}} & ~{16{(~clr_)}}) | (dout[15:0] & ~{16{en}} & ~{16{(~clr_)}}); | |
1981 | ||
1982 | ||
1983 | ||
1984 | ||
1985 | ||
1986 | ||
1987 | dff #(16) d0_0 ( | |
1988 | .l1clk(l1clk), | |
1989 | .siclk(siclk), | |
1990 | .soclk(soclk), | |
1991 | .d(fdin[15:0]), | |
1992 | .si({scan_in,so[14:0]}), | |
1993 | .so({so[14:0],scan_out}), | |
1994 | .q(dout[15:0]) | |
1995 | ); | |
1996 | ||
1997 | ||
1998 | ||
1999 | ||
2000 | ||
2001 | ||
2002 | ||
2003 | ||
2004 | ||
2005 | ||
2006 | ||
2007 | ||
2008 | endmodule | |
2009 | ||
2010 | ||
2011 | ||
2012 | ||
2013 | ||
2014 | ||
2015 | ||
2016 | ||
2017 | ||
2018 | ||
2019 | ||
2020 | ||
2021 | ||
2022 | // any PARAMS parms go into naming of macro | |
2023 | ||
2024 | module rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_40 ( | |
2025 | din, | |
2026 | en, | |
2027 | clr_, | |
2028 | l1clk, | |
2029 | scan_in, | |
2030 | siclk, | |
2031 | soclk, | |
2032 | dout, | |
2033 | scan_out); | |
2034 | wire [39:0] fdin; | |
2035 | wire [38:0] so; | |
2036 | ||
2037 | input [39:0] din; | |
2038 | input en; | |
2039 | input clr_; | |
2040 | input l1clk; | |
2041 | input scan_in; | |
2042 | ||
2043 | ||
2044 | input siclk; | |
2045 | input soclk; | |
2046 | ||
2047 | output [39:0] dout; | |
2048 | output scan_out; | |
2049 | assign fdin[39:0] = (din[39:0] & {40{en}} & ~{40{(~clr_)}}) | (dout[39:0] & ~{40{en}} & ~{40{(~clr_)}}); | |
2050 | ||
2051 | ||
2052 | ||
2053 | ||
2054 | ||
2055 | ||
2056 | dff #(40) d0_0 ( | |
2057 | .l1clk(l1clk), | |
2058 | .siclk(siclk), | |
2059 | .soclk(soclk), | |
2060 | .d(fdin[39:0]), | |
2061 | .si({scan_in,so[38:0]}), | |
2062 | .so({so[38:0],scan_out}), | |
2063 | .q(dout[39:0]) | |
2064 | ); | |
2065 | ||
2066 | ||
2067 | ||
2068 | ||
2069 | ||
2070 | ||
2071 | ||
2072 | ||
2073 | ||
2074 | ||
2075 | ||
2076 | ||
2077 | endmodule | |
2078 | ||
2079 | ||
2080 | ||
2081 | ||
2082 | ||
2083 | ||
2084 | ||
2085 | ||
2086 | ||
2087 | ||
2088 | ||
2089 | ||
2090 | ||
2091 | // any PARAMS parms go into naming of macro | |
2092 | ||
2093 | module rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_6 ( | |
2094 | din, | |
2095 | en, | |
2096 | clr_, | |
2097 | l1clk, | |
2098 | scan_in, | |
2099 | siclk, | |
2100 | soclk, | |
2101 | dout, | |
2102 | scan_out); | |
2103 | wire [5:0] fdin; | |
2104 | wire [4:0] so; | |
2105 | ||
2106 | input [5:0] din; | |
2107 | input en; | |
2108 | input clr_; | |
2109 | input l1clk; | |
2110 | input scan_in; | |
2111 | ||
2112 | ||
2113 | input siclk; | |
2114 | input soclk; | |
2115 | ||
2116 | output [5:0] dout; | |
2117 | output scan_out; | |
2118 | assign fdin[5:0] = (din[5:0] & {6{en}} & ~{6{(~clr_)}}) | (dout[5:0] & ~{6{en}} & ~{6{(~clr_)}}); | |
2119 | ||
2120 | ||
2121 | ||
2122 | ||
2123 | ||
2124 | ||
2125 | dff #(6) d0_0 ( | |
2126 | .l1clk(l1clk), | |
2127 | .siclk(siclk), | |
2128 | .soclk(soclk), | |
2129 | .d(fdin[5:0]), | |
2130 | .si({scan_in,so[4:0]}), | |
2131 | .so({so[4:0],scan_out}), | |
2132 | .q(dout[5:0]) | |
2133 | ); | |
2134 | ||
2135 | ||
2136 | ||
2137 | ||
2138 | ||
2139 | ||
2140 | ||
2141 | ||
2142 | ||
2143 | ||
2144 | ||
2145 | ||
2146 | endmodule | |
2147 | ||
2148 | ||
2149 | ||
2150 | ||
2151 | ||
2152 | ||
2153 | ||
2154 | ||
2155 | ||
2156 | ||
2157 | ||
2158 | ||
2159 | ||
2160 | // any PARAMS parms go into naming of macro | |
2161 | ||
2162 | module rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_2 ( | |
2163 | din, | |
2164 | en, | |
2165 | clr_, | |
2166 | l1clk, | |
2167 | scan_in, | |
2168 | siclk, | |
2169 | soclk, | |
2170 | dout, | |
2171 | scan_out); | |
2172 | wire [1:0] fdin; | |
2173 | wire [0:0] so; | |
2174 | ||
2175 | input [1:0] din; | |
2176 | input en; | |
2177 | input clr_; | |
2178 | input l1clk; | |
2179 | input scan_in; | |
2180 | ||
2181 | ||
2182 | input siclk; | |
2183 | input soclk; | |
2184 | ||
2185 | output [1:0] dout; | |
2186 | output scan_out; | |
2187 | assign fdin[1:0] = (din[1:0] & {2{en}} & ~{2{(~clr_)}}) | (dout[1:0] & ~{2{en}} & ~{2{(~clr_)}}); | |
2188 | ||
2189 | ||
2190 | ||
2191 | ||
2192 | ||
2193 | ||
2194 | dff #(2) d0_0 ( | |
2195 | .l1clk(l1clk), | |
2196 | .siclk(siclk), | |
2197 | .soclk(soclk), | |
2198 | .d(fdin[1:0]), | |
2199 | .si({scan_in,so[0:0]}), | |
2200 | .so({so[0:0],scan_out}), | |
2201 | .q(dout[1:0]) | |
2202 | ); | |
2203 | ||
2204 | ||
2205 | ||
2206 | ||
2207 | ||
2208 | ||
2209 | ||
2210 | ||
2211 | ||
2212 | ||
2213 | ||
2214 | ||
2215 | endmodule | |
2216 | ||
2217 | ||
2218 | ||
2219 | ||
2220 | ||
2221 | ||
2222 | ||
2223 | ||
2224 | ||
2225 | ||
2226 | ||
2227 | ||
2228 | ||
2229 | // any PARAMS parms go into naming of macro | |
2230 | ||
2231 | module rst_cmp_ctl_msff_ctl_macro__clr__1__width_1 ( | |
2232 | din, | |
2233 | clr_, | |
2234 | l1clk, | |
2235 | scan_in, | |
2236 | siclk, | |
2237 | soclk, | |
2238 | dout, | |
2239 | scan_out); | |
2240 | wire [0:0] fdin; | |
2241 | ||
2242 | input [0:0] din; | |
2243 | input clr_; | |
2244 | input l1clk; | |
2245 | input scan_in; | |
2246 | ||
2247 | ||
2248 | input siclk; | |
2249 | input soclk; | |
2250 | ||
2251 | output [0:0] dout; | |
2252 | output scan_out; | |
2253 | assign fdin[0:0] = din[0:0] & ~{1{(~clr_)}}; | |
2254 | ||
2255 | ||
2256 | ||
2257 | ||
2258 | ||
2259 | ||
2260 | dff #(1) d0_0 ( | |
2261 | .l1clk(l1clk), | |
2262 | .siclk(siclk), | |
2263 | .soclk(soclk), | |
2264 | .d(fdin[0:0]), | |
2265 | .si(scan_in), | |
2266 | .so(scan_out), | |
2267 | .q(dout[0:0]) | |
2268 | ); | |
2269 | ||
2270 | ||
2271 | ||
2272 | ||
2273 | ||
2274 | ||
2275 | ||
2276 | ||
2277 | ||
2278 | ||
2279 | ||
2280 | ||
2281 | endmodule | |
2282 | ||
2283 | ||
2284 | ||
2285 | ||
2286 | ||
2287 | ||
2288 | ||
2289 | ||
2290 | ||
2291 | ||
2292 | ||
2293 | ||
2294 | ||
2295 | // any PARAMS parms go into naming of macro | |
2296 | ||
2297 | module rst_cmp_ctl_msff_ctl_macro__clr__1__en_1__width_8 ( | |
2298 | din, | |
2299 | en, | |
2300 | clr_, | |
2301 | l1clk, | |
2302 | scan_in, | |
2303 | siclk, | |
2304 | soclk, | |
2305 | dout, | |
2306 | scan_out); | |
2307 | wire [7:0] fdin; | |
2308 | wire [6:0] so; | |
2309 | ||
2310 | input [7:0] din; | |
2311 | input en; | |
2312 | input clr_; | |
2313 | input l1clk; | |
2314 | input scan_in; | |
2315 | ||
2316 | ||
2317 | input siclk; | |
2318 | input soclk; | |
2319 | ||
2320 | output [7:0] dout; | |
2321 | output scan_out; | |
2322 | assign fdin[7:0] = (din[7:0] & {8{en}} & ~{8{(~clr_)}}) | (dout[7:0] & ~{8{en}} & ~{8{(~clr_)}}); | |
2323 | ||
2324 | ||
2325 | ||
2326 | ||
2327 | ||
2328 | ||
2329 | dff #(8) d0_0 ( | |
2330 | .l1clk(l1clk), | |
2331 | .siclk(siclk), | |
2332 | .soclk(soclk), | |
2333 | .d(fdin[7:0]), | |
2334 | .si({scan_in,so[6:0]}), | |
2335 | .so({so[6:0],scan_out}), | |
2336 | .q(dout[7:0]) | |
2337 | ); | |
2338 | ||
2339 | ||
2340 | ||
2341 | ||
2342 | ||
2343 | ||
2344 | ||
2345 | ||
2346 | ||
2347 | ||
2348 | ||
2349 | ||
2350 | endmodule | |
2351 | ||
2352 | ||
2353 | ||
2354 | ||
2355 | ||
2356 | ||
2357 | ||
2358 | ||
2359 | ||
2360 | ||
2361 | ||
2362 | ||
2363 | ||
2364 | // any PARAMS parms go into naming of macro | |
2365 | ||
2366 | module rst_cmp_ctl_msff_ctl_macro__clr__1__width_8 ( | |
2367 | din, | |
2368 | clr_, | |
2369 | l1clk, | |
2370 | scan_in, | |
2371 | siclk, | |
2372 | soclk, | |
2373 | dout, | |
2374 | scan_out); | |
2375 | wire [7:0] fdin; | |
2376 | wire [6:0] so; | |
2377 | ||
2378 | input [7:0] din; | |
2379 | input clr_; | |
2380 | input l1clk; | |
2381 | input scan_in; | |
2382 | ||
2383 | ||
2384 | input siclk; | |
2385 | input soclk; | |
2386 | ||
2387 | output [7:0] dout; | |
2388 | output scan_out; | |
2389 | assign fdin[7:0] = din[7:0] & ~{8{(~clr_)}}; | |
2390 | ||
2391 | ||
2392 | ||
2393 | ||
2394 | ||
2395 | ||
2396 | dff #(8) d0_0 ( | |
2397 | .l1clk(l1clk), | |
2398 | .siclk(siclk), | |
2399 | .soclk(soclk), | |
2400 | .d(fdin[7:0]), | |
2401 | .si({scan_in,so[6:0]}), | |
2402 | .so({so[6:0],scan_out}), | |
2403 | .q(dout[7:0]) | |
2404 | ); | |
2405 | ||
2406 | ||
2407 | ||
2408 | ||
2409 | ||
2410 | ||
2411 | ||
2412 | ||
2413 | ||
2414 | ||
2415 | ||
2416 | ||
2417 | endmodule | |
2418 | ||
2419 | ||
2420 | ||
2421 | ||
2422 | ||
2423 | ||
2424 | ||
2425 | ||
2426 | ||
2427 | ||
2428 | ||
2429 | ||
2430 | ||
2431 | // any PARAMS parms go into naming of macro | |
2432 | ||
2433 | module rst_cmp_ctl_msff_ctl_macro__clr__0__en_0__width_1 ( | |
2434 | din, | |
2435 | l1clk, | |
2436 | scan_in, | |
2437 | siclk, | |
2438 | soclk, | |
2439 | dout, | |
2440 | scan_out); | |
2441 | wire [0:0] fdin; | |
2442 | ||
2443 | input [0:0] din; | |
2444 | input l1clk; | |
2445 | input scan_in; | |
2446 | ||
2447 | ||
2448 | input siclk; | |
2449 | input soclk; | |
2450 | ||
2451 | output [0:0] dout; | |
2452 | output scan_out; | |
2453 | assign fdin[0:0] = din[0:0]; | |
2454 | ||
2455 | ||
2456 | ||
2457 | ||
2458 | ||
2459 | ||
2460 | dff #(1) d0_0 ( | |
2461 | .l1clk(l1clk), | |
2462 | .siclk(siclk), | |
2463 | .soclk(soclk), | |
2464 | .d(fdin[0:0]), | |
2465 | .si(scan_in), | |
2466 | .so(scan_out), | |
2467 | .q(dout[0:0]) | |
2468 | ); | |
2469 | ||
2470 | ||
2471 | ||
2472 | ||
2473 | ||
2474 | ||
2475 | ||
2476 | ||
2477 | ||
2478 | ||
2479 | ||
2480 | ||
2481 | endmodule | |
2482 | ||
2483 | ||
2484 | ||
2485 | ||
2486 | ||
2487 | ||
2488 | ||
2489 | ||
2490 | ||
2491 | ||
2492 | ||
2493 | ||
2494 | ||
2495 | // any PARAMS parms go into naming of macro | |
2496 | ||
2497 | module rst_cmp_ctl_l1clkhdr_ctl_macro ( | |
2498 | l2clk, | |
2499 | l1en, | |
2500 | pce_ov, | |
2501 | stop, | |
2502 | se, | |
2503 | l1clk); | |
2504 | ||
2505 | ||
2506 | input l2clk; | |
2507 | input l1en; | |
2508 | input pce_ov; | |
2509 | input stop; | |
2510 | input se; | |
2511 | output l1clk; | |
2512 | ||
2513 | ||
2514 | ||
2515 | ||
2516 | ||
2517 | cl_sc1_l1hdr_8x c_0 ( | |
2518 | ||
2519 | ||
2520 | .l2clk(l2clk), | |
2521 | .pce(l1en), | |
2522 | .l1clk(l1clk), | |
2523 | .se(se), | |
2524 | .pce_ov(pce_ov), | |
2525 | .stop(stop) | |
2526 | ); | |
2527 | ||
2528 | ||
2529 | ||
2530 | endmodule | |
2531 | ||
2532 | ||
2533 | ||
2534 | ||
2535 | ||
2536 | ||
2537 | ||
2538 | ||
2539 | ||
2540 | // Description: Spare gate macro for control blocks | |
2541 | // | |
2542 | // Param num controls the number of times the macro is added | |
2543 | // flops=0 can be used to use only combination spare logic | |
2544 | ||
2545 | ||
2546 | module rst_cmp_ctl_spare_ctl_macro__num_1 ( | |
2547 | l1clk, | |
2548 | scan_in, | |
2549 | siclk, | |
2550 | soclk, | |
2551 | scan_out); | |
2552 | wire si_0; | |
2553 | wire so_0; | |
2554 | wire spare0_flop_unused; | |
2555 | wire spare0_buf_32x_unused; | |
2556 | wire spare0_nand3_8x_unused; | |
2557 | wire spare0_inv_8x_unused; | |
2558 | wire spare0_aoi22_4x_unused; | |
2559 | wire spare0_buf_8x_unused; | |
2560 | wire spare0_oai22_4x_unused; | |
2561 | wire spare0_inv_16x_unused; | |
2562 | wire spare0_nand2_16x_unused; | |
2563 | wire spare0_nor3_4x_unused; | |
2564 | wire spare0_nand2_8x_unused; | |
2565 | wire spare0_buf_16x_unused; | |
2566 | wire spare0_nor2_16x_unused; | |
2567 | wire spare0_inv_32x_unused; | |
2568 | ||
2569 | ||
2570 | input l1clk; | |
2571 | input scan_in; | |
2572 | input siclk; | |
2573 | input soclk; | |
2574 | output scan_out; | |
2575 | ||
2576 | cl_sc1_msff_8x spare0_flop (.l1clk(l1clk), | |
2577 | .siclk(siclk), | |
2578 | .soclk(soclk), | |
2579 | .si(si_0), | |
2580 | .so(so_0), | |
2581 | .d(1'b0), | |
2582 | .q(spare0_flop_unused)); | |
2583 | assign si_0 = scan_in; | |
2584 | ||
2585 | cl_u1_buf_32x spare0_buf_32x (.in(1'b1), | |
2586 | .out(spare0_buf_32x_unused)); | |
2587 | cl_u1_nand3_8x spare0_nand3_8x (.in0(1'b1), | |
2588 | .in1(1'b1), | |
2589 | .in2(1'b1), | |
2590 | .out(spare0_nand3_8x_unused)); | |
2591 | cl_u1_inv_8x spare0_inv_8x (.in(1'b1), | |
2592 | .out(spare0_inv_8x_unused)); | |
2593 | cl_u1_aoi22_4x spare0_aoi22_4x (.in00(1'b1), | |
2594 | .in01(1'b1), | |
2595 | .in10(1'b1), | |
2596 | .in11(1'b1), | |
2597 | .out(spare0_aoi22_4x_unused)); | |
2598 | cl_u1_buf_8x spare0_buf_8x (.in(1'b1), | |
2599 | .out(spare0_buf_8x_unused)); | |
2600 | cl_u1_oai22_4x spare0_oai22_4x (.in00(1'b1), | |
2601 | .in01(1'b1), | |
2602 | .in10(1'b1), | |
2603 | .in11(1'b1), | |
2604 | .out(spare0_oai22_4x_unused)); | |
2605 | cl_u1_inv_16x spare0_inv_16x (.in(1'b1), | |
2606 | .out(spare0_inv_16x_unused)); | |
2607 | cl_u1_nand2_16x spare0_nand2_16x (.in0(1'b1), | |
2608 | .in1(1'b1), | |
2609 | .out(spare0_nand2_16x_unused)); | |
2610 | cl_u1_nor3_4x spare0_nor3_4x (.in0(1'b0), | |
2611 | .in1(1'b0), | |
2612 | .in2(1'b0), | |
2613 | .out(spare0_nor3_4x_unused)); | |
2614 | cl_u1_nand2_8x spare0_nand2_8x (.in0(1'b1), | |
2615 | .in1(1'b1), | |
2616 | .out(spare0_nand2_8x_unused)); | |
2617 | cl_u1_buf_16x spare0_buf_16x (.in(1'b1), | |
2618 | .out(spare0_buf_16x_unused)); | |
2619 | cl_u1_nor2_16x spare0_nor2_16x (.in0(1'b0), | |
2620 | .in1(1'b0), | |
2621 | .out(spare0_nor2_16x_unused)); | |
2622 | cl_u1_inv_32x spare0_inv_32x (.in(1'b1), | |
2623 | .out(spare0_inv_32x_unused)); | |
2624 | assign scan_out = so_0; | |
2625 | ||
2626 | ||
2627 | ||
2628 | endmodule | |
2629 |