Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / design / sys / iop / l2t / rtl / l2t_dirvec_ctl.v
CommitLineData
86530b38
AT
1// ========== Copyright Header Begin ==========================================
2//
3// OpenSPARC T2 Processor File: l2t_dirvec_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 ============================================
35module l2t_dirvec_ctl (
36 scan_in,
37 tcu_pce_ov,
38 tcu_aclk,
39 tcu_bclk,
40 tcu_scan_en,
41 tcu_clk_stop,
42 arbadr_ncu_l2t_pm_n_dist,
43 arbadr_2bnk_true_enbld_dist,
44 arbadr_4bnk_true_enbld_dist,
45 io_cmp_sync_en,
46 ncu_spc0_core_enable_status,
47 ncu_spc1_core_enable_status,
48 ncu_spc2_core_enable_status,
49 ncu_spc3_core_enable_status,
50 ncu_spc4_core_enable_status,
51 ncu_spc5_core_enable_status,
52 ncu_spc6_core_enable_status,
53 ncu_spc7_core_enable_status,
54 ic_cam_hit,
55 dc_cam_hit,
56 oqu_sel_mux1_c6,
57 oqu_sel_mux2_c6,
58 oqu_sel_mux3_c6,
59 oqu_mux_vec_sel_c6,
60 sel_st_ack_c7,
61 st_ack_bmask,
62 arbadr_dirvec_addr3_c7,
63 arbadr_arbdp_line_addr_c7,
64 l2clk,
65 dirvec_dirdp_req_vec_c6,
66 dirvec_dirdp_way_info_c7,
67 dirvec_dirdp_inval_pckt_c7,
68 scan_out,
69 ic_cam_fail,
70 dc_cam_fail,
71 mb0_l2t_cambist);
72wire stop;
73wire pce_ov;
74wire siclk;
75wire soclk;
76wire se;
77wire ff_sync_en_scanin;
78wire ff_sync_en_scanout;
79wire io_cmp_sync_en_r1;
80wire l1clk;
81wire spares_scanin;
82wire spares_scanout;
83wire ff_ncu_signals_scanin;
84wire ff_ncu_signals_scanout;
85wire spc0_avl;
86wire spc1_avl;
87wire spc2_avl;
88wire spc3_avl;
89wire spc4_avl;
90wire spc5_avl;
91wire spc6_avl;
92wire spc7_avl;
93wire ff_staged_part_bank_scanin;
94wire ff_staged_part_bank_scanout;
95wire arbadr_ncu_l2t_pm_n;
96wire arbadr_2bnk_true_enbld;
97wire arbadr_4bnk_true_enbld;
98wire arb_dirvec_cpu0_sel00;
99wire arb_dirvec_cpu0_selbot;
100wire arb_dirvec_cpu1_sel00_w;
101wire arb_dirvec_cpu1_sel01_w;
102wire arb_dirvec_cpu1_selbot_w;
103wire arb_dirvec_cpu1_seltop_w;
104wire arb_dirvec_cpu2_sel00_w;
105wire arb_dirvec_cpu2_sel01_w;
106wire arb_dirvec_cpu2_sel10_w;
107wire arb_dirvec_cpu2_selbot_w;
108wire arb_dirvec_cpu2_seltop_w;
109wire arb_dirvec_cpu3_sel00_w;
110wire arb_dirvec_cpu3_sel01_w;
111wire arb_dirvec_cpu3_sel10_w;
112wire arb_dirvec_cpu3_sel11_w;
113wire arb_dirvec_cpu3_selbot_w;
114wire arb_dirvec_cpu3_seltop_w;
115wire arb_dirvec_cpu4_sel00_w;
116wire arb_dirvec_cpu4_sel01_w;
117wire arb_dirvec_cpu4_sel10_w;
118wire arb_dirvec_cpu4_sel11_w;
119wire arb_dirvec_cpu4_selbot_w;
120wire arb_dirvec_cpu4_seltop_w;
121wire arb_dirvec_cpu5_sel00_w;
122wire arb_dirvec_cpu5_sel01_w;
123wire arb_dirvec_cpu5_sel10_w;
124wire arb_dirvec_cpu5_sel11_w;
125wire arb_dirvec_cpu5_selbot_w;
126wire arb_dirvec_cpu5_seltop_w;
127wire arb_dirvec_cpu6_sel00_w;
128wire arb_dirvec_cpu6_sel01_w;
129wire arb_dirvec_cpu6_sel10_w;
130wire arb_dirvec_cpu6_sel11_w;
131wire arb_dirvec_cpu6_selbot_w;
132wire arb_dirvec_cpu6_seltop_w;
133wire arb_dirvec_cpu7_sel00_w;
134wire arb_dirvec_cpu7_sel01_w;
135wire arb_dirvec_cpu7_sel10_w;
136wire arb_dirvec_cpu7_sel11_w;
137wire arb_dirvec_cpu7_selbot_w;
138wire arb_dirvec_cpu7_seltop_w;
139wire ff_partial_bank_support_scanin;
140wire ff_partial_bank_support_scanout;
141wire arb_dirvec_cpu1_sel00;
142wire arb_dirvec_cpu1_sel01;
143wire arb_dirvec_cpu1_selbot;
144wire arb_dirvec_cpu1_seltop;
145wire arb_dirvec_cpu2_sel00;
146wire arb_dirvec_cpu2_sel01;
147wire arb_dirvec_cpu2_sel10;
148wire arb_dirvec_cpu2_selbot;
149wire arb_dirvec_cpu2_seltop;
150wire arb_dirvec_cpu3_sel00;
151wire arb_dirvec_cpu3_sel01;
152wire arb_dirvec_cpu3_sel10;
153wire arb_dirvec_cpu3_sel11;
154wire arb_dirvec_cpu3_selbot;
155wire arb_dirvec_cpu3_seltop;
156wire arb_dirvec_cpu4_sel00;
157wire arb_dirvec_cpu4_sel01;
158wire arb_dirvec_cpu4_sel10;
159wire arb_dirvec_cpu4_sel11;
160wire arb_dirvec_cpu4_selbot;
161wire arb_dirvec_cpu4_seltop;
162wire arb_dirvec_cpu5_sel00;
163wire arb_dirvec_cpu5_sel01;
164wire arb_dirvec_cpu5_sel10;
165wire arb_dirvec_cpu5_sel11;
166wire arb_dirvec_cpu5_selbot;
167wire arb_dirvec_cpu5_seltop;
168wire arb_dirvec_cpu6_sel00;
169wire arb_dirvec_cpu6_sel01;
170wire arb_dirvec_cpu6_sel10;
171wire arb_dirvec_cpu6_sel11;
172wire arb_dirvec_cpu6_selbot;
173wire arb_dirvec_cpu6_seltop;
174wire arb_dirvec_cpu7_sel00;
175wire arb_dirvec_cpu7_sel01;
176wire arb_dirvec_cpu7_sel10;
177wire arb_dirvec_cpu7_sel11;
178wire arb_dirvec_cpu7_selbot;
179wire arb_dirvec_cpu7_seltop;
180wire sel_st_ack_c7_n;
181wire arbadr_arbdp_line_addr_c7_5_n;
182wire arbadr_arbdp_line_addr_c7_4_n;
183wire ff_dirdp_inval_pckt_c7_slice0_scanin;
184wire ff_dirdp_inval_pckt_c7_slice0_scanout;
185wire ff_dirdp_inval_pckt_c7_slice1_scanin;
186wire ff_dirdp_inval_pckt_c7_slice1_scanout;
187wire ff_dirdp_inval_pckt_c7_slice2_scanin;
188wire ff_dirdp_inval_pckt_c7_slice2_scanout;
189wire ff_dirdp_inval_pckt_c7_slice3_scanin;
190wire ff_dirdp_inval_pckt_c7_slice3_scanout;
191wire [3:0] way_wayvld00_mux1_c6;
192wire [2:0] way_wayvld01_mux1_c6;
193wire [3:0] way_wayvld10_mux1_c6;
194wire [2:0] way_wayvld11_mux1_c6;
195wire [13:0] mux1_way_way_wayvld_stage1_din0;
196wire [3:0] way_way_vld0_c6;
197wire [2:0] way_way_vld32_c6;
198wire [3:0] way_way_vld64_c6;
199wire [2:0] way_way_vld96_c6;
200wire [13:0] mux1_way_way_wayvld_stage1_din1;
201wire [3:0] way_way_vld4_c6;
202wire [2:0] way_way_vld36_c6;
203wire [3:0] way_way_vld68_c6;
204wire [2:0] way_way_vld100_c6;
205wire [13:0] mux1_way_way_wayvld_stage1_din2;
206wire [3:0] way_way_vld8_c6;
207wire [2:0] way_way_vld40_c6;
208wire [3:0] way_way_vld72_c6;
209wire [2:0] way_way_vld104_c6;
210wire [13:0] mux1_way_way_wayvld_stage1_din3;
211wire [3:0] way_way_vld12_c6;
212wire [2:0] way_way_vld44_c6;
213wire [3:0] way_way_vld76_c6;
214wire [2:0] way_way_vld108_c6;
215wire [3:0] way_wayvld00_mux2_c6;
216wire [2:0] way_wayvld01_mux2_c6;
217wire [3:0] way_wayvld10_mux2_c6;
218wire [2:0] way_wayvld11_mux2_c6;
219wire [13:0] stage2_din0;
220wire [3:0] way_way_vld16_c6;
221wire [2:0] way_way_vld48_c6;
222wire [3:0] way_way_vld80_c6;
223wire [2:0] way_way_vld112_c6;
224wire [13:0] stage2_din1;
225wire [3:0] way_way_vld20_c6;
226wire [2:0] way_way_vld52_c6;
227wire [3:0] way_way_vld84_c6;
228wire [2:0] way_way_vld116_c6;
229wire [13:0] stage2_din2;
230wire [3:0] way_way_vld24_c6;
231wire [2:0] way_way_vld56_c6;
232wire [3:0] way_way_vld88_c6;
233wire [2:0] way_way_vld120_c6;
234wire [13:0] stage2_din3;
235wire [3:0] way_way_vld28_c6;
236wire [2:0] way_way_vld60_c6;
237wire [3:0] way_way_vld92_c6;
238wire [2:0] way_way_vld124_c6;
239wire [3:0] way_wayvld00_mux3_c6;
240wire [2:0] way_wayvld01_mux3_c6;
241wire [3:0] way_wayvld10_mux3_c6;
242wire [2:0] way_wayvld11_mux3_c6;
243wire oqu_sel_mux3_c6_n;
244wire ff_dirvecdp_way_info_c7_scanin;
245wire ff_dirvecdp_way_info_c7_scanout;
246wire ff_dc_cam_hit_c52_4_scanin;
247wire ff_dc_cam_hit_c52_4_scanout;
248wire ff_dc_cam_hit_c52_3_scanin;
249wire ff_dc_cam_hit_c52_3_scanout;
250wire ff_dc_cam_hit_c52_2_scanin;
251wire ff_dc_cam_hit_c52_2_scanout;
252wire ff_dc_cam_hit_c52_1_scanin;
253wire ff_dc_cam_hit_c52_1_scanout;
254wire ff_dc_cam_hit_c6_4_scanin;
255wire ff_dc_cam_hit_c6_4_scanout;
256wire ff_dc_cam_hit_c6_3_scanin;
257wire ff_dc_cam_hit_c6_3_scanout;
258wire ff_dc_cam_hit_c6_2_scanin;
259wire ff_dc_cam_hit_c6_2_scanout;
260wire ff_dc_cam_hit_c6_1_scanin;
261wire ff_dc_cam_hit_c6_1_scanout;
262wire ff_ic_cam_hit_c52_1_scanin;
263wire ff_ic_cam_hit_c52_1_scanout;
264wire ff_ic_cam_hit_c52_3_scanin;
265wire ff_ic_cam_hit_c52_3_scanout;
266wire ff_ic_cam_hit_c6_1_scanin;
267wire ff_ic_cam_hit_c6_1_scanout;
268wire ff_ic_cam_hit_c6_3_scanin;
269wire ff_ic_cam_hit_c6_3_scanout;
270wire [3:0] enc_c_vec0;
271wire [3:0] enc_c_vec4;
272wire [3:0] enc_c_vec8;
273wire [3:0] enc_c_vec12;
274wire [3:0] enc_c_vec16;
275wire [3:0] enc_c_vec20;
276wire [3:0] enc_c_vec24;
277wire [3:0] enc_c_vec28;
278wire [1:0] enc_c_vec32_way_c6;
279wire dc_dir_vec32_c6;
280wire [1:0] enc_c_vec36_way_c6;
281wire dc_dir_vec36_c6;
282wire [1:0] enc_c_vec40_way_c6;
283wire dc_dir_vec40_c6;
284wire [1:0] enc_c_vec44_way_c6;
285wire dc_dir_vec44_c6;
286wire [1:0] enc_c_vec48_way_c6;
287wire dc_dir_vec48_c6;
288wire [1:0] enc_c_vec52_way_c6;
289wire dc_dir_vec52_c6;
290wire [1:0] enc_c_vec56_way_c6;
291wire dc_dir_vec56_c6;
292wire [1:0] enc_c_vec60_way_c6;
293wire dc_dir_vec60_c6;
294wire [3:0] enc_c_vec64;
295wire [3:0] enc_c_vec68;
296wire [3:0] enc_c_vec72;
297wire [3:0] enc_c_vec76;
298wire [3:0] enc_c_vec80;
299wire [3:0] enc_c_vec84;
300wire [3:0] enc_c_vec88;
301wire [3:0] enc_c_vec92;
302wire [1:0] enc_c_vec96_way_c6;
303wire dc_dir_vec96_c6;
304wire [1:0] enc_c_vec100_way_c6;
305wire dc_dir_vec100_c6;
306wire [1:0] enc_c_vec104_way_c6;
307wire dc_dir_vec104_c6;
308wire [1:0] enc_c_vec108_way_c6;
309wire dc_dir_vec108_c6;
310wire [1:0] enc_c_vec112_way_c6;
311wire dc_dir_vec112_c6;
312wire [1:0] enc_c_vec116_way_c6;
313wire dc_dir_vec116_c6;
314wire [1:0] enc_c_vec120_way_c6;
315wire dc_dir_vec120_c6;
316wire [1:0] enc_c_vec124_way_c6;
317wire dc_dir_vec124_c6;
318wire ff_ic_cam_hit_reg0_scanin;
319wire ff_ic_cam_hit_reg0_scanout;
320wire [127:0] ic_cam_hit_reg;
321wire ff_ic_cam_hit_reg1_scanin;
322wire ff_ic_cam_hit_reg1_scanout;
323wire ff_dc_cam_hit_reg0_scanin;
324wire ff_dc_cam_hit_reg0_scanout;
325wire [127:0] dc_cam_hit_reg;
326wire ff_dc_cam_hit_reg_scanin;
327wire ff_dc_cam_hit_reg_scanout;
328wire ic_cam_fail0;
329wire ic_cam_fail1;
330wire ic_cam_fail2;
331wire ic_cam_fail3;
332wire ff_cam_tst_failed11_scanin;
333wire ff_cam_tst_failed11_scanout;
334wire ic_cam_fail3_reg;
335wire ic_cam_fail2_reg;
336wire ic_cam_fail1_reg;
337wire ic_cam_fail0_reg;
338wire dc_cam_fail0;
339wire dc_cam_fail1;
340wire dc_cam_fail2;
341wire dc_cam_fail3;
342wire ff_cam_tst_failed00_scanin;
343wire ff_cam_tst_failed00_scanout;
344wire dc_cam_fail3_reg;
345wire dc_cam_fail2_reg;
346wire dc_cam_fail1_reg;
347wire dc_cam_fail0_reg;
348wire mb0_l2t_cambist_reg;
349
350
351input scan_in;
352
353input tcu_pce_ov;
354input tcu_aclk;
355input tcu_bclk;
356input tcu_scan_en;
357input tcu_clk_stop;
358
359input arbadr_ncu_l2t_pm_n_dist; // BS 03/25/04 for partial bank/core modes support
360input arbadr_2bnk_true_enbld_dist;
361input arbadr_4bnk_true_enbld_dist;
362//input [2:0] arbdec_arbdp_cpuid_c2;
363input io_cmp_sync_en;
364input ncu_spc0_core_enable_status;
365input ncu_spc1_core_enable_status;
366input ncu_spc2_core_enable_status;
367input ncu_spc3_core_enable_status;
368input ncu_spc4_core_enable_status;
369input ncu_spc5_core_enable_status;
370input ncu_spc6_core_enable_status;
371input ncu_spc7_core_enable_status;
372
373
374
375
376
377//input arb_dirvec_cpu0_sel00;// BS 03/25/04 for partial bank/core modes support
378//input arb_dirvec_cpu0_selbot;// BS 03/25/04 for partial bank/core modes support
379//
380//input arb_dirvec_cpu1_sel00;// BS 03/25/04 for partial bank/core modes support
381//input arb_dirvec_cpu1_sel01;// BS 03/25/04 for partial bank/core modes support
382//input arb_dirvec_cpu1_selbot;// BS 03/25/04 for partial bank/core modes support
383//input arb_dirvec_cpu1_seltop;// BS 03/25/04 for partial bank/core modes support
384//
385//input arb_dirvec_cpu2_sel00 ;// BS 03/25/04 for partial bank/core modes support
386//input arb_dirvec_cpu2_sel01 ;// BS 03/25/04 for partial bank/core modes support
387//input arb_dirvec_cpu2_sel10 ;// BS 03/25/04 for partial bank/core modes support
388//input arb_dirvec_cpu2_selbot ;// BS 03/25/04 for partial bank/core modes support
389//input arb_dirvec_cpu2_seltop ;// BS 03/25/04 for partial bank/core modes support
390//
391//input arb_dirvec_cpu3_sel00 ;// BS 03/25/04 for partial bank/core modes support
392//input arb_dirvec_cpu3_sel01 ;// BS 03/25/04 for partial bank/core modes support
393//input arb_dirvec_cpu3_sel10 ;// BS 03/25/04 for partial bank/core modes support
394//input arb_dirvec_cpu3_sel11 ;// BS 03/25/04 for partial bank/core modes support
395//input arb_dirvec_cpu3_selbot ;// BS 03/25/04 for partial bank/core modes support
396//input arb_dirvec_cpu3_seltop ;// BS 03/25/04 for partial bank/core modes support
397//
398//input arb_dirvec_cpu4_sel00 ;// BS 03/25/04 for partial bank/core modes support
399//input arb_dirvec_cpu4_sel01 ;// BS 03/25/04 for partial bank/core modes support
400//input arb_dirvec_cpu4_sel10 ;// BS 03/25/04 for partial bank/core modes support
401//input arb_dirvec_cpu4_sel11 ;// BS 03/25/04 for partial bank/core modes support
402//input arb_dirvec_cpu4_selbot ;// BS 03/25/04 for partial bank/core modes support
403//input arb_dirvec_cpu4_seltop ;// BS 03/25/04 for partial bank/core modes support
404//
405//input arb_dirvec_cpu5_sel00 ;// BS 03/25/04 for partial bank/core modes support
406//input arb_dirvec_cpu5_sel01 ;// BS 03/25/04 for partial bank/core modes support
407//input arb_dirvec_cpu5_sel10 ;// BS 03/25/04 for partial bank/core modes support
408//input arb_dirvec_cpu5_sel11 ;// BS 03/25/04 for partial bank/core modes support
409//input arb_dirvec_cpu5_selbot ;// BS 03/25/04 for partial bank/core modes support
410//input arb_dirvec_cpu5_seltop ;// BS 03/25/04 for partial bank/core modes support
411//
412//input arb_dirvec_cpu6_sel00 ;// BS 03/25/04 for partial bank/core modes support
413//input arb_dirvec_cpu6_sel01 ;// BS 03/25/04 for partial bank/core modes support
414//input arb_dirvec_cpu6_sel10 ;// BS 03/25/04 for partial bank/core modes support
415//input arb_dirvec_cpu6_sel11 ;// BS 03/25/04 for partial bank/core modes support
416//input arb_dirvec_cpu6_selbot ;// BS 03/25/04 for partial bank/core modes support
417//input arb_dirvec_cpu6_seltop ;// BS 03/25/04 for partial bank/core modes support
418//
419//input arb_dirvec_cpu7_sel00 ;// BS 03/25/04 for partial bank/core modes support
420//input arb_dirvec_cpu7_sel01 ;// BS 03/25/04 for partial bank/core modes support
421//input arb_dirvec_cpu7_sel10 ;// BS 03/25/04 for partial bank/core modes support
422//input arb_dirvec_cpu7_sel11 ;// BS 03/25/04 for partial bank/core modes support
423//input arb_dirvec_cpu7_selbot ;// BS 03/25/04 for partial bank/core modes support
424//input arb_dirvec_cpu7_seltop ;// BS 03/25/04 for partial bank/core modes support
425
426input [127:0] ic_cam_hit;
427input [127:0] dc_cam_hit;
428
429input [ 3:0] oqu_sel_mux1_c6;
430input [ 3:0] oqu_sel_mux2_c6;
431input oqu_sel_mux3_c6;
432
433input [ 3:0] oqu_mux_vec_sel_c6;
434
435input sel_st_ack_c7; // BS and SR 11/12/03 N2 Xbar Packet format change
436input [7:0] st_ack_bmask; // BS and SR 11/12/03 N2 Xbar Packet format change
437//input [63:0] st_ack_data; // BS and SR 11/12/03 N2 Xbar Packet format change
438 // BS and SR 12/22/03, store ack generation for diagnostic store
439input arbadr_dirvec_addr3_c7; // Bit 3 of address, BS and SR 11/12/03 N2 Xbar Packet format change
440input [5:4] arbadr_arbdp_line_addr_c7; // Bit 5 & 4 of address to create Vack from Vinv
441
442
443input l2clk;
444
445output [ 7:0] dirvec_dirdp_req_vec_c6;
446
447output [ 3:0] dirvec_dirdp_way_info_c7; // BS and SR 11/18/03 Support for 8 way I$
448output [111:0] dirvec_dirdp_inval_pckt_c7;
449
450output scan_out;
451// mbist
452
453output [1:0] ic_cam_fail;
454output [1:0] dc_cam_fail;
455input mb0_l2t_cambist;
456
457assign stop = tcu_clk_stop;
458assign pce_ov = tcu_pce_ov;
459assign siclk = tcu_aclk;
460assign soclk = tcu_bclk;
461assign se = tcu_scan_en;
462//assign muxtst = tcu_muxtest;
463
464
465
466//assign scan_out = 1'b0;
467
468wire [7:0] arb_cpuid_dec_c2;
469wire sel_bot_seg;
470wire sel_00;
471wire sel_01;
472wire sel_10;
473wire sel_11;
474wire sum0;
475wire [1:0] sum01;
476wire [1:0] sum012;
477wire [2:0] sum0123,sum01234,sum012345,sum0123456;
478wire [1:0] seg;
479wire [2:0] arb_cpuid_c3,arb_cpuid_c4,arb_cpuid_c52;
480
481
482wire [3:0] dirvec_vack1_ic_inv_0to3,dirvec_vack1_ic_inv_4to7,dirvec_vack1_ic_inv_8to11,dirvec_vack1_ic_inv_12to15;
483wire [3:0] dirvec_vack1_ic_inv_16to19,dirvec_vack1_ic_inv_20to23,dirvec_vack1_ic_inv_24to27,dirvec_vack1_ic_inv_28to31;
484wire [3:0] dirvec_vack3_ic_inv_0to3,dirvec_vack3_ic_inv_4to7,dirvec_vack3_ic_inv_8to11,dirvec_vack3_ic_inv_12to15;
485wire [3:0] dirvec_vack3_ic_inv_16to19,dirvec_vack3_ic_inv_20to23,dirvec_vack3_ic_inv_24to27,dirvec_vack3_ic_inv_28to31;
486
487wire [31:0] dirvec_dirdp_pckt_vack1_c7;
488wire [31:0] dirvec_dirdp_pckt_vack3_c7;
489wire [127:0] dc_cam_hit_c6;
490wire [127:0] ic_cam_hit_c6;
491wire [127:0] dc_cam_hit_c5;
492wire [127:0] dc_cam_hit_c52; // BS 03/11/04 extra cycle for mem access
493wire [127:0] ic_cam_hit_reorg_c5; // BS and SR 11/18/03 Support for 8 way I$
494wire [127:0] ic_cam_hit_reorg_c52; // BS 03/11/04 extra cycle for mem access
495
496wire [111:0] dirdp_inval_pckt_c6;
497wire [111:0] dirvec_dirdp_inval_pckt_c7;
498wire [111:0] dirvec_dirdp_inval_pckt_c7_tmp; // BS and SR 11/12/03 N2 Xbar Packet format change
499wire [ 3:0] dirvecdp_way_info_c7;
500
501wire sel_inv_pkt_vack0;
502wire sel_inv_pkt_vack1;
503wire sel_inv_pkt_vack2;
504wire sel_inv_pkt_vack3;
505reg [3:0] dirvecdp_way_info_c6;
506reg [31:0] dirvec_dirdp_inval_pckt_vack;
507reg [13:0] mux1_way_way_wayvld_stage1_dout;
508reg [13:0] stage2_dout;
509
510//************************************************************************************
511// PARTIAL CORE SUPPORT
512//************************************************************************************
513
514l2t_dirvec_ctl_msff_ctl_macro__width_1 ff_sync_en
515 (
516 .scan_in(ff_sync_en_scanin),
517 .scan_out(ff_sync_en_scanout),
518 .dout (io_cmp_sync_en_r1),
519 .din (io_cmp_sync_en),
520 .l1clk (l1clk),
521 .siclk(siclk),
522 .soclk(soclk)
523 );
524
525
526
527//////////////////////////////////////////
528// Spare gate insertion
529//////////////////////////////////////////
530l2t_dirvec_ctl_spare_ctl_macro__num_10 spares (
531 .scan_in(spares_scanin),
532 .scan_out(spares_scanout),
533 .l1clk (l1clk),
534 .siclk(siclk),
535 .soclk(soclk)
536);
537
538
539
540l2t_dirvec_ctl_msff_ctl_macro__en_1__width_8 ff_ncu_signals
541 (
542 .scan_in(ff_ncu_signals_scanin),
543 .scan_out(ff_ncu_signals_scanout),
544 .dout ({spc0_avl,
545 spc1_avl,
546 spc2_avl,
547 spc3_avl,
548 spc4_avl,
549 spc5_avl,
550 spc6_avl,
551 spc7_avl}),
552 .din ({ ncu_spc0_core_enable_status,
553 ncu_spc1_core_enable_status,
554 ncu_spc2_core_enable_status,
555 ncu_spc3_core_enable_status,
556 ncu_spc4_core_enable_status,
557 ncu_spc5_core_enable_status,
558 ncu_spc6_core_enable_status,
559 ncu_spc7_core_enable_status}),
560 .l1clk (l1clk),
561 .en (io_cmp_sync_en_r1),
562 .siclk(siclk),
563 .soclk(soclk)
564 );
565
566
567
568l2t_dirvec_ctl_msff_ctl_macro__width_3 ff_staged_part_bank
569 (
570 .scan_in(ff_staged_part_bank_scanin),
571 .scan_out(ff_staged_part_bank_scanout),
572 .dout ({arbadr_ncu_l2t_pm_n,
573 arbadr_2bnk_true_enbld,
574 arbadr_4bnk_true_enbld}),
575 .din ({arbadr_ncu_l2t_pm_n_dist,
576 arbadr_2bnk_true_enbld_dist,
577 arbadr_4bnk_true_enbld_dist}),
578 .l1clk (l1clk),
579 .siclk(siclk),
580 .soclk(soclk)
581 );
582
583
584//assign arb_cpuid_dec_c2[0] = (arbdec_arbdp_cpuid_c2[2:0] == 3'b000);
585//assign arb_cpuid_dec_c2[1] = (arbdec_arbdp_cpuid_c2[2:0] == 3'b001);
586//assign arb_cpuid_dec_c2[2] = (arbdec_arbdp_cpuid_c2[2:0] == 3'b010);
587//assign arb_cpuid_dec_c2[3] = (arbdec_arbdp_cpuid_c2[2:0] == 3'b011);
588//assign arb_cpuid_dec_c2[4] = (arbdec_arbdp_cpuid_c2[2:0] == 3'b100);
589//assign arb_cpuid_dec_c2[5] = (arbdec_arbdp_cpuid_c2[2:0] == 3'b101);
590//assign arb_cpuid_dec_c2[6] = (arbdec_arbdp_cpuid_c2[2:0] == 3'b110);
591//assign arb_cpuid_dec_c2[7] = (arbdec_arbdp_cpuid_c2[2:0] == 3'b111);
592
593
594
595
596
597assign sum01 = {1'b0,spc0_avl} + {1'b0,spc1_avl};
598assign sum012 = {1'b0,spc0_avl} + {1'b0,spc1_avl} + {1'b0,spc2_avl};
599assign sum0123 = {2'b00,spc0_avl} + {2'b00,spc1_avl} + {2'b00,spc2_avl} + {2'b00,spc3_avl};
600assign sum01234 = {2'b00,spc0_avl} + {2'b00,spc1_avl} + {2'b00,spc2_avl} + {2'b00,spc3_avl} + {2'b00,spc4_avl};
601assign sum012345 = {2'b00,spc0_avl} + {2'b00,spc1_avl} + {2'b00,spc2_avl} + {2'b00,spc3_avl} + {2'b00,spc4_avl} + {2'b00,spc5_avl};
602assign sum0123456 = {2'b00,spc0_avl} + {2'b00,spc1_avl} + {2'b00,spc2_avl} + {2'b00,spc3_avl} + {2'b00,spc4_avl} + {2'b00,spc5_avl}
603 + {2'b00,spc6_avl};
604
605assign sum0 = spc0_avl;
606
607
608//assign sel_00 = sel_bot_seg;
609//
610//assign sel_bot_seg = (arb_cpuid_dec_c2[0]) |
611// (arb_cpuid_dec_c2[1] & (sum0 == 1'b0)) |
612// (arb_cpuid_dec_c2[2] & (sum01 == 2'b00)) |
613// (arb_cpuid_dec_c2[3] & (sum012 == 2'b00)) |
614// (arb_cpuid_dec_c2[4] & (sum0123 == 3'b000)) |
615// (arb_cpuid_dec_c2[5] & (sum01234 == 3'b000)) |
616// (arb_cpuid_dec_c2[6] & (sum012345 == 3'b000)) |
617// (arb_cpuid_dec_c2[7] & (sum0123456 == 3'b000));
618//
619//assign sel_01 = (arb_cpuid_dec_c2[1] & (sum0 == 1'b1)) |
620// (arb_cpuid_dec_c2[2] & (sum01 == 2'b01)) |
621// (arb_cpuid_dec_c2[3] & (sum012 == 2'b01)) |
622// (arb_cpuid_dec_c2[4] & (sum0123 == 3'b001)) |
623// (arb_cpuid_dec_c2[5] & (sum01234 == 3'b001)) |
624// (arb_cpuid_dec_c2[6] & (sum012345 == 3'b001)) |
625// (arb_cpuid_dec_c2[7] & (sum0123456 == 3'b001));
626//
627//assign sel_10 = (arb_cpuid_dec_c2[2] & (sum01 == 2'b10)) |
628// (arb_cpuid_dec_c2[3] & (sum012 == 2'b10)) |
629// (arb_cpuid_dec_c2[4] & (sum0123 == 3'b010)) |
630// (arb_cpuid_dec_c2[5] & (sum01234 == 3'b010)) |
631// (arb_cpuid_dec_c2[6] & (sum012345 == 3'b010)) |
632// (arb_cpuid_dec_c2[7] & (sum0123456 == 3'b010));
633//
634//assign sel_11 = (arb_cpuid_dec_c2[3] & (sum012 == 2'b11)) |
635// (arb_cpuid_dec_c2[4] & (sum0123 == 3'b011)) |
636// (arb_cpuid_dec_c2[5] & (sum01234 == 3'b011)) |
637// (arb_cpuid_dec_c2[6] & (sum012345 == 3'b011)) |
638// (arb_cpuid_dec_c2[7] & (sum0123456 == 3'b011));
639
640assign arb_dirvec_cpu0_sel00 = arbadr_4bnk_true_enbld & sum0;
641assign arb_dirvec_cpu0_selbot = arbadr_2bnk_true_enbld & sum0; // fix for bug 93049, had a typo here.
642 // should have been arbadr_2bnk_true_enbld
643 // instead of "arbadr_4bnk_true_enbld"
644
645assign arb_dirvec_cpu1_sel00_w = arbadr_4bnk_true_enbld & ~sum0 & (sum01==2'b01);
646assign arb_dirvec_cpu1_sel01_w = arbadr_4bnk_true_enbld & (sum01==2'b10);
647assign arb_dirvec_cpu1_selbot_w = arbadr_2bnk_true_enbld & ~sum0 & (sum01==2'b01);
648assign arb_dirvec_cpu1_seltop_w = arbadr_2bnk_true_enbld & (sum01==2'b10);
649assign arb_dirvec_cpu2_sel00_w = arbadr_4bnk_true_enbld & (sum01==2'b00) & (sum012 == 2'b01);
650assign arb_dirvec_cpu2_sel01_w = arbadr_4bnk_true_enbld & (sum01==2'b01) & (sum012 == 2'b10);
651assign arb_dirvec_cpu2_sel10_w = arbadr_4bnk_true_enbld & (sum01==2'b10) & (sum012 == 2'b11);
652assign arb_dirvec_cpu2_selbot_w = arbadr_2bnk_true_enbld & (sum01==2'b00) & (sum012 == 2'b01);
653assign arb_dirvec_cpu2_seltop_w = arbadr_2bnk_true_enbld & (sum01==2'b01) & (sum012 == 2'b10);
654assign arb_dirvec_cpu3_sel00_w = arbadr_4bnk_true_enbld & (sum012 == 2'b00) & (sum0123 == 3'b001);
655assign arb_dirvec_cpu3_sel01_w = arbadr_4bnk_true_enbld & (sum012 == 2'b01) & (sum0123 == 3'b010);
656assign arb_dirvec_cpu3_sel10_w = arbadr_4bnk_true_enbld & (sum012 == 2'b10) & (sum0123 == 3'b011);
657assign arb_dirvec_cpu3_sel11_w = arbadr_4bnk_true_enbld & (sum012 == 2'b11) & (sum0123 == 3'b100);
658assign arb_dirvec_cpu3_selbot_w = arbadr_2bnk_true_enbld & (sum012 == 2'b00) & (sum0123 == 3'b001);
659assign arb_dirvec_cpu3_seltop_w = arbadr_2bnk_true_enbld & (sum012 == 2'b01) & (sum0123 == 3'b010);
660assign arb_dirvec_cpu4_sel00_w = arbadr_4bnk_true_enbld & (sum0123 == 3'b000) & (sum01234 == 3'b001);
661assign arb_dirvec_cpu4_sel01_w = arbadr_4bnk_true_enbld & (sum0123 == 3'b001) & (sum01234 == 3'b010);
662assign arb_dirvec_cpu4_sel10_w = arbadr_4bnk_true_enbld & (sum0123 == 3'b010) & (sum01234 == 3'b011);
663assign arb_dirvec_cpu4_sel11_w = arbadr_4bnk_true_enbld & (sum0123 == 3'b011) & (sum01234 == 3'b100);
664assign arb_dirvec_cpu4_selbot_w = arbadr_2bnk_true_enbld & (sum0123 == 3'b000) & (sum01234 == 3'b001);
665assign arb_dirvec_cpu4_seltop_w = arbadr_2bnk_true_enbld & (sum0123 == 3'b001) & (sum01234 == 3'b010);
666assign arb_dirvec_cpu5_sel00_w = arbadr_4bnk_true_enbld & (sum01234 == 3'b000) & (sum012345== 3'b001);
667assign arb_dirvec_cpu5_sel01_w = arbadr_4bnk_true_enbld & (sum01234 == 3'b001) & (sum012345== 3'b010);
668assign arb_dirvec_cpu5_sel10_w = arbadr_4bnk_true_enbld & (sum01234 == 3'b010) & (sum012345== 3'b011);
669assign arb_dirvec_cpu5_sel11_w = arbadr_4bnk_true_enbld & (sum01234 == 3'b011) & (sum012345== 3'b100);
670assign arb_dirvec_cpu5_selbot_w = arbadr_2bnk_true_enbld & (sum01234 == 3'b000) & (sum012345 == 3'b001);
671assign arb_dirvec_cpu5_seltop_w = arbadr_2bnk_true_enbld & (sum01234 == 3'b001) & (sum012345 == 3'b010);
672assign arb_dirvec_cpu6_sel00_w = arbadr_4bnk_true_enbld & (sum012345 == 3'b000) & (sum0123456 == 3'b001);
673assign arb_dirvec_cpu6_sel01_w = arbadr_4bnk_true_enbld & (sum012345 == 3'b001) & (sum0123456 == 3'b010);
674assign arb_dirvec_cpu6_sel10_w = arbadr_4bnk_true_enbld & (sum012345 == 3'b010) & (sum0123456 == 3'b011);
675assign arb_dirvec_cpu6_sel11_w = arbadr_4bnk_true_enbld & (sum012345 == 3'b011) & (sum0123456 == 3'b100);
676assign arb_dirvec_cpu6_selbot_w = arbadr_2bnk_true_enbld & (sum012345 == 3'b000) & (sum0123456 == 3'b001);
677assign arb_dirvec_cpu6_seltop_w = arbadr_2bnk_true_enbld & (sum012345 == 3'b001) & (sum0123456 == 3'b010);
678assign arb_dirvec_cpu7_sel00_w = arbadr_4bnk_true_enbld & (sum0123456 == 3'b000) & spc7_avl;
679assign arb_dirvec_cpu7_sel01_w = arbadr_4bnk_true_enbld & (sum0123456 == 3'b001) & spc7_avl;
680assign arb_dirvec_cpu7_sel10_w = arbadr_4bnk_true_enbld & (sum0123456 == 3'b010) & spc7_avl;
681assign arb_dirvec_cpu7_sel11_w = arbadr_4bnk_true_enbld & (sum0123456 == 3'b011) & spc7_avl;
682assign arb_dirvec_cpu7_selbot_w = arbadr_2bnk_true_enbld & (sum0123456 == 3'b000) & spc7_avl;
683assign arb_dirvec_cpu7_seltop_w = arbadr_2bnk_true_enbld & (sum0123456 == 3'b001) & spc7_avl;
684
685l2t_dirvec_ctl_msff_ctl_macro__width_39 ff_partial_bank_support
686 (
687 .scan_in(ff_partial_bank_support_scanin),
688 .scan_out(ff_partial_bank_support_scanout),
689 .din ({ arb_dirvec_cpu1_sel00_w, arb_dirvec_cpu1_sel01_w,
690 arb_dirvec_cpu1_selbot_w, arb_dirvec_cpu1_seltop_w, arb_dirvec_cpu2_sel00_w,
691 arb_dirvec_cpu2_sel01_w, arb_dirvec_cpu2_sel10_w, arb_dirvec_cpu2_selbot_w,
692 arb_dirvec_cpu2_seltop_w, arb_dirvec_cpu3_sel00_w, arb_dirvec_cpu3_sel01_w,
693 arb_dirvec_cpu3_sel10_w, arb_dirvec_cpu3_sel11_w, arb_dirvec_cpu3_selbot_w,
694 arb_dirvec_cpu3_seltop_w, arb_dirvec_cpu4_sel00_w, arb_dirvec_cpu4_sel01_w,
695 arb_dirvec_cpu4_sel10_w, arb_dirvec_cpu4_sel11_w, arb_dirvec_cpu4_selbot_w,
696 arb_dirvec_cpu4_seltop_w, arb_dirvec_cpu5_sel00_w, arb_dirvec_cpu5_sel01_w,
697 arb_dirvec_cpu5_sel10_w, arb_dirvec_cpu5_sel11_w, arb_dirvec_cpu5_selbot_w,
698 arb_dirvec_cpu5_seltop_w, arb_dirvec_cpu6_sel00_w, arb_dirvec_cpu6_sel01_w,
699 arb_dirvec_cpu6_sel10_w, arb_dirvec_cpu6_sel11_w, arb_dirvec_cpu6_selbot_w,
700 arb_dirvec_cpu6_seltop_w, arb_dirvec_cpu7_sel00_w, arb_dirvec_cpu7_sel01_w,
701 arb_dirvec_cpu7_sel10_w, arb_dirvec_cpu7_sel11_w, arb_dirvec_cpu7_selbot_w,
702 arb_dirvec_cpu7_seltop_w}),
703 .dout ({ arb_dirvec_cpu1_sel00, arb_dirvec_cpu1_sel01,
704 arb_dirvec_cpu1_selbot, arb_dirvec_cpu1_seltop, arb_dirvec_cpu2_sel00,
705 arb_dirvec_cpu2_sel01, arb_dirvec_cpu2_sel10, arb_dirvec_cpu2_selbot,
706 arb_dirvec_cpu2_seltop, arb_dirvec_cpu3_sel00, arb_dirvec_cpu3_sel01,
707 arb_dirvec_cpu3_sel10, arb_dirvec_cpu3_sel11, arb_dirvec_cpu3_selbot,
708 arb_dirvec_cpu3_seltop, arb_dirvec_cpu4_sel00, arb_dirvec_cpu4_sel01,
709 arb_dirvec_cpu4_sel10, arb_dirvec_cpu4_sel11, arb_dirvec_cpu4_selbot,
710 arb_dirvec_cpu4_seltop, arb_dirvec_cpu5_sel00, arb_dirvec_cpu5_sel01,
711 arb_dirvec_cpu5_sel10, arb_dirvec_cpu5_sel11, arb_dirvec_cpu5_selbot,
712 arb_dirvec_cpu5_seltop, arb_dirvec_cpu6_sel00, arb_dirvec_cpu6_sel01,
713 arb_dirvec_cpu6_sel10, arb_dirvec_cpu6_sel11, arb_dirvec_cpu6_selbot,
714 arb_dirvec_cpu6_seltop, arb_dirvec_cpu7_sel00, arb_dirvec_cpu7_sel01,
715 arb_dirvec_cpu7_sel10, arb_dirvec_cpu7_sel11, arb_dirvec_cpu7_selbot,
716 arb_dirvec_cpu7_seltop}),
717 .l1clk (l1clk),
718 .siclk(siclk),
719 .soclk(soclk)
720 );
721
722
723
724
725
726
727
728
729//************************************************************************************
730// FLOP INVAL PCKT TILL C6
731//************************************************************************************
732
733
734// BS and SR 11/12/03 N2 Xbar Packet format change
735
736
737
738l2t_dirvec_ctl_l1clkhdr_ctl_macro clkgen (
739 .l2clk(l2clk),
740 .l1en(1'b1 ),
741 .l1clk(l1clk),
742 .pce_ov(pce_ov),
743 .stop(stop),
744 .se(se));
745
746
747assign sel_st_ack_c7_n = ~sel_st_ack_c7;
748
749assign dirvec_dirdp_inval_pckt_c7[63:0] = dirvec_dirdp_inval_pckt_c7_tmp[63:0];
750
751//mux_ctl_macro dirvec_dirdp_inval_pckt_c7_slice0_1 (width=32,ports=2,mux=aonpe)
752// (
753// .dout (dirvec_dirdp_inval_pckt_c7[63:32]),
754// .din0 (dirvec_dirdp_inval_pckt_c7_tmp[63:32]),
755// .din1 (st_ack_data[63:32]), // BS and SR 12/22/03, store ack generation for diagnostic store
756// .sel0 (sel_st_ack_c7_n),
757// .sel1 (sel_st_ack_c7)
758// );
759//
760//mux_ctl_macro dirvec_dirdp_inval_pckt_c7_slice0_2 (width=32,ports=2,mux=aonpe)
761// (
762// .dout (dirvec_dirdp_inval_pckt_c7[31:0]),
763// .din0 (dirvec_dirdp_inval_pckt_c7_tmp[31:0]),
764// .din1 (st_ack_data[31:0]), // BS and SR 12/22/03, store ack generation for diagnostic store
765// .sel0 (sel_st_ack_c7_n),
766// .sel1 (sel_st_ack_c7)
767// );
768//
769//// BS and SR 1/29/04
770//// Depnding on the address bits [5:4], the store ack bits[95:64] have to
771// be appropriately picked from dirvec_dirdp_inval_pckt_c7_tmp[111:0]
772//
773
774//inv_macro inv_arbadr_arbdp_line_addr_c7_5 (width=1)
775// (
776// .dout (arbadr_arbdp_line_addr_c7_5_n),
777// .din (arbadr_arbdp_line_addr_c7[5])
778// );
779//
780//inv_macro inv_arbadr_arbdp_line_addr_c7_4 (width=1)
781// (
782// .dout (arbadr_arbdp_line_addr_c7_4_n),
783// .din (arbadr_arbdp_line_addr_c7[4])
784// );
785//
786//and_macro and_sel_inv_pkt_vack0 (width=1,ports=2)
787// (
788// .dout (sel_inv_pkt_vack0),
789// .din0 (arbadr_arbdp_line_addr_c7_5_n),
790// .din1 (arbadr_arbdp_line_addr_c7_4_n)
791// );
792//
793//and_macro and_sel_inv_pkt_vack1 (width=1,ports=2)
794// (
795// .dout (sel_inv_pkt_vack1),
796// .din0 (arbadr_arbdp_line_addr_c7_5_n),
797// .din1 (arbadr_arbdp_line_addr_c7[4])
798// );
799//
800//and_macro and_sel_inv_pkt_vack2 (width=1,ports=2)
801// (
802// .dout (sel_inv_pkt_vack2),
803// .din0 (arbadr_arbdp_line_addr_c7[5]),
804// .din1 (arbadr_arbdp_line_addr_c7_4_n)
805// );
806//
807//and_macro and_sel_inv_pkt_vack3 (width=1,ports=2)
808// (
809// .dout (sel_inv_pkt_vack3),
810// .din0 (arbadr_arbdp_line_addr_c7[5]),
811// .din1 (arbadr_arbdp_line_addr_c7[4])
812// );
813
814assign arbadr_arbdp_line_addr_c7_5_n = ~arbadr_arbdp_line_addr_c7[5];
815assign arbadr_arbdp_line_addr_c7_4_n = ~arbadr_arbdp_line_addr_c7[4];
816assign sel_inv_pkt_vack0 = arbadr_arbdp_line_addr_c7_5_n & arbadr_arbdp_line_addr_c7_4_n;
817assign sel_inv_pkt_vack1 = arbadr_arbdp_line_addr_c7_5_n & arbadr_arbdp_line_addr_c7[4];
818assign sel_inv_pkt_vack2 = arbadr_arbdp_line_addr_c7[5] & arbadr_arbdp_line_addr_c7_4_n;
819assign sel_inv_pkt_vack3 = arbadr_arbdp_line_addr_c7[5] & arbadr_arbdp_line_addr_c7[4];
820
821// BS 03/25/04
822// fix for bugs 80709 and 81416 ::
823// since icache stores can come with PA[5:4] = 01 or 11, (i.e 16 bytes aligned), we
824// still need to invalidate all copies in L1's. hence if I$ Dir hit is high,
825// we choose dirvec_dirdp_inval_pckt_c7_tmp[87:56] in case of PA[5:4] == 11, and
826// dirvec_dirdp_inval_pckt_c7_tmp[31:0] in case of PA[5:4] == 01 to be
827// driven out on dirvec_dirdp_pckt_vack1_c7[31:0], otherwise result of D$ DIR CAM
828// for PA[5:4] == 11 and 01 get driven out.
829
830
831// bits 3:0 for <5:4> = 01
832//and_macro dirvec_vack1_ic_inv_0to3_slice (width=4,ports=2)
833// (
834// .dout(dirvec_vack1_ic_inv_0to3[3:0]),
835// .din0(dirvec_dirdp_inval_pckt_c7_tmp[3:0]),
836// .din1({4{dirvec_dirdp_inval_pckt_c7_tmp[0]}}) // cpu 0 I$ inval true for <5> = 0
837// );
838
839assign dirvec_vack1_ic_inv_0to3[3:0] = dirvec_dirdp_inval_pckt_c7_tmp[3:0] & ({4{dirvec_dirdp_inval_pckt_c7_tmp[0]}});
840
841//or_macro dirvec_vack1_0to3_slice (width=4,ports=2)
842// (
843// .dout(dirvec_dirdp_pckt_vack1_c7[3:0]),
844// .din0(dirvec_vack1_ic_inv_0to3[3:0]),
845// .din1({dirvec_dirdp_inval_pckt_c7_tmp[34:32],1'b0}) // cpu 0 D$ inval for <5:4> = 01, if true
846// );
847
848
849assign dirvec_dirdp_pckt_vack1_c7[3:0] = dirvec_vack1_ic_inv_0to3[3:0] |
850 {dirvec_dirdp_inval_pckt_c7_tmp[34:32],1'b0};
851
852
853
854//// bits 7:4 for <5:4> = 01
855//and_macro dirvec_vack1_ic_inv_4to7_slice (width=4,ports=2)
856// (
857// .dout(dirvec_vack1_ic_inv_4to7[3:0]),
858// .din0(dirvec_dirdp_inval_pckt_c7_tmp[7:4]),
859// .din1({4{dirvec_dirdp_inval_pckt_c7_tmp[4]}}) // cpu 1 I$ inval true for <5> = 0
860// );
861//
862//or_macro dirvec_vack1_4to7_slice (width=4,ports=2)
863// (
864// .dout(dirvec_dirdp_pckt_vack1_c7[7:4]),
865// .din0(dirvec_vack1_ic_inv_4to7[3:0]),
866// .din1({dirvec_dirdp_inval_pckt_c7_tmp[37:35],1'b0}) // cpu 1 D$ inval for <5:4> = 01, if true
867// );
868
869assign dirvec_vack1_ic_inv_4to7[3:0] = dirvec_dirdp_inval_pckt_c7_tmp[7:4] &
870 ({4{dirvec_dirdp_inval_pckt_c7_tmp[4]}});
871
872assign dirvec_dirdp_pckt_vack1_c7[7:4] = dirvec_vack1_ic_inv_4to7[3:0] |
873 ({dirvec_dirdp_inval_pckt_c7_tmp[37:35],1'b0});
874
875
876//// bits 11:8 for <5:4> = 01
877//and_macro dirvec_vack1_ic_inv_8to11_slice (width=4,ports=2)
878// (
879// .dout(dirvec_vack1_ic_inv_8to11[3:0]),
880// .din0(dirvec_dirdp_inval_pckt_c7_tmp[11:8]),
881// .din1({4{dirvec_dirdp_inval_pckt_c7_tmp[8]}}) // cpu 2 I$ inval true for <5> = 0
882// );
883//
884//or_macro dirvec_vack1_8to11_slice (width=4,ports=2)
885// (
886// .dout(dirvec_dirdp_pckt_vack1_c7[11:8]),
887// .din0(dirvec_vack1_ic_inv_8to11[3:0]),
888// .din1({dirvec_dirdp_inval_pckt_c7_tmp[40:38],1'b0}) // cpu 2 D$ inval for <5:4> = 01, if true
889// );
890
891assign dirvec_vack1_ic_inv_8to11[3:0] = dirvec_dirdp_inval_pckt_c7_tmp[11:8] &
892 ({4{dirvec_dirdp_inval_pckt_c7_tmp[8]}});
893
894assign dirvec_dirdp_pckt_vack1_c7[11:8] = dirvec_vack1_ic_inv_8to11[3:0] |
895 ({dirvec_dirdp_inval_pckt_c7_tmp[40:38],1'b0});
896
897
898//// bits 15:12 for <5:4> = 01
899//and_macro dirvec_vack1_ic_inv_12to15_slice (width=4,ports=2)
900// (
901// .dout(dirvec_vack1_ic_inv_12to15[3:0]),
902// .din0(dirvec_dirdp_inval_pckt_c7_tmp[15:12]),
903// .din1({4{dirvec_dirdp_inval_pckt_c7_tmp[12]}}) // cpu 3 I$ inval true for <5> = 0
904// );
905//
906//or_macro dirvec_vack1_12to15_slice (width=4,ports=2)
907// (
908// .dout(dirvec_dirdp_pckt_vack1_c7[15:12]),
909// .din0(dirvec_vack1_ic_inv_12to15[3:0]),
910// .din1({dirvec_dirdp_inval_pckt_c7_tmp[43:41],1'b0}) // cpu 3 D$ inval for <5:4> = 01, if true
911// );
912
913assign dirvec_vack1_ic_inv_12to15[3:0] = dirvec_dirdp_inval_pckt_c7_tmp[15:12] &
914 ({4{dirvec_dirdp_inval_pckt_c7_tmp[12]}});
915
916assign dirvec_dirdp_pckt_vack1_c7[15:12] = dirvec_vack1_ic_inv_12to15[3:0] |
917 ({dirvec_dirdp_inval_pckt_c7_tmp[43:41],1'b0});
918
919//// bits 19:16 for <5:4> = 01
920//and_macro dirvec_vack1_ic_inv_16to19_slice (width=4,ports=2)
921// (
922// .dout(dirvec_vack1_ic_inv_16to19[3:0]),
923// .din0(dirvec_dirdp_inval_pckt_c7_tmp[19:16]),
924// .din1({4{dirvec_dirdp_inval_pckt_c7_tmp[16]}}) // cpu 4 I$ inval true for <5> = 0
925// );
926//
927//or_macro dirvec_vack1_16to19_slice (width=4,ports=2)
928// (
929// .dout(dirvec_dirdp_pckt_vack1_c7[19:16]),
930// .din0(dirvec_vack1_ic_inv_16to19[3:0]),
931// .din1({dirvec_dirdp_inval_pckt_c7_tmp[46:44],1'b0}) // cpu 4 D$ inval for <5:4> = 01, if true
932// );
933
934assign dirvec_vack1_ic_inv_16to19[3:0] = dirvec_dirdp_inval_pckt_c7_tmp[19:16] &
935 ({4{dirvec_dirdp_inval_pckt_c7_tmp[16]}});
936
937assign dirvec_dirdp_pckt_vack1_c7[19:16] = dirvec_vack1_ic_inv_16to19[3:0] |
938 ({dirvec_dirdp_inval_pckt_c7_tmp[46:44],1'b0});
939
940//// bits 23:20 for <5:4> = 01
941//and_macro dirvec_vack1_ic_inv_20to23_slice (width=4,ports=2)
942// (
943// .dout(dirvec_vack1_ic_inv_20to23[3:0]),
944// .din0(dirvec_dirdp_inval_pckt_c7_tmp[23:20]),
945// .din1({4{dirvec_dirdp_inval_pckt_c7_tmp[20]}}) // cpu 5 I$ inval true for <5> = 0
946// );
947//
948//or_macro dirvec_vack1_20to23_slice (width=4,ports=2)
949// (
950// .dout(dirvec_dirdp_pckt_vack1_c7[23:20]),
951// .din0(dirvec_vack1_ic_inv_20to23[3:0]),
952// .din1({dirvec_dirdp_inval_pckt_c7_tmp[49:47],1'b0}) // cpu 5 D$ inval for <5:4> = 01, if true
953// );
954
955assign dirvec_vack1_ic_inv_20to23[3:0] = dirvec_dirdp_inval_pckt_c7_tmp[23:20] &
956 ({4{dirvec_dirdp_inval_pckt_c7_tmp[20]}});
957
958assign dirvec_dirdp_pckt_vack1_c7[23:20] = dirvec_vack1_ic_inv_20to23[3:0] |
959 ({dirvec_dirdp_inval_pckt_c7_tmp[49:47],1'b0});
960
961//// bits 27:24 for <5:4> = 01
962//and_macro dirvec_vack1_ic_inv_24to27_slice (width=4,ports=2)
963// (
964// .dout(dirvec_vack1_ic_inv_24to27[3:0]),
965// .din0(dirvec_dirdp_inval_pckt_c7_tmp[27:24]),
966// .din1({4{dirvec_dirdp_inval_pckt_c7_tmp[24]}}) // cpu 6 I$ inval true for <5> = 0
967// );
968//
969//or_macro dirvec_vack1_24to27_slice (width=4,ports=2)
970// (
971// .dout(dirvec_dirdp_pckt_vack1_c7[27:24]),
972// .din0(dirvec_vack1_ic_inv_24to27[3:0]),
973// .din1({dirvec_dirdp_inval_pckt_c7_tmp[52:50],1'b0}) // cpu 6 D$ inval for <5:4> = 01, if true
974// );
975
976assign dirvec_vack1_ic_inv_24to27[3:0] = dirvec_dirdp_inval_pckt_c7_tmp[27:24] &
977 ({4{dirvec_dirdp_inval_pckt_c7_tmp[24]}});
978
979assign dirvec_dirdp_pckt_vack1_c7[27:24] = dirvec_vack1_ic_inv_24to27[3:0] |
980 ({dirvec_dirdp_inval_pckt_c7_tmp[52:50],1'b0});
981
982//// bits 31:28 for <5:4> = 01
983//and_macro dirvec_vack1_ic_inv_28to31_slice (width=4,ports=2)
984// (
985// .dout(dirvec_vack1_ic_inv_28to31[3:0]),
986// .din0(dirvec_dirdp_inval_pckt_c7_tmp[31:28]),
987// .din1({4{dirvec_dirdp_inval_pckt_c7_tmp[28]}}) // cpu 7 I$ inval true for <5> = 0
988// );
989//
990//or_macro dirvec_vack1_28to31_slice (width=4,ports=2)
991// (
992// .dout(dirvec_dirdp_pckt_vack1_c7[31:28]),
993// .din0(dirvec_vack1_ic_inv_28to31[3:0]),
994// .din1({dirvec_dirdp_inval_pckt_c7_tmp[55:53],1'b0}) // cpu 7 D$ inval for <5:4> = 01, if true
995// );
996
997
998assign dirvec_vack1_ic_inv_28to31[3:0] = dirvec_dirdp_inval_pckt_c7_tmp[31:28] &
999 ({4{dirvec_dirdp_inval_pckt_c7_tmp[28]}});
1000assign dirvec_dirdp_pckt_vack1_c7[31:28] = dirvec_vack1_ic_inv_28to31[3:0] |
1001 ({dirvec_dirdp_inval_pckt_c7_tmp[55:53],1'b0});
1002
1003//
1004//// bits 3:0 for <5:4> = 11
1005//and_macro dirvec_vack3_ic_inv_0to3_slice (width=4,ports=2)
1006// (
1007// .dout(dirvec_vack3_ic_inv_0to3[3:0]),
1008// .din0(dirvec_dirdp_inval_pckt_c7_tmp[59:56]),
1009// .din1({4{dirvec_dirdp_inval_pckt_c7_tmp[56]}}) // cpu 0 I$ inval true for <5> = 1
1010// );
1011//
1012//or_macro dirvec_vack3_0to3_slice (width=4,ports=2)
1013// (
1014// .dout(dirvec_dirdp_pckt_vack3_c7[3:0]),
1015// .din0(dirvec_vack3_ic_inv_0to3[3:0]),
1016// .din1({dirvec_dirdp_inval_pckt_c7_tmp[90:88],1'b0}) // cpu 0 D$ inval for <5:4> = 11, if true
1017// );
1018
1019
1020assign dirvec_vack3_ic_inv_0to3[3:0] = dirvec_dirdp_inval_pckt_c7_tmp[59:56] &
1021 ({4{dirvec_dirdp_inval_pckt_c7_tmp[56]}});
1022assign dirvec_dirdp_pckt_vack3_c7[3:0] = dirvec_vack3_ic_inv_0to3[3:0] |
1023 ({dirvec_dirdp_inval_pckt_c7_tmp[90:88],1'b0});
1024
1025
1026//// bits 7:4 for <5:4> = 11
1027//and_macro dirvec_vack3_ic_inv_4to7_slice (width=4,ports=2)
1028// (
1029// .dout(dirvec_vack3_ic_inv_4to7[3:0]),
1030// .din0(dirvec_dirdp_inval_pckt_c7_tmp[63:60]),
1031// .din1({4{dirvec_dirdp_inval_pckt_c7_tmp[60]}}) // cpu 1 I$ inval true for <5> = 1
1032// );
1033//
1034//or_macro dirvec_vack3_4to7_slice (width=4,ports=2)
1035// (
1036// .dout(dirvec_dirdp_pckt_vack3_c7[7:4]),
1037// .din0(dirvec_vack3_ic_inv_4to7[3:0]),
1038// .din1({dirvec_dirdp_inval_pckt_c7_tmp[93:91],1'b0}) // cpu 1 D$ inval for <5:4> = 11, if true
1039// );
1040
1041assign dirvec_vack3_ic_inv_4to7[3:0] = dirvec_dirdp_inval_pckt_c7_tmp[63:60] &
1042 ({4{dirvec_dirdp_inval_pckt_c7_tmp[60]}});
1043assign dirvec_dirdp_pckt_vack3_c7[7:4] = dirvec_vack3_ic_inv_4to7[3:0] |
1044 ({dirvec_dirdp_inval_pckt_c7_tmp[93:91],1'b0});
1045
1046//// bits 11:8 for <5:4> = 11
1047//and_macro dirvec_vack3_ic_inv_8to11_slice (width=4,ports=2)
1048// (
1049// .dout(dirvec_vack3_ic_inv_8to11[3:0]),
1050// .din0(dirvec_dirdp_inval_pckt_c7_tmp[67:64]),
1051// .din1({4{dirvec_dirdp_inval_pckt_c7_tmp[64]}}) // cpu 2 I$ inval true for <5> = 1
1052// );
1053//
1054//or_macro dirvec_vack3_8to11_slice (width=4,ports=2)
1055// (
1056// .dout(dirvec_dirdp_pckt_vack3_c7[11:8]),
1057// .din0(dirvec_vack3_ic_inv_8to11[3:0]),
1058// .din1({dirvec_dirdp_inval_pckt_c7_tmp[96:94],1'b0}) // cpu 2 D$ inval for <5:4> = 11, if true
1059// );
1060
1061assign dirvec_vack3_ic_inv_8to11[3:0] = dirvec_dirdp_inval_pckt_c7_tmp[67:64] &
1062 ({4{dirvec_dirdp_inval_pckt_c7_tmp[64]}});
1063assign dirvec_dirdp_pckt_vack3_c7[11:8] = dirvec_vack3_ic_inv_8to11[3:0] |
1064 ({dirvec_dirdp_inval_pckt_c7_tmp[96:94],1'b0}) ;
1065
1066//// bits 15:12 for <5:4> = 11
1067//and_macro dirvec_vack3_ic_inv_12to15_slice (width=4,ports=2)
1068// (
1069// .dout(dirvec_vack3_ic_inv_12to15[3:0]),
1070// .din0(dirvec_dirdp_inval_pckt_c7_tmp[71:68]),
1071// .din1({4{dirvec_dirdp_inval_pckt_c7_tmp[68]}}) // cpu 3 I$ inval true for <5> = 1
1072// );
1073//
1074//or_macro dirvec_vack3_12to15_slice (width=4,ports=2)
1075// (
1076// .dout(dirvec_dirdp_pckt_vack3_c7[15:12]),
1077// .din0(dirvec_vack3_ic_inv_12to15[3:0]),
1078// .din1({dirvec_dirdp_inval_pckt_c7_tmp[99:97],1'b0}) // cpu 3 D$ inval for <5:4> = 11, if true
1079// );
1080
1081assign dirvec_vack3_ic_inv_12to15[3:0] = dirvec_dirdp_inval_pckt_c7_tmp[71:68] &
1082 ({4{dirvec_dirdp_inval_pckt_c7_tmp[68]}});
1083assign dirvec_dirdp_pckt_vack3_c7[15:12] = dirvec_vack3_ic_inv_12to15[3:0] |
1084 ({dirvec_dirdp_inval_pckt_c7_tmp[99:97],1'b0});
1085
1086
1087/// bits 19:16 for <5:4> = 11
1088//and_macro dirvec_vack3_ic_inv_16to19_slice (width=4,ports=2)
1089// (
1090// .dout(dirvec_vack3_ic_inv_16to19[3:0]),
1091// .din0(dirvec_dirdp_inval_pckt_c7_tmp[75:72]),
1092// .din1({4{dirvec_dirdp_inval_pckt_c7_tmp[72]}}) // cpu 4 I$ inval true for <5> = 1
1093// );
1094//
1095//or_macro dirvec_vack3_16to19_slice (width=4,ports=2)
1096// (
1097// .dout(dirvec_dirdp_pckt_vack3_c7[19:16]),
1098// .din0(dirvec_vack3_ic_inv_16to19[3:0]),
1099// .din1({dirvec_dirdp_inval_pckt_c7_tmp[102:100],1'b0}) // cpu 4 D$ inval for <5:4> = 11, if true
1100// );
1101
1102assign dirvec_vack3_ic_inv_16to19[3:0] = dirvec_dirdp_inval_pckt_c7_tmp[75:72] &
1103 ({4{dirvec_dirdp_inval_pckt_c7_tmp[72]}});
1104assign dirvec_dirdp_pckt_vack3_c7[19:16] = dirvec_vack3_ic_inv_16to19[3:0] |
1105 ({dirvec_dirdp_inval_pckt_c7_tmp[102:100],1'b0});
1106
1107//// bits 23:20 for <5:4> = 11
1108//and_macro dirvec_vack3_ic_inv_20to23_slice (width=4,ports=2)
1109// (
1110// .dout(dirvec_vack3_ic_inv_20to23[3:0]),
1111// .din0(dirvec_dirdp_inval_pckt_c7_tmp[79:76]),
1112// .din1({4{dirvec_dirdp_inval_pckt_c7_tmp[76]}}) // cpu 5 I$ inval true for <5> = 1
1113// );
1114//
1115//or_macro dirvec_vack3_20to23_slice (width=4,ports=2)
1116// (
1117// .dout(dirvec_dirdp_pckt_vack3_c7[23:20]),
1118// .din0(dirvec_vack3_ic_inv_20to23[3:0]),
1119// .din1({dirvec_dirdp_inval_pckt_c7_tmp[105:103],1'b0}) // cpu 5 D$ inval for <5:4> = 11, if true
1120// );
1121
1122assign dirvec_vack3_ic_inv_20to23[3:0] = dirvec_dirdp_inval_pckt_c7_tmp[79:76] &
1123 ({4{dirvec_dirdp_inval_pckt_c7_tmp[76]}});
1124assign dirvec_dirdp_pckt_vack3_c7[23:20] = dirvec_vack3_ic_inv_20to23[3:0] |
1125 ({dirvec_dirdp_inval_pckt_c7_tmp[105:103],1'b0});
1126
1127//// bits 27:24 for <5:4> = 11
1128//and_macro dirvec_vack3_ic_inv_24to27_slice (width=4,ports=2)
1129// (
1130// .dout(dirvec_vack3_ic_inv_24to27[3:0]),
1131// .din0(dirvec_dirdp_inval_pckt_c7_tmp[83:80]),
1132// .din1({4{dirvec_dirdp_inval_pckt_c7_tmp[80]}}) // cpu 6 I$ inval true for <5> = 1
1133// );
1134//
1135//or_macro dirvec_vack3_24to27_slice (width=4,ports=2)
1136// (
1137// .dout(dirvec_dirdp_pckt_vack3_c7[27:24]),
1138// .din0(dirvec_vack3_ic_inv_24to27[3:0]),
1139// .din1({dirvec_dirdp_inval_pckt_c7_tmp[108:106],1'b0}) // cpu 6 D$ inval for <5:4> = 11, if true
1140// );
1141
1142assign dirvec_vack3_ic_inv_24to27[3:0] = dirvec_dirdp_inval_pckt_c7_tmp[83:80] &
1143 ({4{dirvec_dirdp_inval_pckt_c7_tmp[80]}});
1144assign dirvec_dirdp_pckt_vack3_c7[27:24] = dirvec_vack3_ic_inv_24to27[3:0] |
1145 ({dirvec_dirdp_inval_pckt_c7_tmp[108:106],1'b0});
1146
1147//// bits 31:28 for <5:4> = 11
1148//and_macro dirvec_vack3_ic_inv_28to31_slice (width=4,ports=2)
1149// (
1150// .dout(dirvec_vack3_ic_inv_28to31[3:0]),
1151// .din0(dirvec_dirdp_inval_pckt_c7_tmp[87:84]),
1152// .din1({4{dirvec_dirdp_inval_pckt_c7_tmp[84]}}) // cpu 7 I$ inval true for <5> = 1
1153// );
1154//
1155//or_macro dirvec_vack3_28to31_slice (width=4,ports=2)
1156// (
1157// .dout(dirvec_dirdp_pckt_vack3_c7[31:28]),
1158// .din0(dirvec_vack3_ic_inv_28to31[3:0]),
1159// .din1({dirvec_dirdp_inval_pckt_c7_tmp[111:109],1'b0}) // cpu 7 D$ inval for <5:4> = 11, if true
1160// );
1161
1162assign dirvec_vack3_ic_inv_28to31[3:0] = dirvec_dirdp_inval_pckt_c7_tmp[87:84] &
1163 ({4{dirvec_dirdp_inval_pckt_c7_tmp[84]}});
1164assign dirvec_dirdp_pckt_vack3_c7[31:28] = dirvec_vack3_ic_inv_28to31[3:0] |
1165 ({dirvec_dirdp_inval_pckt_c7_tmp[111:109],1'b0});
1166
1167//mux_ctl_macro dirvec_dirdp_inval_pckt_Vack_slice (width=32,ports=4,mux=pgnpe)
1168// (
1169// .dout (dirvec_dirdp_inval_pckt_vack[31:0]),
1170// .din0 (dirvec_dirdp_inval_pckt_c7_tmp[31:0]),
1171// .din1 (dirvec_dirdp_pckt_vack1_c7[31:0]),
1172// .din2 (dirvec_dirdp_inval_pckt_c7_tmp[87:56]),
1173// .din3 (dirvec_dirdp_pckt_vack3_c7[31:0]),
1174// .sel0 ( sel_inv_pkt_vack0 ),
1175// .sel1 ( sel_inv_pkt_vack1 ),
1176// .sel2 ( sel_inv_pkt_vack2 ),
1177// .sel3 ( sel_inv_pkt_vack3 )
1178// );
1179
1180
1181always@(dirvec_dirdp_inval_pckt_c7_tmp or dirvec_dirdp_pckt_vack1_c7 or dirvec_dirdp_inval_pckt_c7_tmp
1182 or dirvec_dirdp_pckt_vack3_c7 or sel_inv_pkt_vack0 or sel_inv_pkt_vack1 or sel_inv_pkt_vack2
1183 or sel_inv_pkt_vack3)
1184begin
1185case({sel_inv_pkt_vack3,sel_inv_pkt_vack2,sel_inv_pkt_vack1,sel_inv_pkt_vack0}) // synopsys parallel_case full_case
11864'b0001 : dirvec_dirdp_inval_pckt_vack[31:0] = dirvec_dirdp_inval_pckt_c7_tmp[31:0];
11874'b0010 : dirvec_dirdp_inval_pckt_vack[31:0] = dirvec_dirdp_pckt_vack1_c7[31:0];
11884'b0100 : dirvec_dirdp_inval_pckt_vack[31:0] = dirvec_dirdp_inval_pckt_c7_tmp[87:56];
11894'b1000 : dirvec_dirdp_inval_pckt_vack[31:0] = dirvec_dirdp_pckt_vack3_c7[31:0];
1190endcase
1191end
1192
1193
1194
1195l2t_dirvec_ctl_mux_ctl_macro__mux_aonpe__ports_2__width_24 dirvec_dirdp_inval_pckt_c7_slice1_1
1196 (
1197 .dout (dirvec_dirdp_inval_pckt_c7[111:88]),
1198 .din0 (dirvec_dirdp_inval_pckt_c7_tmp[111:88]),
1199 .din1 ({7'b0,arbadr_dirvec_addr3_c7,st_ack_bmask[7:0],
1200 dirvec_dirdp_inval_pckt_vack[31:24]}),
1201 .sel0 (sel_st_ack_c7_n),
1202 .sel1 (sel_st_ack_c7)
1203 );
1204
1205l2t_dirvec_ctl_mux_ctl_macro__mux_aonpe__ports_2__width_24 dirvec_dirdp_inval_pckt_c7_slice1_2
1206 (
1207 .dout (dirvec_dirdp_inval_pckt_c7[87:64]),
1208 .din0 (dirvec_dirdp_inval_pckt_c7_tmp[87:64]),
1209 .din1 (dirvec_dirdp_inval_pckt_vack[23:0]),
1210 .sel0 (sel_st_ack_c7_n),
1211 .sel1 (sel_st_ack_c7)
1212 );
1213
1214
1215
1216//msff_ctl_macro ff_dirdp_inval_pckt_c7_slice0_1 (width=32)
1217// (.din(dirdp_inval_pckt_c6[63:32]),
1218// .scan_in(ff_dirdp_inval_pckt_c7_slice0_1_scanin),
1219// .scan_out(ff_dirdp_inval_pckt_c7_slice0_1_scanout),
1220// .l1clk(l1clk),
1221// .dout(dirvec_dirdp_inval_pckt_c7_tmp[63:32]),
1222//
1223//
1224//);
1225//
1226//msff_ctl_macro ff_dirdp_inval_pckt_c7_slice0_2 (width=32,stack=32r)
1227// (.din(dirdp_inval_pckt_c6[31:0]),
1228// .scan_in(ff_dirdp_inval_pckt_c7_slice0_2_scanin),
1229// .scan_out(ff_dirdp_inval_pckt_c7_slice0_2_scanout),
1230// .l1clk(l1clk),
1231// .dout(dirvec_dirdp_inval_pckt_c7_tmp[31:0]),
1232//
1233//
1234//);
1235//
1236//msff_ctl_macro ff_dirdp_inval_pckt_c7_slice1_1 (width=24,stack=24r)
1237// (.din(dirdp_inval_pckt_c6[111:88]),
1238// .scan_in(ff_dirdp_inval_pckt_c7_slice1_1_scanin),
1239// .scan_out(ff_dirdp_inval_pckt_c7_slice1_1_scanout),
1240// .l1clk(l1clk),
1241// .dout(dirvec_dirdp_inval_pckt_c7_tmp[111:88]),
1242//
1243//
1244//);
1245//
1246//msff_ctl_macro ff_dirdp_inval_pckt_c7_slice1_2 (width=24,stack=24r)
1247// (.din(dirdp_inval_pckt_c6[87:64]),
1248// .scan_in(ff_dirdp_inval_pckt_c7_slice1_2_scanin),
1249// .scan_out(ff_dirdp_inval_pckt_c7_slice1_2_scanout),
1250// .l1clk(l1clk),
1251// .dout(dirvec_dirdp_inval_pckt_c7_tmp[87:64]),
1252//
1253//
1254//);
1255
1256l2t_dirvec_ctl_msff_ctl_macro__width_32 ff_dirdp_inval_pckt_c7_slice0
1257 (.din(dirdp_inval_pckt_c6[31:0]),
1258 .scan_in(ff_dirdp_inval_pckt_c7_slice0_scanin),
1259 .scan_out(ff_dirdp_inval_pckt_c7_slice0_scanout),
1260 .l1clk(l1clk),
1261 .dout(dirvec_dirdp_inval_pckt_c7_tmp[31:0]),
1262 .siclk(siclk),
1263 .soclk(soclk)
1264 );
1265
1266
1267l2t_dirvec_ctl_msff_ctl_macro__width_24 ff_dirdp_inval_pckt_c7_slice1
1268 (.din(dirdp_inval_pckt_c6[55:32]),
1269 .scan_in(ff_dirdp_inval_pckt_c7_slice1_scanin),
1270 .scan_out(ff_dirdp_inval_pckt_c7_slice1_scanout),
1271 .l1clk(l1clk),
1272 .dout(dirvec_dirdp_inval_pckt_c7_tmp[55:32]),
1273 .siclk(siclk),
1274 .soclk(soclk)
1275 );
1276
1277l2t_dirvec_ctl_msff_ctl_macro__width_32 ff_dirdp_inval_pckt_c7_slice2
1278 (.din(dirdp_inval_pckt_c6[87:56]),
1279 .scan_in(ff_dirdp_inval_pckt_c7_slice2_scanin),
1280 .scan_out(ff_dirdp_inval_pckt_c7_slice2_scanout),
1281 .l1clk(l1clk),
1282 .dout(dirvec_dirdp_inval_pckt_c7_tmp[87:56]),
1283 .siclk(siclk),
1284 .soclk(soclk)
1285 );
1286
1287l2t_dirvec_ctl_msff_ctl_macro__width_24 ff_dirdp_inval_pckt_c7_slice3
1288 (.din(dirdp_inval_pckt_c6[111:88]),
1289 .scan_in(ff_dirdp_inval_pckt_c7_slice3_scanin),
1290 .scan_out(ff_dirdp_inval_pckt_c7_slice3_scanout),
1291 .l1clk(l1clk),
1292 .dout(dirvec_dirdp_inval_pckt_c7_tmp[111:88]),
1293 .siclk(siclk),
1294 .soclk(soclk)
1295 );
1296
1297
1298
1299
1300//************************************************************************************
1301// WAY info muxes
1302//************************************************************************************
1303
1304// STAGE 1
1305//mux_ctl_macro mux1_way_way_wayvld00_c6 (width=4,ports=4,mux=pgnpe)
1306// ( .dout(way_wayvld00_mux1_c6[3:0]),
1307// .din0(way_way_vld0_c6[3:0]),
1308// .din1(way_way_vld4_c6[3:0]),
1309// .din2(way_way_vld8_c6[3:0]),
1310// .din3(way_way_vld12_c6[3:0]),
1311// .sel0(oqu_sel_mux1_c6[0]),
1312// .sel1(oqu_sel_mux1_c6[1]),
1313// .sel2(oqu_sel_mux1_c6[2]),
1314// .sel3(oqu_sel_mux1_c6[3]));
1315//
1316//mux_ctl_macro mux1_way_way_wayvld01_c6 (width=3,ports=4,mux=pgnpe,stack=3l)
1317// ( .dout(way_wayvld01_mux1_c6[2:0]),
1318// .din0(way_way_vld32_c6[2:0]),
1319// .din1(way_way_vld36_c6[2:0]),
1320// .din2(way_way_vld40_c6[2:0]),
1321// .din3(way_way_vld44_c6[2:0]),
1322// .sel0(oqu_sel_mux1_c6[0]),
1323// .sel1(oqu_sel_mux1_c6[1]),
1324// .sel2(oqu_sel_mux1_c6[2]),
1325// .sel3(oqu_sel_mux1_c6[3]));
1326//
1327//
1328//mux_ctl_macro mux1_way_way_wayvld10_c6 (width=4,ports=4,mux=pgnpe,stack=4l)
1329// ( .dout(way_wayvld10_mux1_c6[3:0]),
1330// .din0(way_way_vld64_c6[3:0]),
1331// .din1(way_way_vld68_c6[3:0]),
1332// .din2(way_way_vld72_c6[3:0]),
1333// .din3(way_way_vld76_c6[3:0]),
1334// .sel0(oqu_sel_mux1_c6[0]),
1335// .sel1(oqu_sel_mux1_c6[1]),
1336// .sel2(oqu_sel_mux1_c6[2]),
1337// .sel3(oqu_sel_mux1_c6[3]));
1338//
1339//
1340//
1341//mux_ctl_macro mux1_way_way_wayvld11_c6 (width=3,ports=4,mux=pgnpe,stack=3l)
1342// ( .dout(way_wayvld11_mux1_c6[2:0]),
1343// .din0(way_way_vld96_c6[2:0]),
1344// .din1(way_way_vld100_c6[2:0]),
1345// .din2(way_way_vld104_c6[2:0]),
1346// .din3(way_way_vld108_c6[2:0]),
1347// .sel0(oqu_sel_mux1_c6[0]),
1348// .sel1(oqu_sel_mux1_c6[1]),
1349// .sel2(oqu_sel_mux1_c6[2]),
1350// .sel3(oqu_sel_mux1_c6[3]));
1351//
1352
1353assign {way_wayvld00_mux1_c6[3:0],way_wayvld01_mux1_c6[2:0],way_wayvld10_mux1_c6[3:0],way_wayvld11_mux1_c6[2:0]} =
1354 mux1_way_way_wayvld_stage1_dout[13:0];
1355
1356
1357assign mux1_way_way_wayvld_stage1_din0[13:0] = ({way_way_vld0_c6[3:0],way_way_vld32_c6[2:0],way_way_vld64_c6[3:0],way_way_vld96_c6[2:0]});
1358assign mux1_way_way_wayvld_stage1_din1[13:0] = ({way_way_vld4_c6[3:0],way_way_vld36_c6[2:0],way_way_vld68_c6[3:0],way_way_vld100_c6[2:0]});
1359assign mux1_way_way_wayvld_stage1_din2[13:0] = ({way_way_vld8_c6[3:0],way_way_vld40_c6[2:0],way_way_vld72_c6[3:0],way_way_vld104_c6[2:0]});
1360assign mux1_way_way_wayvld_stage1_din3[13:0] = ({way_way_vld12_c6[3:0],way_way_vld44_c6[2:0],way_way_vld76_c6[3:0],way_way_vld108_c6[2:0]});
1361
1362//mux_ctl_macro mux1_way_way_wayvld_stage1_c6 (width=14,ports=4,mux=pgnpe)
1363// (
1364// .dout (mux1_way_way_wayvld_stage1_dout[13:0]),
1365// .din0 (mux1_way_way_wayvld_stage1_din0[13:0]),
1366// .din1 (mux1_way_way_wayvld_stage1_din1[13:0]),
1367// .din2 (mux1_way_way_wayvld_stage1_din2[13:0]),
1368// .din3 (mux1_way_way_wayvld_stage1_din3[13:0]),
1369// .sel0 (oqu_sel_mux1_c6[0]),
1370// .sel1 (oqu_sel_mux1_c6[1]),
1371// .sel2 (oqu_sel_mux1_c6[2]),
1372// .sel3 (oqu_sel_mux1_c6[3])
1373// );
1374
1375
1376always@(mux1_way_way_wayvld_stage1_din0 or mux1_way_way_wayvld_stage1_din1 or
1377 mux1_way_way_wayvld_stage1_din2 or mux1_way_way_wayvld_stage1_din3 or oqu_sel_mux1_c6)
1378begin
1379case(oqu_sel_mux1_c6) // synopsys full_case parallel_case
13804'b0001 : mux1_way_way_wayvld_stage1_dout[13:0] = mux1_way_way_wayvld_stage1_din0[13:0];
13814'b0010 : mux1_way_way_wayvld_stage1_dout[13:0] = mux1_way_way_wayvld_stage1_din1[13:0];
13824'b0100 : mux1_way_way_wayvld_stage1_dout[13:0] = mux1_way_way_wayvld_stage1_din2[13:0];
13834'b1000 : mux1_way_way_wayvld_stage1_dout[13:0] = mux1_way_way_wayvld_stage1_din3[13:0];
1384default : mux1_way_way_wayvld_stage1_dout[13:0] = 14'b0;
1385endcase
1386end
1387
1388
1389// STAGE 2
1390//mux_ctl_macro mux2_way_way_wayvld00_c6 (width=4,ports=4,mux=pgnpe)
1391// ( .dout(way_wayvld00_mux2_c6[3:0]),
1392// .din0(way_way_vld16_c6[3:0]),
1393// .din1(way_way_vld20_c6[3:0]),
1394// .din2(way_way_vld24_c6[3:0]),
1395// .din3(way_way_vld28_c6[3:0]),
1396// .sel0(oqu_sel_mux2_c6[0]),
1397// .sel1(oqu_sel_mux2_c6[1]),
1398// .sel2(oqu_sel_mux2_c6[2]),
1399// .sel3(oqu_sel_mux2_c6[3]));
1400//mux_ctl_macro mux2_way_way_wayvld01_c6 (width=3,ports=4,mux=pgnpe)
1401// ( .dout(way_wayvld01_mux2_c6[2:0]),
1402// .din0(way_way_vld48_c6[2:0]),
1403// .din1(way_way_vld52_c6[2:0]),
1404// .din2(way_way_vld56_c6[2:0]),
1405// .din3(way_way_vld60_c6[2:0]),
1406// .sel0(oqu_sel_mux2_c6[0]),
1407// .sel1(oqu_sel_mux2_c6[1]),
1408// .sel2(oqu_sel_mux2_c6[2]),
1409// .sel3(oqu_sel_mux2_c6[3]));
1410//mux_ctl_macro mux2_way_way_wayvld10_c6 (width=4,ports=4,mux=pgnpe)
1411// ( .dout(way_wayvld10_mux2_c6[3:0]),
1412// .din0(way_way_vld80_c6[3:0]),
1413// .din1(way_way_vld84_c6[3:0]),
1414// .din2(way_way_vld88_c6[3:0]),
1415// .din3(way_way_vld92_c6[3:0]),
1416// .sel0(oqu_sel_mux2_c6[0]),
1417// .sel1(oqu_sel_mux2_c6[1]),
1418// .sel2(oqu_sel_mux2_c6[2]),
1419// .sel3(oqu_sel_mux2_c6[3]));
1420//mux_ctl_macro mux2_way_way_wayvld11_c6 (width=3,ports=4,mux=pgnpe)
1421// ( .dout(way_wayvld11_mux2_c6[2:0]),
1422// .din0(way_way_vld112_c6[2:0]),
1423// .din1(way_way_vld116_c6[2:0]),
1424// .din2(way_way_vld120_c6[2:0]),
1425// .din3(way_way_vld124_c6[2:0]),
1426// .sel0(oqu_sel_mux2_c6[0]),
1427// .sel1(oqu_sel_mux2_c6[1]),
1428// .sel2(oqu_sel_mux2_c6[2]),
1429// .sel3(oqu_sel_mux2_c6[3]));
1430
1431assign {way_wayvld00_mux2_c6[3:0],way_wayvld01_mux2_c6[2:0],way_wayvld10_mux2_c6[3:0],way_wayvld11_mux2_c6[2:0]} = stage2_dout[13:0];
1432assign stage2_din0[13:0] = {way_way_vld16_c6[3:0],way_way_vld48_c6[2:0],way_way_vld80_c6[3:0],way_way_vld112_c6[2:0]};
1433assign stage2_din1[13:0] = {way_way_vld20_c6[3:0],way_way_vld52_c6[2:0],way_way_vld84_c6[3:0],way_way_vld116_c6[2:0]};
1434assign stage2_din2[13:0] = {way_way_vld24_c6[3:0],way_way_vld56_c6[2:0],way_way_vld88_c6[3:0],way_way_vld120_c6[2:0]};
1435assign stage2_din3[13:0] = {way_way_vld28_c6[3:0],way_way_vld60_c6[2:0],way_way_vld92_c6[3:0],way_way_vld124_c6[2:0]};
1436
1437
1438
1439
1440//mux_ctl_macro mux1_way_way_wayvld_stage2_c6 (width=14,ports=4,mux=pgnpe)
1441// (
1442// .dout (stage2_dout[13:0]),
1443// .din0 (stage2_din0[13:0]),
1444// .din1 (stage2_din1[13:0]),
1445// .din2 (stage2_din2[13:0]),
1446// .din3 (stage2_din3[13:0]),
1447// .sel0 (oqu_sel_mux2_c6[0]),
1448// .sel1 (oqu_sel_mux2_c6[1]),
1449// .sel2 (oqu_sel_mux2_c6[2]),
1450// .sel3 (oqu_sel_mux2_c6[3])
1451// );
1452
1453always@(stage2_din0 or stage2_din1 or stage2_din2 or stage2_din3 or oqu_sel_mux2_c6)
1454begin
1455case(oqu_sel_mux2_c6) // synopsys full_case parallel_case
14564'b0001 : stage2_dout[13:0] = stage2_din0[13:0];
14574'b0010 : stage2_dout[13:0] = stage2_din1[13:0];
14584'b0100 : stage2_dout[13:0] = stage2_din2[13:0];
14594'b1000 : stage2_dout[13:0] = stage2_din3[13:0];
1460default : stage2_dout[13:0] = 14'b0;
1461endcase
1462end
1463
1464
1465
1466
1467
1468// STAGE 3
1469
1470//mux_ctl_macro mux3_way_way_wayvld00_c6 (width=4,ports=2,mux=aonpe)
1471// ( .dout(way_wayvld00_mux3_c6[3:0]),
1472// .din0(way_wayvld00_mux1_c6[3:0]),
1473// .din1(way_wayvld00_mux2_c6[3:0]),
1474// .sel0(oqu_sel_mux3_c6),
1475// .sel1(oqu_sel_mux3_c6_n));
1476//
1477//
1478//mux_ctl_macro mux3_way_way_wayvld01_c6 (width=3,ports=2,mux=aonpe)
1479// ( .dout(way_wayvld01_mux3_c6[2:0]),
1480// .din0(way_wayvld01_mux1_c6[2:0]),
1481// .din1(way_wayvld01_mux2_c6[2:0]),
1482// .sel0(oqu_sel_mux3_c6),
1483// .sel1(oqu_sel_mux3_c6_n));
1484//
1485//
1486//mux_ctl_macro mux3_way_way_wayvld10_c6 (width=4,ports=2,mux=aonpe)
1487// ( .dout(way_wayvld10_mux3_c6[3:0]),
1488// .din0(way_wayvld10_mux1_c6[3:0]),
1489// .din1(way_wayvld10_mux2_c6[3:0]),
1490// .sel0(oqu_sel_mux3_c6),
1491// .sel1(oqu_sel_mux3_c6_n));
1492//
1493//
1494//mux_ctl_macro mux3_way_way_wayvld11_c6 (width=3,ports=2,mux=aonpe,stack=3l)
1495// ( .dout(way_wayvld11_mux3_c6[2:0]),
1496// .din0(way_wayvld11_mux1_c6[2:0]),
1497// .din1(way_wayvld11_mux2_c6[2:0]),
1498// .sel0(oqu_sel_mux3_c6),
1499// .sel1(oqu_sel_mux3_c6_n));
1500
1501l2t_dirvec_ctl_mux_ctl_macro__mux_aonpe__ports_2__width_14 stage3_mux
1502 (
1503 .dout ({way_wayvld00_mux3_c6[3:0],way_wayvld01_mux3_c6[2:0],way_wayvld10_mux3_c6[3:0],way_wayvld11_mux3_c6[2:0]}),
1504 .din0 ({way_wayvld00_mux1_c6[3:0],way_wayvld01_mux1_c6[2:0],way_wayvld10_mux1_c6[3:0],way_wayvld11_mux1_c6[2:0]}),
1505 .din1 ({way_wayvld00_mux2_c6[3:0],way_wayvld01_mux2_c6[2:0],way_wayvld10_mux2_c6[3:0],way_wayvld11_mux2_c6[2:0]}),
1506 .sel0 (oqu_sel_mux3_c6),
1507 .sel1 (oqu_sel_mux3_c6_n)
1508 );
1509
1510
1511//************************************************************************************
1512// FLOP way INFO PCKT TILL C6
1513//************************************************************************************
1514
1515l2t_dirvec_ctl_msff_ctl_macro__width_4 ff_dirvecdp_way_info_c7
1516 (.din(dirvecdp_way_info_c6[3:0]),
1517 .scan_in(ff_dirvecdp_way_info_c7_scanin),
1518 .scan_out(ff_dirvecdp_way_info_c7_scanout),
1519 .l1clk(l1clk),
1520 .dout(dirvecdp_way_info_c7[3:0]),
1521 .siclk(siclk),
1522 .soclk(soclk)
1523
1524
1525);
1526
1527assign dirvec_dirdp_way_info_c7 = dirvecdp_way_info_c7 ;
1528
1529//*****************************************************************************
1530// PIPELINE FOR DIR VEC GENERATION
1531// DC cam hit has to be 128 b.
1532// IC cam hit is 64b
1533//*****************************************************************************
1534
1535assign dc_cam_hit_c5 = dc_cam_hit ;
1536
1537// BS 03/11/04 extra cycle for mem access
1538
1539//msff_ctl_macro ff_dc_cam_hit_c52_0 (width=32)
1540// ( .din(dc_cam_hit_c5[127:96]),
1541// .scan_in(ff_dc_cam_hit_c52_0_scanin),
1542// .scan_out(ff_dc_cam_hit_c52_0_scanout),
1543// .l1clk(l1clk),
1544// .dout(dc_cam_hit_c52[127:96]),
1545//
1546//
1547//);
1548//
1549//msff_ctl_macro ff_dc_cam_hit_c52_1 (width=32,stack=32r)
1550// ( .din(dc_cam_hit_c5[95:64]),
1551// .scan_in(ff_dc_cam_hit_c52_1_scanin),
1552// .scan_out(ff_dc_cam_hit_c52_1_scanout),
1553// .l1clk(l1clk),
1554// .dout(dc_cam_hit_c52[95:64]),
1555//
1556//
1557//);
1558//msff_ctl_macro ff_dc_cam_hit_c52_2 (width=32,stack=32r)
1559// ( .din(dc_cam_hit_c5[63:32]),
1560// .scan_in(ff_dc_cam_hit_c52_2_scanin),
1561// .scan_out(ff_dc_cam_hit_c52_2_scanout),
1562// .l1clk(l1clk),
1563// .dout(dc_cam_hit_c52[63:32]),
1564//
1565//
1566//);
1567//msff_ctl_macro ff_dc_cam_hit_c52_3 (width=32,stack=32r)
1568// ( .din(dc_cam_hit_c5[31:0]),
1569// .scan_in(ff_dc_cam_hit_c52_3_scanin),
1570// .scan_out(ff_dc_cam_hit_c52_3_scanout),
1571// .l1clk(l1clk),
1572// .dout(dc_cam_hit_c52[31:0]),
1573//
1574//
1575//);
1576//msff_ctl_macro ff_dc_cam_hit_c6_0 (width=32,stack=32r)
1577// ( .din(dc_cam_hit_c52[127:96]),
1578// .scan_in(ff_dc_cam_hit_c6_0_scanin),
1579// .scan_out(ff_dc_cam_hit_c6_0_scanout),
1580// .l1clk(l1clk),
1581// .dout(dc_cam_hit_c6[127:96]),
1582//
1583//
1584//);
1585//
1586//msff_ctl_macro ff_dc_cam_hit_c6_1 (width=32,stack=32r)
1587// ( .din(dc_cam_hit_c52[95:64]),
1588// .scan_in(ff_dc_cam_hit_c6_1_scanin),
1589// .scan_out(ff_dc_cam_hit_c6_1_scanout),
1590// .l1clk(l1clk),
1591// .dout(dc_cam_hit_c6[95:64]),
1592//
1593//
1594//);
1595//msff_ctl_macro ff_dc_cam_hit_c6_2 (width=32,stack=32r)
1596// ( .din(dc_cam_hit_c52[63:32]),
1597// .scan_in(ff_dc_cam_hit_c6_2_scanin),
1598// .scan_out(ff_dc_cam_hit_c6_2_scanout),
1599// .l1clk(l1clk),
1600// .dout(dc_cam_hit_c6[63:32]),
1601//
1602//
1603//);
1604//msff_ctl_macro ff_dc_cam_hit_c6_3 (width=32,stack=32r)
1605// ( .din(dc_cam_hit_c52[31:0]),
1606// .scan_in(ff_dc_cam_hit_c6_3_scanin),
1607// .scan_out(ff_dc_cam_hit_c6_3_scanout),
1608// .l1clk(l1clk),
1609// .dout(dc_cam_hit_c6[31:0]),
1610//
1611//
1612//);
1613
1614
1615
1616l2t_dirvec_ctl_msff_ctl_macro__width_32 ff_dc_cam_hit_c52_4
1617 ( .din(dc_cam_hit_c5[127:96]),
1618 .scan_in(ff_dc_cam_hit_c52_4_scanin),
1619 .scan_out(ff_dc_cam_hit_c52_4_scanout),
1620 .l1clk(l1clk),
1621 .dout(dc_cam_hit_c52[127:96]),
1622 .siclk(siclk),
1623 .soclk(soclk)
1624
1625
1626);
1627
1628l2t_dirvec_ctl_msff_ctl_macro__width_32 ff_dc_cam_hit_c52_3
1629 ( .din(dc_cam_hit_c5[95:64]),
1630 .scan_in(ff_dc_cam_hit_c52_3_scanin),
1631 .scan_out(ff_dc_cam_hit_c52_3_scanout),
1632 .l1clk(l1clk),
1633 .dout(dc_cam_hit_c52[95:64]),
1634 .siclk(siclk),
1635 .soclk(soclk)
1636
1637
1638);
1639l2t_dirvec_ctl_msff_ctl_macro__width_32 ff_dc_cam_hit_c52_2
1640 ( .din(dc_cam_hit_c5[63:32]),
1641 .scan_in(ff_dc_cam_hit_c52_2_scanin),
1642 .scan_out(ff_dc_cam_hit_c52_2_scanout),
1643 .l1clk(l1clk),
1644 .dout(dc_cam_hit_c52[63:32]),
1645 .siclk(siclk),
1646 .soclk(soclk)
1647
1648
1649);
1650l2t_dirvec_ctl_msff_ctl_macro__width_32 ff_dc_cam_hit_c52_1
1651 ( .din(dc_cam_hit_c5[31:0]),
1652 .scan_in(ff_dc_cam_hit_c52_1_scanin),
1653 .scan_out(ff_dc_cam_hit_c52_1_scanout),
1654 .l1clk(l1clk),
1655 .dout(dc_cam_hit_c52[31:0]),
1656 .siclk(siclk),
1657 .soclk(soclk)
1658
1659
1660);
1661
1662
1663l2t_dirvec_ctl_msff_ctl_macro__width_32 ff_dc_cam_hit_c6_4
1664 ( .din(dc_cam_hit_c52[127:96]),
1665 .scan_in(ff_dc_cam_hit_c6_4_scanin),
1666 .scan_out(ff_dc_cam_hit_c6_4_scanout),
1667 .l1clk(l1clk),
1668 .dout(dc_cam_hit_c6[127:96]),
1669 .siclk(siclk),
1670 .soclk(soclk)
1671
1672
1673);
1674
1675l2t_dirvec_ctl_msff_ctl_macro__width_32 ff_dc_cam_hit_c6_3
1676 ( .din(dc_cam_hit_c52[95:64]),
1677 .scan_in(ff_dc_cam_hit_c6_3_scanin),
1678 .scan_out(ff_dc_cam_hit_c6_3_scanout),
1679 .l1clk(l1clk),
1680 .dout(dc_cam_hit_c6[95:64]),
1681 .siclk(siclk),
1682 .soclk(soclk)
1683
1684
1685);
1686l2t_dirvec_ctl_msff_ctl_macro__width_32 ff_dc_cam_hit_c6_2
1687 ( .din(dc_cam_hit_c52[63:32]),
1688 .scan_in(ff_dc_cam_hit_c6_2_scanin),
1689 .scan_out(ff_dc_cam_hit_c6_2_scanout),
1690 .l1clk(l1clk),
1691 .dout(dc_cam_hit_c6[63:32]),
1692 .siclk(siclk),
1693 .soclk(soclk)
1694
1695
1696);
1697l2t_dirvec_ctl_msff_ctl_macro__width_32 ff_dc_cam_hit_c6_1
1698 ( .din(dc_cam_hit_c52[31:0]),
1699 .scan_in(ff_dc_cam_hit_c6_1_scanin),
1700 .scan_out(ff_dc_cam_hit_c6_1_scanout),
1701 .l1clk(l1clk),
1702 .dout(dc_cam_hit_c6[31:0]),
1703 .siclk(siclk),
1704 .soclk(soclk)
1705
1706
1707);
1708
1709
1710
1711
1712
1713
1714// BS and SR 11/18/03 Support for 8 way I$
1715
1716assign ic_cam_hit_reorg_c5 = {ic_cam_hit[127:124], ic_cam_hit[95:92],
1717 ic_cam_hit[123:120], ic_cam_hit[91:88],
1718 ic_cam_hit[119:116], ic_cam_hit[87:84],
1719 ic_cam_hit[115:112], ic_cam_hit[83:80],
1720 ic_cam_hit[111:108], ic_cam_hit[79:76],
1721 ic_cam_hit[107:104], ic_cam_hit[75:72],
1722 ic_cam_hit[103:100], ic_cam_hit[71:68],
1723 ic_cam_hit[99:96], ic_cam_hit[67:64],
1724 ic_cam_hit[63:60], ic_cam_hit[31:28],
1725 ic_cam_hit[59:56], ic_cam_hit[27:24],
1726 ic_cam_hit[55:52], ic_cam_hit[23:20],
1727 ic_cam_hit[51:48], ic_cam_hit[19:16],
1728 ic_cam_hit[47:44], ic_cam_hit[15:12],
1729 ic_cam_hit[43:40], ic_cam_hit[11:8],
1730 ic_cam_hit[39:36], ic_cam_hit[7:4],
1731 ic_cam_hit[35:32], ic_cam_hit[3:0]};
1732
1733// BS 03/11/04 extra cycle for mem access
1734
1735//msff_ctl_macro ff_ic_cam_hit_c52_2 (width=32,stack=32r) // BS and SR 11/18/03 Support for 8 way I$
1736// ( .din(ic_cam_hit_reorg_c5[63:32]),
1737// .scan_in(ff_ic_cam_hit_c52_2_scanin),
1738// .scan_out(ff_ic_cam_hit_c52_2_scanout),
1739// .l1clk(l1clk),
1740// .dout(ic_cam_hit_reorg_c52[63:32]),
1741//
1742//
1743//);
1744//
1745//msff_ctl_macro ff_ic_cam_hit_c52_1 (width=32,stack=32r) // BS and SR 11/18/03 Support for 8 way I$
1746// ( .din(ic_cam_hit_reorg_c5[31:0]),
1747// .scan_in(ff_ic_cam_hit_c52_1_scanin),
1748// .scan_out(ff_ic_cam_hit_c52_1_scanout),
1749// .l1clk(l1clk),
1750// .dout(ic_cam_hit_reorg_c52[31:0]),
1751//
1752//
1753//);
1754
1755
1756l2t_dirvec_ctl_msff_ctl_macro__width_64 ff_ic_cam_hit_c52_1 // BS and SR 11/18/03 Support for 8 way I$
1757 ( .din(ic_cam_hit_reorg_c5[63:0]),
1758 .scan_in(ff_ic_cam_hit_c52_1_scanin),
1759 .scan_out(ff_ic_cam_hit_c52_1_scanout),
1760 .l1clk(l1clk),
1761 .dout(ic_cam_hit_reorg_c52[63:0]),
1762 .siclk(siclk),
1763 .soclk(soclk)
1764 );
1765
1766
1767//msff_ctl_macro ff_ic_cam_hit_c52_4 (width=32) // BS and SR 11/18/03 Support for 8 way I$
1768// (
1769// .scan_in(ff_ic_cam_hit_c52_4_scanin),
1770// .scan_out(ff_ic_cam_hit_c52_4_scanout),
1771// .din(ic_cam_hit_reorg_c5[127:96]),
1772// .l1clk(l1clk),
1773// .dout(ic_cam_hit_reorg_c52[127:96]),
1774// );
1775//
1776//msff_ctl_macro ff_ic_cam_hit_c52_3 (width=32stack=32r) // BS and SR 11/18/03 Support for 8 way I$
1777// ( .din(ic_cam_hit_reorg_c5[95:64]),
1778// .scan_in(ff_ic_cam_hit_c52_3_scanin),
1779// .scan_out(ff_ic_cam_hit_c52_3_scanout),
1780// .l1clk(l1clk),
1781// .dout(ic_cam_hit_reorg_c52[95:64]),
1782//
1783//
1784//);
1785
1786l2t_dirvec_ctl_msff_ctl_macro__width_64 ff_ic_cam_hit_c52_3 // BS and SR 11/18/03 Support for 8 way I$
1787 ( .din(ic_cam_hit_reorg_c5[127:64]),
1788 .scan_in(ff_ic_cam_hit_c52_3_scanin),
1789 .scan_out(ff_ic_cam_hit_c52_3_scanout),
1790 .l1clk(l1clk),
1791 .dout(ic_cam_hit_reorg_c52[127:64]),
1792 .siclk(siclk),
1793 .soclk(soclk)
1794 );
1795
1796
1797
1798
1799
1800//msff_ctl_macro ff_ic_cam_hit_c6_2 (width=32) // BS and SR 11/18/03 Support for 8 way I$
1801// ( .din(ic_cam_hit_reorg_c52[63:32]),
1802// .scan_in(ff_ic_cam_hit_c6_2_scanin),
1803// .scan_out(ff_ic_cam_hit_c6_2_scanout),
1804// .l1clk(l1clk),
1805// .dout(ic_cam_hit_c6[63:32]),
1806//
1807//
1808//);
1809//
1810//msff_ctl_macro ff_ic_cam_hit_c6_1 (width=32) // BS and SR 11/18/03 Support for 8 way I$
1811// ( .din(ic_cam_hit_reorg_c52[31:0]),
1812// .scan_in(ff_ic_cam_hit_c6_1_scanin),
1813// .scan_out(ff_ic_cam_hit_c6_1_scanout),
1814// .l1clk(l1clk),
1815// .dout(ic_cam_hit_c6[31:0]),
1816//
1817//
1818//);
1819
1820
1821
1822l2t_dirvec_ctl_msff_ctl_macro__width_64 ff_ic_cam_hit_c6_1 // BS and SR 11/18/03 Support for 8 way I$
1823 ( .din(ic_cam_hit_reorg_c52[63:0]),
1824 .scan_in(ff_ic_cam_hit_c6_1_scanin),
1825 .scan_out(ff_ic_cam_hit_c6_1_scanout),
1826 .l1clk(l1clk),
1827 .dout(ic_cam_hit_c6[63:0]),
1828 .siclk(siclk),
1829 .soclk(soclk)
1830 );
1831
1832
1833
1834//msff_ctl_macro ff_ic_cam_hit_c6_4 (width=32) // BS and SR 11/18/03 Support for 8 way I$
1835// ( .din(ic_cam_hit_reorg_c52[127:96]),
1836// .scan_in(ff_ic_cam_hit_c6_4_scanin),
1837// .scan_out(ff_ic_cam_hit_c6_4_scanout),
1838// .l1clk(l1clk),
1839// .dout(ic_cam_hit_c6[127:96]),
1840//
1841//
1842//);
1843//
1844//msff_ctl_macro ff_ic_cam_hit_c6_3 (width=32stack=32r) // BS and SR 11/18/03 Support for 8 way I$
1845// ( .din(ic_cam_hit_reorg_c52[95:64]),
1846// .scan_in(ff_ic_cam_hit_c6_3_scanin),
1847// .scan_out(ff_ic_cam_hit_c6_3_scanout),
1848// .l1clk(l1clk),
1849// .dout(ic_cam_hit_c6[95:64]),
1850//
1851//
1852//);
1853
1854l2t_dirvec_ctl_msff_ctl_macro__width_64 ff_ic_cam_hit_c6_3 // BS and SR 11/18/03 Support for 8 way I$
1855 ( .din(ic_cam_hit_reorg_c52[127:64]),
1856 .scan_in(ff_ic_cam_hit_c6_3_scanin),
1857 .scan_out(ff_ic_cam_hit_c6_3_scanout),
1858 .l1clk(l1clk),
1859 .dout(ic_cam_hit_c6[127:64]),
1860 .siclk(siclk),
1861 .soclk(soclk)
1862 );
1863
1864
1865
1866//*****************************************************************************
1867// FORM THE 112b PACKET in C4 ( step 1)
1868// Get the request vect to be sent to oque
1869// Get the I$ and D$ invalidation way for L1 load misses.
1870// DC cam hit has to be 128 b.
1871// IC cam hit is 64b
1872//*****************************************************************************
1873
1874
1875
1876
1877l2t_dcicvec_ctl vec0_slice
1878 (
1879 .dc_cam_hit (dc_cam_hit_c6[3:0]),
1880 .ic_cam_hit (ic_cam_hit_c6[7:0]),
1881 .way_way_vld_c6 (way_way_vld0_c6[3:0]),
1882// .dir_hit (dir_hit_vec0_c6_unused),
1883 .enc_vec (enc_c_vec0[3:0])
1884 );
1885
1886
1887l2t_dcicvec_ctl vec4_slice
1888 (
1889 .dc_cam_hit (dc_cam_hit_c6[7:4]),
1890 .ic_cam_hit (ic_cam_hit_c6[15:8]),
1891 .way_way_vld_c6 (way_way_vld4_c6[3:0]),
1892 // .dir_hit (dir_hit_vec4_c6_unused),
1893 .enc_vec (enc_c_vec4[3:0])
1894 );
1895
1896
1897l2t_dcicvec_ctl vec8_slice
1898 (
1899 .dc_cam_hit (dc_cam_hit_c6[11:8]),
1900 .ic_cam_hit (ic_cam_hit_c6[23:16]),
1901 .way_way_vld_c6 (way_way_vld8_c6[3:0]),
1902 // .dir_hit (dir_hit_vec8_c6),
1903 .enc_vec (enc_c_vec8[3:0])
1904 );
1905
1906
1907l2t_dcicvec_ctl vec12_slice
1908 (
1909 .dc_cam_hit (dc_cam_hit_c6[15:12]),
1910 .ic_cam_hit (ic_cam_hit_c6[31:24]),
1911 .way_way_vld_c6 (way_way_vld12_c6[3:0]),
1912 // .dir_hit (dir_hit_vec12_c6),
1913 .enc_vec (enc_c_vec12[3:0])
1914 );
1915
1916
1917l2t_dcicvec_ctl vec16_slice
1918 (
1919 .dc_cam_hit (dc_cam_hit_c6[19:16]),
1920 .ic_cam_hit (ic_cam_hit_c6[39:32]),
1921 .way_way_vld_c6 (way_way_vld16_c6[3:0]),
1922 // .dir_hit (dir_hit_vec16_c6),
1923 .enc_vec (enc_c_vec16[3:0])
1924 );
1925
1926
1927l2t_dcicvec_ctl vec20_slice
1928 (
1929 .dc_cam_hit (dc_cam_hit_c6[23:20]),
1930 .ic_cam_hit (ic_cam_hit_c6[47:40]),
1931 .way_way_vld_c6 (way_way_vld20_c6[3:0]),
1932 // .dir_hit (dir_hit_vec20_c6),
1933 .enc_vec (enc_c_vec20[3:0])
1934 );
1935
1936
1937l2t_dcicvec_ctl vec24_slice
1938 (
1939 .dc_cam_hit (dc_cam_hit_c6[27:24]),
1940 .ic_cam_hit (ic_cam_hit_c6[55:48]),
1941 .way_way_vld_c6 (way_way_vld24_c6[3:0]),
1942 .enc_vec (enc_c_vec24[3:0])
1943 // .dir_hit (dir_hit_vec24_c6)
1944 );
1945
1946l2t_dcicvec_ctl vec28_slice
1947 (
1948 .dc_cam_hit (dc_cam_hit_c6[31:28]),
1949 .ic_cam_hit (ic_cam_hit_c6[63:56]),
1950 .way_way_vld_c6 (way_way_vld28_c6[3:0]),
1951 // .dir_hit (dir_hit_vec28_c6),
1952 .enc_vec (enc_c_vec28[3:0])
1953 );
1954
1955
1956
1957
1958///***************** START code for generating way wayvld00 ******************/
1959//wire [3:0] way_wayvld00_mux1_c6;
1960//wire [3:0] way_wayvld00_mux2_c6;
1961//wire [3:0] way_wayvld00_mux3_c6;
1962//
1963//mux_ctl_macro mux1_way_way_wayvld00_c6 (width=4,ports=4,mux=pgnpe,stack=4l)
1964// ( .dout(way_wayvld00_mux1_c6[3:0]),
1965// .din0(way_way_vld0_c6[3:0]),
1966// .din1(way_way_vld4_c6[3:0]),
1967// .din2(way_way_vld8_c6[3:0]),
1968// .din3(way_way_vld12_c6[3:0]),
1969// .sel0(oqu_sel_mux1_c6[0]),
1970// .sel1(oqu_sel_mux1_c6[1]),
1971// .sel2(oqu_sel_mux1_c6[2]),
1972// .sel3(oqu_sel_mux1_c6[3]));
1973//
1974//mux_ctl_macro mux2_way_way_wayvld00_c6 (width=4,ports=4,mux=pgnpe,stack=4l)
1975// ( .dout(way_wayvld00_mux2_c6[3:0]),
1976// .din0(way_way_vld16_c6[3:0]),
1977// .din1(way_way_vld20_c6[3:0]),
1978// .din2(way_way_vld24_c6[3:0]),
1979// .din3(way_way_vld28_c6[3:0]),
1980// .sel0(oqu_sel_mux2_c6[0]),
1981// .sel1(oqu_sel_mux2_c6[1]),
1982// .sel2(oqu_sel_mux2_c6[2]),
1983// .sel3(oqu_sel_mux2_c6[3]));
1984//
1985//mux_ctl_macro mux3_way_way_wayvld00_c6 (width=4,ports=2,mux=aonpe,stack=4l)
1986// ( .dout(way_wayvld00_mux3_c6[3:0]),
1987// .din0(way_wayvld00_mux1_c6[3:0]),
1988// .din1(way_wayvld00_mux2_c6[3:0]),
1989// .sel0(oqu_sel_mux3_c6),
1990// .sel1(oqu_sel_mux3_c6_n));
1991
1992
1993//inv_macro oqu_sel_mux3_c6_inv_slice (width=1)
1994// (
1995// .dout (oqu_sel_mux3_c6_n ),
1996// .din (oqu_sel_mux3_c6 )
1997// );
1998
1999
2000assign oqu_sel_mux3_c6_n = ~oqu_sel_mux3_c6;
2001
2002
2003
2004
2005
2006
2007
2008l2t_dcvec_ctl vec32_slice
2009 (
2010 .dc_cam_hit (dc_cam_hit_c6[35:32]),
2011 .way_way_vld (way_way_vld32_c6[2:0]),
2012 .enc_dc_way (enc_c_vec32_way_c6[1:0]),
2013 .dc_dir_hit (dc_dir_vec32_c6)
2014 // .dir_hit (dir_hit_vec32_c6)
2015 );
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025l2t_dcvec_ctl vec36_slice
2026 (
2027 .dc_cam_hit (dc_cam_hit_c6[39:36]),
2028 .way_way_vld (way_way_vld36_c6[2:0]),
2029 .enc_dc_way (enc_c_vec36_way_c6[1:0]),
2030 .dc_dir_hit (dc_dir_vec36_c6)
2031 // .dir_hit (dir_hit_vec36_c6)
2032 );
2033
2034
2035l2t_dcvec_ctl vec40_slice
2036 (
2037 .dc_cam_hit (dc_cam_hit_c6[43:40]),
2038 .way_way_vld (way_way_vld40_c6[2:0]),
2039 .enc_dc_way (enc_c_vec40_way_c6[1:0]),
2040 .dc_dir_hit (dc_dir_vec40_c6)
2041 // .dir_hit (dir_hit_vec40_c6)
2042 );
2043
2044
2045l2t_dcvec_ctl vec44_slice
2046 (
2047 .dc_cam_hit (dc_cam_hit_c6[47:44]),
2048 .way_way_vld (way_way_vld44_c6[2:0]),
2049 .enc_dc_way (enc_c_vec44_way_c6[1:0]),
2050 .dc_dir_hit (dc_dir_vec44_c6)
2051 // .dir_hit (dir_hit_vec44_c6)
2052 );
2053
2054
2055l2t_dcvec_ctl vec48_slice
2056 (
2057 .dc_cam_hit (dc_cam_hit_c6[51:48]),
2058 .way_way_vld (way_way_vld48_c6[2:0]),
2059 .enc_dc_way (enc_c_vec48_way_c6[1:0]),
2060 .dc_dir_hit (dc_dir_vec48_c6)
2061 // .dir_hit (dir_hit_vec48_c6)
2062 );
2063
2064
2065
2066
2067
2068
2069l2t_dcvec_ctl vec52_slice
2070 (
2071 .dc_cam_hit (dc_cam_hit_c6[55:52]),
2072 .way_way_vld (way_way_vld52_c6[2:0]),
2073 .enc_dc_way (enc_c_vec52_way_c6[1:0]),
2074 .dc_dir_hit (dc_dir_vec52_c6)
2075 // .dir_hit (dir_hit_vec52_c6)
2076 );
2077
2078
2079
2080l2t_dcvec_ctl vec56_slice
2081 (
2082 .dc_cam_hit (dc_cam_hit_c6[59:56]),
2083 .way_way_vld (way_way_vld56_c6[2:0]),
2084 .enc_dc_way (enc_c_vec56_way_c6[1:0]),
2085 .dc_dir_hit (dc_dir_vec56_c6)
2086 // .dir_hit (dir_hit_vec56_c6)
2087 );
2088
2089
2090
2091
2092l2t_dcvec_ctl vec60_slice
2093 (
2094 .dc_cam_hit (dc_cam_hit_c6[63:60]),
2095 .way_way_vld (way_way_vld60_c6[2:0]),
2096 .enc_dc_way (enc_c_vec60_way_c6[1:0]),
2097 .dc_dir_hit (dc_dir_vec60_c6)
2098 // .dir_hit (dir_hit_vec60_c6)
2099 );
2100
2101
2102//
2103// /***************** END code for generating return pckt. ******************/
2104//
2105//
2106// wire [2:0] way_wayvld01_mux1_c6;
2107// wire [2:0] way_wayvld01_mux2_c6;
2108// wire [2:0] way_wayvld01_mux3_c6;
2109//
2110//mux_ctl_macro mux1_way_way_wayvld01_c6 (width=3,ports=4,mux=pgnpe,stack=3l)
2111// ( .dout(way_wayvld01_mux1_c6[2:0]),
2112// .din0(way_way_vld32_c6[2:0]),
2113// .din1(way_way_vld36_c6[2:0]),
2114// .din2(way_way_vld40_c6[2:0]),
2115// .din3(way_way_vld44_c6[2:0]),
2116// .sel0(oqu_sel_mux1_c6[0]),
2117// .sel1(oqu_sel_mux1_c6[1]),
2118// .sel2(oqu_sel_mux1_c6[2]),
2119// .sel3(oqu_sel_mux1_c6[3]));
2120//
2121//mux_ctl_macro mux2_way_way_wayvld01_c6 (width=3,ports=4,mux=pgnpe,stack=3l)
2122// ( .dout(way_wayvld01_mux2_c6[2:0]),
2123// .din0(way_way_vld48_c6[2:0]),
2124// .din1(way_way_vld52_c6[2:0]),
2125// .din2(way_way_vld56_c6[2:0]),
2126// .din3(way_way_vld60_c6[2:0]),
2127// .sel0(oqu_sel_mux2_c6[0]),
2128// .sel1(oqu_sel_mux2_c6[1]),
2129// .sel2(oqu_sel_mux2_c6[2]),
2130// .sel3(oqu_sel_mux2_c6[3]));
2131//
2132//
2133//mux_ctl_macro mux3_way_way_wayvld01_c6 (width=3,ports=2,mux=aonpe,stack=3l)
2134// ( .dout(way_wayvld01_mux3_c6[2:0]),
2135// .din0(way_wayvld01_mux1_c6[2:0]),
2136// .din1(way_wayvld01_mux2_c6[2:0]),
2137// .sel0(oqu_sel_mux3_c6),
2138// .sel1(oqu_sel_mux3_c6_n));
2139//
2140
2141
2142l2t_dcicvec_ctl vec64_slice
2143 (
2144 .dc_cam_hit (dc_cam_hit_c6[67:64]),
2145 .ic_cam_hit (ic_cam_hit_c6[71:64]),
2146 .way_way_vld_c6 (way_way_vld64_c6[3:0]),
2147// .dir_hit (dir_hit_vec64_c6),
2148 .enc_vec (enc_c_vec64[3:0])
2149 );
2150
2151
2152l2t_dcicvec_ctl vec68_slice
2153 (
2154 .dc_cam_hit (dc_cam_hit_c6[71:68]),
2155 .ic_cam_hit (ic_cam_hit_c6[79:72]),
2156 .way_way_vld_c6 (way_way_vld68_c6[3:0]),
2157 .enc_vec (enc_c_vec68[3:0])
2158 // .dir_hit (dir_hit_vec68_c6)
2159 );
2160
2161
2162
2163l2t_dcicvec_ctl vec72_slice
2164 (
2165 .dc_cam_hit (dc_cam_hit_c6[75:72]),
2166 .ic_cam_hit (ic_cam_hit_c6[87:80]),
2167 .way_way_vld_c6 (way_way_vld72_c6[3:0]),
2168 .enc_vec (enc_c_vec72[3:0])
2169 // .dir_hit (dir_hit_vec72_c6)
2170 );
2171
2172l2t_dcicvec_ctl vec76_slice
2173 (
2174 .dc_cam_hit (dc_cam_hit_c6[79:76]),
2175 .ic_cam_hit (ic_cam_hit_c6[95:88]),
2176 .way_way_vld_c6 (way_way_vld76_c6[3:0]),
2177 // .dir_hit (dir_hit_vec76_c6),
2178 .enc_vec (enc_c_vec76[3:0])
2179 );
2180
2181
2182
2183l2t_dcicvec_ctl vec80_slice
2184 (
2185 .dc_cam_hit (dc_cam_hit_c6[83:80]),
2186 .ic_cam_hit (ic_cam_hit_c6[103:96]),
2187 .way_way_vld_c6 (way_way_vld80_c6[3:0]),
2188 // .dir_hit (dir_hit_vec80_c6),
2189 .enc_vec (enc_c_vec80[3:0])
2190 );
2191
2192
2193l2t_dcicvec_ctl vec84_slice
2194 (
2195 .dc_cam_hit (dc_cam_hit_c6[87:84]),
2196 .ic_cam_hit (ic_cam_hit_c6[111:104]),
2197 .way_way_vld_c6 (way_way_vld84_c6[3:0]),
2198 .enc_vec (enc_c_vec84[3:0])
2199 // .dir_hit (dir_hit_vec84_c6)
2200 );
2201l2t_dcicvec_ctl vec88_slice
2202 (
2203 .dc_cam_hit (dc_cam_hit_c6[91:88]),
2204 .ic_cam_hit (ic_cam_hit_c6[119:112]),
2205 .way_way_vld_c6 (way_way_vld88_c6[3:0]),
2206 // .dir_hit (dir_hit_vec88_c6),
2207 .enc_vec (enc_c_vec88[3:0])
2208 );
2209
2210
2211
2212l2t_dcicvec_ctl vec92_slice
2213 (
2214 .dc_cam_hit (dc_cam_hit_c6[95:92]),
2215 .ic_cam_hit (ic_cam_hit_c6[127:120]),
2216 .way_way_vld_c6 (way_way_vld92_c6[3:0]),
2217 // .dir_hit (dir_hit_vec92_c6),
2218 .enc_vec (enc_c_vec92[3:0])
2219 );
2220
2221 /***************** END code for generating return pckt. ******************/
2222//
2223//
2224// wire [3:0] way_wayvld10_mux1_c6;
2225// wire [3:0] way_wayvld10_mux2_c6;
2226// wire [3:0] way_wayvld10_mux3_c6;
2227//
2228//mux_ctl_macro mux1_way_way_wayvld10_c6 (width=4,ports=4,mux=pgnpe,stack=4l)
2229// ( .dout(way_wayvld10_mux1_c6[3:0]),
2230// .din0(way_way_vld64_c6[3:0]),
2231// .din1(way_way_vld68_c6[3:0]),
2232// .din2(way_way_vld72_c6[3:0]),
2233// .din3(way_way_vld76_c6[3:0]),
2234// .sel0(oqu_sel_mux1_c6[0]),
2235// .sel1(oqu_sel_mux1_c6[1]),
2236// .sel2(oqu_sel_mux1_c6[2]),
2237// .sel3(oqu_sel_mux1_c6[3]));
2238//
2239//mux_ctl_macro mux2_way_way_wayvld10_c6 (width=4,ports=4,mux=pgnpe,stack=4l)
2240// ( .dout(way_wayvld10_mux2_c6[3:0]),
2241// .din0(way_way_vld80_c6[3:0]),
2242// .din1(way_way_vld84_c6[3:0]),
2243// .din2(way_way_vld88_c6[3:0]),
2244// .din3(way_way_vld92_c6[3:0]),
2245// .sel0(oqu_sel_mux2_c6[0]),
2246// .sel1(oqu_sel_mux2_c6[1]),
2247// .sel2(oqu_sel_mux2_c6[2]),
2248// .sel3(oqu_sel_mux2_c6[3]));
2249//
2250//mux_ctl_macro mux3_way_way_wayvld10_c6 (width=4,ports=2,mux=aonpe,stack=4l)
2251// ( .dout(way_wayvld10_mux3_c6[3:0]),
2252// .din0(way_wayvld10_mux1_c6[3:0]),
2253// .din1(way_wayvld10_mux2_c6[3:0]),
2254// .sel0(oqu_sel_mux3_c6),
2255// .sel1(oqu_sel_mux3_c6_n));
2256//
2257
2258
2259l2t_dcvec_ctl vec96_slice
2260 (
2261 .dc_cam_hit (dc_cam_hit_c6[99:96]),
2262 .way_way_vld (way_way_vld96_c6[2:0]),
2263 .enc_dc_way (enc_c_vec96_way_c6[1:0]),
2264 .dc_dir_hit (dc_dir_vec96_c6)
2265 // .dir_hit (dir_hit_vec96_c6)
2266 );
2267
2268
2269
2270
2271l2t_dcvec_ctl vec100_slice
2272 (
2273 .dc_cam_hit (dc_cam_hit_c6[103:100]),
2274 .way_way_vld (way_way_vld100_c6[2:0]),
2275 .enc_dc_way (enc_c_vec100_way_c6[1:0]),
2276 .dc_dir_hit (dc_dir_vec100_c6)
2277 // .dir_hit (dir_hit_vec100_c6)
2278 );
2279
2280
2281
2282
2283l2t_dcvec_ctl vec104_slice
2284 (
2285 .dc_cam_hit (dc_cam_hit_c6[107:104]),
2286 .way_way_vld (way_way_vld104_c6[2:0]),
2287 .enc_dc_way (enc_c_vec104_way_c6[1:0]),
2288 .dc_dir_hit (dc_dir_vec104_c6)
2289 // .dir_hit (dir_hit_vec104_c6)
2290 );
2291
2292
2293
2294l2t_dcvec_ctl vec108_slice
2295 (
2296 .dc_cam_hit (dc_cam_hit_c6[111:108]),
2297 .way_way_vld (way_way_vld108_c6[2:0]),
2298 .enc_dc_way (enc_c_vec108_way_c6[1:0]),
2299 .dc_dir_hit (dc_dir_vec108_c6)
2300 // .dir_hit (dir_hit_vec108_c6)
2301 );
2302
2303
2304
2305
2306l2t_dcvec_ctl vec112_slice
2307 (
2308 .dc_cam_hit (dc_cam_hit_c6[115:112]),
2309 .way_way_vld (way_way_vld112_c6[2:0]),
2310 .enc_dc_way (enc_c_vec112_way_c6[1:0]),
2311 .dc_dir_hit (dc_dir_vec112_c6)
2312 // .dir_hit (dir_hit_vec112_c6)
2313 );
2314
2315
2316
2317
2318
2319l2t_dcvec_ctl vec116_slice
2320 (
2321 .dc_cam_hit (dc_cam_hit_c6[119:116]),
2322 .way_way_vld (way_way_vld116_c6[2:0]),
2323 .enc_dc_way (enc_c_vec116_way_c6[1:0]),
2324 .dc_dir_hit (dc_dir_vec116_c6)
2325 // .dir_hit (dir_hit_vec116_c6)
2326 );
2327
2328
2329l2t_dcvec_ctl vec120_slice
2330 (
2331 .dc_cam_hit (dc_cam_hit_c6[123:120]),
2332 .way_way_vld (way_way_vld120_c6[2:0]),
2333 .enc_dc_way (enc_c_vec120_way_c6[1:0]),
2334 .dc_dir_hit (dc_dir_vec120_c6)
2335 // .dir_hit (dir_hit_vec120_c6)
2336 );
2337
2338
2339
2340l2t_dcvec_ctl vec124_slice
2341 (
2342 .dc_cam_hit (dc_cam_hit_c6[127:124]),
2343 .way_way_vld (way_way_vld124_c6[2:0]),
2344 .enc_dc_way (enc_c_vec124_way_c6[1:0]),
2345 .dc_dir_hit (dc_dir_vec124_c6)
2346 // .dir_hit (dir_hit_vec124_c6)
2347 );
2348
2349
2350
2351
2352/////***************** END code for generating return pckt. ******************/
2353//
2354//
2355// wire [2:0] way_wayvld11_mux1_c6;
2356// wire [2:0] way_wayvld11_mux2_c6;
2357// wire [2:0] way_wayvld11_mux3_c6;
2358//
2359//mux_ctl_macro mux1_way_way_wayvld11_c6 (width=3,ports=4,mux=pgnpe,stack=3l)
2360// ( .dout(way_wayvld11_mux1_c6[2:0]),
2361// .din0(way_way_vld96_c6[2:0]),
2362// .din1(way_way_vld100_c6[2:0]),
2363// .din2(way_way_vld104_c6[2:0]),
2364// .din3(way_way_vld108_c6[2:0]),
2365// .sel0(oqu_sel_mux1_c6[0]),
2366// .sel1(oqu_sel_mux1_c6[1]),
2367// .sel2(oqu_sel_mux1_c6[2]),
2368// .sel3(oqu_sel_mux1_c6[3]));
2369//
2370//mux_ctl_macro mux2_way_way_wayvld11_c6 (width=3,ports=4,mux=pgnpe,stack=3l)
2371// ( .dout(way_wayvld11_mux2_c6[2:0]),
2372// .din0(way_way_vld112_c6[2:0]),
2373// .din1(way_way_vld116_c6[2:0]),
2374// .din2(way_way_vld120_c6[2:0]),
2375// .din3(way_way_vld124_c6[2:0]),
2376// .sel0(oqu_sel_mux2_c6[0]),
2377// .sel1(oqu_sel_mux2_c6[1]),
2378// .sel2(oqu_sel_mux2_c6[2]),
2379// .sel3(oqu_sel_mux2_c6[3]));
2380//
2381//
2382//mux_ctl_macro mux3_way_way_wayvld11_c6 (width=3,ports=2,mux=aonpe,stack=3l)
2383// ( .dout(way_wayvld11_mux3_c6[2:0]),
2384// .din0(way_wayvld11_mux1_c6[2:0]),
2385// .din1(way_wayvld11_mux2_c6[2:0]),
2386// .sel0(oqu_sel_mux3_c6),
2387// .sel1(oqu_sel_mux3_c6_n));
2388//
2389//
2390//
2391////*******************************************************************************************
2392// REQUEST VEC FORMATION
2393//*******************************************************************************************
2394
2395
2396// B.S : 05/04/05 . FIx for bug 92618. The dirvec_dirdp_req_vec_c6[7:0] needs to created
2397// based on enc_c_vec*_fnl values
2398// due to the remapping for partial core,bank mode after directory caming from virtual
2399// cpuid to real cpuid.
2400
2401wire [3:0] enc_c_vec0_fnl,enc_c_vec4_fnl,enc_c_vec8_fnl,enc_c_vec12_fnl,enc_c_vec16_fnl,enc_c_vec20_fnl,
2402 enc_c_vec24_fnl,enc_c_vec28_fnl;
2403wire [2:0] enc_c_vec32_fnl,enc_c_vec36_fnl,enc_c_vec40_fnl,enc_c_vec44_fnl,enc_c_vec48_fnl,enc_c_vec52_fnl,
2404 enc_c_vec56_fnl,enc_c_vec60_fnl;
2405wire [3:0] enc_c_vec64_fnl,enc_c_vec68_fnl,enc_c_vec72_fnl,enc_c_vec76_fnl,enc_c_vec80_fnl,enc_c_vec84_fnl,
2406 enc_c_vec88_fnl,enc_c_vec92_fnl;
2407wire [2:0] enc_c_vec96_fnl,enc_c_vec100_fnl,enc_c_vec104_fnl,enc_c_vec108_fnl,enc_c_vec112_fnl,enc_c_vec116_fnl,
2408 enc_c_vec120_fnl,enc_c_vec124_fnl;
2409
2410
2411
2412
2413
2414//or_macro dirvec_dirdp_req_vec_c6_0_slice_1 (width=1,ports=3)
2415// (
2416// .din0 (enc_c_vec0_fnl[0]),
2417// .din1 (enc_c_vec32_fnl[0]),
2418// .din2 (enc_c_vec0_fnl[1]),
2419// .dout (dir_hit_vec0_or_32_tmp)
2420// );
2421//
2422//or_macro dirvec_dirdp_req_vec_c6_0_slice_12 (width=1,ports=2)
2423// (
2424// .din0 (enc_c_vec32_fnl[1]),
2425// .din1 (dir_hit_vec0_or_32_tmp),
2426// .dout (dir_hit_vec0_or_32)
2427// );
2428//
2429//
2430//or_macro dirvec_dirdp_req_vec_c6_0_slice_2 (width=1,ports=3)
2431// (
2432// .din0 (enc_c_vec64_fnl[0]),
2433// .din1 (enc_c_vec96_fnl[0]),
2434// .din2 (enc_c_vec64_fnl[1]),
2435// .dout (dir_hit_vec64_or_96_tmp)
2436// );
2437//
2438//or_macro dirvec_dirdp_req_vec_c6_0_slice_22 (width=1,ports=2)
2439// (
2440// .din0 (enc_c_vec96_fnl[1]),
2441// .din1 (dir_hit_vec64_or_96_tmp),
2442// .dout (dir_hit_vec64_or_96)
2443// );
2444//
2445//
2446//or_macro dirvec_dirdp_req_vec_c6_slice1 (width=1)
2447// (
2448// .din0 (dir_hit_vec0_or_32),
2449// .din1 (dir_hit_vec64_or_96),
2450// .dout (dirvec_dirdp_req_vec_c6[0])
2451// );
2452//
2453//
2454//or_macro dirvec_dirdp_req_vec_c6_1_slice_2 (width=1,ports=3)
2455// (
2456// .din0 (enc_c_vec4_fnl[0]),
2457// .din1 (enc_c_vec36_fnl[0]),
2458// .din2 (enc_c_vec4_fnl[1]),
2459// .dout (dir_hit_vec4_or_36_tmp)
2460// );
2461//
2462//or_macro dirvec_dirdp_req_vec_c6_1_slice_22 (width=1,ports=2)
2463// (
2464// .din0 (enc_c_vec36_fnl[1]),
2465// .din1 (dir_hit_vec4_or_36_tmp),
2466// .dout (dir_hit_vec4_or_36)
2467// );
2468//
2469//
2470//or_macro dirvec_dirdp_req_vec_c6_1_slice_3 (width=1,ports=3)
2471// (
2472// .din0 (enc_c_vec68_fnl[0]),
2473// .din1 (enc_c_vec100_fnl[0]),
2474// .din2 (enc_c_vec68_fnl[1]),
2475// .dout (dir_hit_vec68_or_100_tmp)
2476// );
2477//
2478//or_macro dirvec_dirdp_req_vec_c6_1_slice_32 (width=1,ports=2)
2479// (
2480// .din0 (enc_c_vec100_fnl[1]),
2481// .din1 (dir_hit_vec68_or_100_tmp),
2482// .dout (dir_hit_vec68_or_100)
2483// );
2484//
2485//
2486//or_macro dirvec_dirdp_req_vec_c6_slice2 (width=1)
2487// (
2488// .din0 (dir_hit_vec4_or_36),
2489// .din1 (dir_hit_vec68_or_100),
2490// .dout (dirvec_dirdp_req_vec_c6[1])
2491// );
2492//
2493//
2494//or_macro dirvec_dirdp_req_vec_c6_2_slice_3 (width=1,ports=3)
2495// (
2496// .din0 (enc_c_vec8_fnl[0]),
2497// .din1 (enc_c_vec40_fnl[0]),
2498// .din2 (enc_c_vec8_fnl[1]),
2499// .dout (dir_hit_vec8_or_40_tmp)
2500// );
2501//
2502//or_macro dirvec_dirdp_req_vec_c6_2_slice_32 (width=1,ports=2)
2503// (
2504// .din0 (enc_c_vec40_fnl[1]),
2505// .din1 (dir_hit_vec8_or_40_tmp),
2506// .dout (dir_hit_vec8_or_40)
2507// );
2508//
2509//
2510//or_macro dirvec_dirdp_req_vec_c6_2_slice_4 (width=1,ports=3)
2511// (
2512// .din0 (enc_c_vec72_fnl[0]),
2513// .din1 (enc_c_vec104_fnl[0]),
2514// .din2 (enc_c_vec72_fnl[1]),
2515// .dout (dir_hit_vec72_or_104_tmp)
2516// );
2517//
2518//or_macro dirvec_dirdp_req_vec_c6_2_slice_42 (width=1,ports=2)
2519// (
2520// .din0 (enc_c_vec104_fnl[1]),
2521// .din1 (dir_hit_vec72_or_104_tmp),
2522// .dout (dir_hit_vec72_or_104)
2523// );
2524//
2525//
2526//or_macro dirvec_dirdp_req_vec_c6_slice3 (width=1)
2527// (
2528// .din0 (dir_hit_vec8_or_40),
2529// .din1 (dir_hit_vec72_or_104),
2530// .dout (dirvec_dirdp_req_vec_c6[2])
2531// );
2532//
2533//or_macro dirvec_dirdp_req_vec_c6_3_slice_4 (width=1,ports=3)
2534// (
2535// .din0 (enc_c_vec12_fnl[0]),
2536// .din1 (enc_c_vec44_fnl[0]),
2537// .din2 (enc_c_vec12_fnl[1]),
2538// .dout (dir_hit_vec12_or_44_tmp)
2539// );
2540//
2541//or_macro dirvec_dirdp_req_vec_c6_3_slice_42 (width=1,ports=2)
2542// (
2543// .din0 (enc_c_vec44_fnl[1]),
2544// .din1 (dir_hit_vec12_or_44_tmp),
2545// .dout (dir_hit_vec12_or_44)
2546// );
2547//
2548//
2549//or_macro dirvec_dirdp_req_vec_c6_3_slice_5 (width=1,ports=3)
2550// (
2551// .din0 (enc_c_vec76_fnl[0]),
2552// .din1 (enc_c_vec108_fnl[0]),
2553// .din2 (enc_c_vec76_fnl[1]),
2554// .dout (dir_hit_vec76_or_108_tmp)
2555// );
2556//
2557//or_macro dirvec_dirdp_req_vec_c6_3_slice_52 (width=1,ports=2)
2558// (
2559// .din0 (enc_c_vec108_fnl[1]),
2560// .din1 (dir_hit_vec76_or_108_tmp),
2561// .dout (dir_hit_vec76_or_108)
2562// );
2563//
2564//
2565//or_macro dirvec_dirdp_req_vec_c6_slice4 (width=1)
2566// (
2567// .din0 (dir_hit_vec12_or_44),
2568// .din1 (dir_hit_vec76_or_108),
2569// .dout (dirvec_dirdp_req_vec_c6[3])
2570// );
2571//
2572//
2573//or_macro dirvec_dirdp_req_vec_c6_4_slice_5 (width=1,ports=3)
2574// (
2575// .din0 (enc_c_vec16_fnl[0]),
2576// .din1 (enc_c_vec48_fnl[0]),
2577// .din2 (enc_c_vec16_fnl[1]),
2578// .dout (dir_hit_vec16_or_48_tmp)
2579// );
2580//
2581//or_macro dirvec_dirdp_req_vec_c6_4_slice_52 (width=1,ports=2)
2582// (
2583// .din0 (enc_c_vec48_fnl[1]),
2584// .din1 (dir_hit_vec16_or_48_tmp),
2585// .dout (dir_hit_vec16_or_48)
2586// );
2587//
2588//
2589//or_macro dirvec_dirdp_req_vec_c6_4_slice_6 (width=1,ports=3)
2590// (
2591// .din0 (enc_c_vec80_fnl[0]),
2592// .din1 (enc_c_vec112_fnl[0]),
2593// .din2 (enc_c_vec80_fnl[1]),
2594// .dout (dir_hit_vec80_or_112_tmp)
2595// );
2596//
2597//or_macro dirvec_dirdp_req_vec_c6_4_slice_62 (width=1,ports=2)
2598// (
2599// .din0 (enc_c_vec112_fnl[1]),
2600// .din1 (dir_hit_vec80_or_112_tmp),
2601// .dout (dir_hit_vec80_or_112)
2602// );
2603//
2604//
2605//or_macro dirvec_dirdp_req_vec_c6_slice5 (width=1)
2606// (
2607// .din0 (dir_hit_vec16_or_48),
2608// .din1 (dir_hit_vec80_or_112),
2609// .dout (dirvec_dirdp_req_vec_c6[4])
2610// );
2611//
2612//
2613//or_macro dirvec_dirdp_req_vec_c6_5_slice_6 (width=1,ports=3)
2614// (
2615// .din0 (enc_c_vec20_fnl[0]),
2616// .din1 (enc_c_vec52_fnl[0]),
2617// .din2 (enc_c_vec20_fnl[1]),
2618// .dout (dir_hit_vec20_or_52_tmp)
2619// );
2620//
2621//or_macro dirvec_dirdp_req_vec_c6_5_slice_62 (width=1,ports=2)
2622// (
2623// .din0 (enc_c_vec52_fnl[1]),
2624// .din1 (dir_hit_vec20_or_52_tmp),
2625// .dout (dir_hit_vec20_or_52)
2626// );
2627//
2628//
2629//or_macro dirvec_dirdp_req_vec_c6_5_slice_7 (width=1,ports=3)
2630// (
2631// .din0 (enc_c_vec84_fnl[0]),
2632// .din1 (enc_c_vec116_fnl[0]),
2633// .din2 (enc_c_vec84_fnl[1]),
2634// .dout (dir_hit_vec84_or_116_tmp)
2635// );
2636//
2637//or_macro dirvec_dirdp_req_vec_c6_5_slice_72 (width=1,ports=2)
2638// (
2639// .din0 (enc_c_vec116_fnl[1]),
2640// .din1 (dir_hit_vec84_or_116_tmp),
2641// .dout (dir_hit_vec84_or_116)
2642// );
2643//
2644//
2645//or_macro dirvec_dirdp_req_vec_c6_slice6 (width=1)
2646// (
2647// .din0 (dir_hit_vec20_or_52),
2648// .din1 (dir_hit_vec84_or_116),
2649// .dout (dirvec_dirdp_req_vec_c6[5])
2650// );
2651//
2652//
2653//
2654//or_macro dirvec_dirdp_req_vec_c6_6_slice_7 (width=1,ports=3)
2655// (
2656// .din0 (enc_c_vec24_fnl[0]),
2657// .din1 (enc_c_vec56_fnl[0]),
2658// .din2 (enc_c_vec24_fnl[1]),
2659// .dout (dir_hit_vec24_or_56_tmp)
2660// );
2661//
2662//or_macro dirvec_dirdp_req_vec_c6_6_slice_72 (width=1,ports=2)
2663// (
2664// .din0 (enc_c_vec56_fnl[1]),
2665// .din1 (dir_hit_vec24_or_56_tmp),
2666// .dout (dir_hit_vec24_or_56)
2667// );
2668//
2669//
2670//or_macro dirvec_dirdp_req_vec_c6_6_slice_8 (width=1,ports=3)
2671// (
2672// .din0 (enc_c_vec88_fnl[0]),
2673// .din1 (enc_c_vec120_fnl[0]),
2674// .din2 (enc_c_vec88_fnl[1]),
2675// .dout (dir_hit_vec88_or_120_tmp)
2676// );
2677//
2678//or_macro dirvec_dirdp_req_vec_c6_6_slice_82 (width=1,ports=2)
2679// (
2680// .din0 (enc_c_vec120_fnl[1]),
2681// .din1 (dir_hit_vec88_or_120_tmp),
2682// .dout (dir_hit_vec88_or_120)
2683// );
2684//
2685//
2686//or_macro dirvec_dirdp_req_vec_c6_slice7 (width=1)
2687// (
2688// .din0 (dir_hit_vec24_or_56),
2689// .din1 (dir_hit_vec88_or_120),
2690// .dout (dirvec_dirdp_req_vec_c6[6])
2691// );
2692//
2693//
2694//or_macro dirvec_dirdp_req_vec_c6_7_slice_8 (width=1,ports=3)
2695// (
2696// .din0 (enc_c_vec28_fnl[0]),
2697// .din1 (enc_c_vec60_fnl[0]),
2698// .din2 (enc_c_vec28_fnl[1]),
2699// .dout (dir_hit_vec28_or_60_tmp)
2700// );
2701//
2702//or_macro dirvec_dirdp_req_vec_c6_7_slice_82 (width=1,ports=2)
2703// (
2704// .din0 (enc_c_vec60_fnl[1]),
2705// .din1 (dir_hit_vec28_or_60_tmp),
2706// .dout (dir_hit_vec28_or_60)
2707// );
2708//
2709//
2710//or_macro dirvec_dirdp_req_vec_c6_7_slice_9 (width=1,ports=3)
2711// (
2712// .din0 (enc_c_vec92_fnl[0]),
2713// .din1 (enc_c_vec124_fnl[0]),
2714// .din2 (enc_c_vec92_fnl[1]),
2715// .dout (dir_hit_vec92_or_124_tmp)
2716// );
2717//
2718//or_macro dirvec_dirdp_req_vec_c6_7_slice_92 (width=1,ports=2)
2719// (
2720// .din0 (enc_c_vec124_fnl[1]),
2721// .din1 (dir_hit_vec92_or_124_tmp),
2722// .dout (dir_hit_vec92_or_124)
2723// );
2724//
2725//
2726//or_macro dirvec_dirdp_req_vec_c6_slice0 (width=1)
2727// (
2728// .din0 (dir_hit_vec28_or_60),
2729// .din1 (dir_hit_vec92_or_124),
2730// .dout (dirvec_dirdp_req_vec_c6[7])
2731// );
2732//
2733//
2734//
2735
2736assign dirvec_dirdp_req_vec_c6[0] = |({enc_c_vec0_fnl[1:0],enc_c_vec32_fnl[1:0],
2737 enc_c_vec64_fnl[1:0],enc_c_vec96_fnl[1:0]});
2738
2739assign dirvec_dirdp_req_vec_c6[1] = |({enc_c_vec4_fnl[1:0],enc_c_vec36_fnl[1:0],
2740 enc_c_vec68_fnl[1:0],enc_c_vec100_fnl[1:0]});
2741
2742assign dirvec_dirdp_req_vec_c6[2] = |({enc_c_vec8_fnl[1:0],enc_c_vec40_fnl[1:0],
2743 enc_c_vec72_fnl[1:0],enc_c_vec104_fnl[1:0]});
2744
2745assign dirvec_dirdp_req_vec_c6[3] = |({enc_c_vec12_fnl[1:0],enc_c_vec44_fnl[1:0],
2746 enc_c_vec76_fnl[1:0],enc_c_vec108_fnl[1:0]});
2747
2748assign dirvec_dirdp_req_vec_c6[4] = |({enc_c_vec16_fnl[1:0],enc_c_vec48_fnl[1:0],
2749 enc_c_vec80_fnl[1:0],enc_c_vec112_fnl[1:0]});
2750
2751assign dirvec_dirdp_req_vec_c6[5] = |({enc_c_vec20_fnl[1:0],enc_c_vec52_fnl[1:0],
2752 enc_c_vec84_fnl[1:0],enc_c_vec116_fnl[1:0]});
2753
2754assign dirvec_dirdp_req_vec_c6[6] = |({enc_c_vec24_fnl[1:0],enc_c_vec56_fnl[1:0],
2755 enc_c_vec88_fnl[1:0],enc_c_vec120_fnl[1:0]});
2756
2757assign dirvec_dirdp_req_vec_c6[7] = |({enc_c_vec28_fnl[1:0],enc_c_vec60_fnl[1:0],
2758 enc_c_vec92_fnl[1:0],enc_c_vec124_fnl[1:0]});
2759
2760
2761//*******************************************************************************************
2762// INVALIDATE PACKET FORMATION
2763////*******************************************************************************************
2764//// 32 bit dir vec.
2765//
2766//wire [3:0] enc_c_vec0;
2767//wire [3:0] enc_c_vec4;
2768//wire [3:0] enc_c_vec8;
2769//wire [3:0] enc_c_vec12;
2770//wire [3:0] enc_c_vec16;
2771//wire [3:0] enc_c_vec20;
2772//wire [3:0] enc_c_vec24;
2773//wire [3:0] enc_c_vec28;
2774//
2775//wire [3:0] enc_c_vec64;
2776//wire [3:0] enc_c_vec68;
2777//wire [3:0] enc_c_vec72;
2778//wire [3:0] enc_c_vec76;
2779//wire [3:0] enc_c_vec80;
2780//wire [3:0] enc_c_vec84;
2781//wire [3:0] enc_c_vec88;
2782//wire [3:0] enc_c_vec92;
2783//
2784//
2785//
2786//// BS and SR 11/18/03 Support for 8 way I$
2787//assign enc_c_vec0[3:0] = ic_dir_vec0_c6 ? {enc_ic_vec0_way_c6,1'b1} : {enc_dc_vec0_way_c6,dc_dir_vec0_c6,1'b0};
2788//assign enc_c_vec4[3:0] = ic_dir_vec4_c6 ? {enc_ic_vec4_way_c6,1'b1} : {enc_dc_vec4_way_c6,dc_dir_vec4_c6,1'b0};
2789//assign enc_c_vec8[3:0] = ic_dir_vec8_c6 ? {enc_ic_vec8_way_c6,1'b1} : {enc_dc_vec8_way_c6,dc_dir_vec8_c6,1'b0};
2790//assign enc_c_vec12[3:0] = ic_dir_vec12_c6 ? {enc_ic_vec12_way_c6,1'b1} : {enc_dc_vec12_way_c6,dc_dir_vec12_c6,1'b0};
2791//assign enc_c_vec16[3:0] = ic_dir_vec16_c6 ? {enc_ic_vec16_way_c6,1'b1} : {enc_dc_vec16_way_c6,dc_dir_vec16_c6,1'b0};
2792//assign enc_c_vec20[3:0] = ic_dir_vec20_c6 ? {enc_ic_vec20_way_c6,1'b1} : {enc_dc_vec20_way_c6,dc_dir_vec20_c6,1'b0};
2793//assign enc_c_vec24[3:0] = ic_dir_vec24_c6 ? {enc_ic_vec24_way_c6,1'b1} : {enc_dc_vec24_way_c6,dc_dir_vec24_c6,1'b0};
2794//assign enc_c_vec28[3:0] = ic_dir_vec28_c6 ? {enc_ic_vec28_way_c6,1'b1} : {enc_dc_vec28_way_c6,dc_dir_vec28_c6,1'b0};
2795//
2796//mux_ctl_macro mux_enc_c_vec0 (width=4,ports=2,mux=aonpe,stack=4r)
2797// ( .dout(enc_c_vec0[3:0]),
2798// .din0({enc_ic_vec0_way_c6,1'b1}),
2799// .din1({enc_dc_vec0_way_c6,dc_dir_vec0_c6,1'b0}),
2800// .sel0(ic_dir_vec0_c6),
2801// .sel1(ic_dir_vec0_c6_n));
2802//
2803//mux_ctl_macro mux_enc_c_vec4 (width=4,ports=2,mux=aonpe,stack=4r)
2804// ( .dout(enc_c_vec4[3:0]),
2805// .din0({enc_ic_vec4_way_c6,1'b1}),
2806// .din1({enc_dc_vec4_way_c6,dc_dir_vec4_c6,1'b0}),
2807// .sel0(ic_dir_vec4_c6),
2808// .sel1(ic_dir_vec4_c6_n));
2809//
2810//mux_ctl_macro mux_enc_c_vec8 (width=4,ports=2,mux=aonpe,stack=4r)
2811// ( .dout(enc_c_vec8[3:0]),
2812// .din0({enc_ic_vec8_way_c6,1'b1}),
2813// .din1({enc_dc_vec8_way_c6,dc_dir_vec8_c6,1'b0}),
2814// .sel0(ic_dir_vec8_c6),
2815// .sel1(ic_dir_vec8_c6_n));
2816//
2817//mux_ctl_macro mux_enc_c_vec12 (width=4,ports=2,mux=aonpe,stack=4r)
2818// ( .dout(enc_c_vec12[3:0]),
2819// .din0({enc_ic_vec12_way_c6,1'b1}),
2820// .din1({enc_dc_vec12_way_c6,dc_dir_vec12_c6,1'b0}),
2821// .sel0(ic_dir_vec12_c6),
2822// .sel1(ic_dir_vec12_c6_n));
2823//
2824//mux_ctl_macro mux_enc_c_vec16 (width=4,ports=2,mux=aonpe,stack=4r)
2825// ( .dout(enc_c_vec16[3:0]),
2826// .din0({enc_ic_vec16_way_c6,1'b1}),
2827// .din1({enc_dc_vec16_way_c6,dc_dir_vec16_c6,1'b0}),
2828// .sel0(ic_dir_vec16_c6),
2829// .sel1(ic_dir_vec16_c6_n));
2830//
2831//mux_ctl_macro mux_enc_c_vec20 (width=4,ports=2,mux=aonpe,stack=4r)
2832// ( .dout(enc_c_vec20[3:0]),
2833// .din0({enc_ic_vec20_way_c6,1'b1}),
2834// .din1({enc_dc_vec20_way_c6,dc_dir_vec20_c6,1'b0}),
2835// .sel0(ic_dir_vec20_c6),
2836// .sel1(ic_dir_vec20_c6_n));
2837//
2838//mux_ctl_macro mux_enc_c_vec24 (width=4,ports=2,mux=aonpe,stack=4r)
2839// ( .dout(enc_c_vec24[3:0]),
2840// .din0({enc_ic_vec24_way_c6,1'b1}),
2841// .din1({enc_dc_vec24_way_c6,dc_dir_vec24_c6,1'b0}),
2842// .sel0(ic_dir_vec24_c6),
2843// .sel1(ic_dir_vec24_c6_n));
2844//
2845//mux_ctl_macro mux_enc_c_vec28 (width=4,ports=2,mux=aonpe,stack=4r)
2846// ( .dout(enc_c_vec28[3:0]),
2847// .din0({enc_ic_vec28_way_c6,1'b1}),
2848// .din1({enc_dc_vec28_way_c6,dc_dir_vec28_c6,1'b0}),
2849// .sel0(ic_dir_vec28_c6),
2850// .sel1(ic_dir_vec28_c6_n));
2851//
2852
2853l2t_prbnk0_ctl prbnk0_addr54_00 (
2854 .arbadr_ncu_l2t_pm_n(arbadr_ncu_l2t_pm_n),
2855 .arb_dirvec_cpu0_selbot(arb_dirvec_cpu0_selbot),
2856 .arb_dirvec_cpu1_selbot(arb_dirvec_cpu1_selbot),
2857 .arb_dirvec_cpu2_selbot(arb_dirvec_cpu2_selbot),
2858 .arb_dirvec_cpu3_selbot(arb_dirvec_cpu3_selbot),
2859 .arb_dirvec_cpu4_selbot(arb_dirvec_cpu4_selbot),
2860 .arb_dirvec_cpu5_selbot(arb_dirvec_cpu5_selbot),
2861 .arb_dirvec_cpu6_selbot(arb_dirvec_cpu6_selbot),
2862 .arb_dirvec_cpu7_selbot(arb_dirvec_cpu7_selbot),
2863 .arb_dirvec_cpu1_seltop(arb_dirvec_cpu1_seltop),
2864 .arb_dirvec_cpu2_seltop(arb_dirvec_cpu2_seltop),
2865 .arb_dirvec_cpu3_seltop(arb_dirvec_cpu3_seltop),
2866 .arb_dirvec_cpu4_seltop(arb_dirvec_cpu4_seltop),
2867 .arb_dirvec_cpu5_seltop(arb_dirvec_cpu5_seltop),
2868 .arb_dirvec_cpu6_seltop(arb_dirvec_cpu6_seltop),
2869 .arb_dirvec_cpu7_seltop(arb_dirvec_cpu7_seltop),
2870 .arb_dirvec_cpu0_sel00(arb_dirvec_cpu0_sel00),
2871 .arb_dirvec_cpu1_sel00(arb_dirvec_cpu1_sel00),
2872 .arb_dirvec_cpu1_sel01(arb_dirvec_cpu1_sel01),
2873 .arb_dirvec_cpu2_sel00(arb_dirvec_cpu2_sel00),
2874 .arb_dirvec_cpu2_sel01(arb_dirvec_cpu2_sel01),
2875 .arb_dirvec_cpu2_sel10(arb_dirvec_cpu2_sel10),
2876 .arb_dirvec_cpu3_sel00(arb_dirvec_cpu3_sel00),
2877 .arb_dirvec_cpu3_sel01(arb_dirvec_cpu3_sel01),
2878 .arb_dirvec_cpu3_sel10(arb_dirvec_cpu3_sel10),
2879 .arb_dirvec_cpu3_sel11(arb_dirvec_cpu3_sel11),
2880 .arb_dirvec_cpu4_sel00(arb_dirvec_cpu4_sel00),
2881 .arb_dirvec_cpu4_sel01(arb_dirvec_cpu4_sel01),
2882 .arb_dirvec_cpu4_sel10(arb_dirvec_cpu4_sel10),
2883 .arb_dirvec_cpu4_sel11(arb_dirvec_cpu4_sel11),
2884 .arb_dirvec_cpu5_sel00(arb_dirvec_cpu5_sel00),
2885 .arb_dirvec_cpu5_sel01(arb_dirvec_cpu5_sel01),
2886 .arb_dirvec_cpu5_sel10(arb_dirvec_cpu5_sel10),
2887 .arb_dirvec_cpu5_sel11(arb_dirvec_cpu5_sel11),
2888 .arb_dirvec_cpu6_sel00(arb_dirvec_cpu6_sel00),
2889 .arb_dirvec_cpu6_sel01(arb_dirvec_cpu6_sel01),
2890 .arb_dirvec_cpu6_sel10(arb_dirvec_cpu6_sel10),
2891 .arb_dirvec_cpu6_sel11(arb_dirvec_cpu6_sel11),
2892 .arb_dirvec_cpu7_sel00(arb_dirvec_cpu7_sel00),
2893 .arb_dirvec_cpu7_sel01(arb_dirvec_cpu7_sel01),
2894 .arb_dirvec_cpu7_sel10(arb_dirvec_cpu7_sel10),
2895 .arb_dirvec_cpu7_sel11(arb_dirvec_cpu7_sel11),
2896 .enc_c_vec0(enc_c_vec0[3:0]),
2897 .enc_c_vec1(enc_c_vec4[3:0]),
2898 .enc_c_vec2(enc_c_vec8[3:0]),
2899 .enc_c_vec3(enc_c_vec12[3:0]),
2900 .enc_c_vec4(enc_c_vec16[3:0]),
2901 .enc_c_vec5(enc_c_vec20[3:0]),
2902 .enc_c_vec6(enc_c_vec24[3:0]),
2903 .enc_c_vec7(enc_c_vec28[3:0]),
2904 .enc_c_vec0_fnl(enc_c_vec0_fnl[3:0]),
2905 .enc_c_vec1_fnl(enc_c_vec4_fnl[3:0]),
2906 .enc_c_vec2_fnl(enc_c_vec8_fnl[3:0]),
2907 .enc_c_vec3_fnl(enc_c_vec12_fnl[3:0]),
2908 .enc_c_vec4_fnl(enc_c_vec16_fnl[3:0]),
2909 .enc_c_vec5_fnl(enc_c_vec20_fnl[3:0]),
2910 .enc_c_vec6_fnl(enc_c_vec24_fnl[3:0]),
2911 .enc_c_vec7_fnl(enc_c_vec28_fnl[3:0])
2912 );
2913
2914assign dirdp_inval_pckt_c6[31:0] = { enc_c_vec28_fnl,enc_c_vec24_fnl,enc_c_vec20_fnl,enc_c_vec16_fnl,enc_c_vec12_fnl,enc_c_vec8_fnl,
2915 enc_c_vec4_fnl,enc_c_vec0_fnl};
2916
2917wire [2:0] enc_c_vec32,enc_c_vec36,enc_c_vec40,enc_c_vec44,enc_c_vec48,enc_c_vec52,enc_c_vec56,enc_c_vec60;
2918
2919assign enc_c_vec32 = {enc_c_vec32_way_c6, dc_dir_vec32_c6};
2920assign enc_c_vec36 = {enc_c_vec36_way_c6, dc_dir_vec36_c6};
2921assign enc_c_vec40 = {enc_c_vec40_way_c6, dc_dir_vec40_c6};
2922assign enc_c_vec44 = {enc_c_vec44_way_c6, dc_dir_vec44_c6};
2923assign enc_c_vec48 = {enc_c_vec48_way_c6, dc_dir_vec48_c6};
2924assign enc_c_vec52 = {enc_c_vec52_way_c6, dc_dir_vec52_c6};
2925assign enc_c_vec56 = {enc_c_vec56_way_c6, dc_dir_vec56_c6};
2926assign enc_c_vec60 = {enc_c_vec60_way_c6, dc_dir_vec60_c6};
2927
2928
2929l2t_prbnk1_ctl prbnk1_addr54_01 (
2930 .arbadr_ncu_l2t_pm_n(arbadr_ncu_l2t_pm_n),
2931 .arb_dirvec_cpu0_selbot(arb_dirvec_cpu0_selbot),
2932 .arb_dirvec_cpu1_selbot(arb_dirvec_cpu1_selbot),
2933 .arb_dirvec_cpu2_selbot(arb_dirvec_cpu2_selbot),
2934 .arb_dirvec_cpu3_selbot(arb_dirvec_cpu3_selbot),
2935 .arb_dirvec_cpu4_selbot(arb_dirvec_cpu4_selbot),
2936 .arb_dirvec_cpu5_selbot(arb_dirvec_cpu5_selbot),
2937 .arb_dirvec_cpu6_selbot(arb_dirvec_cpu6_selbot),
2938 .arb_dirvec_cpu7_selbot(arb_dirvec_cpu7_selbot),
2939 .arb_dirvec_cpu1_seltop(arb_dirvec_cpu1_seltop),
2940 .arb_dirvec_cpu2_seltop(arb_dirvec_cpu2_seltop),
2941 .arb_dirvec_cpu3_seltop(arb_dirvec_cpu3_seltop),
2942 .arb_dirvec_cpu4_seltop(arb_dirvec_cpu4_seltop),
2943 .arb_dirvec_cpu5_seltop(arb_dirvec_cpu5_seltop),
2944 .arb_dirvec_cpu6_seltop(arb_dirvec_cpu6_seltop),
2945 .arb_dirvec_cpu7_seltop(arb_dirvec_cpu7_seltop),
2946 .arb_dirvec_cpu0_sel00(arb_dirvec_cpu0_sel00),
2947 .arb_dirvec_cpu1_sel00(arb_dirvec_cpu1_sel00),
2948 .arb_dirvec_cpu1_sel01(arb_dirvec_cpu1_sel01),
2949 .arb_dirvec_cpu2_sel00(arb_dirvec_cpu2_sel00),
2950 .arb_dirvec_cpu2_sel01(arb_dirvec_cpu2_sel01),
2951 .arb_dirvec_cpu2_sel10(arb_dirvec_cpu2_sel10),
2952 .arb_dirvec_cpu3_sel00(arb_dirvec_cpu3_sel00),
2953 .arb_dirvec_cpu3_sel01(arb_dirvec_cpu3_sel01),
2954 .arb_dirvec_cpu3_sel10(arb_dirvec_cpu3_sel10),
2955 .arb_dirvec_cpu3_sel11(arb_dirvec_cpu3_sel11),
2956 .arb_dirvec_cpu4_sel00(arb_dirvec_cpu4_sel00),
2957 .arb_dirvec_cpu4_sel01(arb_dirvec_cpu4_sel01),
2958 .arb_dirvec_cpu4_sel10(arb_dirvec_cpu4_sel10),
2959 .arb_dirvec_cpu4_sel11(arb_dirvec_cpu4_sel11),
2960 .arb_dirvec_cpu5_sel00(arb_dirvec_cpu5_sel00),
2961 .arb_dirvec_cpu5_sel01(arb_dirvec_cpu5_sel01),
2962 .arb_dirvec_cpu5_sel10(arb_dirvec_cpu5_sel10),
2963 .arb_dirvec_cpu5_sel11(arb_dirvec_cpu5_sel11),
2964 .arb_dirvec_cpu6_sel00(arb_dirvec_cpu6_sel00),
2965 .arb_dirvec_cpu6_sel01(arb_dirvec_cpu6_sel01),
2966 .arb_dirvec_cpu6_sel10(arb_dirvec_cpu6_sel10),
2967 .arb_dirvec_cpu6_sel11(arb_dirvec_cpu6_sel11),
2968 .arb_dirvec_cpu7_sel00(arb_dirvec_cpu7_sel00),
2969 .arb_dirvec_cpu7_sel01(arb_dirvec_cpu7_sel01),
2970 .arb_dirvec_cpu7_sel10(arb_dirvec_cpu7_sel10),
2971 .arb_dirvec_cpu7_sel11(arb_dirvec_cpu7_sel11),
2972 .enc_c_vec0(enc_c_vec32[2:0]),
2973 .enc_c_vec1(enc_c_vec36[2:0]),
2974 .enc_c_vec2(enc_c_vec40[2:0]),
2975 .enc_c_vec3(enc_c_vec44[2:0]),
2976 .enc_c_vec4(enc_c_vec48[2:0]),
2977 .enc_c_vec5(enc_c_vec52[2:0]),
2978 .enc_c_vec6(enc_c_vec56[2:0]),
2979 .enc_c_vec7(enc_c_vec60[2:0]),
2980 .enc_c_vec0_fnl(enc_c_vec32_fnl[2:0]),
2981 .enc_c_vec1_fnl(enc_c_vec36_fnl[2:0]),
2982 .enc_c_vec2_fnl(enc_c_vec40_fnl[2:0]),
2983 .enc_c_vec3_fnl(enc_c_vec44_fnl[2:0]),
2984 .enc_c_vec4_fnl(enc_c_vec48_fnl[2:0]),
2985 .enc_c_vec5_fnl(enc_c_vec52_fnl[2:0]),
2986 .enc_c_vec6_fnl(enc_c_vec56_fnl[2:0]),
2987 .enc_c_vec7_fnl(enc_c_vec60_fnl[2:0])
2988 );
2989
2990// 24 bit dir vec.
2991assign dirdp_inval_pckt_c6[55:32] = { enc_c_vec60_fnl,enc_c_vec56_fnl,enc_c_vec52_fnl,enc_c_vec48_fnl,
2992 enc_c_vec44_fnl,enc_c_vec40_fnl,enc_c_vec36_fnl,enc_c_vec32_fnl
2993 } ;
2994
2995//// 32 bit dir vec.
2996//// BS and SR 11/18/03 Support for 8 way I$
2997//// assign enc_c_vec92 = ic_dir_vec92_c6 ? {enc_ic_vec92_way_c6,1'b1} : {enc_dc_vec92_way_c6,dc_dir_vec92_c6,1'b0};
2998//// assign enc_c_vec88 = ic_dir_vec88_c6 ? {enc_ic_vec88_way_c6,1'b1} : {enc_dc_vec88_way_c6,dc_dir_vec88_c6,1'b0};
2999//// assign enc_c_vec84 = ic_dir_vec84_c6 ? {enc_ic_vec84_way_c6,1'b1} : {enc_dc_vec84_way_c6,dc_dir_vec84_c6,1'b0};
3000//// assign enc_c_vec80 = ic_dir_vec80_c6 ? {enc_ic_vec80_way_c6,1'b1} : {enc_dc_vec80_way_c6,dc_dir_vec80_c6,1'b0};
3001//// assign enc_c_vec76 = ic_dir_vec76_c6 ? {enc_ic_vec76_way_c6,1'b1} : {enc_dc_vec76_way_c6,dc_dir_vec76_c6,1'b0};
3002//// assign enc_c_vec72 = ic_dir_vec72_c6 ? {enc_ic_vec72_way_c6,1'b1} : {enc_dc_vec72_way_c6,dc_dir_vec72_c6,1'b0};
3003//// assign enc_c_vec68 = ic_dir_vec68_c6 ? {enc_ic_vec68_way_c6,1'b1} : {enc_dc_vec68_way_c6,dc_dir_vec68_c6,1'b0};
3004//// assign enc_c_vec64 = ic_dir_vec64_c6 ? {enc_ic_vec64_way_c6,1'b1} : {enc_dc_vec64_way_c6,dc_dir_vec64_c6,1'b0};
3005//
3006//
3007//mux_ctl_macro mux_enc_c_vec64 (width=4,ports=2,mux=aonpe,stack=4l)
3008// (
3009// .dout(enc_c_vec64[3:0]),
3010// .din0({enc_ic_vec64_way_c6,1'b1}),
3011// .din1({enc_dc_vec64_way_c6,dc_dir_vec64_c6,1'b0}),
3012// .sel0(ic_dir_vec64_c6),
3013// .sel1(ic_dir_vec64_c6_n));
3014//
3015//mux_ctl_macro mux_enc_c_vec68 (width=4,ports=2,mux=aonpe,stack=4l)
3016// (
3017// .dout(enc_c_vec68[3:0]),
3018// .din0({enc_ic_vec68_way_c6,1'b1}),
3019// .din1({enc_dc_vec68_way_c6,dc_dir_vec68_c6,1'b0}),
3020// .sel0(ic_dir_vec68_c6),
3021// .sel1(ic_dir_vec68_c6_n));
3022//
3023//
3024//mux_ctl_macro mux_enc_c_vec72 (width=4,ports=2,mux=aonpe,stack=4l)
3025// (
3026// .dout(enc_c_vec72[3:0]),
3027// .din0({enc_ic_vec72_way_c6,1'b1}),
3028// .din1({enc_dc_vec72_way_c6,dc_dir_vec72_c6,1'b0}),
3029// .sel0(ic_dir_vec72_c6),
3030// .sel1(ic_dir_vec72_c6_n));
3031//
3032//
3033//mux_ctl_macro mux_enc_c_vec76 (width=4,ports=2,mux=aonpe,stack=4l)
3034// (
3035// .dout(enc_c_vec76[3:0]),
3036// .din0({enc_ic_vec76_way_c6,1'b1}),
3037// .din1({enc_dc_vec76_way_c6,dc_dir_vec76_c6,1'b0}),
3038// .sel0(ic_dir_vec76_c6),
3039// .sel1(ic_dir_vec76_c6_n));
3040//
3041//
3042//mux_ctl_macro mux_enc_c_vec80 (width=4,ports=2,mux=aonpe,stack=4l)
3043// (
3044// .dout(enc_c_vec80[3:0]),
3045// .din0({enc_ic_vec80_way_c6,1'b1}),
3046// .din1({enc_dc_vec80_way_c6,dc_dir_vec80_c6,1'b0}),
3047// .sel0(ic_dir_vec80_c6),
3048// .sel1(ic_dir_vec80_c6_n));
3049//
3050//
3051//mux_ctl_macro mux_enc_c_vec84 (width=4,ports=2,mux=aonpe,stack=4l)
3052// (
3053// .dout(enc_c_vec84[3:0]),
3054// .din0({enc_ic_vec84_way_c6,1'b1}),
3055// .din1({enc_dc_vec84_way_c6,dc_dir_vec84_c6,1'b0}),
3056// .sel0(ic_dir_vec84_c6),
3057// .sel1(ic_dir_vec84_c6_n));
3058//
3059//
3060//mux_ctl_macro mux_enc_c_vec88 (width=4,ports=2,mux=aonpe,stack=4l)
3061// (
3062// .dout(enc_c_vec88[3:0]),
3063// .din0({enc_ic_vec88_way_c6,1'b1}),
3064// .din1({enc_dc_vec88_way_c6,dc_dir_vec88_c6,1'b0}),
3065// .sel0(ic_dir_vec88_c6),
3066// .sel1(ic_dir_vec88_c6_n));
3067//
3068//
3069//mux_ctl_macro mux_enc_c_vec92 (width=4,ports=2,mux=aonpe,stack=4l)
3070// (
3071// .dout(enc_c_vec92[3:0]),
3072// .din0({enc_ic_vec92_way_c6,1'b1}),
3073// .din1({enc_dc_vec92_way_c6,dc_dir_vec92_c6,1'b0}),
3074// .sel0(ic_dir_vec92_c6),
3075// .sel1(ic_dir_vec92_c6_n));
3076
3077
3078l2t_prbnk0_ctl prbnk0_addr54_10 (
3079 .arbadr_ncu_l2t_pm_n(arbadr_ncu_l2t_pm_n),
3080 .arb_dirvec_cpu0_selbot(arb_dirvec_cpu0_selbot),
3081 .arb_dirvec_cpu1_selbot(arb_dirvec_cpu1_selbot),
3082 .arb_dirvec_cpu2_selbot(arb_dirvec_cpu2_selbot),
3083 .arb_dirvec_cpu3_selbot(arb_dirvec_cpu3_selbot),
3084 .arb_dirvec_cpu4_selbot(arb_dirvec_cpu4_selbot),
3085 .arb_dirvec_cpu5_selbot(arb_dirvec_cpu5_selbot),
3086 .arb_dirvec_cpu6_selbot(arb_dirvec_cpu6_selbot),
3087 .arb_dirvec_cpu7_selbot(arb_dirvec_cpu7_selbot),
3088 .arb_dirvec_cpu1_seltop(arb_dirvec_cpu1_seltop),
3089 .arb_dirvec_cpu2_seltop(arb_dirvec_cpu2_seltop),
3090 .arb_dirvec_cpu3_seltop(arb_dirvec_cpu3_seltop),
3091 .arb_dirvec_cpu4_seltop(arb_dirvec_cpu4_seltop),
3092 .arb_dirvec_cpu5_seltop(arb_dirvec_cpu5_seltop),
3093 .arb_dirvec_cpu6_seltop(arb_dirvec_cpu6_seltop),
3094 .arb_dirvec_cpu7_seltop(arb_dirvec_cpu7_seltop),
3095 .arb_dirvec_cpu0_sel00(arb_dirvec_cpu0_sel00),
3096 .arb_dirvec_cpu1_sel00(arb_dirvec_cpu1_sel00),
3097 .arb_dirvec_cpu1_sel01(arb_dirvec_cpu1_sel01),
3098 .arb_dirvec_cpu2_sel00(arb_dirvec_cpu2_sel00),
3099 .arb_dirvec_cpu2_sel01(arb_dirvec_cpu2_sel01),
3100 .arb_dirvec_cpu2_sel10(arb_dirvec_cpu2_sel10),
3101 .arb_dirvec_cpu3_sel00(arb_dirvec_cpu3_sel00),
3102 .arb_dirvec_cpu3_sel01(arb_dirvec_cpu3_sel01),
3103 .arb_dirvec_cpu3_sel10(arb_dirvec_cpu3_sel10),
3104 .arb_dirvec_cpu3_sel11(arb_dirvec_cpu3_sel11),
3105 .arb_dirvec_cpu4_sel00(arb_dirvec_cpu4_sel00),
3106 .arb_dirvec_cpu4_sel01(arb_dirvec_cpu4_sel01),
3107 .arb_dirvec_cpu4_sel10(arb_dirvec_cpu4_sel10),
3108 .arb_dirvec_cpu4_sel11(arb_dirvec_cpu4_sel11),
3109 .arb_dirvec_cpu5_sel00(arb_dirvec_cpu5_sel00),
3110 .arb_dirvec_cpu5_sel01(arb_dirvec_cpu5_sel01),
3111 .arb_dirvec_cpu5_sel10(arb_dirvec_cpu5_sel10),
3112 .arb_dirvec_cpu5_sel11(arb_dirvec_cpu5_sel11),
3113 .arb_dirvec_cpu6_sel00(arb_dirvec_cpu6_sel00),
3114 .arb_dirvec_cpu6_sel01(arb_dirvec_cpu6_sel01),
3115 .arb_dirvec_cpu6_sel10(arb_dirvec_cpu6_sel10),
3116 .arb_dirvec_cpu6_sel11(arb_dirvec_cpu6_sel11),
3117 .arb_dirvec_cpu7_sel00(arb_dirvec_cpu7_sel00),
3118 .arb_dirvec_cpu7_sel01(arb_dirvec_cpu7_sel01),
3119 .arb_dirvec_cpu7_sel10(arb_dirvec_cpu7_sel10),
3120 .arb_dirvec_cpu7_sel11(arb_dirvec_cpu7_sel11),
3121 .enc_c_vec0(enc_c_vec64[3:0]),
3122 .enc_c_vec1(enc_c_vec68[3:0]),
3123 .enc_c_vec2(enc_c_vec72[3:0]),
3124 .enc_c_vec3(enc_c_vec76[3:0]),
3125 .enc_c_vec4(enc_c_vec80[3:0]),
3126 .enc_c_vec5(enc_c_vec84[3:0]),
3127 .enc_c_vec6(enc_c_vec88[3:0]),
3128 .enc_c_vec7(enc_c_vec92[3:0]),
3129 .enc_c_vec0_fnl(enc_c_vec64_fnl[3:0]),
3130 .enc_c_vec1_fnl(enc_c_vec68_fnl[3:0]),
3131 .enc_c_vec2_fnl(enc_c_vec72_fnl[3:0]),
3132 .enc_c_vec3_fnl(enc_c_vec76_fnl[3:0]),
3133 .enc_c_vec4_fnl(enc_c_vec80_fnl[3:0]),
3134 .enc_c_vec5_fnl(enc_c_vec84_fnl[3:0]),
3135 .enc_c_vec6_fnl(enc_c_vec88_fnl[3:0]),
3136 .enc_c_vec7_fnl(enc_c_vec92_fnl[3:0])
3137 );
3138
3139
3140assign dirdp_inval_pckt_c6[87:56] = { enc_c_vec92_fnl, enc_c_vec88_fnl, enc_c_vec84_fnl, enc_c_vec80_fnl, enc_c_vec76_fnl,
3141 enc_c_vec72_fnl, enc_c_vec68_fnl, enc_c_vec64_fnl};
3142
3143wire [2:0] enc_c_vec96,enc_c_vec100,enc_c_vec104,enc_c_vec108,enc_c_vec112,enc_c_vec116,enc_c_vec120,enc_c_vec124;
3144
3145assign enc_c_vec96 = {enc_c_vec96_way_c6, dc_dir_vec96_c6};
3146assign enc_c_vec100 = {enc_c_vec100_way_c6, dc_dir_vec100_c6};
3147assign enc_c_vec104 = {enc_c_vec104_way_c6, dc_dir_vec104_c6};
3148assign enc_c_vec108 = {enc_c_vec108_way_c6, dc_dir_vec108_c6};
3149assign enc_c_vec112 = {enc_c_vec112_way_c6, dc_dir_vec112_c6};
3150assign enc_c_vec116 = {enc_c_vec116_way_c6, dc_dir_vec116_c6};
3151assign enc_c_vec120 = {enc_c_vec120_way_c6, dc_dir_vec120_c6};
3152assign enc_c_vec124 = {enc_c_vec124_way_c6, dc_dir_vec124_c6};
3153
3154
3155
3156l2t_prbnk1_ctl prbnk1_addr54_11 (
3157 .arbadr_ncu_l2t_pm_n(arbadr_ncu_l2t_pm_n),
3158 .arb_dirvec_cpu0_selbot(arb_dirvec_cpu0_selbot),
3159 .arb_dirvec_cpu1_selbot(arb_dirvec_cpu1_selbot),
3160 .arb_dirvec_cpu2_selbot(arb_dirvec_cpu2_selbot),
3161 .arb_dirvec_cpu3_selbot(arb_dirvec_cpu3_selbot),
3162 .arb_dirvec_cpu4_selbot(arb_dirvec_cpu4_selbot),
3163 .arb_dirvec_cpu5_selbot(arb_dirvec_cpu5_selbot),
3164 .arb_dirvec_cpu6_selbot(arb_dirvec_cpu6_selbot),
3165 .arb_dirvec_cpu7_selbot(arb_dirvec_cpu7_selbot),
3166 .arb_dirvec_cpu1_seltop(arb_dirvec_cpu1_seltop),
3167 .arb_dirvec_cpu2_seltop(arb_dirvec_cpu2_seltop),
3168 .arb_dirvec_cpu3_seltop(arb_dirvec_cpu3_seltop),
3169 .arb_dirvec_cpu4_seltop(arb_dirvec_cpu4_seltop),
3170 .arb_dirvec_cpu5_seltop(arb_dirvec_cpu5_seltop),
3171 .arb_dirvec_cpu6_seltop(arb_dirvec_cpu6_seltop),
3172 .arb_dirvec_cpu7_seltop(arb_dirvec_cpu7_seltop),
3173 .arb_dirvec_cpu0_sel00(arb_dirvec_cpu0_sel00),
3174 .arb_dirvec_cpu1_sel00(arb_dirvec_cpu1_sel00),
3175 .arb_dirvec_cpu1_sel01(arb_dirvec_cpu1_sel01),
3176 .arb_dirvec_cpu2_sel00(arb_dirvec_cpu2_sel00),
3177 .arb_dirvec_cpu2_sel01(arb_dirvec_cpu2_sel01),
3178 .arb_dirvec_cpu2_sel10(arb_dirvec_cpu2_sel10),
3179 .arb_dirvec_cpu3_sel00(arb_dirvec_cpu3_sel00),
3180 .arb_dirvec_cpu3_sel01(arb_dirvec_cpu3_sel01),
3181 .arb_dirvec_cpu3_sel10(arb_dirvec_cpu3_sel10),
3182 .arb_dirvec_cpu3_sel11(arb_dirvec_cpu3_sel11),
3183 .arb_dirvec_cpu4_sel00(arb_dirvec_cpu4_sel00),
3184 .arb_dirvec_cpu4_sel01(arb_dirvec_cpu4_sel01),
3185 .arb_dirvec_cpu4_sel10(arb_dirvec_cpu4_sel10),
3186 .arb_dirvec_cpu4_sel11(arb_dirvec_cpu4_sel11),
3187 .arb_dirvec_cpu5_sel00(arb_dirvec_cpu5_sel00),
3188 .arb_dirvec_cpu5_sel01(arb_dirvec_cpu5_sel01),
3189 .arb_dirvec_cpu5_sel10(arb_dirvec_cpu5_sel10),
3190 .arb_dirvec_cpu5_sel11(arb_dirvec_cpu5_sel11),
3191 .arb_dirvec_cpu6_sel00(arb_dirvec_cpu6_sel00),
3192 .arb_dirvec_cpu6_sel01(arb_dirvec_cpu6_sel01),
3193 .arb_dirvec_cpu6_sel10(arb_dirvec_cpu6_sel10),
3194 .arb_dirvec_cpu6_sel11(arb_dirvec_cpu6_sel11),
3195 .arb_dirvec_cpu7_sel00(arb_dirvec_cpu7_sel00),
3196 .arb_dirvec_cpu7_sel01(arb_dirvec_cpu7_sel01),
3197 .arb_dirvec_cpu7_sel10(arb_dirvec_cpu7_sel10),
3198 .arb_dirvec_cpu7_sel11(arb_dirvec_cpu7_sel11),
3199 .enc_c_vec0(enc_c_vec96[2:0]),
3200 .enc_c_vec1(enc_c_vec100[2:0]),
3201 .enc_c_vec2(enc_c_vec104[2:0]),
3202 .enc_c_vec3(enc_c_vec108[2:0]),
3203 .enc_c_vec4(enc_c_vec112[2:0]),
3204 .enc_c_vec5(enc_c_vec116[2:0]),
3205 .enc_c_vec6(enc_c_vec120[2:0]),
3206 .enc_c_vec7(enc_c_vec124[2:0]),
3207 .enc_c_vec0_fnl(enc_c_vec96_fnl[2:0]),
3208 .enc_c_vec1_fnl(enc_c_vec100_fnl[2:0]),
3209 .enc_c_vec2_fnl(enc_c_vec104_fnl[2:0]),
3210 .enc_c_vec3_fnl(enc_c_vec108_fnl[2:0]),
3211 .enc_c_vec4_fnl(enc_c_vec112_fnl[2:0]),
3212 .enc_c_vec5_fnl(enc_c_vec116_fnl[2:0]),
3213 .enc_c_vec6_fnl(enc_c_vec120_fnl[2:0]),
3214 .enc_c_vec7_fnl(enc_c_vec124_fnl[2:0])
3215 );
3216
3217// 24 bit dir vec.
3218assign dirdp_inval_pckt_c6[111:88] = {enc_c_vec124_fnl,enc_c_vec120_fnl,enc_c_vec116_fnl,enc_c_vec112_fnl,
3219 enc_c_vec108_fnl,enc_c_vec104_fnl,enc_c_vec100_fnl,enc_c_vec96_fnl
3220 } ;
3221
3222//*******************************************************************************************
3223// GENERATION OR WAY AND WAYVLD FOR THE CPX RETURN
3224//*******************************************************************************************
3225
3226
3227//
3228//
3229//mux_ctl_macro mux_way_waywayvld_c6 (width=4,ports=4,mux=pgnpe)
3230// ( .dout(dirvecdp_way_info_c6[3:0]),
3231// .din0(way_wayvld00_mux3_c6[3:0]),
3232// .din1({way_wayvld01_mux3_c6[2:0],1'b0}),
3233// .din2(way_wayvld10_mux3_c6[3:0]),
3234// .din3({way_wayvld11_mux3_c6[2:0],1'b0}),
3235// .sel0(oqu_mux_vec_sel_c6[0]),
3236// .sel1(oqu_mux_vec_sel_c6[1]),
3237// .sel2(oqu_mux_vec_sel_c6[2]),
3238// .sel3(oqu_mux_vec_sel_c6[3]));
3239//
3240
3241
3242
3243always@(way_wayvld00_mux3_c6 or way_wayvld01_mux3_c6 or way_wayvld10_mux3_c6
3244 or way_wayvld11_mux3_c6 or oqu_mux_vec_sel_c6)
3245begin
3246case(oqu_mux_vec_sel_c6) // synopsys full_case parallel_case
32474'b0001 : dirvecdp_way_info_c6[3:0] = way_wayvld00_mux3_c6[3:0];
32484'b0010 : dirvecdp_way_info_c6[3:0] = {way_wayvld01_mux3_c6[2:0],1'b0};
32494'b0100 : dirvecdp_way_info_c6[3:0] = way_wayvld10_mux3_c6[3:0];
32504'b1000 : dirvecdp_way_info_c6[3:0] = {way_wayvld11_mux3_c6[2:0],1'b0};
3251default : dirvecdp_way_info_c6[3:0] = 4'b0;
3252endcase
3253end
3254
3255
3256//////////////////////// DC IC CAM MBIST support ////////////////////////////
3257
3258
3259
3260//msff_ctl_macro ff_arbadr_ncu_l2t_pm_n_dist (width=1)
3261// (
3262// .scan_in(ff_arbadr_ncu_l2t_pm_n_dist_scanin),
3263// .scan_out(ff_arbadr_ncu_l2t_pm_n_dist_scanout),
3264// .din(arbadr_ncu_l2t_pm_n_dist),
3265// .l1clk(l1clk),
3266// .dout(arbadr_ncu_l2t_pm_n_1),
3267// );
3268
3269
3270
3271l2t_dirvec_ctl_msff_ctl_macro__width_64 ff_ic_cam_hit_reg0
3272 (
3273 .scan_in(ff_ic_cam_hit_reg0_scanin),
3274 .scan_out(ff_ic_cam_hit_reg0_scanout),
3275 .din(ic_cam_hit[63:0]),
3276 .l1clk(l1clk),
3277 .dout(ic_cam_hit_reg[63:0]),
3278 .siclk(siclk),
3279 .soclk(soclk)
3280 );
3281
3282l2t_dirvec_ctl_msff_ctl_macro__width_64 ff_ic_cam_hit_reg1
3283 (
3284 .scan_in(ff_ic_cam_hit_reg1_scanin),
3285 .scan_out(ff_ic_cam_hit_reg1_scanout),
3286 .din(ic_cam_hit[127:64]),
3287 .l1clk(l1clk),
3288 .dout(ic_cam_hit_reg[127:64]),
3289 .siclk(siclk),
3290 .soclk(soclk)
3291 );
3292
3293l2t_dirvec_ctl_msff_ctl_macro__width_64 ff_dc_cam_hit_reg0
3294 (
3295 .scan_in(ff_dc_cam_hit_reg0_scanin),
3296 .scan_out(ff_dc_cam_hit_reg0_scanout),
3297 .din(dc_cam_hit[63:0]),
3298 .l1clk(l1clk),
3299 .dout(dc_cam_hit_reg[63:0]),
3300 .siclk(siclk),
3301 .soclk(soclk)
3302 );
3303
3304l2t_dirvec_ctl_msff_ctl_macro__width_64 ff_dc_cam_hit_reg
3305 (
3306 .scan_in(ff_dc_cam_hit_reg_scanin),
3307 .scan_out(ff_dc_cam_hit_reg_scanout),
3308 .din(dc_cam_hit[127:64]),
3309 .l1clk(l1clk),
3310 .dout(dc_cam_hit_reg[127:64]),
3311 .siclk(siclk),
3312 .soclk(soclk)
3313 );
3314
3315assign ic_cam_fail0 = |(ic_cam_hit_reg[31:0]);
3316assign ic_cam_fail1 = |(ic_cam_hit_reg[63:32]);
3317assign ic_cam_fail2 = |(ic_cam_hit_reg[95:64]);
3318assign ic_cam_fail3 = |(ic_cam_hit_reg[127:96]);
3319
3320l2t_dirvec_ctl_msff_ctl_macro__width_4 ff_cam_tst_failed11
3321 (
3322 .scan_in(ff_cam_tst_failed11_scanin),
3323 .scan_out(ff_cam_tst_failed11_scanout),
3324 .din({ic_cam_fail3,ic_cam_fail2,ic_cam_fail1,ic_cam_fail0}),
3325 .l1clk(l1clk),
3326 .dout({ic_cam_fail3_reg,ic_cam_fail2_reg,ic_cam_fail1_reg,ic_cam_fail0_reg}),
3327 .siclk(siclk),
3328 .soclk(soclk)
3329 );
3330
3331
3332
3333assign dc_cam_fail0 = |(dc_cam_hit_reg[31:0] );
3334assign dc_cam_fail1 = |(dc_cam_hit_reg[63:32] );
3335assign dc_cam_fail2 = |(dc_cam_hit_reg[95:64] );
3336assign dc_cam_fail3 = |(dc_cam_hit_reg[127:96] );
3337
3338l2t_dirvec_ctl_msff_ctl_macro__width_5 ff_cam_tst_failed00
3339 (
3340 .scan_in(ff_cam_tst_failed00_scanin),
3341 .scan_out(ff_cam_tst_failed00_scanout),
3342 .din({dc_cam_fail3,dc_cam_fail2,dc_cam_fail1,dc_cam_fail0,mb0_l2t_cambist}),
3343 .l1clk(l1clk),
3344 .dout({dc_cam_fail3_reg,dc_cam_fail2_reg,dc_cam_fail1_reg,dc_cam_fail0_reg,mb0_l2t_cambist_reg}),
3345 .siclk(siclk),
3346 .soclk(soclk)
3347 );
3348
3349assign dc_cam_fail[0] = (dc_cam_fail0_reg | dc_cam_fail1_reg) & mb0_l2t_cambist_reg;
3350assign dc_cam_fail[1] = (dc_cam_fail2_reg | dc_cam_fail3_reg) & mb0_l2t_cambist_reg;
3351assign ic_cam_fail[0] = (ic_cam_fail0_reg | ic_cam_fail1_reg) & mb0_l2t_cambist_reg;
3352assign ic_cam_fail[1] = (ic_cam_fail2_reg | ic_cam_fail3_reg) & mb0_l2t_cambist_reg;
3353
3354
3355
3356
3357
3358
3359// fixscan start:
3360assign spares_scanin = scan_in ;
3361assign ff_sync_en_scanin = spares_scanout ;
3362assign ff_ncu_signals_scanin = ff_sync_en_scanout ;
3363assign ff_staged_part_bank_scanin = ff_ncu_signals_scanout ;
3364assign ff_partial_bank_support_scanin = ff_staged_part_bank_scanout;
3365assign ff_dirdp_inval_pckt_c7_slice0_scanin = ff_partial_bank_support_scanout;
3366assign ff_dirdp_inval_pckt_c7_slice1_scanin = ff_dirdp_inval_pckt_c7_slice0_scanout;
3367assign ff_dirdp_inval_pckt_c7_slice2_scanin = ff_dirdp_inval_pckt_c7_slice1_scanout;
3368assign ff_dirdp_inval_pckt_c7_slice3_scanin = ff_dirdp_inval_pckt_c7_slice2_scanout;
3369assign ff_dirvecdp_way_info_c7_scanin = ff_dirdp_inval_pckt_c7_slice3_scanout;
3370assign ff_dc_cam_hit_c52_4_scanin = ff_dirvecdp_way_info_c7_scanout;
3371assign ff_dc_cam_hit_c52_3_scanin = ff_dc_cam_hit_c52_4_scanout;
3372assign ff_dc_cam_hit_c52_2_scanin = ff_dc_cam_hit_c52_3_scanout;
3373assign ff_dc_cam_hit_c52_1_scanin = ff_dc_cam_hit_c52_2_scanout;
3374assign ff_dc_cam_hit_c6_4_scanin = ff_dc_cam_hit_c52_1_scanout;
3375assign ff_dc_cam_hit_c6_3_scanin = ff_dc_cam_hit_c6_4_scanout;
3376assign ff_dc_cam_hit_c6_2_scanin = ff_dc_cam_hit_c6_3_scanout;
3377assign ff_dc_cam_hit_c6_1_scanin = ff_dc_cam_hit_c6_2_scanout;
3378assign ff_ic_cam_hit_c52_1_scanin = ff_dc_cam_hit_c6_1_scanout;
3379assign ff_ic_cam_hit_c52_3_scanin = ff_ic_cam_hit_c52_1_scanout;
3380assign ff_ic_cam_hit_c6_1_scanin = ff_ic_cam_hit_c52_3_scanout;
3381assign ff_ic_cam_hit_c6_3_scanin = ff_ic_cam_hit_c6_1_scanout;
3382assign ff_ic_cam_hit_reg0_scanin = ff_ic_cam_hit_c6_3_scanout;
3383assign ff_ic_cam_hit_reg1_scanin = ff_ic_cam_hit_reg0_scanout;
3384assign ff_dc_cam_hit_reg0_scanin = ff_ic_cam_hit_reg1_scanout;
3385assign ff_dc_cam_hit_reg_scanin = ff_dc_cam_hit_reg0_scanout;
3386assign ff_cam_tst_failed11_scanin = ff_dc_cam_hit_reg_scanout;
3387assign ff_cam_tst_failed00_scanin = ff_cam_tst_failed11_scanout;
3388assign scan_out = ff_cam_tst_failed00_scanout;
3389// fixscan end:
3390endmodule
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404module l2t_dcvec_ctl (
3405 dc_cam_hit,
3406 way_way_vld,
3407 enc_dc_way,
3408 dc_dir_hit);
3409wire dir_hit;
3410
3411
3412input [3:0] dc_cam_hit;
3413output [2:0] way_way_vld;
3414output [1:0] enc_dc_way;
3415output dc_dir_hit;
3416//output dir_hit;
3417
3418
3419
3420
3421assign dc_dir_hit = (| dc_cam_hit[3:0]);
3422assign enc_dc_way[0] = dc_cam_hit[1] | dc_cam_hit[3];
3423assign enc_dc_way[1] = dc_cam_hit[2] | dc_cam_hit[3];
3424assign dir_hit = dc_dir_hit ;
3425assign way_way_vld[0] = enc_dc_way[0] ;
3426assign way_way_vld[1] = enc_dc_way[1] ;
3427assign way_way_vld[2] = dir_hit ;
3428
3429endmodule
3430
3431
3432module l2t_dcicvec_ctl (
3433 dc_cam_hit,
3434 ic_cam_hit,
3435 enc_vec,
3436 way_way_vld_c6);
3437wire [1:0] enc_dc_way;
3438wire [2:0] enc_ic_way;
3439wire dir_hit;
3440wire [4:0] final_mux_enc_way_in0;
3441wire [4:0] final_mux_enc_way_in1;
3442wire [4:0] enc_hit_way;
3443
3444
3445input [3:0] dc_cam_hit;
3446input [7:0] ic_cam_hit;
3447
3448//output dir_hit;
3449output [3:0] enc_vec;
3450output [3:0] way_way_vld_c6;
3451
3452wire ic_hit;
3453wire dc_hit;
3454wire ic_hit_n;
3455
3456// DC hit processing
3457
3458assign dc_hit = ( | dc_cam_hit[3:0] );
3459
3460assign enc_dc_way[0] = dc_cam_hit[1] | dc_cam_hit[3];
3461assign enc_dc_way[1] = dc_cam_hit[2] | dc_cam_hit[3];
3462
3463
3464//or_macro dc_slice0 (ports=2,width=1)
3465// (
3466// .dout (dc_cam_hit_1),
3467// .din0 (dc_cam_hit[0]),
3468// .din1 (dc_cam_hit[1]),
3469// );
3470//
3471//
3472//or_macro dc_slice1 (ports=2,width=1)
3473// (
3474// .dout (dc_cam_hit_2),
3475// .din0 (dc_cam_hit[2]),
3476// .din1 (dc_cam_hit[3])
3477// );
3478//
3479//
3480//or_macro dc_slice3 (ports=2,width=1)
3481// (
3482// .dout (dc_hit),
3483// .din0 (dc_cam_hit_1),
3484// .din1 (dc_cam_hit_2)
3485// );
3486//
3487//or_macro enc_dc_way_slice_1 (width=1)
3488// (
3489// .dout (enc_dc_way[0]),
3490// .din0 (dc_cam_hit[1]),
3491// .din1 (dc_cam_hit[3])
3492// );
3493//
3494//or_macro enc_dc_way_slice_2 (width=1)
3495// (
3496// .dout (enc_dc_way[1]),
3497// .din0 (dc_cam_hit[2]),
3498// .din1 (dc_cam_hit[3])
3499// );
3500//
3501//
3502//
3503//// IC hit processing
3504
3505assign ic_hit = ( |ic_cam_hit[7:0]);
3506
3507//or_macro ic_slice0 (ports=2,width=1)
3508// (
3509// .dout (ic_cam_hit_1),
3510// .din0 (ic_cam_hit[0]),
3511// .din1 (ic_cam_hit[1]),
3512// );
3513//
3514//or_macro ic_slice1 (ports=2,width=1)
3515// (
3516// .dout (ic_cam_hit_2),
3517// .din0 (ic_cam_hit[2]),
3518// .din1 (ic_cam_hit[3]),
3519// );
3520//
3521//
3522//or_macro ic_slice2 (ports=2,width=1)
3523// (
3524// .dout (ic_cam_hit_3),
3525// .din0 (ic_cam_hit[4]),
3526// .din1 (ic_cam_hit[5]),
3527// );
3528//
3529//
3530//or_macro ic_slice3 (ports=2,width=1)
3531// (
3532// .dout (ic_cam_hit_4),
3533// .din0 (ic_cam_hit[6]),
3534// .din1 (ic_cam_hit[7]),
3535// );
3536//
3537//
3538//or_macro ic_slice5 (ports=3,width=1)
3539// (
3540// .dout (ic_cam_hit_10),
3541// .din0 (ic_cam_hit_1),
3542// .din1 (ic_cam_hit_2),
3543// .din2 (ic_cam_hit_3)
3544// );
3545//
3546//or_macro ic_slice6 (ports=2,width=1)
3547// (
3548// .dout (ic_hit),
3549// .din0 (ic_cam_hit_4),
3550// .din1 (ic_cam_hit_10)
3551// );
3552
3553
3554
3555//or_macro or_added1 (ports=2,width=1)
3556// (
3557// .dout (wire_added1),
3558// .din0 (ic_cam_hit[1]),
3559// .din1 (ic_cam_hit[3])
3560// );
3561//or_macro or_added2 (ports=2,width=1)
3562// (
3563// .dout (wire_added2),
3564// .din0 (ic_cam_hit[5]),
3565// .din1 (ic_cam_hit[7])
3566// );
3567//or_macro or_added3 (ports=2,width=1)
3568// (
3569// .dout (wire_added3),
3570// .din0 (wire_added1),
3571// .din1 (wire_added2)
3572// );
3573//
3574//or_macro or_added4 (ports=2,width=1)
3575// (
3576// .dout (wire_added4),
3577// .din0 (ic_cam_hit[2]),
3578// .din1 (ic_cam_hit[3])
3579// );
3580//or_macro or_added5 (ports=2,width=1)
3581// (
3582// .dout (wire_added5),
3583// .din0 (ic_cam_hit[6]),
3584// .din1 (ic_cam_hit[7])
3585// );
3586//or_macro or_added6 (ports=2,width=1)
3587// (
3588// .dout (wire_added6),
3589// .din0 (wire_added4),
3590// .din1 (wire_added5)
3591// );
3592//
3593//or_macro or_added7 (ports=2,width=1)
3594// (
3595// .dout (wire_added7),
3596// .din0 (ic_cam_hit[4]),
3597// .din1 (ic_cam_hit[5])
3598// );
3599//or_macro or_added8 (ports=2,width=1)
3600// (
3601// .dout (wire_added8),
3602// .din0 (ic_cam_hit[6]),
3603// .din1 (ic_cam_hit[7])
3604// );
3605//or_macro or_added9 (ports=2,width=1)
3606// (
3607// .dout (wire_added9),
3608// .din0 (wire_added8),
3609// .din1 (wire_added7)
3610// );
3611//
3612assign enc_ic_way[0] = ic_cam_hit[1] | ic_cam_hit[3] | ic_cam_hit[5] | ic_cam_hit[7] ;
3613assign enc_ic_way[1] = ic_cam_hit[2] | ic_cam_hit[3] | ic_cam_hit[6] | ic_cam_hit[7] ;
3614assign enc_ic_way[2] = ic_cam_hit[4] | ic_cam_hit[5] | ic_cam_hit[6] | ic_cam_hit[7] ;
3615
3616//or_macro dir_hit_slice (width=1)
3617// (
3618// .dout (dir_hit),
3619// .din0 (dc_hit),
3620// .din1 (ic_hit)
3621// );
3622
3623assign dir_hit = ic_hit | dc_hit;
3624
3625
3626//inv_macro ic_dir_inv_slice (width=1)
3627// (
3628// .dout (ic_hit_n ),
3629// .din (ic_hit )
3630// );
3631//
3632//
3633//assign enc_hit_way[4:0] = ic_hit ? ({enc_ic_way[2:0],enc_ic_way[0],1'b1}) :
3634// ({enc_dc_way[1:0],1'b0,dc_hit,1'b0}) ;
3635//
3636
3637
3638assign final_mux_enc_way_in0[4:0] = {enc_dc_way[1:0],1'b0,dc_hit,1'b0} ;
3639assign final_mux_enc_way_in1[4:0] = {enc_ic_way[2:0],enc_ic_way[0],1'b1};
3640assign enc_hit_way[4:0] = ~ic_hit? final_mux_enc_way_in0[4:0] : final_mux_enc_way_in1[4:0];
3641
3642//and_macro final_mux_enc_way_0 (width=5,ports=2)
3643// (
3644// .dout (final_mux_enc_way_in0[4:0]),
3645// .din0 ({enc_dc_way[1:0],1'b0,dc_hit,1'b0}),
3646// .din1 ({5{ic_hit_n}})
3647// );
3648//
3649//and_macro final_mux_enc_way_1 (width=5,ports=2)
3650// (
3651// .dout (final_mux_enc_way_in1[4:0]),
3652// .din0 ({enc_ic_way[2:0],enc_ic_way[0],1'b1}),
3653// .din1 ({5{ic_hit}})
3654// );
3655//
3656//or_macro final_mux_enc_way (width=5,ports=2)
3657// (
3658// .dout (enc_hit_way[4:0]),
3659// .din0 (final_mux_enc_way_in0[4:0]),
3660// .din1 (final_mux_enc_way_in1[4:0])
3661// );
3662
3663assign way_way_vld_c6[0] = ic_hit ? enc_ic_way[0] : 1'b0;
3664assign way_way_vld_c6[1] = ic_hit ? enc_ic_way[1] : enc_dc_way[0];
3665assign way_way_vld_c6[2] = ic_hit ? enc_ic_way[2] : enc_dc_way[1];
3666assign way_way_vld_c6[3] = dir_hit;
3667
3668
3669assign enc_vec[3:0] = {enc_hit_way[4:3],enc_hit_way[1:0]};
3670
3671
3672
3673//buff_macro buff_way_way_vld_c6 (width=4,stack=4r)
3674// (
3675// .dout (way_way_vld_c6[3:0]),
3676// .din ({dir_hit,enc_hit_way[4:2]})
3677// );
3678//
3679//
3680//buff_macro buff_enc_vec (width=4,stack=4r)
3681// (
3682// .dout (enc_vec[3:0]),
3683// .din ({enc_hit_way[4:3],enc_hit_way[1:0]})
3684// );
3685//
3686
3687
3688endmodule
3689
3690
3691
3692module l2t_prbnk0_ctl (
3693 arbadr_ncu_l2t_pm_n,
3694 arb_dirvec_cpu0_selbot,
3695 arb_dirvec_cpu1_selbot,
3696 arb_dirvec_cpu2_selbot,
3697 arb_dirvec_cpu3_selbot,
3698 arb_dirvec_cpu4_selbot,
3699 arb_dirvec_cpu5_selbot,
3700 arb_dirvec_cpu6_selbot,
3701 arb_dirvec_cpu7_selbot,
3702 arb_dirvec_cpu1_seltop,
3703 arb_dirvec_cpu2_seltop,
3704 arb_dirvec_cpu3_seltop,
3705 arb_dirvec_cpu4_seltop,
3706 arb_dirvec_cpu5_seltop,
3707 arb_dirvec_cpu6_seltop,
3708 arb_dirvec_cpu7_seltop,
3709 arb_dirvec_cpu0_sel00,
3710 arb_dirvec_cpu1_sel00,
3711 arb_dirvec_cpu1_sel01,
3712 arb_dirvec_cpu2_sel00,
3713 arb_dirvec_cpu2_sel01,
3714 arb_dirvec_cpu2_sel10,
3715 arb_dirvec_cpu3_sel00,
3716 arb_dirvec_cpu3_sel01,
3717 arb_dirvec_cpu3_sel10,
3718 arb_dirvec_cpu3_sel11,
3719 arb_dirvec_cpu4_sel00,
3720 arb_dirvec_cpu4_sel01,
3721 arb_dirvec_cpu4_sel10,
3722 arb_dirvec_cpu4_sel11,
3723 arb_dirvec_cpu5_sel00,
3724 arb_dirvec_cpu5_sel01,
3725 arb_dirvec_cpu5_sel10,
3726 arb_dirvec_cpu5_sel11,
3727 arb_dirvec_cpu6_sel00,
3728 arb_dirvec_cpu6_sel01,
3729 arb_dirvec_cpu6_sel10,
3730 arb_dirvec_cpu6_sel11,
3731 arb_dirvec_cpu7_sel00,
3732 arb_dirvec_cpu7_sel01,
3733 arb_dirvec_cpu7_sel10,
3734 arb_dirvec_cpu7_sel11,
3735 enc_c_vec0,
3736 enc_c_vec1,
3737 enc_c_vec2,
3738 enc_c_vec3,
3739 enc_c_vec4,
3740 enc_c_vec5,
3741 enc_c_vec6,
3742 enc_c_vec7,
3743 enc_c_vec0_fnl,
3744 enc_c_vec1_fnl,
3745 enc_c_vec2_fnl,
3746 enc_c_vec3_fnl,
3747 enc_c_vec4_fnl,
3748 enc_c_vec5_fnl,
3749 enc_c_vec6_fnl,
3750 enc_c_vec7_fnl);
3751
3752
3753input arbadr_ncu_l2t_pm_n;
3754input arb_dirvec_cpu0_selbot;
3755input arb_dirvec_cpu1_selbot;
3756input arb_dirvec_cpu2_selbot;
3757input arb_dirvec_cpu3_selbot;
3758input arb_dirvec_cpu4_selbot;
3759input arb_dirvec_cpu5_selbot;
3760input arb_dirvec_cpu6_selbot;
3761input arb_dirvec_cpu7_selbot;
3762input arb_dirvec_cpu1_seltop;
3763input arb_dirvec_cpu2_seltop;
3764input arb_dirvec_cpu3_seltop;
3765input arb_dirvec_cpu4_seltop;
3766input arb_dirvec_cpu5_seltop;
3767input arb_dirvec_cpu6_seltop;
3768input arb_dirvec_cpu7_seltop;
3769input arb_dirvec_cpu0_sel00;
3770input arb_dirvec_cpu1_sel00;
3771input arb_dirvec_cpu1_sel01;
3772input arb_dirvec_cpu2_sel00;
3773input arb_dirvec_cpu2_sel01;
3774input arb_dirvec_cpu2_sel10;
3775input arb_dirvec_cpu3_sel00;
3776input arb_dirvec_cpu3_sel01;
3777input arb_dirvec_cpu3_sel10;
3778input arb_dirvec_cpu3_sel11;
3779input arb_dirvec_cpu4_sel00;
3780input arb_dirvec_cpu4_sel01;
3781input arb_dirvec_cpu4_sel10;
3782input arb_dirvec_cpu4_sel11;
3783input arb_dirvec_cpu5_sel00;
3784input arb_dirvec_cpu5_sel01;
3785input arb_dirvec_cpu5_sel10;
3786input arb_dirvec_cpu5_sel11;
3787input arb_dirvec_cpu6_sel00;
3788input arb_dirvec_cpu6_sel01;
3789input arb_dirvec_cpu6_sel10;
3790input arb_dirvec_cpu6_sel11;
3791input arb_dirvec_cpu7_sel00;
3792input arb_dirvec_cpu7_sel01;
3793input arb_dirvec_cpu7_sel10;
3794input arb_dirvec_cpu7_sel11;
3795
3796
3797
3798
3799
3800
3801input [3:0] enc_c_vec0;
3802input [3:0] enc_c_vec1;
3803input [3:0] enc_c_vec2;
3804input [3:0] enc_c_vec3;
3805input [3:0] enc_c_vec4;
3806input [3:0] enc_c_vec5;
3807input [3:0] enc_c_vec6;
3808input [3:0] enc_c_vec7;
3809
3810output [3:0] enc_c_vec0_fnl;
3811output [3:0] enc_c_vec1_fnl;
3812output [3:0] enc_c_vec2_fnl;
3813output [3:0] enc_c_vec3_fnl;
3814output [3:0] enc_c_vec4_fnl;
3815output [3:0] enc_c_vec5_fnl;
3816output [3:0] enc_c_vec6_fnl;
3817output [3:0] enc_c_vec7_fnl;
3818
3819
3820
3821
3822wire [3:0] enc_c_vec0_1,enc_c_vec2_3,enc_c_vec4_5,enc_c_vec6_7,enc_c_vec0_1_2_3,enc_c_vec4_5_6_7;
3823
3824wire [3:0] cpu0_2bnk,cpu0_4bnk,cpu0_8bnk;
3825wire [3:0] cpu1_2bnk,cpu1_4bnk,cpu1_8bnk;
3826wire [3:0] cpu2_2bnk,cpu2_4bnk,cpu2_8bnk;
3827wire [3:0] cpu3_2bnk,cpu3_4bnk,cpu3_8bnk;
3828wire [3:0] cpu4_2bnk,cpu4_4bnk,cpu4_8bnk;
3829wire [3:0] cpu5_2bnk,cpu5_4bnk,cpu5_8bnk;
3830wire [3:0] cpu6_2bnk,cpu6_4bnk,cpu6_8bnk;
3831wire [3:0] cpu7_2bnk,cpu7_4bnk,cpu7_8bnk;
3832
3833wire [3:0] cpu0_2bnk_0,cpu0_2bnk_1;
3834wire [3:0] cpu1_2bnk_0,cpu1_2bnk_1;
3835wire [3:0] cpu2_2bnk_0,cpu2_2bnk_1;
3836wire [3:0] cpu3_2bnk_0,cpu3_2bnk_1;
3837wire [3:0] cpu4_2bnk_0,cpu4_2bnk_1;
3838wire [3:0] cpu5_2bnk_0,cpu5_2bnk_1;
3839wire [3:0] cpu6_2bnk_0,cpu6_2bnk_1;
3840wire [3:0] cpu7_2bnk_0,cpu7_2bnk_1;
3841
3842
3843wire [3:0] cpu1_4bnk_0,cpu1_4bnk_1;
3844wire [3:0] cpu2_4bnk_0,cpu2_4bnk_1,cpu2_4bnk_2;
3845wire [3:0] cpu3_4bnk_0,cpu3_4bnk_1,cpu3_4bnk_2,cpu3_4bnk_3;
3846wire [3:0] cpu4_4bnk_0,cpu4_4bnk_1,cpu4_4bnk_2,cpu4_4bnk_3;
3847wire [3:0] cpu5_4bnk_0,cpu5_4bnk_1,cpu5_4bnk_2,cpu5_4bnk_3;
3848wire [3:0] cpu6_4bnk_0,cpu6_4bnk_1,cpu6_4bnk_2,cpu6_4bnk_3;
3849wire [3:0] cpu7_4bnk_0,cpu7_4bnk_1,cpu7_4bnk_2,cpu7_4bnk_3;
3850
3851wire [3:0] cpu3_4bnk_4,cpu4_4bnk_4,cpu5_4bnk_4,cpu6_4bnk_4,cpu7_4bnk_4;
3852
3853assign enc_c_vec0_1 = enc_c_vec0 | enc_c_vec1;
3854assign enc_c_vec2_3 = enc_c_vec2 | enc_c_vec3;
3855assign enc_c_vec4_5 = enc_c_vec4 | enc_c_vec5;
3856assign enc_c_vec6_7 = enc_c_vec6 | enc_c_vec7;
3857assign enc_c_vec0_1_2_3 = enc_c_vec0_1 | enc_c_vec2_3;
3858assign enc_c_vec4_5_6_7 = enc_c_vec4_5 | enc_c_vec6_7;
3859
3860//or_macro or_0_1 (width=4)
3861// (
3862// .dout (enc_c_vec0_1),
3863// .din0 (enc_c_vec0),
3864// .din1 (enc_c_vec1)
3865// );
3866//or_macro or_2_3 (width=4)
3867// (
3868// .dout (enc_c_vec2_3),
3869// .din0 (enc_c_vec2),
3870// .din1 (enc_c_vec3)
3871// );
3872//or_macro or_4_5 (width=4)
3873// (
3874// .dout (enc_c_vec4_5),
3875// .din0 (enc_c_vec4),
3876// .din1 (enc_c_vec5)
3877// );
3878//or_macro or_6_7 (width=4)
3879// (
3880// .dout (enc_c_vec6_7),
3881// .din0 (enc_c_vec6),
3882// .din1 (enc_c_vec7)
3883// );
3884//
3885//or_macro or_0_1_2_3 (width=4)
3886// (
3887// .dout (enc_c_vec0_1_2_3),
3888// .din0 (enc_c_vec0_1),
3889// .din1 (enc_c_vec2_3)
3890// );
3891//
3892//or_macro or_4_5_6_7 (width=4)
3893// (
3894// .dout (enc_c_vec4_5_6_7),
3895// .din0 (enc_c_vec4_5),
3896// .din1 (enc_c_vec6_7)
3897// );
3898//
3899//// CPU 0
3900//
3901//// 2 bank :
3902
3903
3904assign cpu0_2bnk[3:0] = {4{arb_dirvec_cpu0_selbot}} & enc_c_vec0_1_2_3[3:0];
3905assign cpu0_4bnk[3:0] = {4{arb_dirvec_cpu0_sel00}} & enc_c_vec0_1[3:0];
3906assign cpu0_8bnk[3:0] = {4{arbadr_ncu_l2t_pm_n}} & enc_c_vec0[3:0];
3907assign enc_c_vec0_fnl[3:0] = cpu0_4bnk[3:0] | cpu0_8bnk[3:0] | cpu0_2bnk[3:0];
3908
3909//and_macro cpu0_2bnk_vec (width = 4)
3910// (
3911// .dout (cpu0_2bnk),
3912// .din0 ({4{arb_dirvec_cpu0_selbot}}),
3913// .din1 (enc_c_vec0_1_2_3)
3914// );
3915//// 4 bank :
3916//and_macro cpu0_4bnk_vec (width = 4)
3917// (
3918// .dout (cpu0_4bnk),
3919// .din0 ({4{arb_dirvec_cpu0_sel00}}),
3920// .din1 (enc_c_vec0_1)
3921// );
3922// // 8 bank :
3923//and_macro cpu0_8bnk_vec (width = 4)
3924// (
3925// .dout (cpu0_8bnk),
3926// .din0 ({4{arbadr_ncu_l2t_pm_n}}),
3927// .din1 (enc_c_vec0)
3928// );
3929//// final value
3930//
3931//or_macro cpu0_vec (width=4, ports=3)
3932// (
3933// .dout (enc_c_vec0_fnl),
3934// .din0 (cpu0_4bnk),
3935// .din1 (cpu0_8bnk),
3936// .din2 (cpu0_2bnk)
3937// );
3938//
3939//// CPU 1
3940
3941assign cpu1_2bnk_0[3:0] = ({4{arb_dirvec_cpu1_selbot}}) & enc_c_vec0_1_2_3[3:0];
3942assign cpu1_2bnk_1[3:0] = ({4{arb_dirvec_cpu1_seltop}}) & enc_c_vec4_5_6_7[3:0];
3943assign cpu1_2bnk[3:0] = cpu1_2bnk_0[3:0] | cpu1_2bnk_1[3:0];
3944
3945//// 2 bank :
3946//and_macro cpu1_2bnk_vec0 (width = 4)
3947// (
3948// .dout (cpu1_2bnk_0),
3949// .din0 ({4{arb_dirvec_cpu1_selbot}}),
3950// .din1 (enc_c_vec0_1_2_3)
3951// );
3952//and_macro cpu1_2bnk_vec1 (width = 4)
3953// (
3954// .dout (cpu1_2bnk_1),
3955// .din0 ({4{arb_dirvec_cpu1_seltop}}),
3956// .din1 (enc_c_vec4_5_6_7)
3957// );
3958//or_macro cpu1_2bnk_vec2 (width = 4)
3959// (
3960// .dout (cpu1_2bnk),
3961// .din0 (cpu1_2bnk_0),
3962// .din1 (cpu1_2bnk_1)
3963// );
3964
3965assign cpu1_4bnk_0[3:0] = {4{arb_dirvec_cpu1_sel00}} & enc_c_vec0_1[3:0];
3966assign cpu1_4bnk_1[3:0] = {4{arb_dirvec_cpu1_sel01}} & enc_c_vec2_3[3:0];
3967assign cpu1_4bnk[3:0] = cpu1_4bnk_0[3:0] | cpu1_4bnk_1[3:0];
3968
3969
3970//// 4 bank :
3971//and_macro cpu1_4bnk_vec0 (width = 4)
3972// (
3973// .dout (cpu1_4bnk_0),
3974// .din0 ({4{arb_dirvec_cpu1_sel00}}),
3975// .din1 (enc_c_vec0_1)
3976// );
3977//and_macro cpu1_4bnk_vec1 (width = 4)
3978// (
3979// .dout (cpu1_4bnk_1),
3980// .din0 ({4{arb_dirvec_cpu1_sel01}}),
3981// .din1 (enc_c_vec2_3)
3982// );
3983//or_macro cpu1_4bnk_vec2 (width = 4)
3984// (
3985// .dout (cpu1_4bnk),
3986// .din0 (cpu1_4bnk_0),
3987// .din1 (cpu1_4bnk_1)
3988// );
3989
3990
3991assign cpu1_8bnk[3:0] = {4{arbadr_ncu_l2t_pm_n}} & enc_c_vec1[3:0];
3992assign enc_c_vec1_fnl[3:0] = cpu1_4bnk[3:0] | cpu1_8bnk[3:0] | cpu1_2bnk[3:0];
3993
3994//// 8 bank :
3995//
3996//and_macro cpu1_8bnk_vec (width = 4)
3997// (
3998// .dout (cpu1_8bnk),
3999// .din0 ({4{arbadr_ncu_l2t_pm_n}}),
4000// .din1 (enc_c_vec1)
4001// );
4002//
4003//// final value
4004//
4005//or_macro cpu1_vec (width=4, ports=3)
4006// (
4007// .dout (enc_c_vec1_fnl),
4008// .din0 (cpu1_4bnk),
4009// .din1 (cpu1_8bnk),
4010// .din2 (cpu1_2bnk)
4011// );
4012//
4013//
4014//// CPU 2
4015
4016assign cpu2_2bnk_0[3:0] = {4{arb_dirvec_cpu2_selbot}} & enc_c_vec0_1_2_3[3:0];
4017assign cpu2_2bnk_1[3:0] = {4{arb_dirvec_cpu2_seltop}} & enc_c_vec4_5_6_7[3:0];
4018assign cpu2_2bnk[3:0] = cpu2_2bnk_0[3:0] | cpu2_2bnk_1[3:0];
4019
4020//// 2 bank :
4021//and_macro cpu2_2bnk_vec0 (width = 4)
4022// (
4023// .dout (cpu2_2bnk_0),
4024// .din0 ({4{arb_dirvec_cpu2_selbot}}),
4025// .din1 (enc_c_vec0_1_2_3)
4026// );
4027//and_macro cpu2_2bnk_vec1 (width = 4)
4028// (
4029// .dout (cpu2_2bnk_1),
4030// .din0 ({4{arb_dirvec_cpu2_seltop}}),
4031// .din1 (enc_c_vec4_5_6_7)
4032// );
4033//or_macro cpu2_2bnk_vec2 (width = 4)
4034// (
4035// .dout (cpu2_2bnk),
4036// .din0 (cpu2_2bnk_0),
4037// .din1 (cpu2_2bnk_1)
4038// );
4039
4040assign cpu2_4bnk_0[3:0] = {4{arb_dirvec_cpu2_sel00}} & enc_c_vec0_1[3:0];
4041assign cpu2_4bnk_1[3:0] = ({4{arb_dirvec_cpu2_sel01}}) & enc_c_vec2_3[3:0];
4042assign cpu2_4bnk_2[3:0] = {4{arb_dirvec_cpu2_sel10}} & enc_c_vec4_5[3:0];
4043assign cpu2_4bnk[3:0] = cpu2_4bnk_0[3:0] | cpu2_4bnk_1[3:0] | cpu2_4bnk_2[3:0];
4044
4045//// 4 bank :
4046//and_macro cpu2_4bnk_vec0 (width = 4)
4047// (
4048// .dout (cpu2_4bnk_0),
4049// .din0 ({4{arb_dirvec_cpu2_sel00}}),
4050// .din1 (enc_c_vec0_1)
4051// );
4052//and_macro cpu2_4bnk_vec1 (width = 4)
4053// (
4054// .dout (cpu2_4bnk_1),
4055// .din0 ({4{arb_dirvec_cpu2_sel01}}),
4056// .din1 (enc_c_vec2_3)
4057// );
4058//
4059//and_macro cpu2_4bnk_vec2 (width = 4)
4060// (
4061// .dout (cpu2_4bnk_2),
4062// .din0 ({4{arb_dirvec_cpu2_sel10}}),
4063// .din1 (enc_c_vec4_5)
4064// );
4065//
4066//or_macro cpu2_4bnk_vec3 (width = 4, ports=3)
4067// (
4068// .dout (cpu2_4bnk),
4069// .din0 (cpu2_4bnk_0),
4070// .din1 (cpu2_4bnk_1),
4071// .din2 (cpu2_4bnk_2)
4072// );
4073
4074assign cpu2_8bnk[3:0] = {4{arbadr_ncu_l2t_pm_n}} & enc_c_vec2[3:0];
4075assign enc_c_vec2_fnl[3:0] = cpu2_4bnk[3:0] | cpu2_8bnk[3:0] | cpu2_2bnk[3:0];
4076
4077
4078//// 8 bank :
4079//
4080//and_macro cpu2_8bnk_vec (width = 4)
4081// (
4082// .dout (cpu2_8bnk),
4083// .din0 ({4{arbadr_ncu_l2t_pm_n}}),
4084// .din1 (enc_c_vec2)
4085// );
4086//
4087//// final value
4088//
4089//or_macro cpu2_vec (width=4, ports=3)
4090// (
4091// .dout (enc_c_vec2_fnl),
4092// .din0 (cpu2_4bnk),
4093// .din1 (cpu2_8bnk),
4094// .din2 (cpu2_2bnk)
4095// );
4096
4097
4098
4099
4100//// CPU 3
4101
4102assign cpu3_2bnk[3:0] = (({4{arb_dirvec_cpu3_selbot}} & enc_c_vec0_1_2_3[3:0] ) |
4103 ({4{arb_dirvec_cpu3_seltop}} & enc_c_vec4_5_6_7[3:0]));
4104
4105
4106//// 2 bank :
4107//and_macro cpu3_2bnk_vec0 (width = 4)
4108// (
4109// .dout (cpu3_2bnk_0),
4110// .din0 ({4{arb_dirvec_cpu3_selbot}}),
4111// .din1 (enc_c_vec0_1_2_3)
4112// );
4113//and_macro cpu3_2bnk_vec1 (width = 4)
4114// (
4115// .dout (cpu3_2bnk_1),
4116// .din0 ({4{arb_dirvec_cpu3_seltop}}),
4117// .din1 (enc_c_vec4_5_6_7)
4118// );
4119//or_macro cpu3_2bnk_vec2 (width = 4)
4120// (
4121// .dout (cpu3_2bnk),
4122// .din0 (cpu3_2bnk_0),
4123// .din1 (cpu3_2bnk_1)
4124// );
4125
4126assign cpu3_4bnk[3:0] = (({4{arb_dirvec_cpu3_sel00}} & enc_c_vec0_1[3:0]) |
4127 ({4{arb_dirvec_cpu3_sel01}} & enc_c_vec2_3[3:0]) |
4128 ({4{arb_dirvec_cpu3_sel10}} & enc_c_vec4_5[3:0]) |
4129 ({4{arb_dirvec_cpu3_sel11}} & enc_c_vec6_7[3:0]) );
4130
4131
4132//// 4 bank :
4133//and_macro cpu3_4bnk_vec0 (width = 4)
4134// (
4135// .dout (cpu3_4bnk_0),
4136// .din0 ({4{arb_dirvec_cpu3_sel00}}),
4137// .din1 (enc_c_vec0_1)
4138// );
4139//and_macro cpu3_4bnk_vec1 (width = 4)
4140// (
4141// .dout (cpu3_4bnk_1),
4142// .din0 ({4{arb_dirvec_cpu3_sel01}}),
4143// .din1 (enc_c_vec2_3)
4144// );
4145//
4146//and_macro cpu3_4bnk_vec2 (width = 4)
4147// (
4148// .dout (cpu3_4bnk_2),
4149// .din0 ({4{arb_dirvec_cpu3_sel10}}),
4150// .din1 (enc_c_vec4_5)
4151// );
4152//
4153//and_macro cpu3_4bnk_vec3 (width = 4)
4154// (
4155// .dout (cpu3_4bnk_3),
4156// .din0 ({4{arb_dirvec_cpu3_sel11}}),
4157// .din1 (enc_c_vec6_7)
4158// );
4159//
4160//
4161//or_macro cpu3_4bnk_vec4 (width = 4, ports=3)
4162// (
4163// .dout (cpu3_4bnk_4),
4164// .din0 (cpu3_4bnk_0),
4165// .din1 (cpu3_4bnk_1),
4166// .din2 (cpu3_4bnk_2)
4167// );
4168//or_macro cpu3_4bnk_vec5 (width = 4)
4169// (
4170// .dout (cpu3_4bnk),
4171// .din0 (cpu3_4bnk_4),
4172// .din1 (cpu3_4bnk_3)
4173// );
4174//// 8 bank :
4175assign cpu3_8bnk[3:0] = {4{arbadr_ncu_l2t_pm_n}} & enc_c_vec3[3:0];
4176
4177//and_macro cpu3_8bnk_vec (width = 4)
4178// (
4179// .dout (cpu3_8bnk),
4180// .din0 ({4{arbadr_ncu_l2t_pm_n}}),
4181// .din1 (enc_c_vec3)
4182// );
4183//
4184//// final value
4185
4186assign enc_c_vec3_fnl[3:0] = cpu3_4bnk[3:0] | cpu3_8bnk[3:0] | cpu3_2bnk[3:0];
4187
4188//or_macro cpu3_vec (width=4, ports=3)
4189// (
4190// .dout (enc_c_vec3_fnl),
4191// .din0 (cpu3_4bnk),
4192// .din1 (cpu3_8bnk),
4193// .din2 (cpu3_2bnk)
4194// );
4195//
4196//
4197//// CPU 4
4198
4199assign cpu4_2bnk[3:0] = (({4{arb_dirvec_cpu4_selbot}} & enc_c_vec0_1_2_3[3:0] ) |
4200 ({4{arb_dirvec_cpu4_seltop}} & enc_c_vec4_5_6_7[3:0] ) );
4201
4202//// 2 bank :
4203//and_macro cpu4_2bnk_vec0 (width = 4)
4204// (
4205// .dout (cpu4_2bnk_0),
4206// .din0 ({4{arb_dirvec_cpu4_selbot}}),
4207// .din1 (enc_c_vec0_1_2_3)
4208// );
4209//and_macro cpu4_2bnk_vec1 (width = 4)
4210// (
4211// .dout (cpu4_2bnk_1),
4212// .din0 ({4{arb_dirvec_cpu4_seltop}}),
4213// .din1 (enc_c_vec4_5_6_7)
4214// );
4215//or_macro cpu4_2bnk_vec2 (width = 4)
4216// (
4217// .dout (cpu4_2bnk),
4218// .din0 (cpu4_2bnk_0),
4219// .din1 (cpu4_2bnk_1)
4220// );
4221//
4222//
4223//// 4 bank :
4224
4225assign cpu4_4bnk[3:0] = ( ({4{arb_dirvec_cpu4_sel00}} & enc_c_vec0_1[3:0] ) |
4226 ({4{arb_dirvec_cpu4_sel01}} & enc_c_vec2_3[3:0] ) |
4227 ({4{arb_dirvec_cpu4_sel10}} & enc_c_vec4_5[3:0] ) |
4228 ({4{arb_dirvec_cpu4_sel11}} & enc_c_vec6_7[3:0] ) );
4229
4230//and_macro cpu4_4bnk_vec0 (width = 4)
4231// (
4232// .dout (cpu4_4bnk_0),
4233// .din0 ({4{arb_dirvec_cpu4_sel00}}),
4234// .din1 (enc_c_vec0_1)
4235// );
4236//and_macro cpu4_4bnk_vec1 (width = 4)
4237// (
4238// .dout (cpu4_4bnk_1),
4239// .din0 ({4{arb_dirvec_cpu4_sel01}}),
4240// .din1 (enc_c_vec2_3)
4241// );
4242//
4243//and_macro cpu4_4bnk_vec2 (width = 4)
4244// (
4245// .dout (cpu4_4bnk_2),
4246// .din0 ({4{arb_dirvec_cpu4_sel10}}),
4247// .din1 (enc_c_vec4_5)
4248// );
4249//
4250//and_macro cpu4_4bnk_vec3 (width = 4)
4251// (
4252// .dout (cpu4_4bnk_3),
4253// .din0 ({4{arb_dirvec_cpu4_sel11}}),
4254// .din1 (enc_c_vec6_7)
4255// );
4256//
4257//
4258//or_macro cpu4_4bnk_vec4 (width = 4, ports=3)
4259// (
4260// .dout (cpu4_4bnk_4),
4261// .din0 (cpu4_4bnk_0),
4262// .din1 (cpu4_4bnk_1),
4263// .din2 (cpu4_4bnk_2)
4264// );
4265//
4266//or_macro cpu4_4bnk_vec5 (width = 4)
4267// (
4268// .dout (cpu4_4bnk),
4269// .din0 (cpu4_4bnk_4),
4270// .din1 (cpu4_4bnk_3)
4271// );
4272//// 8 bank :
4273
4274assign cpu4_8bnk[3:0] = {4{arbadr_ncu_l2t_pm_n}} & enc_c_vec4[3:0];
4275
4276
4277//and_macro cpu4_8bnk_vec (width = 4)
4278// (
4279// .dout (cpu4_8bnk),
4280// .din0 ({4{arbadr_ncu_l2t_pm_n}}),
4281// .din1 (enc_c_vec4)
4282// );
4283//
4284//// final value
4285
4286assign enc_c_vec4_fnl = cpu4_4bnk | cpu4_8bnk | cpu4_2bnk;
4287
4288//or_macro cpu4_vec (width=4, ports=3)
4289// (
4290// .dout (enc_c_vec4_fnl),
4291// .din0 (cpu4_4bnk),
4292// .din1 (cpu4_8bnk),
4293// .din2 (cpu4_2bnk)
4294// );
4295//
4296//// CPU 5
4297
4298assign cpu5_2bnk = ( ({4{arb_dirvec_cpu5_selbot}} & enc_c_vec0_1_2_3[3:0] ) |
4299 ({4{arb_dirvec_cpu5_seltop}} & enc_c_vec4_5_6_7[3:0] ));
4300
4301//// 2 bank :
4302//and_macro cpu5_2bnk_vec0 (width = 4)
4303// (
4304// .dout (cpu5_2bnk_0),
4305// .din0 ({4{arb_dirvec_cpu5_selbot}}),
4306// .din1 (enc_c_vec0_1_2_3)
4307// );
4308//and_macro cpu5_2bnk_vec1 (width = 4)
4309// (
4310// .dout (cpu5_2bnk_1),
4311// .din0 ({4{arb_dirvec_cpu5_seltop}}),
4312// .din1 (enc_c_vec4_5_6_7)
4313// );
4314//or_macro cpu5_2bnk_vec2 (width = 4)
4315// (
4316// .dout (cpu5_2bnk),
4317// .din0 (cpu5_2bnk_0),
4318// .din1 (cpu5_2bnk_1)
4319// );
4320//
4321
4322assign cpu5_4bnk[3:0] = ( ({4{arb_dirvec_cpu5_sel00}} & enc_c_vec0_1[3:0] ) |
4323 ({4{arb_dirvec_cpu5_sel01}} & enc_c_vec2_3[3:0] ) |
4324 ({4{arb_dirvec_cpu5_sel10}} & enc_c_vec4_5[3:0] ) |
4325 ({4{arb_dirvec_cpu5_sel11}} & enc_c_vec6_7[3:0] ) );
4326//// 4 bank :
4327//and_macro cpu5_4bnk_vec0 (width = 4)
4328// (
4329// .dout (cpu5_4bnk_0),
4330// .din0 ({4{arb_dirvec_cpu5_sel00}}),
4331// .din1 (enc_c_vec0_1)
4332// );
4333//and_macro cpu5_4bnk_vec1 (width = 4)
4334// (
4335// .dout (cpu5_4bnk_1),
4336// .din0 ({4{arb_dirvec_cpu5_sel01}}),
4337// .din1 (enc_c_vec2_3)
4338// );
4339//
4340//and_macro cpu5_4bnk_vec2 (width = 4)
4341// (
4342// .dout (cpu5_4bnk_2),
4343// .din0 ({4{arb_dirvec_cpu5_sel10}}),
4344// .din1 (enc_c_vec4_5)
4345// );
4346//
4347//and_macro cpu5_4bnk_vec3 (width = 4)
4348// (
4349// .dout (cpu5_4bnk_3),
4350// .din0 ({4{arb_dirvec_cpu5_sel11}}),
4351// .din1 (enc_c_vec6_7)
4352// );
4353//
4354//
4355//or_macro cpu5_4bnk_vec4 (width = 4, ports=3)
4356// (
4357// .dout (cpu5_4bnk_4),
4358// .din0 (cpu5_4bnk_0),
4359// .din1 (cpu5_4bnk_1),
4360// .din2 (cpu5_4bnk_2)
4361// );
4362//
4363//or_macro cpu5_4bnk_vec5 (width = 4)
4364// (
4365// .dout (cpu5_4bnk),
4366// .din0 (cpu5_4bnk_4),
4367// .din1 (cpu5_4bnk_3)
4368// );
4369
4370
4371assign cpu5_8bnk[3:0] = {4{arbadr_ncu_l2t_pm_n}} & enc_c_vec5[3:0];
4372
4373assign enc_c_vec5_fnl[3:0] = cpu5_4bnk[3:0] | cpu5_8bnk[3:0] | cpu5_2bnk[3:0];
4374
4375
4376//// 8 bank :
4377//
4378//and_macro cpu5_8bnk_vec (width = 4)
4379// (
4380// .dout (cpu5_8bnk),
4381// .din0 ({4{arbadr_ncu_l2t_pm_n}}),
4382// .din1 (enc_c_vec5)
4383// );
4384//
4385//// final value
4386//
4387//or_macro cpu5_vec (width=4, ports=3)
4388// (
4389// .dout (enc_c_vec5_fnl),
4390// .din0 (cpu5_4bnk),
4391// .din1 (cpu5_8bnk),
4392// .din2 (cpu5_2bnk)
4393// );
4394//
4395//
4396//// CPU 6
4397
4398
4399assign cpu6_2bnk[3:0] = ( ({4{arb_dirvec_cpu6_selbot}} & enc_c_vec0_1_2_3[3:0]) |
4400 ({4{arb_dirvec_cpu6_seltop}} & enc_c_vec4_5_6_7[3:0]) );
4401//// 2 bank :
4402//and_macro cpu6_2bnk_vec0 (width = 4)
4403// (
4404// .dout (cpu6_2bnk_0),
4405// .din0 ({4{arb_dirvec_cpu6_selbot}}),
4406// .din1 (enc_c_vec0_1_2_3)
4407// );
4408//and_macro cpu6_2bnk_vec1 (width = 4)
4409// (
4410// .dout (cpu6_2bnk_1),
4411// .din0 ({4{arb_dirvec_cpu6_seltop}}),
4412// .din1 (enc_c_vec4_5_6_7)
4413// );
4414//or_macro cpu6_2bnk_vec2 (width = 4)
4415// (
4416// .dout (cpu6_2bnk),
4417// .din0 (cpu6_2bnk_0),
4418// .din1 (cpu6_2bnk_1)
4419// );
4420
4421assign cpu6_4bnk[3:0] = ( ({4{arb_dirvec_cpu6_sel00}} & enc_c_vec0_1[3:0] ) |
4422 ({4{arb_dirvec_cpu6_sel01}} & enc_c_vec2_3[3:0] ) |
4423 ({4{arb_dirvec_cpu6_sel10}} & enc_c_vec4_5[3:0] ) |
4424 ({4{arb_dirvec_cpu6_sel11}} & enc_c_vec6_7[3:0] ) );
4425
4426
4427//// 4 bank :
4428//and_macro cpu6_4bnk_vec0 (width = 4)
4429// (
4430// .dout (cpu6_4bnk_0),
4431// .din0 ({4{arb_dirvec_cpu6_sel00}}),
4432// .din1 (enc_c_vec0_1)
4433// );
4434//and_macro cpu6_4bnk_vec1 (width = 4)
4435// (
4436// .dout (cpu6_4bnk_1),
4437// .din0 ({4{arb_dirvec_cpu6_sel01}}),
4438// .din1 (enc_c_vec2_3)
4439// );
4440//
4441//and_macro cpu6_4bnk_vec2 (width = 4)
4442// (
4443// .dout (cpu6_4bnk_2),
4444// .din0 ({4{arb_dirvec_cpu6_sel10}}),
4445// .din1 (enc_c_vec4_5)
4446// );
4447//
4448//and_macro cpu6_4bnk_vec3 (width = 4)
4449// (
4450// .dout (cpu6_4bnk_3),
4451// .din0 ({4{arb_dirvec_cpu6_sel11}}),
4452// .din1 (enc_c_vec6_7)
4453// );
4454//
4455//
4456//or_macro cpu6_4bnk_vec4 (width = 4, ports=3)
4457// (
4458// .dout (cpu6_4bnk_4),
4459// .din0 (cpu6_4bnk_0),
4460// .din1 (cpu6_4bnk_1),
4461// .din2 (cpu6_4bnk_2)
4462// );
4463//
4464//or_macro cpu6_4bnk_vec5 (width = 4)
4465// (
4466// .dout (cpu6_4bnk),
4467// .din0 (cpu6_4bnk_4),
4468// .din1 (cpu6_4bnk_3)
4469// );
4470//// 8 bank :
4471
4472assign cpu6_8bnk[3:0] = {4{arbadr_ncu_l2t_pm_n}} & enc_c_vec6[3:0];
4473assign enc_c_vec6_fnl[3:0] = cpu6_4bnk[3:0] | cpu6_8bnk[3:0] | cpu6_2bnk[3:0];
4474
4475//and_macro cpu6_8bnk_vec (width = 4)
4476// (
4477// .dout (cpu6_8bnk),
4478// .din0 ({4{arbadr_ncu_l2t_pm_n}}),
4479// .din1 (enc_c_vec6)
4480// );
4481//
4482//// final value
4483//
4484//or_macro cpu6_vec (width=4, ports=3)
4485// (
4486// .dout (enc_c_vec6_fnl),
4487// .din0 (cpu6_4bnk),
4488// .din1 (cpu6_8bnk),
4489// .din2 (cpu6_2bnk)
4490// );
4491//
4492//
4493//// CPU 7
4494
4495assign cpu7_2bnk[3:0] = ( ({4{arb_dirvec_cpu7_selbot}} & enc_c_vec0_1_2_3[3:0] ) |
4496 ({4{arb_dirvec_cpu7_seltop}} & enc_c_vec4_5_6_7[3:0] ) );
4497
4498//// 2 bank :
4499//and_macro cpu7_2bnk_vec0 (width = 4)
4500// (
4501// .dout (cpu7_2bnk_0),
4502// .din0 ({4{arb_dirvec_cpu7_selbot}}),
4503// .din1 (enc_c_vec0_1_2_3)
4504// );
4505//and_macro cpu7_2bnk_vec1 (width = 4)
4506// (
4507// .dout (cpu7_2bnk_1),
4508// .din0 ({4{arb_dirvec_cpu7_seltop}}),
4509// .din1 (enc_c_vec4_5_6_7)
4510// );
4511//or_macro cpu7_2bnk_vec2 (width = 4)
4512// (
4513// .dout (cpu7_2bnk),
4514// .din0 (cpu7_2bnk_0),
4515// .din1 (cpu7_2bnk_1)
4516// );
4517//
4518
4519assign cpu7_4bnk[3:0] = ( ({4{arb_dirvec_cpu7_sel00}} & enc_c_vec0_1[3:0]) |
4520 ({4{arb_dirvec_cpu7_sel01}} & enc_c_vec2_3[3:0] ) |
4521 ({4{arb_dirvec_cpu7_sel10}} & enc_c_vec4_5[3:0] ) |
4522 ({4{arb_dirvec_cpu7_sel11}} & enc_c_vec6_7[3:0] ) );
4523
4524//// 4 bank :
4525//and_macro cpu7_4bnk_vec0 (width = 4)
4526// (
4527// .dout (cpu7_4bnk_0),
4528// .din0 ({4{arb_dirvec_cpu7_sel00}}),
4529// .din1 (enc_c_vec0_1)
4530// );
4531//and_macro cpu7_4bnk_vec1 (width = 4)
4532// (
4533// .dout (cpu7_4bnk_1),
4534// .din0 ({4{arb_dirvec_cpu7_sel01}}),
4535// .din1 (enc_c_vec2_3)
4536// );
4537//
4538//and_macro cpu7_4bnk_vec2 (width = 4)
4539// (
4540// .dout (cpu7_4bnk_2),
4541// .din0 ({4{arb_dirvec_cpu7_sel10}}),
4542// .din1 (enc_c_vec4_5)
4543// );
4544//
4545//and_macro cpu7_4bnk_vec3 (width = 4)
4546// (
4547// .dout (cpu7_4bnk_3),
4548// .din0 ({4{arb_dirvec_cpu7_sel11}}),
4549// .din1 (enc_c_vec6_7)
4550// );
4551//
4552//
4553//or_macro cpu7_4bnk_vec4 (width = 4, ports=3)
4554// (
4555// .dout (cpu7_4bnk_4),
4556// .din0 (cpu7_4bnk_0),
4557// .din1 (cpu7_4bnk_1),
4558// .din2 (cpu7_4bnk_2)
4559// );
4560//
4561//or_macro cpu7_4bnk_vec5 (width = 4)
4562// (
4563// .dout (cpu7_4bnk),
4564// .din0 (cpu7_4bnk_4),
4565// .din1 (cpu7_4bnk_3)
4566// );
4567//// 8 bank :
4568assign cpu7_8bnk[3:0] = {4{arbadr_ncu_l2t_pm_n}} & enc_c_vec7[3:0] ;
4569assign enc_c_vec7_fnl[3:0] = cpu7_4bnk[3:0] | cpu7_8bnk[3:0] | cpu7_2bnk[3:0] ;
4570
4571//and_macro cpu7_8bnk_vec (width = 4)
4572// (
4573// .dout (cpu7_8bnk),
4574// .din0 ({4{arbadr_ncu_l2t_pm_n}}),
4575// .din1 (enc_c_vec7)
4576// );
4577//
4578//// final value
4579//
4580//or_macro cpu7_vec (width=4, ports=3)
4581// (
4582// .dout (enc_c_vec7_fnl),
4583// .din0 (cpu7_4bnk),
4584// .din1 (cpu7_8bnk),
4585// .din2 (cpu7_2bnk)
4586// );
4587//
4588
4589endmodule
4590
4591
4592module l2t_prbnk1_ctl (
4593 arbadr_ncu_l2t_pm_n,
4594 arb_dirvec_cpu0_selbot,
4595 arb_dirvec_cpu1_selbot,
4596 arb_dirvec_cpu2_selbot,
4597 arb_dirvec_cpu3_selbot,
4598 arb_dirvec_cpu4_selbot,
4599 arb_dirvec_cpu5_selbot,
4600 arb_dirvec_cpu6_selbot,
4601 arb_dirvec_cpu7_selbot,
4602 arb_dirvec_cpu1_seltop,
4603 arb_dirvec_cpu2_seltop,
4604 arb_dirvec_cpu3_seltop,
4605 arb_dirvec_cpu4_seltop,
4606 arb_dirvec_cpu5_seltop,
4607 arb_dirvec_cpu6_seltop,
4608 arb_dirvec_cpu7_seltop,
4609 arb_dirvec_cpu0_sel00,
4610 arb_dirvec_cpu1_sel00,
4611 arb_dirvec_cpu1_sel01,
4612 arb_dirvec_cpu2_sel00,
4613 arb_dirvec_cpu2_sel01,
4614 arb_dirvec_cpu2_sel10,
4615 arb_dirvec_cpu3_sel00,
4616 arb_dirvec_cpu3_sel01,
4617 arb_dirvec_cpu3_sel10,
4618 arb_dirvec_cpu3_sel11,
4619 arb_dirvec_cpu4_sel00,
4620 arb_dirvec_cpu4_sel01,
4621 arb_dirvec_cpu4_sel10,
4622 arb_dirvec_cpu4_sel11,
4623 arb_dirvec_cpu5_sel00,
4624 arb_dirvec_cpu5_sel01,
4625 arb_dirvec_cpu5_sel10,
4626 arb_dirvec_cpu5_sel11,
4627 arb_dirvec_cpu6_sel00,
4628 arb_dirvec_cpu6_sel01,
4629 arb_dirvec_cpu6_sel10,
4630 arb_dirvec_cpu6_sel11,
4631 arb_dirvec_cpu7_sel00,
4632 arb_dirvec_cpu7_sel01,
4633 arb_dirvec_cpu7_sel10,
4634 arb_dirvec_cpu7_sel11,
4635 enc_c_vec0,
4636 enc_c_vec1,
4637 enc_c_vec2,
4638 enc_c_vec3,
4639 enc_c_vec4,
4640 enc_c_vec5,
4641 enc_c_vec6,
4642 enc_c_vec7,
4643 enc_c_vec0_fnl,
4644 enc_c_vec1_fnl,
4645 enc_c_vec2_fnl,
4646 enc_c_vec3_fnl,
4647 enc_c_vec4_fnl,
4648 enc_c_vec5_fnl,
4649 enc_c_vec6_fnl,
4650 enc_c_vec7_fnl);
4651input arbadr_ncu_l2t_pm_n;
4652input arb_dirvec_cpu0_selbot;
4653input arb_dirvec_cpu1_selbot;
4654input arb_dirvec_cpu2_selbot;
4655input arb_dirvec_cpu3_selbot;
4656input arb_dirvec_cpu4_selbot;
4657input arb_dirvec_cpu5_selbot;
4658input arb_dirvec_cpu6_selbot;
4659input arb_dirvec_cpu7_selbot;
4660input arb_dirvec_cpu1_seltop;
4661input arb_dirvec_cpu2_seltop;
4662input arb_dirvec_cpu3_seltop;
4663input arb_dirvec_cpu4_seltop;
4664input arb_dirvec_cpu5_seltop;
4665input arb_dirvec_cpu6_seltop;
4666input arb_dirvec_cpu7_seltop;
4667
4668input arb_dirvec_cpu0_sel00;
4669
4670input arb_dirvec_cpu1_sel00;
4671input arb_dirvec_cpu1_sel01;
4672
4673input arb_dirvec_cpu2_sel00;
4674input arb_dirvec_cpu2_sel01;
4675input arb_dirvec_cpu2_sel10;
4676
4677input arb_dirvec_cpu3_sel00;
4678input arb_dirvec_cpu3_sel01;
4679input arb_dirvec_cpu3_sel10;
4680input arb_dirvec_cpu3_sel11;
4681
4682input arb_dirvec_cpu4_sel00;
4683input arb_dirvec_cpu4_sel01;
4684input arb_dirvec_cpu4_sel10;
4685input arb_dirvec_cpu4_sel11;
4686
4687input arb_dirvec_cpu5_sel00;
4688input arb_dirvec_cpu5_sel01;
4689input arb_dirvec_cpu5_sel10;
4690input arb_dirvec_cpu5_sel11;
4691
4692input arb_dirvec_cpu6_sel00;
4693input arb_dirvec_cpu6_sel01;
4694input arb_dirvec_cpu6_sel10;
4695input arb_dirvec_cpu6_sel11;
4696input arb_dirvec_cpu7_sel00;
4697input arb_dirvec_cpu7_sel01;
4698input arb_dirvec_cpu7_sel10;
4699input arb_dirvec_cpu7_sel11;
4700
4701
4702
4703
4704
4705
4706input [2:0] enc_c_vec0;
4707input [2:0] enc_c_vec1;
4708input [2:0] enc_c_vec2;
4709input [2:0] enc_c_vec3;
4710input [2:0] enc_c_vec4;
4711input [2:0] enc_c_vec5;
4712input [2:0] enc_c_vec6;
4713input [2:0] enc_c_vec7;
4714
4715output [2:0] enc_c_vec0_fnl;
4716output [2:0] enc_c_vec1_fnl;
4717output [2:0] enc_c_vec2_fnl;
4718output [2:0] enc_c_vec3_fnl;
4719output [2:0] enc_c_vec4_fnl;
4720output [2:0] enc_c_vec5_fnl;
4721output [2:0] enc_c_vec6_fnl;
4722output [2:0] enc_c_vec7_fnl;
4723
4724wire [2:0] enc_c_vec0_1,enc_c_vec2_3,enc_c_vec4_5,enc_c_vec6_7,enc_c_vec_0_1_2_3,enc_c_vec4_5_6_7;
4725wire [2:0] cpu0_2bnk,cpu0_4bnk,cpu0_8bnk;
4726wire [2:0] cpu1_2bnk,cpu1_4bnk,cpu1_8bnk;
4727wire [2:0] cpu2_2bnk,cpu2_4bnk,cpu2_8bnk;
4728wire [2:0] cpu3_2bnk,cpu3_4bnk,cpu3_8bnk;
4729wire [2:0] cpu4_2bnk,cpu4_4bnk,cpu4_8bnk;
4730wire [2:0] cpu5_2bnk,cpu5_4bnk,cpu5_8bnk;
4731wire [2:0] cpu6_2bnk,cpu6_4bnk,cpu6_8bnk;
4732wire [2:0] cpu7_2bnk,cpu7_4bnk,cpu7_8bnk;
4733
4734wire [2:0] cpu0_2bnk_0,cpu0_2bnk_1;
4735wire [2:0] cpu1_2bnk_0,cpu1_2bnk_1;
4736wire [2:0] cpu2_2bnk_0,cpu2_2bnk_1;
4737wire [2:0] cpu3_2bnk_0,cpu3_2bnk_1;
4738wire [2:0] cpu4_2bnk_0,cpu4_2bnk_1;
4739wire [2:0] cpu5_2bnk_0,cpu5_2bnk_1;
4740wire [2:0] cpu6_2bnk_0,cpu6_2bnk_1;
4741wire [2:0] cpu7_2bnk_0,cpu7_2bnk_1;
4742
4743
4744wire [2:0] cpu1_4bnk_0,cpu1_4bnk_1;
4745wire [2:0] cpu2_4bnk_0,cpu2_4bnk_1,cpu2_4bnk_2;
4746wire [2:0] cpu3_4bnk_0,cpu3_4bnk_1,cpu3_4bnk_2,cpu3_4bnk_3;
4747wire [2:0] cpu4_4bnk_0,cpu4_4bnk_1,cpu4_4bnk_2,cpu4_4bnk_3;
4748wire [2:0] cpu5_4bnk_0,cpu5_4bnk_1,cpu5_4bnk_2,cpu5_4bnk_3;
4749wire [2:0] cpu6_4bnk_0,cpu6_4bnk_1,cpu6_4bnk_2,cpu6_4bnk_3;
4750wire [2:0] cpu7_4bnk_0,cpu7_4bnk_1,cpu7_4bnk_2,cpu7_4bnk_3;
4751
4752wire [2:0] cpu3_4bnk_4,cpu4_4bnk_4,cpu5_4bnk_4,cpu6_4bnk_4,cpu7_4bnk_4;
4753
4754
4755assign enc_c_vec0_1 = enc_c_vec0 | enc_c_vec1;
4756assign enc_c_vec2_3 = enc_c_vec2 | enc_c_vec3;
4757assign enc_c_vec4_5 = enc_c_vec4 | enc_c_vec5;
4758assign enc_c_vec6_7 = enc_c_vec6 | enc_c_vec7;
4759assign enc_c_vec_0_1_2_3 = enc_c_vec0_1 | enc_c_vec2_3;
4760assign enc_c_vec4_5_6_7 = enc_c_vec4_5 | enc_c_vec6_7;
4761
4762
4763//or_macro or_0_1 (width=3)
4764// (
4765// .dout (enc_c_vec0_1),
4766// .din0 (enc_c_vec0),
4767// .din1 (enc_c_vec1)
4768// );
4769//or_macro or_2_3 (width=3)
4770// (
4771// .dout (enc_c_vec2_3),
4772// .din0 (enc_c_vec2),
4773// .din1 (enc_c_vec3)
4774// );
4775//or_macro or_4_5 (width=3)
4776// (
4777// .dout (enc_c_vec4_5),
4778// .din0 (enc_c_vec4),
4779// .din1 (enc_c_vec5)
4780// );
4781//or_macro or_6_7 (width=3)
4782// (
4783// .dout (enc_c_vec6_7),
4784// .din0 (enc_c_vec6),
4785// .din1 (enc_c_vec7)
4786// );
4787//
4788//or_macro or_0_1_2_3 (width=3)
4789// (
4790// .dout (enc_c_vec_0_1_2_3),
4791// .din0 (enc_c_vec0_1),
4792// .din1 (enc_c_vec2_3)
4793// );
4794//
4795//or_macro or_4_5_6_7 (width=3)
4796// (
4797// .dout (enc_c_vec4_5_6_7),
4798// .din0 (enc_c_vec4_5),
4799// .din1 (enc_c_vec6_7)
4800// );
4801//
4802//// CPU 0
4803//
4804//// 2 bank :
4805
4806
4807assign cpu0_2bnk[2:0] = {3{arb_dirvec_cpu0_selbot}} & enc_c_vec_0_1_2_3[2:0];
4808assign cpu0_4bnk[2:0] = {3{arb_dirvec_cpu0_sel00}} & enc_c_vec0_1[2:0];
4809assign cpu0_8bnk[2:0] = {3{arbadr_ncu_l2t_pm_n}} & enc_c_vec0[2:0];
4810assign enc_c_vec0_fnl[2:0] = cpu0_4bnk[2:0] | cpu0_8bnk[2:0] | cpu0_2bnk[2:0];
4811
4812//and_macro cpu0_2bnk_vec (width = 3)
4813// (
4814// .dout (cpu0_2bnk),
4815// .din0 ({3{arb_dirvec_cpu0_selbot}}),
4816// .din1 (enc_c_vec_0_1_2_3)
4817// );
4818//// 4 bank :
4819//and_macro cpu0_4bnk_vec (width = 3)
4820// (
4821// .dout (cpu0_4bnk),
4822// .din0 ({3{arb_dirvec_cpu0_sel00}}),
4823// .din1 (enc_c_vec0_1)
4824// );
4825// // 8 bank :
4826//and_macro cpu0_8bnk_vec (width = 3)
4827// (
4828// .dout (cpu0_8bnk),
4829// .din0 ({3{arbadr_ncu_l2t_pm_n}}),
4830// .din1 (enc_c_vec0)
4831// );
4832//// final value
4833//
4834//or_macro cpu0_vec (width=3, ports=3)
4835// (
4836// .dout (enc_c_vec0_fnl),
4837// .din0 (cpu0_4bnk),
4838// .din1 (cpu0_8bnk),
4839// .din2 (cpu0_2bnk)
4840// );
4841//
4842//// CPU 1
4843
4844assign cpu1_2bnk[2:0] = ( ({3{arb_dirvec_cpu1_selbot}} & enc_c_vec_0_1_2_3[2:0] ) |
4845 ({3{arb_dirvec_cpu1_seltop}} & enc_c_vec4_5_6_7[2:0] ) );
4846
4847//// 2 bank :
4848//and_macro cpu1_2bnk_vec0 (width = 3)
4849// (
4850// .dout (cpu1_2bnk_0),
4851// .din0 ({3{arb_dirvec_cpu1_selbot}}),
4852// .din1 (enc_c_vec_0_1_2_3)
4853// );
4854//and_macro cpu1_2bnk_vec1 (width = 3)
4855// (
4856// .dout (cpu1_2bnk_1),
4857// .din0 ({3{arb_dirvec_cpu1_seltop}}),
4858// .din1 (enc_c_vec4_5_6_7)
4859// );
4860//or_macro cpu1_2bnk_vec2 (width = 3)
4861// (
4862// .dout (cpu1_2bnk),
4863// .din0 (cpu1_2bnk_0),
4864// .din1 (cpu1_2bnk_1)
4865// );
4866
4867assign cpu1_4bnk[2:0] = ( ({3{arb_dirvec_cpu1_sel00}} & enc_c_vec0_1[2:0] ) |
4868 ({3{arb_dirvec_cpu1_sel01}} & enc_c_vec2_3[2:0] ) );
4869
4870//// 4 bank :
4871//and_macro cpu1_4bnk_vec0 (width = 3)
4872// (
4873// .dout (cpu1_4bnk_0),
4874// .din0 ({3{arb_dirvec_cpu1_sel00}}),
4875// .din1 (enc_c_vec0_1)
4876// );
4877//and_macro cpu1_4bnk_vec1 (width = 3)
4878// (
4879// .dout (cpu1_4bnk_1),
4880// .din0 ({3{arb_dirvec_cpu1_sel01}}),
4881// .din1 (enc_c_vec2_3)
4882// );
4883//or_macro cpu1_4bnk_vec2 (width = 3)
4884// (
4885// .dout (cpu1_4bnk),
4886// .din0 (cpu1_4bnk_0),
4887// .din1 (cpu1_4bnk_1)
4888// );
4889//
4890
4891assign cpu1_8bnk[2:0] = ({3{arbadr_ncu_l2t_pm_n}} & enc_c_vec1[2:0] );
4892
4893//// 8 bank :
4894//
4895//and_macro cpu1_8bnk_vec (width = 3)
4896// (
4897// .dout (cpu1_8bnk),
4898// .din0 ({3{arbadr_ncu_l2t_pm_n}}),
4899// .din1 (enc_c_vec1)
4900// );
4901//
4902//// final value
4903assign enc_c_vec1_fnl[2:0] = cpu1_4bnk | cpu1_8bnk | cpu1_2bnk;
4904//or_macro cpu1_vec (width=3, ports=3)
4905// (
4906// .dout (enc_c_vec1_fnl),
4907// .din0 (cpu1_4bnk),
4908// .din1 (cpu1_8bnk),
4909// .din2 (cpu1_2bnk)
4910// );
4911
4912
4913//// CPU 2
4914
4915assign cpu2_2bnk[2:0] =( ({3{arb_dirvec_cpu2_selbot}} & enc_c_vec_0_1_2_3[2:0]) |
4916 ({3{arb_dirvec_cpu2_seltop}} & enc_c_vec4_5_6_7[2:0]) );
4917
4918//// 2 bank :
4919//and_macro cpu2_2bnk_vec0 (width = 3)
4920// (
4921// .dout (cpu2_2bnk_0),
4922// .din0 ({3{arb_dirvec_cpu2_selbot}}),
4923// .din1 (enc_c_vec_0_1_2_3)
4924// );
4925//and_macro cpu2_2bnk_vec1 (width = 3)
4926// (
4927// .dout (cpu2_2bnk_1),
4928// .din0 ({3{arb_dirvec_cpu2_seltop}}),
4929// .din1 (enc_c_vec4_5_6_7)
4930// );
4931//or_macro cpu2_2bnk_vec2 (width = 3)
4932// (
4933// .dout (cpu2_2bnk),
4934// .din0 (cpu2_2bnk_0),
4935// .din1 (cpu2_2bnk_1)
4936// );
4937
4938assign cpu2_4bnk[2:0] = ( ({3{arb_dirvec_cpu2_sel00}} & enc_c_vec0_1[2:0] ) |
4939 ({3{arb_dirvec_cpu2_sel01}} & enc_c_vec2_3[2:0] ) |
4940 ({3{arb_dirvec_cpu2_sel10}} & enc_c_vec4_5[2:0] ) );
4941
4942//// 4 bank :
4943//and_macro cpu2_4bnk_vec0 (width = 3)
4944// (
4945// .dout (cpu2_4bnk_0),
4946// .din0 ({3{arb_dirvec_cpu2_sel00}}),
4947// .din1 (enc_c_vec0_1)
4948// );
4949//and_macro cpu2_4bnk_vec1 (width = 3)
4950// (
4951// .dout (cpu2_4bnk_1),
4952// .din0 ({3{arb_dirvec_cpu2_sel01}}),
4953// .din1 (enc_c_vec2_3)
4954// );
4955//
4956//and_macro cpu2_4bnk_vec2 (width = 3)
4957// (
4958// .dout (cpu2_4bnk_2),
4959// .din0 ({3{arb_dirvec_cpu2_sel10}}),
4960// .din1 (enc_c_vec4_5)
4961// );
4962//
4963//or_macro cpu2_4bnk_vec3 (width = 3, ports=3)
4964// (
4965// .dout (cpu2_4bnk),
4966// .din0 (cpu2_4bnk_0),
4967// .din1 (cpu2_4bnk_1),
4968// .din2 (cpu2_4bnk_2)
4969// );
4970//
4971//
4972//// 8 bank :
4973
4974assign cpu2_8bnk[2:0] = {3{arbadr_ncu_l2t_pm_n}} & enc_c_vec2[2:0];
4975assign enc_c_vec2_fnl[2:0] = cpu2_4bnk[2:0] | cpu2_8bnk[2:0] | cpu2_2bnk[2:0];
4976
4977//and_macro cpu2_8bnk_vec (width = 3)
4978// (
4979// .dout (cpu2_8bnk),
4980// .din0 ({3{arbadr_ncu_l2t_pm_n}}),
4981// .din1 (enc_c_vec2)
4982// );
4983//
4984//// final value
4985//
4986//or_macro cpu2_vec (width=3, ports=3)
4987// (
4988// .dout (enc_c_vec2_fnl),
4989// .din0 (cpu2_4bnk),
4990// .din1 (cpu2_8bnk),
4991// .din2 (cpu2_2bnk)
4992// );
4993//
4994//
4995//// CPU 3
4996
4997assign cpu3_2bnk[2:0] = ( ({3{arb_dirvec_cpu3_selbot}} & enc_c_vec_0_1_2_3[2:0]) |
4998 ({3{arb_dirvec_cpu3_seltop}} & enc_c_vec4_5_6_7[2:0]) );
4999//// 2 bank :
5000//and_macro cpu3_2bnk_vec0 (width = 3)
5001// (
5002// .dout (cpu3_2bnk_0),
5003// .din0 ({3{arb_dirvec_cpu3_selbot}}),
5004// .din1 (enc_c_vec_0_1_2_3)
5005// );
5006//and_macro cpu3_2bnk_vec1 (width = 3)
5007// (
5008// .dout (cpu3_2bnk_1),
5009// .din0 ({3{arb_dirvec_cpu3_seltop}}),
5010// .din1 (enc_c_vec4_5_6_7)
5011// );
5012//or_macro cpu3_2bnk_vec2 (width = 3)
5013// (
5014// .dout (cpu3_2bnk),
5015// .din0 (cpu3_2bnk_0),
5016// .din1 (cpu3_2bnk_1)
5017// );
5018//
5019//
5020//// 4 bank :
5021
5022assign cpu3_4bnk[2:0] = ( ({3{arb_dirvec_cpu3_sel00}} & enc_c_vec0_1[2:0] ) |
5023 ({3{arb_dirvec_cpu3_sel01}} & enc_c_vec2_3[2:0] ) |
5024 ({3{arb_dirvec_cpu3_sel10}} & enc_c_vec4_5[2:0] ) |
5025 ({3{arb_dirvec_cpu3_sel11}} & enc_c_vec6_7[2:0] ) );
5026
5027//and_macro cpu3_4bnk_vec0 (width = 3)
5028// (
5029// .dout (cpu3_4bnk_0),
5030// .din0 ({3{arb_dirvec_cpu3_sel00}}),
5031// .din1 (enc_c_vec0_1)
5032// );
5033//and_macro cpu3_4bnk_vec1 (width = 3)
5034// (
5035// .dout (cpu3_4bnk_1),
5036// .din0 ({3{arb_dirvec_cpu3_sel01}}),
5037// .din1 (enc_c_vec2_3)
5038// );
5039//
5040//and_macro cpu3_4bnk_vec2 (width = 3)
5041// (
5042// .dout (cpu3_4bnk_2),
5043// .din0 ({3{arb_dirvec_cpu3_sel10}}),
5044// .din1 (enc_c_vec4_5)
5045// );
5046//
5047//and_macro cpu3_4bnk_vec3 (width = 3)
5048// (
5049// .dout (cpu3_4bnk_3),
5050// .din0 ({3{arb_dirvec_cpu3_sel11}}),
5051// .din1 (enc_c_vec6_7)
5052// );
5053//
5054//
5055//or_macro cpu3_4bnk_vec4 (width = 3, ports=3)
5056// (
5057// .dout (cpu3_4bnk_4),
5058// .din0 (cpu3_4bnk_0),
5059// .din1 (cpu3_4bnk_1),
5060// .din2 (cpu3_4bnk_2)
5061// );
5062//
5063//or_macro cpu3_4bnk_vec5 (width = 3)
5064// (
5065// .dout (cpu3_4bnk),
5066// .din0 (cpu3_4bnk_4),
5067// .din1 (cpu3_4bnk_3)
5068// );
5069//// 8 bank :
5070
5071assign cpu3_8bnk[2:0] = {3{arbadr_ncu_l2t_pm_n}} & enc_c_vec3[2:0];
5072
5073//and_macro cpu3_8bnk_vec (width = 3)
5074// (
5075// .dout (cpu3_8bnk),
5076// .din0 ({3{arbadr_ncu_l2t_pm_n}}),
5077// .din1 (enc_c_vec3)
5078// );
5079//
5080//// final value
5081
5082assign enc_c_vec3_fnl[2:0] = cpu3_4bnk[2:0] | cpu3_8bnk[2:0] | cpu3_2bnk[2:0] ;
5083
5084//or_macro cpu3_vec (width=3, ports=3)
5085// (
5086// .dout (enc_c_vec3_fnl),
5087// .din0 (cpu3_4bnk),
5088// .din1 (cpu3_8bnk),
5089// .din2 (cpu3_2bnk)
5090// );
5091//
5092//
5093//// CPU 4
5094
5095assign cpu4_2bnk[2:0] = ( ({3{arb_dirvec_cpu4_selbot}} & enc_c_vec_0_1_2_3[2:0]) |
5096 ({3{arb_dirvec_cpu4_seltop}} & enc_c_vec4_5_6_7[2:0]) );
5097
5098//// 2 bank :
5099//and_macro cpu4_2bnk_vec0 (width = 3)
5100// (
5101// .dout (cpu4_2bnk_0),
5102// .din0 ({3{arb_dirvec_cpu4_selbot}}),
5103// .din1 (enc_c_vec_0_1_2_3)
5104// );
5105//and_macro cpu4_2bnk_vec1 (width = 3)
5106// (
5107// .dout (cpu4_2bnk_1),
5108// .din0 ({3{arb_dirvec_cpu4_seltop}}),
5109// .din1 (enc_c_vec4_5_6_7)
5110// );
5111//or_macro cpu4_2bnk_vec2 (width = 3)
5112// (
5113// .dout (cpu4_2bnk),
5114// .din0 (cpu4_2bnk_0),
5115// .din1 (cpu4_2bnk_1)
5116// );
5117//
5118//// 4 bank :
5119
5120
5121assign cpu4_4bnk[2:0] = ( ({3{arb_dirvec_cpu4_sel00}} & enc_c_vec0_1[2:0] ) |
5122 ({3{arb_dirvec_cpu4_sel01}} & enc_c_vec2_3[2:0] ) |
5123 ({3{arb_dirvec_cpu4_sel10}} & enc_c_vec4_5[2:0] ) |
5124 ({3{arb_dirvec_cpu4_sel11}} & enc_c_vec6_7[2:0] ) );
5125
5126
5127
5128//and_macro cpu4_4bnk_vec0 (width = 3)
5129// (
5130// .dout (cpu4_4bnk_0),
5131// .din0 ({3{arb_dirvec_cpu4_sel00}}),
5132// .din1 (enc_c_vec0_1)
5133// );
5134//and_macro cpu4_4bnk_vec1 (width = 3)
5135// (
5136// .dout (cpu4_4bnk_1),
5137// .din0 ({3{arb_dirvec_cpu4_sel01}}),
5138// .din1 (enc_c_vec2_3)
5139// );
5140//
5141//and_macro cpu4_4bnk_vec2 (width = 3)
5142// (
5143// .dout (cpu4_4bnk_2),
5144// .din0 ({3{arb_dirvec_cpu4_sel10}}),
5145// .din1 (enc_c_vec4_5)
5146// );
5147//
5148//and_macro cpu4_4bnk_vec3 (width = 3)
5149// (
5150// .dout (cpu4_4bnk_3),
5151// .din0 ({3{arb_dirvec_cpu4_sel11}}),
5152// .din1 (enc_c_vec6_7)
5153// );
5154//
5155//
5156//or_macro cpu4_4bnk_vec4 (width = 3, ports=3)
5157// (
5158// .dout (cpu4_4bnk_4),
5159// .din0 (cpu4_4bnk_0),
5160// .din1 (cpu4_4bnk_1),
5161// .din2 (cpu4_4bnk_2)
5162// );
5163//
5164//or_macro cpu4_4bnk_vec5 (width = 3)
5165// (
5166// .dout (cpu4_4bnk),
5167// .din0 (cpu4_4bnk_4),
5168// .din1 (cpu4_4bnk_3)
5169// );
5170//// 8 bank :
5171
5172assign cpu4_8bnk[2:0] = {3{arbadr_ncu_l2t_pm_n}} & enc_c_vec4[2:0];
5173
5174//and_macro cpu4_8bnk_vec (width = 3)
5175// (
5176// .dout (cpu4_8bnk),
5177// .din0 ({3{arbadr_ncu_l2t_pm_n}}),
5178// .din1 (enc_c_vec4)
5179// );
5180
5181//// final value
5182
5183
5184assign enc_c_vec4_fnl[2:0] = cpu4_4bnk[2:0] | cpu4_8bnk[2:0] | cpu4_2bnk[2:0] ;
5185
5186//or_macro cpu4_vec (width=3, ports=3)
5187// (
5188// .dout (enc_c_vec4_fnl),
5189// .din0 (cpu4_4bnk),
5190// .din1 (cpu4_8bnk),
5191// .din2 (cpu4_2bnk)
5192// );
5193//
5194//// CPU 5
5195//
5196//// 2 bank :
5197
5198assign cpu5_2bnk[2:0] = ( ({3{arb_dirvec_cpu5_selbot}} & enc_c_vec_0_1_2_3[2:0]) |
5199 ({3{arb_dirvec_cpu5_seltop}} & enc_c_vec4_5_6_7[2:0]) );
5200
5201//and_macro cpu5_2bnk_vec0 (width = 3)
5202// (
5203// .dout (cpu5_2bnk_0),
5204// .din0 ({3{arb_dirvec_cpu5_selbot}}),
5205// .din1 (enc_c_vec_0_1_2_3)
5206// );
5207//and_macro cpu5_2bnk_vec1 (width = 3)
5208// (
5209// .dout (cpu5_2bnk_1),
5210// .din0 ({3{arb_dirvec_cpu5_seltop}}),
5211// .din1 (enc_c_vec4_5_6_7)
5212// );
5213//or_macro cpu5_2bnk_vec2 (width = 3)
5214// (
5215// .dout (cpu5_2bnk),
5216// .din0 (cpu5_2bnk_0),
5217// .din1 (cpu5_2bnk_1)
5218// );
5219//
5220//
5221//// 4 bank :
5222
5223assign cpu5_4bnk[2:0] = ( ({3{arb_dirvec_cpu5_sel00}} & enc_c_vec0_1[2:0] ) |
5224 ({3{arb_dirvec_cpu5_sel01}} & enc_c_vec2_3[2:0] ) |
5225 ({3{arb_dirvec_cpu5_sel10}} & enc_c_vec4_5[2:0] ) |
5226 ({3{arb_dirvec_cpu5_sel11}} & enc_c_vec6_7[2:0] ) );
5227
5228//and_macro cpu5_4bnk_vec0 (width = 3)
5229// (
5230// .dout (cpu5_4bnk_0),
5231// .din0 ({3{arb_dirvec_cpu5_sel00}}),
5232// .din1 (enc_c_vec0_1)
5233// );
5234//and_macro cpu5_4bnk_vec1 (width = 3)
5235// (
5236// .dout (cpu5_4bnk_1),
5237// .din0 ({3{arb_dirvec_cpu5_sel01}}),
5238// .din1 (enc_c_vec2_3)
5239// );
5240//
5241//and_macro cpu5_4bnk_vec2 (width = 3)
5242// (
5243// .dout (cpu5_4bnk_2),
5244// .din0 ({3{arb_dirvec_cpu5_sel10}}),
5245// .din1 (enc_c_vec4_5)
5246// );
5247//
5248//and_macro cpu5_4bnk_vec3 (width = 3)
5249// (
5250// .dout (cpu5_4bnk_3),
5251// .din0 ({3{arb_dirvec_cpu5_sel11}}),
5252// .din1 (enc_c_vec6_7)
5253// );
5254//
5255//
5256//or_macro cpu5_4bnk_vec4 (width = 3, ports=3)
5257// (
5258// .dout (cpu5_4bnk_4),
5259// .din0 (cpu5_4bnk_0),
5260// .din1 (cpu5_4bnk_1),
5261// .din2 (cpu5_4bnk_2)
5262// );
5263//
5264//or_macro cpu5_4bnk_vec5 (width = 3)
5265// (
5266// .dout (cpu5_4bnk),
5267// .din0 (cpu5_4bnk_4),
5268// .din1 (cpu5_4bnk_3)
5269// );
5270//// 8 bank :
5271assign cpu5_8bnk[2:0] = {3{arbadr_ncu_l2t_pm_n}} & enc_c_vec5[2:0];
5272assign enc_c_vec5_fnl[2:0] = cpu5_4bnk[2:0] | cpu5_8bnk[2:0] | cpu5_2bnk[2:0] ;
5273
5274//
5275//and_macro cpu5_8bnk_vec (width = 3)
5276// (
5277// .dout (cpu5_8bnk),
5278// .din0 ({3{arbadr_ncu_l2t_pm_n}}),
5279// .din1 (enc_c_vec5)
5280// );
5281//
5282//// final value
5283//
5284//or_macro cpu5_vec (width=3, ports=3)
5285// (
5286// .dout (enc_c_vec5_fnl),
5287// .din0 (cpu5_4bnk),
5288// .din1 (cpu5_8bnk),
5289// .din2 (cpu5_2bnk)
5290// );
5291//
5292//
5293//// CPU 6
5294//
5295//// 2 bank :
5296
5297assign cpu6_2bnk[2:0] = ( ({3{arb_dirvec_cpu6_selbot}} & enc_c_vec_0_1_2_3[2:0]) |
5298 ({3{arb_dirvec_cpu6_seltop}} & enc_c_vec4_5_6_7[2:0]) );
5299
5300
5301//and_macro cpu6_2bnk_vec0 (width = 3)
5302// (
5303// .dout (cpu6_2bnk_0),
5304// .din0 ({3{arb_dirvec_cpu6_selbot}}),
5305// .din1 (enc_c_vec_0_1_2_3)
5306// );
5307//and_macro cpu6_2bnk_vec1 (width = 3)
5308// (
5309// .dout (cpu6_2bnk_1),
5310// .din0 ({3{arb_dirvec_cpu6_seltop}}),
5311// .din1 (enc_c_vec4_5_6_7)
5312// );
5313//or_macro cpu6_2bnk_vec2 (width = 3)
5314// (
5315// .dout (cpu6_2bnk),
5316// .din0 (cpu6_2bnk_0),
5317// .din1 (cpu6_2bnk_1)
5318// );
5319//
5320//
5321//// 4 bank :
5322
5323
5324assign cpu6_4bnk[2:0] = ( ({3{arb_dirvec_cpu6_sel00}} & enc_c_vec0_1[2:0] ) |
5325 ({3{arb_dirvec_cpu6_sel01}} & enc_c_vec2_3[2:0] ) |
5326 ({3{arb_dirvec_cpu6_sel10}} & enc_c_vec4_5[2:0] ) |
5327 ({3{arb_dirvec_cpu6_sel11}} & enc_c_vec6_7[2:0] ) );
5328
5329
5330//and_macro cpu6_4bnk_vec0 (width = 3)
5331// (
5332// .dout (cpu6_4bnk_0),
5333// .din0 ({3{arb_dirvec_cpu6_sel00}}),
5334// .din1 (enc_c_vec0_1)
5335// );
5336//and_macro cpu6_4bnk_vec1 (width = 3)
5337// (
5338// .dout (cpu6_4bnk_1),
5339// .din0 ({3{arb_dirvec_cpu6_sel01}}),
5340// .din1 (enc_c_vec2_3)
5341// );
5342//
5343//and_macro cpu6_4bnk_vec2 (width = 3)
5344// (
5345// .dout (cpu6_4bnk_2),
5346// .din0 ({3{arb_dirvec_cpu6_sel10}}),
5347// .din1 (enc_c_vec4_5)
5348// );
5349//
5350//and_macro cpu6_4bnk_vec3 (width = 3)
5351// (
5352// .dout (cpu6_4bnk_3),
5353// .din0 ({3{arb_dirvec_cpu6_sel11}}),
5354// .din1 (enc_c_vec6_7)
5355// );
5356//
5357//
5358//or_macro cpu6_4bnk_vec4 (width = 3, ports=3)
5359// (
5360// .dout (cpu6_4bnk_4),
5361// .din0 (cpu6_4bnk_0),
5362// .din1 (cpu6_4bnk_1),
5363// .din2 (cpu6_4bnk_2)
5364// );
5365//
5366//or_macro cpu6_4bnk_vec5 (width = 3)
5367// (
5368// .dout (cpu6_4bnk),
5369// .din0 (cpu6_4bnk_4),
5370// .din1 (cpu6_4bnk_3)
5371// );
5372//// 8 bank :
5373
5374assign cpu6_8bnk[2:0] = {3{arbadr_ncu_l2t_pm_n}} & enc_c_vec6[2:0];
5375assign enc_c_vec6_fnl[2:0] = cpu6_4bnk[2:0] | cpu6_8bnk[2:0] | cpu6_2bnk[2:0] ;
5376
5377
5378//
5379//and_macro cpu6_8bnk_vec (width = 3)
5380// (
5381// .dout (cpu6_8bnk),
5382// .din0 ({3{arbadr_ncu_l2t_pm_n}}),
5383// .din1 (enc_c_vec6)
5384// );
5385//
5386//// final value
5387//
5388//or_macro cpu6_vec (width=3, ports=3)
5389// (
5390// .dout (enc_c_vec6_fnl),
5391// .din0 (cpu6_4bnk),
5392// .din1 (cpu6_8bnk),
5393// .din2 (cpu6_2bnk)
5394// );
5395//
5396//
5397//// CPU 7
5398//
5399//// 2 bank :
5400assign cpu7_2bnk[2:0] = ( ({3{arb_dirvec_cpu7_selbot}} & enc_c_vec_0_1_2_3[2:0]) |
5401 ({3{arb_dirvec_cpu7_seltop}} & enc_c_vec4_5_6_7[2:0]) );
5402
5403
5404
5405assign cpu7_4bnk[2:0] = ( ({3{arb_dirvec_cpu7_sel00}} & enc_c_vec0_1[2:0] ) |
5406 ({3{arb_dirvec_cpu7_sel01}} & enc_c_vec2_3[2:0] ) |
5407 ({3{arb_dirvec_cpu7_sel10}} & enc_c_vec4_5[2:0] ) |
5408 ({3{arb_dirvec_cpu7_sel11}} & enc_c_vec6_7[2:0] ) );
5409
5410
5411assign cpu7_8bnk[2:0] = {3{arbadr_ncu_l2t_pm_n}} & enc_c_vec7[2:0];
5412
5413
5414assign enc_c_vec7_fnl[2:0] = cpu7_4bnk[2:0] | cpu7_8bnk[2:0] | cpu7_2bnk[2:0] ;
5415
5416//and_macro cpu7_2bnk_vec0 (width = 3)
5417// (
5418// .dout (cpu7_2bnk_0),
5419// .din0 ({3{arb_dirvec_cpu7_selbot}}),
5420// .din1 (enc_c_vec_0_1_2_3)
5421// );
5422//and_macro cpu7_2bnk_vec1 (width = 3)
5423// (
5424// .dout (cpu7_2bnk_1),
5425// .din0 ({3{arb_dirvec_cpu7_seltop}}),
5426// .din1 (enc_c_vec4_5_6_7)
5427// );
5428//or_macro cpu7_2bnk_vec2 (width = 3)
5429// (
5430// .dout (cpu7_2bnk),
5431// .din0 (cpu7_2bnk_0),
5432// .din1 (cpu7_2bnk_1)
5433// );
5434//
5435//
5436//// 4 bank :
5437//and_macro cpu7_4bnk_vec0 (width = 3)
5438// (
5439// .dout (cpu7_4bnk_0),
5440// .din0 ({3{arb_dirvec_cpu7_sel00}}),
5441// .din1 (enc_c_vec0_1)
5442// );
5443//and_macro cpu7_4bnk_vec1 (width = 3)
5444// (
5445// .dout (cpu7_4bnk_1),
5446// .din0 ({3{arb_dirvec_cpu7_sel01}}),
5447// .din1 (enc_c_vec2_3)
5448// );
5449//
5450//and_macro cpu7_4bnk_vec2 (width = 3)
5451// (
5452// .dout (cpu7_4bnk_2),
5453// .din0 ({3{arb_dirvec_cpu7_sel10}}),
5454// .din1 (enc_c_vec4_5)
5455// );
5456//
5457//and_macro cpu7_4bnk_vec3 (width = 3)
5458// (
5459// .dout (cpu7_4bnk_3),
5460// .din0 ({3{arb_dirvec_cpu7_sel11}}),
5461// .din1 (enc_c_vec6_7)
5462// );
5463//
5464//
5465//or_macro cpu7_4bnk_vec4 (width = 3, ports=3)
5466// (
5467// .dout (cpu7_4bnk_4),
5468// .din0 (cpu7_4bnk_0),
5469// .din1 (cpu7_4bnk_1),
5470// .din2 (cpu7_4bnk_2)
5471// );
5472//
5473//or_macro cpu7_4bnk_vec5 (width = 3)
5474// (
5475// .dout (cpu7_4bnk),
5476// .din0 (cpu7_4bnk_4),
5477// .din1 (cpu7_4bnk_3)
5478// );
5479//// 8 bank :
5480//
5481//and_macro cpu7_8bnk_vec (width = 3)
5482// (
5483// .dout (cpu7_8bnk),
5484// .din0 ({3{arbadr_ncu_l2t_pm_n}}),
5485// .din1 (enc_c_vec7)
5486// );
5487//
5488//// final value
5489//
5490//or_macro cpu7_vec (width=3, ports=3)
5491// (
5492// .dout (enc_c_vec7_fnl),
5493// .din0 (cpu7_4bnk),
5494// .din1 (cpu7_8bnk),
5495// .din2 (cpu7_2bnk)
5496// );
5497//
5498
5499endmodule
5500
5501
5502
5503
5504
5505
5506// any PARAMS parms go into naming of macro
5507
5508module l2t_dirvec_ctl_msff_ctl_macro__width_1 (
5509 din,
5510 l1clk,
5511 scan_in,
5512 siclk,
5513 soclk,
5514 dout,
5515 scan_out);
5516wire [0:0] fdin;
5517
5518 input [0:0] din;
5519 input l1clk;
5520 input scan_in;
5521
5522
5523 input siclk;
5524 input soclk;
5525
5526 output [0:0] dout;
5527 output scan_out;
5528assign fdin[0:0] = din[0:0];
5529
5530
5531
5532
5533
5534
5535dff #(1) d0_0 (
5536.l1clk(l1clk),
5537.siclk(siclk),
5538.soclk(soclk),
5539.d(fdin[0:0]),
5540.si(scan_in),
5541.so(scan_out),
5542.q(dout[0:0])
5543);
5544
5545
5546
5547
5548
5549
5550
5551
5552
5553
5554
5555
5556endmodule
5557
5558
5559
5560
5561
5562
5563
5564
5565
5566// Description: Spare gate macro for control blocks
5567//
5568// Param num controls the number of times the macro is added
5569// flops=0 can be used to use only combination spare logic
5570
5571
5572module l2t_dirvec_ctl_spare_ctl_macro__num_10 (
5573 l1clk,
5574 scan_in,
5575 siclk,
5576 soclk,
5577 scan_out);
5578wire si_0;
5579wire so_0;
5580wire spare0_flop_unused;
5581wire spare0_buf_32x_unused;
5582wire spare0_nand3_8x_unused;
5583wire spare0_inv_8x_unused;
5584wire spare0_aoi22_4x_unused;
5585wire spare0_buf_8x_unused;
5586wire spare0_oai22_4x_unused;
5587wire spare0_inv_16x_unused;
5588wire spare0_nand2_16x_unused;
5589wire spare0_nor3_4x_unused;
5590wire spare0_nand2_8x_unused;
5591wire spare0_buf_16x_unused;
5592wire spare0_nor2_16x_unused;
5593wire spare0_inv_32x_unused;
5594wire si_1;
5595wire so_1;
5596wire spare1_flop_unused;
5597wire spare1_buf_32x_unused;
5598wire spare1_nand3_8x_unused;
5599wire spare1_inv_8x_unused;
5600wire spare1_aoi22_4x_unused;
5601wire spare1_buf_8x_unused;
5602wire spare1_oai22_4x_unused;
5603wire spare1_inv_16x_unused;
5604wire spare1_nand2_16x_unused;
5605wire spare1_nor3_4x_unused;
5606wire spare1_nand2_8x_unused;
5607wire spare1_buf_16x_unused;
5608wire spare1_nor2_16x_unused;
5609wire spare1_inv_32x_unused;
5610wire si_2;
5611wire so_2;
5612wire spare2_flop_unused;
5613wire spare2_buf_32x_unused;
5614wire spare2_nand3_8x_unused;
5615wire spare2_inv_8x_unused;
5616wire spare2_aoi22_4x_unused;
5617wire spare2_buf_8x_unused;
5618wire spare2_oai22_4x_unused;
5619wire spare2_inv_16x_unused;
5620wire spare2_nand2_16x_unused;
5621wire spare2_nor3_4x_unused;
5622wire spare2_nand2_8x_unused;
5623wire spare2_buf_16x_unused;
5624wire spare2_nor2_16x_unused;
5625wire spare2_inv_32x_unused;
5626wire si_3;
5627wire so_3;
5628wire spare3_flop_unused;
5629wire spare3_buf_32x_unused;
5630wire spare3_nand3_8x_unused;
5631wire spare3_inv_8x_unused;
5632wire spare3_aoi22_4x_unused;
5633wire spare3_buf_8x_unused;
5634wire spare3_oai22_4x_unused;
5635wire spare3_inv_16x_unused;
5636wire spare3_nand2_16x_unused;
5637wire spare3_nor3_4x_unused;
5638wire spare3_nand2_8x_unused;
5639wire spare3_buf_16x_unused;
5640wire spare3_nor2_16x_unused;
5641wire spare3_inv_32x_unused;
5642wire si_4;
5643wire so_4;
5644wire spare4_flop_unused;
5645wire spare4_buf_32x_unused;
5646wire spare4_nand3_8x_unused;
5647wire spare4_inv_8x_unused;
5648wire spare4_aoi22_4x_unused;
5649wire spare4_buf_8x_unused;
5650wire spare4_oai22_4x_unused;
5651wire spare4_inv_16x_unused;
5652wire spare4_nand2_16x_unused;
5653wire spare4_nor3_4x_unused;
5654wire spare4_nand2_8x_unused;
5655wire spare4_buf_16x_unused;
5656wire spare4_nor2_16x_unused;
5657wire spare4_inv_32x_unused;
5658wire si_5;
5659wire so_5;
5660wire spare5_flop_unused;
5661wire spare5_buf_32x_unused;
5662wire spare5_nand3_8x_unused;
5663wire spare5_inv_8x_unused;
5664wire spare5_aoi22_4x_unused;
5665wire spare5_buf_8x_unused;
5666wire spare5_oai22_4x_unused;
5667wire spare5_inv_16x_unused;
5668wire spare5_nand2_16x_unused;
5669wire spare5_nor3_4x_unused;
5670wire spare5_nand2_8x_unused;
5671wire spare5_buf_16x_unused;
5672wire spare5_nor2_16x_unused;
5673wire spare5_inv_32x_unused;
5674wire si_6;
5675wire so_6;
5676wire spare6_flop_unused;
5677wire spare6_buf_32x_unused;
5678wire spare6_nand3_8x_unused;
5679wire spare6_inv_8x_unused;
5680wire spare6_aoi22_4x_unused;
5681wire spare6_buf_8x_unused;
5682wire spare6_oai22_4x_unused;
5683wire spare6_inv_16x_unused;
5684wire spare6_nand2_16x_unused;
5685wire spare6_nor3_4x_unused;
5686wire spare6_nand2_8x_unused;
5687wire spare6_buf_16x_unused;
5688wire spare6_nor2_16x_unused;
5689wire spare6_inv_32x_unused;
5690wire si_7;
5691wire so_7;
5692wire spare7_flop_unused;
5693wire spare7_buf_32x_unused;
5694wire spare7_nand3_8x_unused;
5695wire spare7_inv_8x_unused;
5696wire spare7_aoi22_4x_unused;
5697wire spare7_buf_8x_unused;
5698wire spare7_oai22_4x_unused;
5699wire spare7_inv_16x_unused;
5700wire spare7_nand2_16x_unused;
5701wire spare7_nor3_4x_unused;
5702wire spare7_nand2_8x_unused;
5703wire spare7_buf_16x_unused;
5704wire spare7_nor2_16x_unused;
5705wire spare7_inv_32x_unused;
5706wire si_8;
5707wire so_8;
5708wire spare8_flop_unused;
5709wire spare8_buf_32x_unused;
5710wire spare8_nand3_8x_unused;
5711wire spare8_inv_8x_unused;
5712wire spare8_aoi22_4x_unused;
5713wire spare8_buf_8x_unused;
5714wire spare8_oai22_4x_unused;
5715wire spare8_inv_16x_unused;
5716wire spare8_nand2_16x_unused;
5717wire spare8_nor3_4x_unused;
5718wire spare8_nand2_8x_unused;
5719wire spare8_buf_16x_unused;
5720wire spare8_nor2_16x_unused;
5721wire spare8_inv_32x_unused;
5722wire si_9;
5723wire so_9;
5724wire spare9_flop_unused;
5725wire spare9_buf_32x_unused;
5726wire spare9_nand3_8x_unused;
5727wire spare9_inv_8x_unused;
5728wire spare9_aoi22_4x_unused;
5729wire spare9_buf_8x_unused;
5730wire spare9_oai22_4x_unused;
5731wire spare9_inv_16x_unused;
5732wire spare9_nand2_16x_unused;
5733wire spare9_nor3_4x_unused;
5734wire spare9_nand2_8x_unused;
5735wire spare9_buf_16x_unused;
5736wire spare9_nor2_16x_unused;
5737wire spare9_inv_32x_unused;
5738
5739
5740input l1clk;
5741input scan_in;
5742input siclk;
5743input soclk;
5744output scan_out;
5745
5746cl_sc1_msff_8x spare0_flop (.l1clk(l1clk),
5747 .siclk(siclk),
5748 .soclk(soclk),
5749 .si(si_0),
5750 .so(so_0),
5751 .d(1'b0),
5752 .q(spare0_flop_unused));
5753assign si_0 = scan_in;
5754
5755cl_u1_buf_32x spare0_buf_32x (.in(1'b1),
5756 .out(spare0_buf_32x_unused));
5757cl_u1_nand3_8x spare0_nand3_8x (.in0(1'b1),
5758 .in1(1'b1),
5759 .in2(1'b1),
5760 .out(spare0_nand3_8x_unused));
5761cl_u1_inv_8x spare0_inv_8x (.in(1'b1),
5762 .out(spare0_inv_8x_unused));
5763cl_u1_aoi22_4x spare0_aoi22_4x (.in00(1'b1),
5764 .in01(1'b1),
5765 .in10(1'b1),
5766 .in11(1'b1),
5767 .out(spare0_aoi22_4x_unused));
5768cl_u1_buf_8x spare0_buf_8x (.in(1'b1),
5769 .out(spare0_buf_8x_unused));
5770cl_u1_oai22_4x spare0_oai22_4x (.in00(1'b1),
5771 .in01(1'b1),
5772 .in10(1'b1),
5773 .in11(1'b1),
5774 .out(spare0_oai22_4x_unused));
5775cl_u1_inv_16x spare0_inv_16x (.in(1'b1),
5776 .out(spare0_inv_16x_unused));
5777cl_u1_nand2_16x spare0_nand2_16x (.in0(1'b1),
5778 .in1(1'b1),
5779 .out(spare0_nand2_16x_unused));
5780cl_u1_nor3_4x spare0_nor3_4x (.in0(1'b0),
5781 .in1(1'b0),
5782 .in2(1'b0),
5783 .out(spare0_nor3_4x_unused));
5784cl_u1_nand2_8x spare0_nand2_8x (.in0(1'b1),
5785 .in1(1'b1),
5786 .out(spare0_nand2_8x_unused));
5787cl_u1_buf_16x spare0_buf_16x (.in(1'b1),
5788 .out(spare0_buf_16x_unused));
5789cl_u1_nor2_16x spare0_nor2_16x (.in0(1'b0),
5790 .in1(1'b0),
5791 .out(spare0_nor2_16x_unused));
5792cl_u1_inv_32x spare0_inv_32x (.in(1'b1),
5793 .out(spare0_inv_32x_unused));
5794
5795cl_sc1_msff_8x spare1_flop (.l1clk(l1clk),
5796 .siclk(siclk),
5797 .soclk(soclk),
5798 .si(si_1),
5799 .so(so_1),
5800 .d(1'b0),
5801 .q(spare1_flop_unused));
5802assign si_1 = so_0;
5803
5804cl_u1_buf_32x spare1_buf_32x (.in(1'b1),
5805 .out(spare1_buf_32x_unused));
5806cl_u1_nand3_8x spare1_nand3_8x (.in0(1'b1),
5807 .in1(1'b1),
5808 .in2(1'b1),
5809 .out(spare1_nand3_8x_unused));
5810cl_u1_inv_8x spare1_inv_8x (.in(1'b1),
5811 .out(spare1_inv_8x_unused));
5812cl_u1_aoi22_4x spare1_aoi22_4x (.in00(1'b1),
5813 .in01(1'b1),
5814 .in10(1'b1),
5815 .in11(1'b1),
5816 .out(spare1_aoi22_4x_unused));
5817cl_u1_buf_8x spare1_buf_8x (.in(1'b1),
5818 .out(spare1_buf_8x_unused));
5819cl_u1_oai22_4x spare1_oai22_4x (.in00(1'b1),
5820 .in01(1'b1),
5821 .in10(1'b1),
5822 .in11(1'b1),
5823 .out(spare1_oai22_4x_unused));
5824cl_u1_inv_16x spare1_inv_16x (.in(1'b1),
5825 .out(spare1_inv_16x_unused));
5826cl_u1_nand2_16x spare1_nand2_16x (.in0(1'b1),
5827 .in1(1'b1),
5828 .out(spare1_nand2_16x_unused));
5829cl_u1_nor3_4x spare1_nor3_4x (.in0(1'b0),
5830 .in1(1'b0),
5831 .in2(1'b0),
5832 .out(spare1_nor3_4x_unused));
5833cl_u1_nand2_8x spare1_nand2_8x (.in0(1'b1),
5834 .in1(1'b1),
5835 .out(spare1_nand2_8x_unused));
5836cl_u1_buf_16x spare1_buf_16x (.in(1'b1),
5837 .out(spare1_buf_16x_unused));
5838cl_u1_nor2_16x spare1_nor2_16x (.in0(1'b0),
5839 .in1(1'b0),
5840 .out(spare1_nor2_16x_unused));
5841cl_u1_inv_32x spare1_inv_32x (.in(1'b1),
5842 .out(spare1_inv_32x_unused));
5843
5844cl_sc1_msff_8x spare2_flop (.l1clk(l1clk),
5845 .siclk(siclk),
5846 .soclk(soclk),
5847 .si(si_2),
5848 .so(so_2),
5849 .d(1'b0),
5850 .q(spare2_flop_unused));
5851assign si_2 = so_1;
5852
5853cl_u1_buf_32x spare2_buf_32x (.in(1'b1),
5854 .out(spare2_buf_32x_unused));
5855cl_u1_nand3_8x spare2_nand3_8x (.in0(1'b1),
5856 .in1(1'b1),
5857 .in2(1'b1),
5858 .out(spare2_nand3_8x_unused));
5859cl_u1_inv_8x spare2_inv_8x (.in(1'b1),
5860 .out(spare2_inv_8x_unused));
5861cl_u1_aoi22_4x spare2_aoi22_4x (.in00(1'b1),
5862 .in01(1'b1),
5863 .in10(1'b1),
5864 .in11(1'b1),
5865 .out(spare2_aoi22_4x_unused));
5866cl_u1_buf_8x spare2_buf_8x (.in(1'b1),
5867 .out(spare2_buf_8x_unused));
5868cl_u1_oai22_4x spare2_oai22_4x (.in00(1'b1),
5869 .in01(1'b1),
5870 .in10(1'b1),
5871 .in11(1'b1),
5872 .out(spare2_oai22_4x_unused));
5873cl_u1_inv_16x spare2_inv_16x (.in(1'b1),
5874 .out(spare2_inv_16x_unused));
5875cl_u1_nand2_16x spare2_nand2_16x (.in0(1'b1),
5876 .in1(1'b1),
5877 .out(spare2_nand2_16x_unused));
5878cl_u1_nor3_4x spare2_nor3_4x (.in0(1'b0),
5879 .in1(1'b0),
5880 .in2(1'b0),
5881 .out(spare2_nor3_4x_unused));
5882cl_u1_nand2_8x spare2_nand2_8x (.in0(1'b1),
5883 .in1(1'b1),
5884 .out(spare2_nand2_8x_unused));
5885cl_u1_buf_16x spare2_buf_16x (.in(1'b1),
5886 .out(spare2_buf_16x_unused));
5887cl_u1_nor2_16x spare2_nor2_16x (.in0(1'b0),
5888 .in1(1'b0),
5889 .out(spare2_nor2_16x_unused));
5890cl_u1_inv_32x spare2_inv_32x (.in(1'b1),
5891 .out(spare2_inv_32x_unused));
5892
5893cl_sc1_msff_8x spare3_flop (.l1clk(l1clk),
5894 .siclk(siclk),
5895 .soclk(soclk),
5896 .si(si_3),
5897 .so(so_3),
5898 .d(1'b0),
5899 .q(spare3_flop_unused));
5900assign si_3 = so_2;
5901
5902cl_u1_buf_32x spare3_buf_32x (.in(1'b1),
5903 .out(spare3_buf_32x_unused));
5904cl_u1_nand3_8x spare3_nand3_8x (.in0(1'b1),
5905 .in1(1'b1),
5906 .in2(1'b1),
5907 .out(spare3_nand3_8x_unused));
5908cl_u1_inv_8x spare3_inv_8x (.in(1'b1),
5909 .out(spare3_inv_8x_unused));
5910cl_u1_aoi22_4x spare3_aoi22_4x (.in00(1'b1),
5911 .in01(1'b1),
5912 .in10(1'b1),
5913 .in11(1'b1),
5914 .out(spare3_aoi22_4x_unused));
5915cl_u1_buf_8x spare3_buf_8x (.in(1'b1),
5916 .out(spare3_buf_8x_unused));
5917cl_u1_oai22_4x spare3_oai22_4x (.in00(1'b1),
5918 .in01(1'b1),
5919 .in10(1'b1),
5920 .in11(1'b1),
5921 .out(spare3_oai22_4x_unused));
5922cl_u1_inv_16x spare3_inv_16x (.in(1'b1),
5923 .out(spare3_inv_16x_unused));
5924cl_u1_nand2_16x spare3_nand2_16x (.in0(1'b1),
5925 .in1(1'b1),
5926 .out(spare3_nand2_16x_unused));
5927cl_u1_nor3_4x spare3_nor3_4x (.in0(1'b0),
5928 .in1(1'b0),
5929 .in2(1'b0),
5930 .out(spare3_nor3_4x_unused));
5931cl_u1_nand2_8x spare3_nand2_8x (.in0(1'b1),
5932 .in1(1'b1),
5933 .out(spare3_nand2_8x_unused));
5934cl_u1_buf_16x spare3_buf_16x (.in(1'b1),
5935 .out(spare3_buf_16x_unused));
5936cl_u1_nor2_16x spare3_nor2_16x (.in0(1'b0),
5937 .in1(1'b0),
5938 .out(spare3_nor2_16x_unused));
5939cl_u1_inv_32x spare3_inv_32x (.in(1'b1),
5940 .out(spare3_inv_32x_unused));
5941
5942cl_sc1_msff_8x spare4_flop (.l1clk(l1clk),
5943 .siclk(siclk),
5944 .soclk(soclk),
5945 .si(si_4),
5946 .so(so_4),
5947 .d(1'b0),
5948 .q(spare4_flop_unused));
5949assign si_4 = so_3;
5950
5951cl_u1_buf_32x spare4_buf_32x (.in(1'b1),
5952 .out(spare4_buf_32x_unused));
5953cl_u1_nand3_8x spare4_nand3_8x (.in0(1'b1),
5954 .in1(1'b1),
5955 .in2(1'b1),
5956 .out(spare4_nand3_8x_unused));
5957cl_u1_inv_8x spare4_inv_8x (.in(1'b1),
5958 .out(spare4_inv_8x_unused));
5959cl_u1_aoi22_4x spare4_aoi22_4x (.in00(1'b1),
5960 .in01(1'b1),
5961 .in10(1'b1),
5962 .in11(1'b1),
5963 .out(spare4_aoi22_4x_unused));
5964cl_u1_buf_8x spare4_buf_8x (.in(1'b1),
5965 .out(spare4_buf_8x_unused));
5966cl_u1_oai22_4x spare4_oai22_4x (.in00(1'b1),
5967 .in01(1'b1),
5968 .in10(1'b1),
5969 .in11(1'b1),
5970 .out(spare4_oai22_4x_unused));
5971cl_u1_inv_16x spare4_inv_16x (.in(1'b1),
5972 .out(spare4_inv_16x_unused));
5973cl_u1_nand2_16x spare4_nand2_16x (.in0(1'b1),
5974 .in1(1'b1),
5975 .out(spare4_nand2_16x_unused));
5976cl_u1_nor3_4x spare4_nor3_4x (.in0(1'b0),
5977 .in1(1'b0),
5978 .in2(1'b0),
5979 .out(spare4_nor3_4x_unused));
5980cl_u1_nand2_8x spare4_nand2_8x (.in0(1'b1),
5981 .in1(1'b1),
5982 .out(spare4_nand2_8x_unused));
5983cl_u1_buf_16x spare4_buf_16x (.in(1'b1),
5984 .out(spare4_buf_16x_unused));
5985cl_u1_nor2_16x spare4_nor2_16x (.in0(1'b0),
5986 .in1(1'b0),
5987 .out(spare4_nor2_16x_unused));
5988cl_u1_inv_32x spare4_inv_32x (.in(1'b1),
5989 .out(spare4_inv_32x_unused));
5990
5991cl_sc1_msff_8x spare5_flop (.l1clk(l1clk),
5992 .siclk(siclk),
5993 .soclk(soclk),
5994 .si(si_5),
5995 .so(so_5),
5996 .d(1'b0),
5997 .q(spare5_flop_unused));
5998assign si_5 = so_4;
5999
6000cl_u1_buf_32x spare5_buf_32x (.in(1'b1),
6001 .out(spare5_buf_32x_unused));
6002cl_u1_nand3_8x spare5_nand3_8x (.in0(1'b1),
6003 .in1(1'b1),
6004 .in2(1'b1),
6005 .out(spare5_nand3_8x_unused));
6006cl_u1_inv_8x spare5_inv_8x (.in(1'b1),
6007 .out(spare5_inv_8x_unused));
6008cl_u1_aoi22_4x spare5_aoi22_4x (.in00(1'b1),
6009 .in01(1'b1),
6010 .in10(1'b1),
6011 .in11(1'b1),
6012 .out(spare5_aoi22_4x_unused));
6013cl_u1_buf_8x spare5_buf_8x (.in(1'b1),
6014 .out(spare5_buf_8x_unused));
6015cl_u1_oai22_4x spare5_oai22_4x (.in00(1'b1),
6016 .in01(1'b1),
6017 .in10(1'b1),
6018 .in11(1'b1),
6019 .out(spare5_oai22_4x_unused));
6020cl_u1_inv_16x spare5_inv_16x (.in(1'b1),
6021 .out(spare5_inv_16x_unused));
6022cl_u1_nand2_16x spare5_nand2_16x (.in0(1'b1),
6023 .in1(1'b1),
6024 .out(spare5_nand2_16x_unused));
6025cl_u1_nor3_4x spare5_nor3_4x (.in0(1'b0),
6026 .in1(1'b0),
6027 .in2(1'b0),
6028 .out(spare5_nor3_4x_unused));
6029cl_u1_nand2_8x spare5_nand2_8x (.in0(1'b1),
6030 .in1(1'b1),
6031 .out(spare5_nand2_8x_unused));
6032cl_u1_buf_16x spare5_buf_16x (.in(1'b1),
6033 .out(spare5_buf_16x_unused));
6034cl_u1_nor2_16x spare5_nor2_16x (.in0(1'b0),
6035 .in1(1'b0),
6036 .out(spare5_nor2_16x_unused));
6037cl_u1_inv_32x spare5_inv_32x (.in(1'b1),
6038 .out(spare5_inv_32x_unused));
6039
6040cl_sc1_msff_8x spare6_flop (.l1clk(l1clk),
6041 .siclk(siclk),
6042 .soclk(soclk),
6043 .si(si_6),
6044 .so(so_6),
6045 .d(1'b0),
6046 .q(spare6_flop_unused));
6047assign si_6 = so_5;
6048
6049cl_u1_buf_32x spare6_buf_32x (.in(1'b1),
6050 .out(spare6_buf_32x_unused));
6051cl_u1_nand3_8x spare6_nand3_8x (.in0(1'b1),
6052 .in1(1'b1),
6053 .in2(1'b1),
6054 .out(spare6_nand3_8x_unused));
6055cl_u1_inv_8x spare6_inv_8x (.in(1'b1),
6056 .out(spare6_inv_8x_unused));
6057cl_u1_aoi22_4x spare6_aoi22_4x (.in00(1'b1),
6058 .in01(1'b1),
6059 .in10(1'b1),
6060 .in11(1'b1),
6061 .out(spare6_aoi22_4x_unused));
6062cl_u1_buf_8x spare6_buf_8x (.in(1'b1),
6063 .out(spare6_buf_8x_unused));
6064cl_u1_oai22_4x spare6_oai22_4x (.in00(1'b1),
6065 .in01(1'b1),
6066 .in10(1'b1),
6067 .in11(1'b1),
6068 .out(spare6_oai22_4x_unused));
6069cl_u1_inv_16x spare6_inv_16x (.in(1'b1),
6070 .out(spare6_inv_16x_unused));
6071cl_u1_nand2_16x spare6_nand2_16x (.in0(1'b1),
6072 .in1(1'b1),
6073 .out(spare6_nand2_16x_unused));
6074cl_u1_nor3_4x spare6_nor3_4x (.in0(1'b0),
6075 .in1(1'b0),
6076 .in2(1'b0),
6077 .out(spare6_nor3_4x_unused));
6078cl_u1_nand2_8x spare6_nand2_8x (.in0(1'b1),
6079 .in1(1'b1),
6080 .out(spare6_nand2_8x_unused));
6081cl_u1_buf_16x spare6_buf_16x (.in(1'b1),
6082 .out(spare6_buf_16x_unused));
6083cl_u1_nor2_16x spare6_nor2_16x (.in0(1'b0),
6084 .in1(1'b0),
6085 .out(spare6_nor2_16x_unused));
6086cl_u1_inv_32x spare6_inv_32x (.in(1'b1),
6087 .out(spare6_inv_32x_unused));
6088
6089cl_sc1_msff_8x spare7_flop (.l1clk(l1clk),
6090 .siclk(siclk),
6091 .soclk(soclk),
6092 .si(si_7),
6093 .so(so_7),
6094 .d(1'b0),
6095 .q(spare7_flop_unused));
6096assign si_7 = so_6;
6097
6098cl_u1_buf_32x spare7_buf_32x (.in(1'b1),
6099 .out(spare7_buf_32x_unused));
6100cl_u1_nand3_8x spare7_nand3_8x (.in0(1'b1),
6101 .in1(1'b1),
6102 .in2(1'b1),
6103 .out(spare7_nand3_8x_unused));
6104cl_u1_inv_8x spare7_inv_8x (.in(1'b1),
6105 .out(spare7_inv_8x_unused));
6106cl_u1_aoi22_4x spare7_aoi22_4x (.in00(1'b1),
6107 .in01(1'b1),
6108 .in10(1'b1),
6109 .in11(1'b1),
6110 .out(spare7_aoi22_4x_unused));
6111cl_u1_buf_8x spare7_buf_8x (.in(1'b1),
6112 .out(spare7_buf_8x_unused));
6113cl_u1_oai22_4x spare7_oai22_4x (.in00(1'b1),
6114 .in01(1'b1),
6115 .in10(1'b1),
6116 .in11(1'b1),
6117 .out(spare7_oai22_4x_unused));
6118cl_u1_inv_16x spare7_inv_16x (.in(1'b1),
6119 .out(spare7_inv_16x_unused));
6120cl_u1_nand2_16x spare7_nand2_16x (.in0(1'b1),
6121 .in1(1'b1),
6122 .out(spare7_nand2_16x_unused));
6123cl_u1_nor3_4x spare7_nor3_4x (.in0(1'b0),
6124 .in1(1'b0),
6125 .in2(1'b0),
6126 .out(spare7_nor3_4x_unused));
6127cl_u1_nand2_8x spare7_nand2_8x (.in0(1'b1),
6128 .in1(1'b1),
6129 .out(spare7_nand2_8x_unused));
6130cl_u1_buf_16x spare7_buf_16x (.in(1'b1),
6131 .out(spare7_buf_16x_unused));
6132cl_u1_nor2_16x spare7_nor2_16x (.in0(1'b0),
6133 .in1(1'b0),
6134 .out(spare7_nor2_16x_unused));
6135cl_u1_inv_32x spare7_inv_32x (.in(1'b1),
6136 .out(spare7_inv_32x_unused));
6137
6138cl_sc1_msff_8x spare8_flop (.l1clk(l1clk),
6139 .siclk(siclk),
6140 .soclk(soclk),
6141 .si(si_8),
6142 .so(so_8),
6143 .d(1'b0),
6144 .q(spare8_flop_unused));
6145assign si_8 = so_7;
6146
6147cl_u1_buf_32x spare8_buf_32x (.in(1'b1),
6148 .out(spare8_buf_32x_unused));
6149cl_u1_nand3_8x spare8_nand3_8x (.in0(1'b1),
6150 .in1(1'b1),
6151 .in2(1'b1),
6152 .out(spare8_nand3_8x_unused));
6153cl_u1_inv_8x spare8_inv_8x (.in(1'b1),
6154 .out(spare8_inv_8x_unused));
6155cl_u1_aoi22_4x spare8_aoi22_4x (.in00(1'b1),
6156 .in01(1'b1),
6157 .in10(1'b1),
6158 .in11(1'b1),
6159 .out(spare8_aoi22_4x_unused));
6160cl_u1_buf_8x spare8_buf_8x (.in(1'b1),
6161 .out(spare8_buf_8x_unused));
6162cl_u1_oai22_4x spare8_oai22_4x (.in00(1'b1),
6163 .in01(1'b1),
6164 .in10(1'b1),
6165 .in11(1'b1),
6166 .out(spare8_oai22_4x_unused));
6167cl_u1_inv_16x spare8_inv_16x (.in(1'b1),
6168 .out(spare8_inv_16x_unused));
6169cl_u1_nand2_16x spare8_nand2_16x (.in0(1'b1),
6170 .in1(1'b1),
6171 .out(spare8_nand2_16x_unused));
6172cl_u1_nor3_4x spare8_nor3_4x (.in0(1'b0),
6173 .in1(1'b0),
6174 .in2(1'b0),
6175 .out(spare8_nor3_4x_unused));
6176cl_u1_nand2_8x spare8_nand2_8x (.in0(1'b1),
6177 .in1(1'b1),
6178 .out(spare8_nand2_8x_unused));
6179cl_u1_buf_16x spare8_buf_16x (.in(1'b1),
6180 .out(spare8_buf_16x_unused));
6181cl_u1_nor2_16x spare8_nor2_16x (.in0(1'b0),
6182 .in1(1'b0),
6183 .out(spare8_nor2_16x_unused));
6184cl_u1_inv_32x spare8_inv_32x (.in(1'b1),
6185 .out(spare8_inv_32x_unused));
6186
6187cl_sc1_msff_8x spare9_flop (.l1clk(l1clk),
6188 .siclk(siclk),
6189 .soclk(soclk),
6190 .si(si_9),
6191 .so(so_9),
6192 .d(1'b0),
6193 .q(spare9_flop_unused));
6194assign si_9 = so_8;
6195
6196cl_u1_buf_32x spare9_buf_32x (.in(1'b1),
6197 .out(spare9_buf_32x_unused));
6198cl_u1_nand3_8x spare9_nand3_8x (.in0(1'b1),
6199 .in1(1'b1),
6200 .in2(1'b1),
6201 .out(spare9_nand3_8x_unused));
6202cl_u1_inv_8x spare9_inv_8x (.in(1'b1),
6203 .out(spare9_inv_8x_unused));
6204cl_u1_aoi22_4x spare9_aoi22_4x (.in00(1'b1),
6205 .in01(1'b1),
6206 .in10(1'b1),
6207 .in11(1'b1),
6208 .out(spare9_aoi22_4x_unused));
6209cl_u1_buf_8x spare9_buf_8x (.in(1'b1),
6210 .out(spare9_buf_8x_unused));
6211cl_u1_oai22_4x spare9_oai22_4x (.in00(1'b1),
6212 .in01(1'b1),
6213 .in10(1'b1),
6214 .in11(1'b1),
6215 .out(spare9_oai22_4x_unused));
6216cl_u1_inv_16x spare9_inv_16x (.in(1'b1),
6217 .out(spare9_inv_16x_unused));
6218cl_u1_nand2_16x spare9_nand2_16x (.in0(1'b1),
6219 .in1(1'b1),
6220 .out(spare9_nand2_16x_unused));
6221cl_u1_nor3_4x spare9_nor3_4x (.in0(1'b0),
6222 .in1(1'b0),
6223 .in2(1'b0),
6224 .out(spare9_nor3_4x_unused));
6225cl_u1_nand2_8x spare9_nand2_8x (.in0(1'b1),
6226 .in1(1'b1),
6227 .out(spare9_nand2_8x_unused));
6228cl_u1_buf_16x spare9_buf_16x (.in(1'b1),
6229 .out(spare9_buf_16x_unused));
6230cl_u1_nor2_16x spare9_nor2_16x (.in0(1'b0),
6231 .in1(1'b0),
6232 .out(spare9_nor2_16x_unused));
6233cl_u1_inv_32x spare9_inv_32x (.in(1'b1),
6234 .out(spare9_inv_32x_unused));
6235assign scan_out = so_9;
6236
6237
6238
6239endmodule
6240
6241
6242
6243
6244
6245
6246// any PARAMS parms go into naming of macro
6247
6248module l2t_dirvec_ctl_msff_ctl_macro__en_1__width_8 (
6249 din,
6250 en,
6251 l1clk,
6252 scan_in,
6253 siclk,
6254 soclk,
6255 dout,
6256 scan_out);
6257wire [7:0] fdin;
6258wire [6:0] so;
6259
6260 input [7:0] din;
6261 input en;
6262 input l1clk;
6263 input scan_in;
6264
6265
6266 input siclk;
6267 input soclk;
6268
6269 output [7:0] dout;
6270 output scan_out;
6271assign fdin[7:0] = (din[7:0] & {8{en}}) | (dout[7:0] & ~{8{en}});
6272
6273
6274
6275
6276
6277
6278dff #(8) d0_0 (
6279.l1clk(l1clk),
6280.siclk(siclk),
6281.soclk(soclk),
6282.d(fdin[7:0]),
6283.si({scan_in,so[6:0]}),
6284.so({so[6:0],scan_out}),
6285.q(dout[7:0])
6286);
6287
6288
6289
6290
6291
6292
6293
6294
6295
6296
6297
6298
6299endmodule
6300
6301
6302
6303
6304
6305
6306
6307
6308
6309
6310
6311
6312
6313// any PARAMS parms go into naming of macro
6314
6315module l2t_dirvec_ctl_msff_ctl_macro__width_3 (
6316 din,
6317 l1clk,
6318 scan_in,
6319 siclk,
6320 soclk,
6321 dout,
6322 scan_out);
6323wire [2:0] fdin;
6324wire [1:0] so;
6325
6326 input [2:0] din;
6327 input l1clk;
6328 input scan_in;
6329
6330
6331 input siclk;
6332 input soclk;
6333
6334 output [2:0] dout;
6335 output scan_out;
6336assign fdin[2:0] = din[2:0];
6337
6338
6339
6340
6341
6342
6343dff #(3) d0_0 (
6344.l1clk(l1clk),
6345.siclk(siclk),
6346.soclk(soclk),
6347.d(fdin[2:0]),
6348.si({scan_in,so[1:0]}),
6349.so({so[1:0],scan_out}),
6350.q(dout[2:0])
6351);
6352
6353
6354
6355
6356
6357
6358
6359
6360
6361
6362
6363
6364endmodule
6365
6366
6367
6368
6369
6370
6371
6372
6373
6374
6375
6376
6377
6378// any PARAMS parms go into naming of macro
6379
6380module l2t_dirvec_ctl_msff_ctl_macro__width_39 (
6381 din,
6382 l1clk,
6383 scan_in,
6384 siclk,
6385 soclk,
6386 dout,
6387 scan_out);
6388wire [38:0] fdin;
6389wire [37:0] so;
6390
6391 input [38:0] din;
6392 input l1clk;
6393 input scan_in;
6394
6395
6396 input siclk;
6397 input soclk;
6398
6399 output [38:0] dout;
6400 output scan_out;
6401assign fdin[38:0] = din[38:0];
6402
6403
6404
6405
6406
6407
6408dff #(39) d0_0 (
6409.l1clk(l1clk),
6410.siclk(siclk),
6411.soclk(soclk),
6412.d(fdin[38:0]),
6413.si({scan_in,so[37:0]}),
6414.so({so[37:0],scan_out}),
6415.q(dout[38:0])
6416);
6417
6418
6419
6420
6421
6422
6423
6424
6425
6426
6427
6428
6429endmodule
6430
6431
6432
6433
6434
6435
6436
6437
6438
6439
6440
6441
6442
6443// any PARAMS parms go into naming of macro
6444
6445module l2t_dirvec_ctl_l1clkhdr_ctl_macro (
6446 l2clk,
6447 l1en,
6448 pce_ov,
6449 stop,
6450 se,
6451 l1clk);
6452
6453
6454 input l2clk;
6455 input l1en;
6456 input pce_ov;
6457 input stop;
6458 input se;
6459 output l1clk;
6460
6461
6462
6463
6464
6465cl_sc1_l1hdr_8x c_0 (
6466
6467
6468 .l2clk(l2clk),
6469 .pce(l1en),
6470 .l1clk(l1clk),
6471 .se(se),
6472 .pce_ov(pce_ov),
6473 .stop(stop)
6474);
6475
6476
6477
6478endmodule
6479
6480
6481
6482
6483
6484
6485
6486
6487
6488// general mux macro for pass-gate and and-or muxes with/wout priority encoders
6489// also for pass-gate with decoder
6490
6491
6492
6493
6494
6495// any PARAMS parms go into naming of macro
6496
6497module l2t_dirvec_ctl_mux_ctl_macro__mux_aonpe__ports_2__width_24 (
6498 din0,
6499 sel0,
6500 din1,
6501 sel1,
6502 dout);
6503 input [23:0] din0;
6504 input sel0;
6505 input [23:0] din1;
6506 input sel1;
6507 output [23:0] dout;
6508
6509
6510
6511
6512
6513assign dout[23:0] = ( {24{sel0}} & din0[23:0] ) |
6514 ( {24{sel1}} & din1[23:0]);
6515
6516
6517
6518
6519
6520endmodule
6521
6522
6523
6524
6525
6526
6527// any PARAMS parms go into naming of macro
6528
6529module l2t_dirvec_ctl_msff_ctl_macro__width_32 (
6530 din,
6531 l1clk,
6532 scan_in,
6533 siclk,
6534 soclk,
6535 dout,
6536 scan_out);
6537wire [31:0] fdin;
6538wire [30:0] so;
6539
6540 input [31:0] din;
6541 input l1clk;
6542 input scan_in;
6543
6544
6545 input siclk;
6546 input soclk;
6547
6548 output [31:0] dout;
6549 output scan_out;
6550assign fdin[31:0] = din[31:0];
6551
6552
6553
6554
6555
6556
6557dff #(32) d0_0 (
6558.l1clk(l1clk),
6559.siclk(siclk),
6560.soclk(soclk),
6561.d(fdin[31:0]),
6562.si({scan_in,so[30:0]}),
6563.so({so[30:0],scan_out}),
6564.q(dout[31:0])
6565);
6566
6567
6568
6569
6570
6571
6572
6573
6574
6575
6576
6577
6578endmodule
6579
6580
6581
6582
6583
6584
6585
6586
6587
6588
6589
6590
6591
6592// any PARAMS parms go into naming of macro
6593
6594module l2t_dirvec_ctl_msff_ctl_macro__width_24 (
6595 din,
6596 l1clk,
6597 scan_in,
6598 siclk,
6599 soclk,
6600 dout,
6601 scan_out);
6602wire [23:0] fdin;
6603wire [22:0] so;
6604
6605 input [23:0] din;
6606 input l1clk;
6607 input scan_in;
6608
6609
6610 input siclk;
6611 input soclk;
6612
6613 output [23:0] dout;
6614 output scan_out;
6615assign fdin[23:0] = din[23:0];
6616
6617
6618
6619
6620
6621
6622dff #(24) d0_0 (
6623.l1clk(l1clk),
6624.siclk(siclk),
6625.soclk(soclk),
6626.d(fdin[23:0]),
6627.si({scan_in,so[22:0]}),
6628.so({so[22:0],scan_out}),
6629.q(dout[23:0])
6630);
6631
6632
6633
6634
6635
6636
6637
6638
6639
6640
6641
6642
6643endmodule
6644
6645
6646
6647
6648
6649
6650
6651
6652
6653// general mux macro for pass-gate and and-or muxes with/wout priority encoders
6654// also for pass-gate with decoder
6655
6656
6657
6658
6659
6660// any PARAMS parms go into naming of macro
6661
6662module l2t_dirvec_ctl_mux_ctl_macro__mux_aonpe__ports_2__width_14 (
6663 din0,
6664 sel0,
6665 din1,
6666 sel1,
6667 dout);
6668 input [13:0] din0;
6669 input sel0;
6670 input [13:0] din1;
6671 input sel1;
6672 output [13:0] dout;
6673
6674
6675
6676
6677
6678assign dout[13:0] = ( {14{sel0}} & din0[13:0] ) |
6679 ( {14{sel1}} & din1[13:0]);
6680
6681
6682
6683
6684
6685endmodule
6686
6687
6688
6689
6690
6691
6692// any PARAMS parms go into naming of macro
6693
6694module l2t_dirvec_ctl_msff_ctl_macro__width_4 (
6695 din,
6696 l1clk,
6697 scan_in,
6698 siclk,
6699 soclk,
6700 dout,
6701 scan_out);
6702wire [3:0] fdin;
6703wire [2:0] so;
6704
6705 input [3:0] din;
6706 input l1clk;
6707 input scan_in;
6708
6709
6710 input siclk;
6711 input soclk;
6712
6713 output [3:0] dout;
6714 output scan_out;
6715assign fdin[3:0] = din[3:0];
6716
6717
6718
6719
6720
6721
6722dff #(4) d0_0 (
6723.l1clk(l1clk),
6724.siclk(siclk),
6725.soclk(soclk),
6726.d(fdin[3:0]),
6727.si({scan_in,so[2:0]}),
6728.so({so[2:0],scan_out}),
6729.q(dout[3:0])
6730);
6731
6732
6733
6734
6735
6736
6737
6738
6739
6740
6741
6742
6743endmodule
6744
6745
6746
6747
6748
6749
6750
6751
6752
6753
6754
6755
6756
6757// any PARAMS parms go into naming of macro
6758
6759module l2t_dirvec_ctl_msff_ctl_macro__width_64 (
6760 din,
6761 l1clk,
6762 scan_in,
6763 siclk,
6764 soclk,
6765 dout,
6766 scan_out);
6767wire [63:0] fdin;
6768wire [62:0] so;
6769
6770 input [63:0] din;
6771 input l1clk;
6772 input scan_in;
6773
6774
6775 input siclk;
6776 input soclk;
6777
6778 output [63:0] dout;
6779 output scan_out;
6780assign fdin[63:0] = din[63:0];
6781
6782
6783
6784
6785
6786
6787dff #(64) d0_0 (
6788.l1clk(l1clk),
6789.siclk(siclk),
6790.soclk(soclk),
6791.d(fdin[63:0]),
6792.si({scan_in,so[62:0]}),
6793.so({so[62:0],scan_out}),
6794.q(dout[63:0])
6795);
6796
6797
6798
6799
6800
6801
6802
6803
6804
6805
6806
6807
6808endmodule
6809
6810
6811
6812
6813
6814
6815
6816
6817
6818
6819
6820
6821
6822// any PARAMS parms go into naming of macro
6823
6824module l2t_dirvec_ctl_msff_ctl_macro__width_5 (
6825 din,
6826 l1clk,
6827 scan_in,
6828 siclk,
6829 soclk,
6830 dout,
6831 scan_out);
6832wire [4:0] fdin;
6833wire [3:0] so;
6834
6835 input [4:0] din;
6836 input l1clk;
6837 input scan_in;
6838
6839
6840 input siclk;
6841 input soclk;
6842
6843 output [4:0] dout;
6844 output scan_out;
6845assign fdin[4:0] = din[4:0];
6846
6847
6848
6849
6850
6851
6852dff #(5) d0_0 (
6853.l1clk(l1clk),
6854.siclk(siclk),
6855.soclk(soclk),
6856.d(fdin[4:0]),
6857.si({scan_in,so[3:0]}),
6858.so({so[3:0],scan_out}),
6859.q(dout[4:0])
6860);
6861
6862
6863
6864
6865
6866
6867
6868
6869
6870
6871
6872
6873endmodule
6874
6875
6876
6877
6878
6879
6880
6881