Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / design / sys / iop / spc / ifu / rtl / ifu_ftu_err_dp.v
CommitLineData
86530b38
AT
1// ========== Copyright Header Begin ==========================================
2//
3// OpenSPARC T2 Processor File: ifu_ftu_err_dp.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 ifu_ftu_err_dp (
36 ict_itlb_way_0_tag_f,
37 ict_itlb_way_1_tag_f,
38 ict_itlb_way_2_tag_f,
39 ict_itlb_way_3_tag_f,
40 ict_itlb_way_4_tag_f,
41 ict_itlb_way_5_tag_f,
42 ict_itlb_way_6_tag_f,
43 ict_itlb_way_7_tag_f,
44 err_w0_8b_parity_f,
45 err_w1_8b_parity_f,
46 err_w2_8b_parity_f,
47 err_w3_8b_parity_f,
48 err_w4_8b_parity_f,
49 err_w5_8b_parity_f,
50 err_w6_8b_parity_f,
51 err_w7_8b_parity_f) ;
52wire err_w0_8b_parity_f_3_xor0;
53wire err_w0_8b_parity_f_3_xor1;
54wire [3:0] err_w0_8b_parity_f_in;
55wire err_w0_8b_parity_f_2_xor0;
56wire err_w0_8b_parity_f_2_xor1;
57wire err_w0_8b_parity_f_2_xor2;
58wire err_w0_8b_parity_f_1_xor0;
59wire err_w0_8b_parity_f_1_xor1;
60wire err_w0_8b_parity_f_1_xor2;
61wire err_w0_8b_parity_f_0_xor0;
62wire err_w0_8b_parity_f_0_xor1;
63wire err_w0_8b_parity_f_0_xor2;
64wire err_w1_8b_parity_f_3_xor0;
65wire err_w1_8b_parity_f_3_xor1;
66wire [3:0] err_w1_8b_parity_f_in;
67wire err_w1_8b_parity_f_2_xor0;
68wire err_w1_8b_parity_f_2_xor1;
69wire err_w1_8b_parity_f_2_xor2;
70wire err_w1_8b_parity_f_1_xor0;
71wire err_w1_8b_parity_f_1_xor1;
72wire err_w1_8b_parity_f_1_xor2;
73wire err_w1_8b_parity_f_0_xor0;
74wire err_w1_8b_parity_f_0_xor1;
75wire err_w1_8b_parity_f_0_xor2;
76wire err_w2_8b_parity_f_3_xor0;
77wire err_w2_8b_parity_f_3_xor1;
78wire [3:0] err_w2_8b_parity_f_in;
79wire err_w2_8b_parity_f_2_xor0;
80wire err_w2_8b_parity_f_2_xor1;
81wire err_w2_8b_parity_f_2_xor2;
82wire err_w2_8b_parity_f_1_xor0;
83wire err_w2_8b_parity_f_1_xor1;
84wire err_w2_8b_parity_f_1_xor2;
85wire err_w2_8b_parity_f_0_xor0;
86wire err_w2_8b_parity_f_0_xor1;
87wire err_w2_8b_parity_f_0_xor2;
88wire err_w3_8b_parity_f_3_xor0;
89wire err_w3_8b_parity_f_3_xor1;
90wire [3:0] err_w3_8b_parity_f_in;
91wire err_w3_8b_parity_f_2_xor0;
92wire err_w3_8b_parity_f_2_xor1;
93wire err_w3_8b_parity_f_2_xor2;
94wire err_w3_8b_parity_f_1_xor0;
95wire err_w3_8b_parity_f_1_xor1;
96wire err_w3_8b_parity_f_1_xor2;
97wire err_w3_8b_parity_f_0_xor0;
98wire err_w3_8b_parity_f_0_xor1;
99wire err_w3_8b_parity_f_0_xor2;
100wire err_w4_8b_parity_f_3_xor0;
101wire err_w4_8b_parity_f_3_xor1;
102wire [3:0] err_w4_8b_parity_f_in;
103wire err_w4_8b_parity_f_2_xor0;
104wire err_w4_8b_parity_f_2_xor1;
105wire err_w4_8b_parity_f_2_xor2;
106wire err_w4_8b_parity_f_1_xor0;
107wire err_w4_8b_parity_f_1_xor1;
108wire err_w4_8b_parity_f_1_xor2;
109wire err_w4_8b_parity_f_0_xor0;
110wire err_w4_8b_parity_f_0_xor1;
111wire err_w4_8b_parity_f_0_xor2;
112wire err_w5_8b_parity_f_3_xor0;
113wire err_w5_8b_parity_f_3_xor1;
114wire [3:0] err_w5_8b_parity_f_in;
115wire err_w5_8b_parity_f_2_xor0;
116wire err_w5_8b_parity_f_2_xor1;
117wire err_w5_8b_parity_f_2_xor2;
118wire err_w5_8b_parity_f_1_xor0;
119wire err_w5_8b_parity_f_1_xor1;
120wire err_w5_8b_parity_f_1_xor2;
121wire err_w5_8b_parity_f_0_xor0;
122wire err_w5_8b_parity_f_0_xor1;
123wire err_w5_8b_parity_f_0_xor2;
124wire err_w6_8b_parity_f_3_xor0;
125wire err_w6_8b_parity_f_3_xor1;
126wire [3:0] err_w6_8b_parity_f_in;
127wire err_w6_8b_parity_f_2_xor0;
128wire err_w6_8b_parity_f_2_xor1;
129wire err_w6_8b_parity_f_2_xor2;
130wire err_w6_8b_parity_f_1_xor0;
131wire err_w6_8b_parity_f_1_xor1;
132wire err_w6_8b_parity_f_1_xor2;
133wire err_w6_8b_parity_f_0_xor0;
134wire err_w6_8b_parity_f_0_xor1;
135wire err_w6_8b_parity_f_0_xor2;
136wire err_w7_8b_parity_f_3_xor0;
137wire err_w7_8b_parity_f_3_xor1;
138wire [3:0] err_w7_8b_parity_f_in;
139wire err_w7_8b_parity_f_2_xor0;
140wire err_w7_8b_parity_f_2_xor1;
141wire err_w7_8b_parity_f_2_xor2;
142wire err_w7_8b_parity_f_1_xor0;
143wire err_w7_8b_parity_f_1_xor1;
144wire err_w7_8b_parity_f_1_xor2;
145wire err_w7_8b_parity_f_0_xor0;
146wire err_w7_8b_parity_f_0_xor1;
147wire err_w7_8b_parity_f_0_xor2;
148
149
150
151
152input [29:0] ict_itlb_way_0_tag_f; //
153input [29:0] ict_itlb_way_1_tag_f; //
154input [29:0] ict_itlb_way_2_tag_f; //
155input [29:0] ict_itlb_way_3_tag_f; //
156input [29:0] ict_itlb_way_4_tag_f; //
157input [29:0] ict_itlb_way_5_tag_f; //
158input [29:0] ict_itlb_way_6_tag_f; //
159input [29:0] ict_itlb_way_7_tag_f; //
160
161
162
163output [3:0] err_w0_8b_parity_f;
164output [3:0] err_w1_8b_parity_f;
165output [3:0] err_w2_8b_parity_f;
166output [3:0] err_w3_8b_parity_f;
167output [3:0] err_w4_8b_parity_f;
168output [3:0] err_w5_8b_parity_f;
169output [3:0] err_w6_8b_parity_f;
170output [3:0] err_w7_8b_parity_f;
171
172
173
174
175///////////////////////////////////////////////////////////
176// Generate parity in two stages. First stage is done in //
177// F cycle when the tags are read. The second stage //
178// is done in C. //
179///////////////////////////////////////////////////////////
180///////////////////////////////
181// Way 0 //
182///////////////////////////////
183ifu_ftu_err_dp_xor_macro__ports_3__width_1 w0_8b_p3_xor0 (
184 .din0 (ict_itlb_way_0_tag_f[29]),
185 .din1 (ict_itlb_way_0_tag_f[28]),
186 .din2 (ict_itlb_way_0_tag_f[27]),
187 .dout (err_w0_8b_parity_f_3_xor0)
188);
189ifu_ftu_err_dp_xor_macro__ports_3__width_1 w0_8b_p3_xor1 (
190 .din0 (ict_itlb_way_0_tag_f[26]),
191 .din1 (ict_itlb_way_0_tag_f[25]),
192 .din2 (ict_itlb_way_0_tag_f[24]),
193 .dout (err_w0_8b_parity_f_3_xor1)
194);
195ifu_ftu_err_dp_xor_macro__ports_2__width_1 w0_8b_p3_xor2 (
196 .din0 (err_w0_8b_parity_f_3_xor1),
197 .din1 (err_w0_8b_parity_f_3_xor0),
198 .dout (err_w0_8b_parity_f_in[3])
199);
200
201ifu_ftu_err_dp_xor_macro__ports_3__width_1 w0_8b_p2_xor0 (
202 .din0 (ict_itlb_way_0_tag_f[23]),
203 .din1 (ict_itlb_way_0_tag_f[22]),
204 .din2 (ict_itlb_way_0_tag_f[21]),
205 .dout (err_w0_8b_parity_f_2_xor0)
206);
207ifu_ftu_err_dp_xor_macro__ports_3__width_1 w0_8b_p2_xor1 (
208 .din0 (ict_itlb_way_0_tag_f[20]),
209 .din1 (ict_itlb_way_0_tag_f[19]),
210 .din2 (ict_itlb_way_0_tag_f[18]),
211 .dout (err_w0_8b_parity_f_2_xor1)
212);
213
214ifu_ftu_err_dp_xor_macro__ports_2__width_1 w0_8b_p2_xor2 (
215 .din0 (ict_itlb_way_0_tag_f[17]),
216 .din1 (ict_itlb_way_0_tag_f[16]),
217 .dout (err_w0_8b_parity_f_2_xor2)
218);
219
220ifu_ftu_err_dp_xor_macro__ports_3__width_1 w0_8b_p2_xor3 (
221 .din0 (err_w0_8b_parity_f_2_xor2),
222 .din1 (err_w0_8b_parity_f_2_xor1),
223 .din2 (err_w0_8b_parity_f_2_xor0),
224 .dout (err_w0_8b_parity_f_in[2])
225);
226
227
228ifu_ftu_err_dp_xor_macro__ports_3__width_1 w0_8b_p1_xor0 (
229 .din0 (ict_itlb_way_0_tag_f[15]),
230 .din1 (ict_itlb_way_0_tag_f[14]),
231 .din2 (ict_itlb_way_0_tag_f[13]),
232 .dout (err_w0_8b_parity_f_1_xor0)
233);
234ifu_ftu_err_dp_xor_macro__ports_3__width_1 w0_8b_p1_xor1 (
235 .din0 (ict_itlb_way_0_tag_f[12]),
236 .din1 (ict_itlb_way_0_tag_f[11]),
237 .din2 (ict_itlb_way_0_tag_f[10]),
238 .dout (err_w0_8b_parity_f_1_xor1)
239);
240ifu_ftu_err_dp_xor_macro__ports_2__width_1 w0_8b_p1_xor2 (
241 .din0 (ict_itlb_way_0_tag_f[9]),
242 .din1 (ict_itlb_way_0_tag_f[8]),
243 .dout (err_w0_8b_parity_f_1_xor2)
244);
245ifu_ftu_err_dp_xor_macro__ports_3__width_1 w0_8b_p1_xor3 (
246 .din0 (err_w0_8b_parity_f_1_xor2),
247 .din1 (err_w0_8b_parity_f_1_xor1),
248 .din2 (err_w0_8b_parity_f_1_xor0),
249 .dout (err_w0_8b_parity_f_in[1])
250);
251
252
253ifu_ftu_err_dp_xor_macro__ports_3__width_1 w0_8b_p0_xor0 (
254 .din0 (ict_itlb_way_0_tag_f[7]),
255 .din1 (ict_itlb_way_0_tag_f[6]),
256 .din2 (ict_itlb_way_0_tag_f[5]),
257 .dout (err_w0_8b_parity_f_0_xor0)
258);
259ifu_ftu_err_dp_xor_macro__ports_3__width_1 w0_8b_p0_xor1 (
260 .din0 (ict_itlb_way_0_tag_f[4]),
261 .din1 (ict_itlb_way_0_tag_f[3]),
262 .din2 (ict_itlb_way_0_tag_f[2]),
263 .dout (err_w0_8b_parity_f_0_xor1)
264);
265ifu_ftu_err_dp_xor_macro__ports_2__width_1 w0_8b_p0_xor2 (
266 .din0 (ict_itlb_way_0_tag_f[1]),
267 .din1 (ict_itlb_way_0_tag_f[0]),
268 .dout (err_w0_8b_parity_f_0_xor2)
269);
270ifu_ftu_err_dp_xor_macro__ports_3__width_1 w0_8b_p0_xor3 (
271 .din0 (err_w0_8b_parity_f_0_xor2),
272 .din1 (err_w0_8b_parity_f_0_xor1),
273 .din2 (err_w0_8b_parity_f_0_xor0),
274 .dout (err_w0_8b_parity_f_in[0])
275);
276
277ifu_ftu_err_dp_buff_macro__dbuff_56x__width_4 w0_buff (
278 .din (err_w0_8b_parity_f_in[3:0]),
279 .dout (err_w0_8b_parity_f[3:0])) ;
280///////////////////////////////
281// Way 1 //
282///////////////////////////////
283ifu_ftu_err_dp_xor_macro__ports_3__width_1 w1_8b_p3_xor0 (
284 .din0 (ict_itlb_way_1_tag_f[29]),
285 .din1 (ict_itlb_way_1_tag_f[28]),
286 .din2 (ict_itlb_way_1_tag_f[27]),
287 .dout (err_w1_8b_parity_f_3_xor0)
288);
289ifu_ftu_err_dp_xor_macro__ports_3__width_1 w1_8b_p3_xor1 (
290 .din0 (ict_itlb_way_1_tag_f[26]),
291 .din1 (ict_itlb_way_1_tag_f[25]),
292 .din2 (ict_itlb_way_1_tag_f[24]),
293 .dout (err_w1_8b_parity_f_3_xor1)
294);
295ifu_ftu_err_dp_xor_macro__ports_2__width_1 w1_8b_p3_xor2 (
296 .din0 (err_w1_8b_parity_f_3_xor1),
297 .din1 (err_w1_8b_parity_f_3_xor0),
298 .dout (err_w1_8b_parity_f_in[3])
299);
300
301ifu_ftu_err_dp_xor_macro__ports_3__width_1 w1_8b_p2_xor0 (
302 .din0 (ict_itlb_way_1_tag_f[23]),
303 .din1 (ict_itlb_way_1_tag_f[22]),
304 .din2 (ict_itlb_way_1_tag_f[21]),
305 .dout (err_w1_8b_parity_f_2_xor0)
306);
307ifu_ftu_err_dp_xor_macro__ports_3__width_1 w1_8b_p2_xor1 (
308 .din0 (ict_itlb_way_1_tag_f[20]),
309 .din1 (ict_itlb_way_1_tag_f[19]),
310 .din2 (ict_itlb_way_1_tag_f[18]),
311 .dout (err_w1_8b_parity_f_2_xor1)
312);
313
314ifu_ftu_err_dp_xor_macro__ports_2__width_1 w1_8b_p2_xor2 (
315 .din0 (ict_itlb_way_1_tag_f[17]),
316 .din1 (ict_itlb_way_1_tag_f[16]),
317 .dout (err_w1_8b_parity_f_2_xor2)
318);
319
320ifu_ftu_err_dp_xor_macro__ports_3__width_1 w1_8b_p2_xor3 (
321 .din0 (err_w1_8b_parity_f_2_xor2),
322 .din1 (err_w1_8b_parity_f_2_xor1),
323 .din2 (err_w1_8b_parity_f_2_xor0),
324 .dout (err_w1_8b_parity_f_in[2])
325);
326
327
328ifu_ftu_err_dp_xor_macro__ports_3__width_1 w1_8b_p1_xor0 (
329 .din0 (ict_itlb_way_1_tag_f[15]),
330 .din1 (ict_itlb_way_1_tag_f[14]),
331 .din2 (ict_itlb_way_1_tag_f[13]),
332 .dout (err_w1_8b_parity_f_1_xor0)
333);
334ifu_ftu_err_dp_xor_macro__ports_3__width_1 w1_8b_p1_xor1 (
335 .din0 (ict_itlb_way_1_tag_f[12]),
336 .din1 (ict_itlb_way_1_tag_f[11]),
337 .din2 (ict_itlb_way_1_tag_f[10]),
338 .dout (err_w1_8b_parity_f_1_xor1)
339);
340ifu_ftu_err_dp_xor_macro__ports_2__width_1 w1_8b_p1_xor2 (
341 .din0 (ict_itlb_way_1_tag_f[9]),
342 .din1 (ict_itlb_way_1_tag_f[8]),
343 .dout (err_w1_8b_parity_f_1_xor2)
344);
345ifu_ftu_err_dp_xor_macro__ports_3__width_1 w1_8b_p1_xor3 (
346 .din0 (err_w1_8b_parity_f_1_xor2),
347 .din1 (err_w1_8b_parity_f_1_xor1),
348 .din2 (err_w1_8b_parity_f_1_xor0),
349 .dout (err_w1_8b_parity_f_in[1])
350);
351
352
353ifu_ftu_err_dp_xor_macro__ports_3__width_1 w1_8b_p0_xor0 (
354 .din0 (ict_itlb_way_1_tag_f[7]),
355 .din1 (ict_itlb_way_1_tag_f[6]),
356 .din2 (ict_itlb_way_1_tag_f[5]),
357 .dout (err_w1_8b_parity_f_0_xor0)
358);
359ifu_ftu_err_dp_xor_macro__ports_3__width_1 w1_8b_p0_xor1 (
360 .din0 (ict_itlb_way_1_tag_f[4]),
361 .din1 (ict_itlb_way_1_tag_f[3]),
362 .din2 (ict_itlb_way_1_tag_f[2]),
363 .dout (err_w1_8b_parity_f_0_xor1)
364);
365ifu_ftu_err_dp_xor_macro__ports_2__width_1 w1_8b_p0_xor2 (
366 .din0 (ict_itlb_way_1_tag_f[1]),
367 .din1 (ict_itlb_way_1_tag_f[0]),
368 .dout (err_w1_8b_parity_f_0_xor2)
369);
370ifu_ftu_err_dp_xor_macro__ports_3__width_1 w1_8b_p0_xor3 (
371 .din0 (err_w1_8b_parity_f_0_xor2),
372 .din1 (err_w1_8b_parity_f_0_xor1),
373 .din2 (err_w1_8b_parity_f_0_xor0),
374 .dout (err_w1_8b_parity_f_in[0])
375);
376
377
378ifu_ftu_err_dp_buff_macro__dbuff_56x__width_4 w1_buff (
379 .din (err_w1_8b_parity_f_in[3:0]),
380 .dout (err_w1_8b_parity_f[3:0])) ;
381///////////////////////////////
382// Way 2 //
383///////////////////////////////
384ifu_ftu_err_dp_xor_macro__ports_3__width_1 w2_8b_p3_xor0 (
385 .din0 (ict_itlb_way_2_tag_f[29]),
386 .din1 (ict_itlb_way_2_tag_f[28]),
387 .din2 (ict_itlb_way_2_tag_f[27]),
388 .dout (err_w2_8b_parity_f_3_xor0)
389);
390ifu_ftu_err_dp_xor_macro__ports_3__width_1 w2_8b_p3_xor1 (
391 .din0 (ict_itlb_way_2_tag_f[26]),
392 .din1 (ict_itlb_way_2_tag_f[25]),
393 .din2 (ict_itlb_way_2_tag_f[24]),
394 .dout (err_w2_8b_parity_f_3_xor1)
395);
396ifu_ftu_err_dp_xor_macro__ports_2__width_1 w2_8b_p3_xor2 (
397 .din0 (err_w2_8b_parity_f_3_xor1),
398 .din1 (err_w2_8b_parity_f_3_xor0),
399 .dout (err_w2_8b_parity_f_in[3])
400);
401
402ifu_ftu_err_dp_xor_macro__ports_3__width_1 w2_8b_p2_xor0 (
403 .din0 (ict_itlb_way_2_tag_f[23]),
404 .din1 (ict_itlb_way_2_tag_f[22]),
405 .din2 (ict_itlb_way_2_tag_f[21]),
406 .dout (err_w2_8b_parity_f_2_xor0)
407);
408ifu_ftu_err_dp_xor_macro__ports_3__width_1 w2_8b_p2_xor1 (
409 .din0 (ict_itlb_way_2_tag_f[20]),
410 .din1 (ict_itlb_way_2_tag_f[19]),
411 .din2 (ict_itlb_way_2_tag_f[18]),
412 .dout (err_w2_8b_parity_f_2_xor1)
413);
414
415ifu_ftu_err_dp_xor_macro__ports_2__width_1 w2_8b_p2_xor2 (
416 .din0 (ict_itlb_way_2_tag_f[17]),
417 .din1 (ict_itlb_way_2_tag_f[16]),
418 .dout (err_w2_8b_parity_f_2_xor2)
419);
420
421ifu_ftu_err_dp_xor_macro__ports_3__width_1 w2_8b_p2_xor3 (
422 .din0 (err_w2_8b_parity_f_2_xor2),
423 .din1 (err_w2_8b_parity_f_2_xor1),
424 .din2 (err_w2_8b_parity_f_2_xor0),
425 .dout (err_w2_8b_parity_f_in[2])
426);
427
428
429ifu_ftu_err_dp_xor_macro__ports_3__width_1 w2_8b_p1_xor0 (
430 .din0 (ict_itlb_way_2_tag_f[15]),
431 .din1 (ict_itlb_way_2_tag_f[14]),
432 .din2 (ict_itlb_way_2_tag_f[13]),
433 .dout (err_w2_8b_parity_f_1_xor0)
434);
435ifu_ftu_err_dp_xor_macro__ports_3__width_1 w2_8b_p1_xor1 (
436 .din0 (ict_itlb_way_2_tag_f[12]),
437 .din1 (ict_itlb_way_2_tag_f[11]),
438 .din2 (ict_itlb_way_2_tag_f[10]),
439 .dout (err_w2_8b_parity_f_1_xor1)
440);
441ifu_ftu_err_dp_xor_macro__ports_2__width_1 w2_8b_p1_xor2 (
442 .din0 (ict_itlb_way_2_tag_f[9]),
443 .din1 (ict_itlb_way_2_tag_f[8]),
444 .dout (err_w2_8b_parity_f_1_xor2)
445);
446ifu_ftu_err_dp_xor_macro__ports_3__width_1 w2_8b_p1_xor3 (
447 .din0 (err_w2_8b_parity_f_1_xor2),
448 .din1 (err_w2_8b_parity_f_1_xor1),
449 .din2 (err_w2_8b_parity_f_1_xor0),
450 .dout (err_w2_8b_parity_f_in[1])
451);
452
453
454ifu_ftu_err_dp_xor_macro__ports_3__width_1 w2_8b_p0_xor0 (
455 .din0 (ict_itlb_way_2_tag_f[7]),
456 .din1 (ict_itlb_way_2_tag_f[6]),
457 .din2 (ict_itlb_way_2_tag_f[5]),
458 .dout (err_w2_8b_parity_f_0_xor0)
459);
460ifu_ftu_err_dp_xor_macro__ports_3__width_1 w2_8b_p0_xor1 (
461 .din0 (ict_itlb_way_2_tag_f[4]),
462 .din1 (ict_itlb_way_2_tag_f[3]),
463 .din2 (ict_itlb_way_2_tag_f[2]),
464 .dout (err_w2_8b_parity_f_0_xor1)
465);
466ifu_ftu_err_dp_xor_macro__ports_2__width_1 w2_8b_p0_xor2 (
467 .din0 (ict_itlb_way_2_tag_f[1]),
468 .din1 (ict_itlb_way_2_tag_f[0]),
469 .dout (err_w2_8b_parity_f_0_xor2)
470);
471ifu_ftu_err_dp_xor_macro__ports_3__width_1 w2_8b_p0_xor3 (
472 .din0 (err_w2_8b_parity_f_0_xor2),
473 .din1 (err_w2_8b_parity_f_0_xor1),
474 .din2 (err_w2_8b_parity_f_0_xor0),
475 .dout (err_w2_8b_parity_f_in[0])
476);
477
478
479ifu_ftu_err_dp_buff_macro__dbuff_56x__width_4 w2_buff (
480 .din (err_w2_8b_parity_f_in[3:0]),
481 .dout (err_w2_8b_parity_f[3:0])) ;
482
483///////////////////////////////
484// Way 3 //
485///////////////////////////////
486ifu_ftu_err_dp_xor_macro__ports_3__width_1 w3_8b_p3_xor0 (
487 .din0 (ict_itlb_way_3_tag_f[29]),
488 .din1 (ict_itlb_way_3_tag_f[28]),
489 .din2 (ict_itlb_way_3_tag_f[27]),
490 .dout (err_w3_8b_parity_f_3_xor0)
491);
492ifu_ftu_err_dp_xor_macro__ports_3__width_1 w3_8b_p3_xor1 (
493 .din0 (ict_itlb_way_3_tag_f[26]),
494 .din1 (ict_itlb_way_3_tag_f[25]),
495 .din2 (ict_itlb_way_3_tag_f[24]),
496 .dout (err_w3_8b_parity_f_3_xor1)
497);
498ifu_ftu_err_dp_xor_macro__ports_2__width_1 w3_8b_p3_xor2 (
499 .din0 (err_w3_8b_parity_f_3_xor1),
500 .din1 (err_w3_8b_parity_f_3_xor0),
501 .dout (err_w3_8b_parity_f_in[3])
502);
503
504ifu_ftu_err_dp_xor_macro__ports_3__width_1 w3_8b_p2_xor0 (
505 .din0 (ict_itlb_way_3_tag_f[23]),
506 .din1 (ict_itlb_way_3_tag_f[22]),
507 .din2 (ict_itlb_way_3_tag_f[21]),
508 .dout (err_w3_8b_parity_f_2_xor0)
509);
510ifu_ftu_err_dp_xor_macro__ports_3__width_1 w3_8b_p2_xor1 (
511 .din0 (ict_itlb_way_3_tag_f[20]),
512 .din1 (ict_itlb_way_3_tag_f[19]),
513 .din2 (ict_itlb_way_3_tag_f[18]),
514 .dout (err_w3_8b_parity_f_2_xor1)
515);
516
517ifu_ftu_err_dp_xor_macro__ports_2__width_1 w3_8b_p2_xor2 (
518 .din0 (ict_itlb_way_3_tag_f[17]),
519 .din1 (ict_itlb_way_3_tag_f[16]),
520 .dout (err_w3_8b_parity_f_2_xor2)
521);
522
523ifu_ftu_err_dp_xor_macro__ports_3__width_1 w3_8b_p2_xor3 (
524 .din0 (err_w3_8b_parity_f_2_xor2),
525 .din1 (err_w3_8b_parity_f_2_xor1),
526 .din2 (err_w3_8b_parity_f_2_xor0),
527 .dout (err_w3_8b_parity_f_in[2])
528);
529
530
531ifu_ftu_err_dp_xor_macro__ports_3__width_1 w3_8b_p1_xor0 (
532 .din0 (ict_itlb_way_3_tag_f[15]),
533 .din1 (ict_itlb_way_3_tag_f[14]),
534 .din2 (ict_itlb_way_3_tag_f[13]),
535 .dout (err_w3_8b_parity_f_1_xor0)
536);
537ifu_ftu_err_dp_xor_macro__ports_3__width_1 w3_8b_p1_xor1 (
538 .din0 (ict_itlb_way_3_tag_f[12]),
539 .din1 (ict_itlb_way_3_tag_f[11]),
540 .din2 (ict_itlb_way_3_tag_f[10]),
541 .dout (err_w3_8b_parity_f_1_xor1)
542);
543ifu_ftu_err_dp_xor_macro__ports_2__width_1 w3_8b_p1_xor2 (
544 .din0 (ict_itlb_way_3_tag_f[9]),
545 .din1 (ict_itlb_way_3_tag_f[8]),
546 .dout (err_w3_8b_parity_f_1_xor2)
547);
548ifu_ftu_err_dp_xor_macro__ports_3__width_1 w3_8b_p1_xor3 (
549 .din0 (err_w3_8b_parity_f_1_xor2),
550 .din1 (err_w3_8b_parity_f_1_xor1),
551 .din2 (err_w3_8b_parity_f_1_xor0),
552 .dout (err_w3_8b_parity_f_in[1])
553);
554
555
556ifu_ftu_err_dp_xor_macro__ports_3__width_1 w3_8b_p0_xor0 (
557 .din0 (ict_itlb_way_3_tag_f[7]),
558 .din1 (ict_itlb_way_3_tag_f[6]),
559 .din2 (ict_itlb_way_3_tag_f[5]),
560 .dout (err_w3_8b_parity_f_0_xor0)
561);
562ifu_ftu_err_dp_xor_macro__ports_3__width_1 w3_8b_p0_xor1 (
563 .din0 (ict_itlb_way_3_tag_f[4]),
564 .din1 (ict_itlb_way_3_tag_f[3]),
565 .din2 (ict_itlb_way_3_tag_f[2]),
566 .dout (err_w3_8b_parity_f_0_xor1)
567);
568ifu_ftu_err_dp_xor_macro__ports_2__width_1 w3_8b_p0_xor2 (
569 .din0 (ict_itlb_way_3_tag_f[1]),
570 .din1 (ict_itlb_way_3_tag_f[0]),
571 .dout (err_w3_8b_parity_f_0_xor2)
572);
573ifu_ftu_err_dp_xor_macro__ports_3__width_1 w3_8b_p0_xor3 (
574 .din0 (err_w3_8b_parity_f_0_xor2),
575 .din1 (err_w3_8b_parity_f_0_xor1),
576 .din2 (err_w3_8b_parity_f_0_xor0),
577 .dout (err_w3_8b_parity_f_in[0])
578);
579
580
581ifu_ftu_err_dp_buff_macro__dbuff_56x__width_4 w3_buff (
582 .din (err_w3_8b_parity_f_in[3:0]),
583 .dout (err_w3_8b_parity_f[3:0])) ;
584
585///////////////////////////////
586// Way 4 //
587///////////////////////////////
588ifu_ftu_err_dp_xor_macro__ports_3__width_1 w4_8b_p3_xor0 (
589 .din0 (ict_itlb_way_4_tag_f[29]),
590 .din1 (ict_itlb_way_4_tag_f[28]),
591 .din2 (ict_itlb_way_4_tag_f[27]),
592 .dout (err_w4_8b_parity_f_3_xor0)
593);
594ifu_ftu_err_dp_xor_macro__ports_3__width_1 w4_8b_p3_xor1 (
595 .din0 (ict_itlb_way_4_tag_f[26]),
596 .din1 (ict_itlb_way_4_tag_f[25]),
597 .din2 (ict_itlb_way_4_tag_f[24]),
598 .dout (err_w4_8b_parity_f_3_xor1)
599);
600ifu_ftu_err_dp_xor_macro__ports_2__width_1 w4_8b_p3_xor2 (
601 .din0 (err_w4_8b_parity_f_3_xor1),
602 .din1 (err_w4_8b_parity_f_3_xor0),
603 .dout (err_w4_8b_parity_f_in[3])
604);
605
606ifu_ftu_err_dp_xor_macro__ports_3__width_1 w4_8b_p2_xor0 (
607 .din0 (ict_itlb_way_4_tag_f[23]),
608 .din1 (ict_itlb_way_4_tag_f[22]),
609 .din2 (ict_itlb_way_4_tag_f[21]),
610 .dout (err_w4_8b_parity_f_2_xor0)
611);
612ifu_ftu_err_dp_xor_macro__ports_3__width_1 w4_8b_p2_xor1 (
613 .din0 (ict_itlb_way_4_tag_f[20]),
614 .din1 (ict_itlb_way_4_tag_f[19]),
615 .din2 (ict_itlb_way_4_tag_f[18]),
616 .dout (err_w4_8b_parity_f_2_xor1)
617);
618
619ifu_ftu_err_dp_xor_macro__ports_2__width_1 w4_8b_p2_xor2 (
620 .din0 (ict_itlb_way_4_tag_f[17]),
621 .din1 (ict_itlb_way_4_tag_f[16]),
622 .dout (err_w4_8b_parity_f_2_xor2)
623);
624
625ifu_ftu_err_dp_xor_macro__ports_3__width_1 w4_8b_p2_xor3 (
626 .din0 (err_w4_8b_parity_f_2_xor2),
627 .din1 (err_w4_8b_parity_f_2_xor1),
628 .din2 (err_w4_8b_parity_f_2_xor0),
629 .dout (err_w4_8b_parity_f_in[2])
630);
631
632
633ifu_ftu_err_dp_xor_macro__ports_3__width_1 w4_8b_p1_xor0 (
634 .din0 (ict_itlb_way_4_tag_f[15]),
635 .din1 (ict_itlb_way_4_tag_f[14]),
636 .din2 (ict_itlb_way_4_tag_f[13]),
637 .dout (err_w4_8b_parity_f_1_xor0)
638);
639ifu_ftu_err_dp_xor_macro__ports_3__width_1 w4_8b_p1_xor1 (
640 .din0 (ict_itlb_way_4_tag_f[12]),
641 .din1 (ict_itlb_way_4_tag_f[11]),
642 .din2 (ict_itlb_way_4_tag_f[10]),
643 .dout (err_w4_8b_parity_f_1_xor1)
644);
645ifu_ftu_err_dp_xor_macro__ports_2__width_1 w4_8b_p1_xor2 (
646 .din0 (ict_itlb_way_4_tag_f[9]),
647 .din1 (ict_itlb_way_4_tag_f[8]),
648 .dout (err_w4_8b_parity_f_1_xor2)
649);
650ifu_ftu_err_dp_xor_macro__ports_3__width_1 w4_8b_p1_xor3 (
651 .din0 (err_w4_8b_parity_f_1_xor2),
652 .din1 (err_w4_8b_parity_f_1_xor1),
653 .din2 (err_w4_8b_parity_f_1_xor0),
654 .dout (err_w4_8b_parity_f_in[1])
655);
656
657
658ifu_ftu_err_dp_xor_macro__ports_3__width_1 w4_8b_p0_xor0 (
659 .din0 (ict_itlb_way_4_tag_f[7]),
660 .din1 (ict_itlb_way_4_tag_f[6]),
661 .din2 (ict_itlb_way_4_tag_f[5]),
662 .dout (err_w4_8b_parity_f_0_xor0)
663);
664ifu_ftu_err_dp_xor_macro__ports_3__width_1 w4_8b_p0_xor1 (
665 .din0 (ict_itlb_way_4_tag_f[4]),
666 .din1 (ict_itlb_way_4_tag_f[3]),
667 .din2 (ict_itlb_way_4_tag_f[2]),
668 .dout (err_w4_8b_parity_f_0_xor1)
669);
670ifu_ftu_err_dp_xor_macro__ports_2__width_1 w4_8b_p0_xor2 (
671 .din0 (ict_itlb_way_4_tag_f[1]),
672 .din1 (ict_itlb_way_4_tag_f[0]),
673 .dout (err_w4_8b_parity_f_0_xor2)
674);
675ifu_ftu_err_dp_xor_macro__ports_3__width_1 w4_8b_p0_xor3 (
676 .din0 (err_w4_8b_parity_f_0_xor2),
677 .din1 (err_w4_8b_parity_f_0_xor1),
678 .din2 (err_w4_8b_parity_f_0_xor0),
679 .dout (err_w4_8b_parity_f_in[0])
680);
681
682ifu_ftu_err_dp_buff_macro__dbuff_56x__width_4 w4_buff (
683 .din (err_w4_8b_parity_f_in[3:0]),
684 .dout (err_w4_8b_parity_f[3:0])) ;
685
686
687///////////////////////////////
688// Way 5 //
689///////////////////////////////
690ifu_ftu_err_dp_xor_macro__ports_3__width_1 w5_8b_p3_xor0 (
691 .din0 (ict_itlb_way_5_tag_f[29]),
692 .din1 (ict_itlb_way_5_tag_f[28]),
693 .din2 (ict_itlb_way_5_tag_f[27]),
694 .dout (err_w5_8b_parity_f_3_xor0)
695);
696ifu_ftu_err_dp_xor_macro__ports_3__width_1 w5_8b_p3_xor1 (
697 .din0 (ict_itlb_way_5_tag_f[26]),
698 .din1 (ict_itlb_way_5_tag_f[25]),
699 .din2 (ict_itlb_way_5_tag_f[24]),
700 .dout (err_w5_8b_parity_f_3_xor1)
701);
702ifu_ftu_err_dp_xor_macro__ports_2__width_1 w5_8b_p3_xor2 (
703 .din0 (err_w5_8b_parity_f_3_xor1),
704 .din1 (err_w5_8b_parity_f_3_xor0),
705 .dout (err_w5_8b_parity_f_in[3])
706);
707
708ifu_ftu_err_dp_xor_macro__ports_3__width_1 w5_8b_p2_xor0 (
709 .din0 (ict_itlb_way_5_tag_f[23]),
710 .din1 (ict_itlb_way_5_tag_f[22]),
711 .din2 (ict_itlb_way_5_tag_f[21]),
712 .dout (err_w5_8b_parity_f_2_xor0)
713);
714ifu_ftu_err_dp_xor_macro__ports_3__width_1 w5_8b_p2_xor1 (
715 .din0 (ict_itlb_way_5_tag_f[20]),
716 .din1 (ict_itlb_way_5_tag_f[19]),
717 .din2 (ict_itlb_way_5_tag_f[18]),
718 .dout (err_w5_8b_parity_f_2_xor1)
719);
720
721ifu_ftu_err_dp_xor_macro__ports_2__width_1 w5_8b_p2_xor2 (
722 .din0 (ict_itlb_way_5_tag_f[17]),
723 .din1 (ict_itlb_way_5_tag_f[16]),
724 .dout (err_w5_8b_parity_f_2_xor2)
725);
726
727ifu_ftu_err_dp_xor_macro__ports_3__width_1 w5_8b_p2_xor3 (
728 .din0 (err_w5_8b_parity_f_2_xor2),
729 .din1 (err_w5_8b_parity_f_2_xor1),
730 .din2 (err_w5_8b_parity_f_2_xor0),
731 .dout (err_w5_8b_parity_f_in[2])
732);
733
734
735ifu_ftu_err_dp_xor_macro__ports_3__width_1 w5_8b_p1_xor0 (
736 .din0 (ict_itlb_way_5_tag_f[15]),
737 .din1 (ict_itlb_way_5_tag_f[14]),
738 .din2 (ict_itlb_way_5_tag_f[13]),
739 .dout (err_w5_8b_parity_f_1_xor0)
740);
741ifu_ftu_err_dp_xor_macro__ports_3__width_1 w5_8b_p1_xor1 (
742 .din0 (ict_itlb_way_5_tag_f[12]),
743 .din1 (ict_itlb_way_5_tag_f[11]),
744 .din2 (ict_itlb_way_5_tag_f[10]),
745 .dout (err_w5_8b_parity_f_1_xor1)
746);
747ifu_ftu_err_dp_xor_macro__ports_2__width_1 w5_8b_p1_xor2 (
748 .din0 (ict_itlb_way_5_tag_f[9]),
749 .din1 (ict_itlb_way_5_tag_f[8]),
750 .dout (err_w5_8b_parity_f_1_xor2)
751);
752ifu_ftu_err_dp_xor_macro__ports_3__width_1 w5_8b_p1_xor3 (
753 .din0 (err_w5_8b_parity_f_1_xor2),
754 .din1 (err_w5_8b_parity_f_1_xor1),
755 .din2 (err_w5_8b_parity_f_1_xor0),
756 .dout (err_w5_8b_parity_f_in[1])
757);
758
759
760ifu_ftu_err_dp_xor_macro__ports_3__width_1 w5_8b_p0_xor0 (
761 .din0 (ict_itlb_way_5_tag_f[7]),
762 .din1 (ict_itlb_way_5_tag_f[6]),
763 .din2 (ict_itlb_way_5_tag_f[5]),
764 .dout (err_w5_8b_parity_f_0_xor0)
765);
766ifu_ftu_err_dp_xor_macro__ports_3__width_1 w5_8b_p0_xor1 (
767 .din0 (ict_itlb_way_5_tag_f[4]),
768 .din1 (ict_itlb_way_5_tag_f[3]),
769 .din2 (ict_itlb_way_5_tag_f[2]),
770 .dout (err_w5_8b_parity_f_0_xor1)
771);
772ifu_ftu_err_dp_xor_macro__ports_2__width_1 w5_8b_p0_xor2 (
773 .din0 (ict_itlb_way_5_tag_f[1]),
774 .din1 (ict_itlb_way_5_tag_f[0]),
775 .dout (err_w5_8b_parity_f_0_xor2)
776);
777ifu_ftu_err_dp_xor_macro__ports_3__width_1 w5_8b_p0_xor3 (
778 .din0 (err_w5_8b_parity_f_0_xor2),
779 .din1 (err_w5_8b_parity_f_0_xor1),
780 .din2 (err_w5_8b_parity_f_0_xor0),
781 .dout (err_w5_8b_parity_f_in[0])
782);
783
784ifu_ftu_err_dp_buff_macro__dbuff_56x__width_4 w5_buff (
785 .din (err_w5_8b_parity_f_in[3:0]),
786 .dout (err_w5_8b_parity_f[3:0])) ;
787
788
789///////////////////////////////
790// Way 6 //
791///////////////////////////////
792ifu_ftu_err_dp_xor_macro__ports_3__width_1 w6_8b_p3_xor0 (
793 .din0 (ict_itlb_way_6_tag_f[29]),
794 .din1 (ict_itlb_way_6_tag_f[28]),
795 .din2 (ict_itlb_way_6_tag_f[27]),
796 .dout (err_w6_8b_parity_f_3_xor0)
797);
798ifu_ftu_err_dp_xor_macro__ports_3__width_1 w6_8b_p3_xor1 (
799 .din0 (ict_itlb_way_6_tag_f[26]),
800 .din1 (ict_itlb_way_6_tag_f[25]),
801 .din2 (ict_itlb_way_6_tag_f[24]),
802 .dout (err_w6_8b_parity_f_3_xor1)
803);
804ifu_ftu_err_dp_xor_macro__ports_2__width_1 w6_8b_p3_xor2 (
805 .din0 (err_w6_8b_parity_f_3_xor1),
806 .din1 (err_w6_8b_parity_f_3_xor0),
807 .dout (err_w6_8b_parity_f_in[3])
808);
809
810ifu_ftu_err_dp_xor_macro__ports_3__width_1 w6_8b_p2_xor0 (
811 .din0 (ict_itlb_way_6_tag_f[23]),
812 .din1 (ict_itlb_way_6_tag_f[22]),
813 .din2 (ict_itlb_way_6_tag_f[21]),
814 .dout (err_w6_8b_parity_f_2_xor0)
815);
816ifu_ftu_err_dp_xor_macro__ports_3__width_1 w6_8b_p2_xor1 (
817 .din0 (ict_itlb_way_6_tag_f[20]),
818 .din1 (ict_itlb_way_6_tag_f[19]),
819 .din2 (ict_itlb_way_6_tag_f[18]),
820 .dout (err_w6_8b_parity_f_2_xor1)
821);
822
823ifu_ftu_err_dp_xor_macro__ports_2__width_1 w6_8b_p2_xor2 (
824 .din0 (ict_itlb_way_6_tag_f[17]),
825 .din1 (ict_itlb_way_6_tag_f[16]),
826 .dout (err_w6_8b_parity_f_2_xor2)
827);
828
829ifu_ftu_err_dp_xor_macro__ports_3__width_1 w6_8b_p2_xor3 (
830 .din0 (err_w6_8b_parity_f_2_xor2),
831 .din1 (err_w6_8b_parity_f_2_xor1),
832 .din2 (err_w6_8b_parity_f_2_xor0),
833 .dout (err_w6_8b_parity_f_in[2])
834);
835
836
837ifu_ftu_err_dp_xor_macro__ports_3__width_1 w6_8b_p1_xor0 (
838 .din0 (ict_itlb_way_6_tag_f[15]),
839 .din1 (ict_itlb_way_6_tag_f[14]),
840 .din2 (ict_itlb_way_6_tag_f[13]),
841 .dout (err_w6_8b_parity_f_1_xor0)
842);
843ifu_ftu_err_dp_xor_macro__ports_3__width_1 w6_8b_p1_xor1 (
844 .din0 (ict_itlb_way_6_tag_f[12]),
845 .din1 (ict_itlb_way_6_tag_f[11]),
846 .din2 (ict_itlb_way_6_tag_f[10]),
847 .dout (err_w6_8b_parity_f_1_xor1)
848);
849ifu_ftu_err_dp_xor_macro__ports_2__width_1 w6_8b_p1_xor2 (
850 .din0 (ict_itlb_way_6_tag_f[9]),
851 .din1 (ict_itlb_way_6_tag_f[8]),
852 .dout (err_w6_8b_parity_f_1_xor2)
853);
854ifu_ftu_err_dp_xor_macro__ports_3__width_1 w6_8b_p1_xor3 (
855 .din0 (err_w6_8b_parity_f_1_xor2),
856 .din1 (err_w6_8b_parity_f_1_xor1),
857 .din2 (err_w6_8b_parity_f_1_xor0),
858 .dout (err_w6_8b_parity_f_in[1])
859);
860
861
862ifu_ftu_err_dp_xor_macro__ports_3__width_1 w6_8b_p0_xor0 (
863 .din0 (ict_itlb_way_6_tag_f[7]),
864 .din1 (ict_itlb_way_6_tag_f[6]),
865 .din2 (ict_itlb_way_6_tag_f[5]),
866 .dout (err_w6_8b_parity_f_0_xor0)
867);
868ifu_ftu_err_dp_xor_macro__ports_3__width_1 w6_8b_p0_xor1 (
869 .din0 (ict_itlb_way_6_tag_f[4]),
870 .din1 (ict_itlb_way_6_tag_f[3]),
871 .din2 (ict_itlb_way_6_tag_f[2]),
872 .dout (err_w6_8b_parity_f_0_xor1)
873);
874ifu_ftu_err_dp_xor_macro__ports_2__width_1 w6_8b_p0_xor2 (
875 .din0 (ict_itlb_way_6_tag_f[1]),
876 .din1 (ict_itlb_way_6_tag_f[0]),
877 .dout (err_w6_8b_parity_f_0_xor2)
878);
879ifu_ftu_err_dp_xor_macro__ports_3__width_1 w6_8b_p0_xor3 (
880 .din0 (err_w6_8b_parity_f_0_xor2),
881 .din1 (err_w6_8b_parity_f_0_xor1),
882 .din2 (err_w6_8b_parity_f_0_xor0),
883 .dout (err_w6_8b_parity_f_in[0])
884);
885
886ifu_ftu_err_dp_buff_macro__dbuff_56x__width_4 w6_buff (
887 .din (err_w6_8b_parity_f_in[3:0]),
888 .dout (err_w6_8b_parity_f[3:0])) ;
889
890///////////////////////////////
891// Way 7 //
892///////////////////////////////
893ifu_ftu_err_dp_xor_macro__ports_3__width_1 w7_8b_p3_xor0 (
894 .din0 (ict_itlb_way_7_tag_f[29]),
895 .din1 (ict_itlb_way_7_tag_f[28]),
896 .din2 (ict_itlb_way_7_tag_f[27]),
897 .dout (err_w7_8b_parity_f_3_xor0)
898);
899ifu_ftu_err_dp_xor_macro__ports_3__width_1 w7_8b_p3_xor1 (
900 .din0 (ict_itlb_way_7_tag_f[26]),
901 .din1 (ict_itlb_way_7_tag_f[25]),
902 .din2 (ict_itlb_way_7_tag_f[24]),
903 .dout (err_w7_8b_parity_f_3_xor1)
904);
905ifu_ftu_err_dp_xor_macro__ports_2__width_1 w7_8b_p3_xor2 (
906 .din0 (err_w7_8b_parity_f_3_xor1),
907 .din1 (err_w7_8b_parity_f_3_xor0),
908 .dout (err_w7_8b_parity_f_in[3])
909);
910
911ifu_ftu_err_dp_xor_macro__ports_3__width_1 w7_8b_p2_xor0 (
912 .din0 (ict_itlb_way_7_tag_f[23]),
913 .din1 (ict_itlb_way_7_tag_f[22]),
914 .din2 (ict_itlb_way_7_tag_f[21]),
915 .dout (err_w7_8b_parity_f_2_xor0)
916);
917ifu_ftu_err_dp_xor_macro__ports_3__width_1 w7_8b_p2_xor1 (
918 .din0 (ict_itlb_way_7_tag_f[20]),
919 .din1 (ict_itlb_way_7_tag_f[19]),
920 .din2 (ict_itlb_way_7_tag_f[18]),
921 .dout (err_w7_8b_parity_f_2_xor1)
922);
923
924ifu_ftu_err_dp_xor_macro__ports_2__width_1 w7_8b_p2_xor2 (
925 .din0 (ict_itlb_way_7_tag_f[17]),
926 .din1 (ict_itlb_way_7_tag_f[16]),
927 .dout (err_w7_8b_parity_f_2_xor2)
928);
929
930ifu_ftu_err_dp_xor_macro__ports_3__width_1 w7_8b_p2_xor3 (
931 .din0 (err_w7_8b_parity_f_2_xor2),
932 .din1 (err_w7_8b_parity_f_2_xor1),
933 .din2 (err_w7_8b_parity_f_2_xor0),
934 .dout (err_w7_8b_parity_f_in[2])
935);
936
937
938ifu_ftu_err_dp_xor_macro__ports_3__width_1 w7_8b_p1_xor0 (
939 .din0 (ict_itlb_way_7_tag_f[15]),
940 .din1 (ict_itlb_way_7_tag_f[14]),
941 .din2 (ict_itlb_way_7_tag_f[13]),
942 .dout (err_w7_8b_parity_f_1_xor0)
943);
944ifu_ftu_err_dp_xor_macro__ports_3__width_1 w7_8b_p1_xor1 (
945 .din0 (ict_itlb_way_7_tag_f[12]),
946 .din1 (ict_itlb_way_7_tag_f[11]),
947 .din2 (ict_itlb_way_7_tag_f[10]),
948 .dout (err_w7_8b_parity_f_1_xor1)
949);
950ifu_ftu_err_dp_xor_macro__ports_2__width_1 w7_8b_p1_xor2 (
951 .din0 (ict_itlb_way_7_tag_f[9]),
952 .din1 (ict_itlb_way_7_tag_f[8]),
953 .dout (err_w7_8b_parity_f_1_xor2)
954);
955ifu_ftu_err_dp_xor_macro__ports_3__width_1 w7_8b_p1_xor3 (
956 .din0 (err_w7_8b_parity_f_1_xor2),
957 .din1 (err_w7_8b_parity_f_1_xor1),
958 .din2 (err_w7_8b_parity_f_1_xor0),
959 .dout (err_w7_8b_parity_f_in[1])
960);
961
962
963ifu_ftu_err_dp_xor_macro__ports_3__width_1 w7_8b_p0_xor0 (
964 .din0 (ict_itlb_way_7_tag_f[7]),
965 .din1 (ict_itlb_way_7_tag_f[6]),
966 .din2 (ict_itlb_way_7_tag_f[5]),
967 .dout (err_w7_8b_parity_f_0_xor0)
968);
969ifu_ftu_err_dp_xor_macro__ports_3__width_1 w7_8b_p0_xor1 (
970 .din0 (ict_itlb_way_7_tag_f[4]),
971 .din1 (ict_itlb_way_7_tag_f[3]),
972 .din2 (ict_itlb_way_7_tag_f[2]),
973 .dout (err_w7_8b_parity_f_0_xor1)
974);
975ifu_ftu_err_dp_xor_macro__ports_2__width_1 w7_8b_p0_xor2 (
976 .din0 (ict_itlb_way_7_tag_f[1]),
977 .din1 (ict_itlb_way_7_tag_f[0]),
978 .dout (err_w7_8b_parity_f_0_xor2)
979);
980ifu_ftu_err_dp_xor_macro__ports_3__width_1 w7_8b_p0_xor3 (
981 .din0 (err_w7_8b_parity_f_0_xor2),
982 .din1 (err_w7_8b_parity_f_0_xor1),
983 .din2 (err_w7_8b_parity_f_0_xor0),
984 .dout (err_w7_8b_parity_f_in[0])
985);
986
987ifu_ftu_err_dp_buff_macro__dbuff_56x__width_4 w7_buff (
988 .din (err_w7_8b_parity_f_in[3:0]),
989 .dout (err_w7_8b_parity_f[3:0])) ;
990
991
992endmodule
993
994
995
996
997
998
999//
1000// xor macro for ports = 2,3
1001//
1002//
1003
1004
1005
1006
1007
1008module ifu_ftu_err_dp_xor_macro__ports_3__width_1 (
1009 din0,
1010 din1,
1011 din2,
1012 dout);
1013 input [0:0] din0;
1014 input [0:0] din1;
1015 input [0:0] din2;
1016 output [0:0] dout;
1017
1018
1019
1020
1021
1022xor3 #(1) d0_0 (
1023.in0(din0[0:0]),
1024.in1(din1[0:0]),
1025.in2(din2[0:0]),
1026.out(dout[0:0])
1027);
1028
1029
1030
1031
1032
1033
1034
1035
1036endmodule
1037
1038
1039
1040
1041
1042//
1043// xor macro for ports = 2,3
1044//
1045//
1046
1047
1048
1049
1050
1051module ifu_ftu_err_dp_xor_macro__ports_2__width_1 (
1052 din0,
1053 din1,
1054 dout);
1055 input [0:0] din0;
1056 input [0:0] din1;
1057 output [0:0] dout;
1058
1059
1060
1061
1062
1063xor2 #(1) d0_0 (
1064.in0(din0[0:0]),
1065.in1(din1[0:0]),
1066.out(dout[0:0])
1067);
1068
1069
1070
1071
1072
1073
1074
1075
1076endmodule
1077
1078
1079
1080
1081
1082//
1083// buff macro
1084//
1085//
1086
1087
1088
1089
1090
1091module ifu_ftu_err_dp_buff_macro__dbuff_56x__width_4 (
1092 din,
1093 dout);
1094 input [3:0] din;
1095 output [3:0] dout;
1096
1097
1098
1099
1100
1101
1102buff #(4) d0_0 (
1103.in(din[3:0]),
1104.out(dout[3:0])
1105);
1106
1107
1108
1109
1110
1111
1112
1113
1114endmodule
1115
1116
1117
1118