Initial commit of OpenSPARC T2 design and verification files.
[OpenSPARC-T2-DV] / design / sys / iop / l2t / rtl / l2t_pgen32b_dp.v
CommitLineData
86530b38
AT
1// ========== Copyright Header Begin ==========================================
2//
3// OpenSPARC T2 Processor File: l2t_pgen32b_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 l2t_pgen32b_dp (
36 parity,
37 dout,
38 din);
39wire dout_p0_1;
40wire dout_p0_2;
41wire dout_p0_3;
42wire dout_p0_4;
43wire dout_p0_5;
44wire dout_p0_6;
45wire dout_p0_7;
46wire dout_p0_8;
47wire dout_p1_1;
48wire dout_p1_2;
49wire dout_p1_3;
50wire dout_p1_4;
51wire dout_p1_5;
52wire dout_p1_6;
53wire dout_p1_7;
54wire dout_p1_8;
55wire dout_p2_1;
56wire dout_p2_2;
57wire dout_p2_3;
58wire dout_p2_4;
59wire dout_p2_5;
60wire dout_p2_6;
61wire dout_p2_7;
62wire dout_p2_8;
63wire dout_p3_1;
64wire dout_p3_2;
65wire dout_p3_3;
66wire dout_p3_4;
67wire dout_p4_1;
68wire dout_p4_2;
69wire dout_p4_3;
70wire dout_p4_4;
71wire dout_p5_1;
72wire dout_p6_1;
73wire dout_p6_2;
74wire dout_p6_3;
75wire dout_p6_4;
76wire dout_p6_5;
77wire dout_p6_6;
78wire dout_p6_7;
79wire dout_p6_8;
80
81
82output [6:0] parity;
83output [31:0] dout;
84
85input [31:0] din;
86
87
88assign dout = din;
89
90
91l2t_vlddir_dp_xor_macro__dxor_8x__ports_3__width_1 P0_1 (
92 .dout(dout_p0_1),
93 .din0(din[0]),
94 .din1(din[1]),
95 .din2(din[3])
96);
97
98
99l2t_vlddir_dp_xor_macro__dxor_8x__ports_3__width_1 P0_2 (
100 .dout(dout_p0_2),
101 .din0(din[4]),
102 .din1(din[6]),
103 .din2(din[8])
104);
105
106l2t_vlddir_dp_xor_macro__dxor_8x__ports_3__width_1 P0_3 (
107 .dout(dout_p0_3),
108 .din0(din[10]),
109 .din1(din[11]),
110 .din2(din[13])
111);
112
113l2t_vlddir_dp_xor_macro__dxor_8x__ports_3__width_1 P0_4 (
114 .dout(dout_p0_4),
115 .din0(din[15]),
116 .din1(din[17]),
117 .din2(din[19])
118);
119
120l2t_vlddir_dp_xor_macro__dxor_8x__ports_3__width_1 P0_5 (
121 .dout(dout_p0_5),
122 .din0(din[21]),
123 .din1(din[23]),
124 .din2(din[25])
125);
126
127l2t_vlddir_dp_xor_macro__dxor_8x__ports_3__width_1 P0_6 (
128 .dout(dout_p0_6),
129 .din0(din[26]),
130 .din1(din[28]),
131 .din2(din[30])
132);
133
134l2t_vlddir_dp_xor_macro__dxor_8x__ports_3__width_1 P0_7 (
135 .dout(dout_p0_7),
136 .din0(dout_p0_1),
137 .din1(dout_p0_2),
138 .din2(dout_p0_3)
139);
140
141l2t_vlddir_dp_xor_macro__dxor_8x__ports_3__width_1 P0_8 (
142 .dout(dout_p0_8),
143 .din0(dout_p0_4),
144 .din1(dout_p0_5),
145 .din2(dout_p0_6)
146);
147
148l2t_vlddir_dp_xor_macro__dxor_8x__ports_2__width_1 P0_9 (
149 .dout(parity[0]),
150 .din0(dout_p0_7),
151 .din1(dout_p0_8)
152);
153
154l2t_vlddir_dp_xor_macro__dxor_8x__ports_3__width_1 P1_1 (
155 .dout(dout_p1_1),
156 .din0(din[0]),
157 .din1(din[2]),
158 .din2(din[3])
159);
160
161l2t_vlddir_dp_xor_macro__dxor_8x__ports_3__width_1 P1_2 (
162 .dout(dout_p1_2),
163 .din0(din[5]),
164 .din1(din[6]),
165 .din2(din[9])
166);
167
168l2t_vlddir_dp_xor_macro__dxor_8x__ports_3__width_1 P1_3 (
169 .dout(dout_p1_3),
170 .din0(din[10]),
171 .din1(din[12]),
172 .din2(din[13])
173);
174
175l2t_vlddir_dp_xor_macro__dxor_8x__ports_3__width_1 P1_4 (
176 .dout(dout_p1_4),
177 .din0(din[16]),
178 .din1(din[17]),
179 .din2(din[20])
180);
181
182l2t_vlddir_dp_xor_macro__dxor_8x__ports_3__width_1 P1_5 (
183 .dout(dout_p1_5),
184 .din0(din[21]),
185 .din1(din[24]),
186 .din2(din[25])
187);
188
189l2t_vlddir_dp_xor_macro__dxor_8x__ports_3__width_1 P1_6 (
190 .dout(dout_p1_6),
191 .din0(din[27]),
192 .din1(din[28]),
193 .din2(din[31])
194);
195
196l2t_vlddir_dp_xor_macro__dxor_8x__ports_3__width_1 P1_7 (
197 .dout(dout_p1_7),
198 .din0(dout_p1_1),
199 .din1(dout_p1_2),
200 .din2(dout_p1_3)
201);
202
203l2t_vlddir_dp_xor_macro__dxor_8x__ports_3__width_1 P1_8 (
204 .dout(dout_p1_8),
205 .din0(dout_p1_4),
206 .din1(dout_p1_5),
207 .din2(dout_p1_6)
208);
209
210l2t_vlddir_dp_xor_macro__dxor_8x__ports_2__width_1 P1_9 (
211 .dout(parity[1]),
212 .din0(dout_p1_7),
213 .din1(dout_p1_8)
214);
215
216l2t_vlddir_dp_xor_macro__dxor_8x__ports_3__width_1 P2_1 (
217 .dout(dout_p2_1),
218 .din0(din[1]),
219 .din1(din[2]),
220 .din2(din[3])
221);
222
223l2t_vlddir_dp_xor_macro__dxor_8x__ports_3__width_1 P2_2 (
224 .dout(dout_p2_2),
225 .din0(din[7]),
226 .din1(din[8]),
227 .din2(din[9])
228);
229
230l2t_vlddir_dp_xor_macro__dxor_8x__ports_3__width_1 P2_3 (
231 .dout(dout_p2_3),
232 .din0(din[10]),
233 .din1(din[14]),
234 .din2(din[15])
235);
236
237l2t_vlddir_dp_xor_macro__dxor_8x__ports_3__width_1 P2_4 (
238 .dout(dout_p2_4),
239 .din0(din[16]),
240 .din1(din[17]),
241 .din2(din[22])
242);
243
244l2t_vlddir_dp_xor_macro__dxor_8x__ports_3__width_1 P2_5 (
245 .dout(dout_p2_5),
246 .din0(din[23]),
247 .din1(din[24]),
248 .din2(din[25])
249);
250
251l2t_vlddir_dp_xor_macro__dxor_8x__ports_3__width_1 P2_6 (
252 .dout(dout_p2_6),
253 .din0(din[29]),
254 .din1(din[30]),
255 .din2(din[31])
256);
257
258l2t_vlddir_dp_xor_macro__dxor_8x__ports_3__width_1 P2_7 (
259 .dout(dout_p2_7),
260 .din0(dout_p2_1),
261 .din1(dout_p2_2),
262 .din2(dout_p2_3)
263);
264
265l2t_vlddir_dp_xor_macro__dxor_8x__ports_3__width_1 P2_8 (
266 .dout(dout_p2_8),
267 .din0(dout_p2_4),
268 .din1(dout_p2_5),
269 .din2(dout_p2_6)
270);
271
272l2t_vlddir_dp_xor_macro__dxor_8x__ports_2__width_1 P2_9 (
273 .dout(parity[2]),
274 .din0(dout_p2_7),
275 .din1(dout_p2_8)
276);
277
278l2t_vlddir_dp_xor_macro__dxor_8x__ports_3__width_1 P3_1 (
279 .dout(dout_p3_1),
280 .din0(din[4]),
281 .din1(din[5]),
282 .din2(din[6])
283);
284
285
286l2t_vlddir_dp_xor_macro__dxor_8x__ports_3__width_1 P3_2 (
287 .dout(dout_p3_2),
288 .din0(din[10]),
289 .din1(din[18]),
290 .din2(din[19])
291);
292
293l2t_vlddir_dp_xor_macro__dxor_8x__ports_3__width_1 P3_3 (
294 .dout(dout_p3_3),
295 .din0(din[20]),
296 .din1(din[21]),
297 .din2(din[22])
298);
299
300
301l2t_vlddir_dp_xor_macro__dxor_8x__ports_3__width_1 P3_4 (
302 .dout(dout_p3_4),
303 .din0(dout_p3_1),
304 .din1(dout_p2_2),
305 .din2(dout_p3_2)
306);
307
308l2t_vlddir_dp_xor_macro__dxor_8x__ports_3__width_1 P3_5 (
309 .dout(parity[3]),
310 .din0(dout_p3_4),
311 .din1(dout_p2_5),
312 .din2(dout_p3_3)
313);
314
315l2t_vlddir_dp_xor_macro__dxor_8x__ports_3__width_1 P4_1 (
316 .dout(dout_p4_1),
317 .din0(din[11]),
318 .din1(din[12]),
319 .din2(din[13])
320);
321
322l2t_vlddir_dp_xor_macro__dxor_8x__ports_3__width_1 P4_2 (
323 .dout(dout_p4_2),
324 .din0(din[14]),
325 .din1(din[15]),
326 .din2(din[16])
327);
328
329l2t_vlddir_dp_xor_macro__dxor_8x__ports_3__width_1 P4_3 (
330 .dout(dout_p4_3),
331 .din0(din[17]),
332 .din1(din[18]),
333 .din2(din[19])
334);
335
336l2t_vlddir_dp_xor_macro__dxor_8x__ports_3__width_1 P4_4 (
337 .dout(dout_p4_4),
338 .din0(dout_p4_1),
339 .din1(dout_p4_2),
340 .din2(dout_p4_3)
341);
342
343l2t_vlddir_dp_xor_macro__dxor_8x__ports_3__width_1 P4_5 (
344 .dout(parity[4]),
345 .din0(dout_p4_4),
346 .din1(dout_p2_5),
347 .din2(dout_p3_3)
348);
349
350l2t_vlddir_dp_xor_macro__dxor_8x__ports_3__width_1 P5_1 (
351 .dout(dout_p5_1),
352 .din0(din[26]),
353 .din1(din[27]),
354 .din2(din[28])
355);
356
357l2t_vlddir_dp_xor_macro__dxor_8x__ports_2__width_1 P5_2 (
358 .dout(parity[5]),
359 .din0(dout_p2_6),
360 .din1(dout_p5_1)
361);
362
363l2t_vlddir_dp_xor_macro__dxor_8x__ports_3__width_1 P6_1 (
364 .dout(dout_p6_1),
365 .din0(din[0]),
366 .din1(din[1]),
367 .din2(din[2])
368);
369
370l2t_vlddir_dp_xor_macro__dxor_8x__ports_3__width_1 P6_2 (
371 .dout(dout_p6_2),
372 .din0(din[4]),
373 .din1(din[5]),
374 .din2(din[7])
375);
376
377l2t_vlddir_dp_xor_macro__dxor_8x__ports_3__width_1 P6_3 (
378 .dout(dout_p6_3),
379 .din0(din[10]),
380 .din1(din[11]),
381 .din2(din[12])
382);
383
384l2t_vlddir_dp_xor_macro__dxor_8x__ports_3__width_1 P6_4 (
385 .dout(dout_p6_4),
386 .din0(din[14]),
387 .din1(din[17]),
388 .din2(din[18])
389);
390
391l2t_vlddir_dp_xor_macro__dxor_8x__ports_3__width_1 P6_5 (
392 .dout(dout_p6_5),
393 .din0(din[21]),
394 .din1(din[23]),
395 .din2(din[24])
396);
397
398l2t_vlddir_dp_xor_macro__dxor_8x__ports_3__width_1 P6_6 (
399 .dout(dout_p6_6),
400 .din0(din[26]),
401 .din1(din[27]),
402 .din2(din[29])
403);
404
405l2t_vlddir_dp_xor_macro__dxor_8x__ports_3__width_1 P6_7 (
406 .dout(dout_p6_7),
407 .din0(dout_p6_1),
408 .din1(dout_p6_2),
409 .din2(dout_p6_3)
410);
411
412l2t_vlddir_dp_xor_macro__dxor_8x__ports_3__width_1 P6_8 (
413 .dout(dout_p6_8),
414 .din0(dout_p6_4),
415 .din1(dout_p6_5),
416 .din2(dout_p6_6)
417);
418
419l2t_vlddir_dp_xor_macro__dxor_8x__ports_2__width_1 P6_9 (
420 .dout(parity[6]),
421 .din0(dout_p6_7),
422 .din1(dout_p6_8)
423);
424
425
426
427endmodule