1 // ---------------------------------------
3 module LUT4(input A, B, C, D, output Z);
4 parameter [15:0] INIT = 16'h0000;
5 wire [7:0] s3 = D ? INIT[15:8] : INIT[7:0];
6 wire [3:0] s2 = C ? s3[ 7:4] : s3[3:0];
7 wire [1:0] s1 = B ? s2[ 3:2] : s2[1:0];
8 assign Z = A ? s1[1] : s1[0];
11 // ---------------------------------------
12 (* abc_box_id=4, lib_whitebox *)
13 module L6MUX21 (input D0, D1, SD, output Z);
14 assign Z = SD ? D1 : D0;
17 // ---------------------------------------
18 (* abc_box_id=1, lib_whitebox *)
22 input A0, B0, C0, D0, A1, B1, C1, D1,
27 parameter [15:0] INIT0 = 16'h0000;
28 parameter [15:0] INIT1 = 16'h0000;
29 parameter INJECT1_0 = "YES";
30 parameter INJECT1_1 = "YES";
35 assign LUT4_0 = INIT0[{D0, C0, B0, A0}];
36 assign LUT2_0 = INIT0[{2'b00, B0, A0}];
38 LUT4 #(.INIT(INIT0)) lut4_0(.A(A0), .B(B0), .C(C0), .D(D0), .Z(LUT4_0));
39 LUT2 #(.INIT(INIT0[3:0])) lut2_0(.A(A0), .B(B0), .Z(LUT2_0));
41 wire gated_cin_0 = (INJECT1_0 == "YES") ? 1'b0 : CIN;
42 assign S0 = LUT4_0 ^ gated_cin_0;
44 wire gated_lut2_0 = (INJECT1_0 == "YES") ? 1'b0 : LUT2_0;
45 wire cout_0 = (~LUT4_0 & gated_lut2_0) | (LUT4_0 & CIN);
50 assign LUT4_1 = INIT1[{D1, C1, B1, A1}];
51 assign LUT2_1 = INIT1[{2'b00, B1, A1}];
53 LUT4 #(.INIT(INIT1)) lut4_1(.A(A1), .B(B1), .C(C1), .D(D1), .Z(LUT4_1));
54 LUT2 #(.INIT(INIT1[3:0])) lut2_1(.A(A1), .B(B1), .Z(LUT2_1));
56 wire gated_cin_1 = (INJECT1_1 == "YES") ? 1'b0 : cout_0;
57 assign S1 = LUT4_1 ^ gated_cin_1;
59 wire gated_lut2_1 = (INJECT1_1 == "YES") ? 1'b0 : LUT2_1;
60 assign COUT = (~LUT4_1 & gated_lut2_1) | (LUT4_1 & cout_0);
64 // ---------------------------------------
66 module TRELLIS_RAM16X2 (
68 input WAD0, WAD1, WAD2, WAD3,
70 input RAD0, RAD1, RAD2, RAD3,
73 parameter WCKMUX = "WCK";
74 parameter WREMUX = "WRE";
75 parameter INITVAL_0 = 16'h0000;
76 parameter INITVAL_1 = 16'h0000;
82 for (i = 0; i < 16; i = i + 1)
83 mem[i] <= {INITVAL_1[i], INITVAL_0[i]};
86 wire muxwck = (WCKMUX == "INV") ? ~WCK : WCK;
94 default: muxwre = WRE;
98 always @(posedge muxwck)
100 mem[{WAD3, WAD2, WAD1, WAD0}] <= {DI1, DI0};
102 assign {DO1, DO0} = mem[{RAD3, RAD2, RAD1, RAD0}];
105 // ---------------------------------------
106 (* abc_box_id=3, lib_whitebox *)
107 module PFUMX (input ALUT, BLUT, C0, output Z);
108 assign Z = C0 ? ALUT : BLUT;
111 // ---------------------------------------
112 module TRELLIS_DPR16X4 (
118 /* (* abc_arrival=<TODO> *) */
121 parameter WCKMUX = "WCK";
122 parameter WREMUX = "WRE";
123 parameter [63:0] INITVAL = 64'h0000000000000000;
129 for (i = 0; i < 16; i = i + 1)
130 mem[i] <= {INITVAL[i+3], INITVAL[i+2], INITVAL[i+1], INITVAL[i]};
133 wire muxwck = (WCKMUX == "INV") ? ~WCK : WCK;
140 "INV": muxwre = ~WRE;
141 default: muxwre = WRE;
144 always @(posedge muxwck)
148 assign DO = mem[RAD];
151 // ---------------------------------------
160 // For legacy Lattice compatibility, INITIVAL is a hex
161 // string rather than a numeric parameter
162 parameter INITVAL = "0x0000000000000000";
164 function [63:0] convert_initval;
165 input [143:0] hex_initval;
173 for (i = 0; i < 16; i = i + 1) begin
175 char = hex_initval[8*i +: 8];
176 if (char == "x") begin
179 if (char >= "0" && char <= "9")
180 temp[4*i +: 4] = char - "0";
181 else if (char >= "A" && char <= "F")
182 temp[4*i +: 4] = 10 + char - "A";
183 else if (char >= "a" && char <= "f")
184 temp[4*i +: 4] = 10 + char - "a";
188 convert_initval = temp;
192 localparam conv_initval = convert_initval(INITVAL);
197 for (i = 0; i < 15; i = i + 1) begin
198 ram[i] <= conv_initval[4*i +: 4];
202 always @(posedge WCK)
206 assign DO = ram[RAD];
210 // ---------------------------------------
212 module LUT2(input A, B, output Z);
213 parameter [3:0] INIT = 4'h0;
214 wire [1:0] s1 = B ? INIT[ 3:2] : INIT[1:0];
215 assign Z = A ? s1[1] : s1[0];
218 // ---------------------------------------
220 module TRELLIS_FF(input CLK, LSR, CE, DI, M, output reg Q);
221 parameter GSR = "ENABLED";
222 parameter [127:0] CEMUX = "1";
223 parameter CLKMUX = "CLK";
224 parameter LSRMUX = "LSR";
225 parameter SRMODE = "LSR_OVER_CE";
226 parameter REGSET = "RESET";
227 parameter [127:0] LSRMODE = "LSR";
232 "1": assign muxce = 1'b1;
233 "0": assign muxce = 1'b0;
234 "INV": assign muxce = ~CE;
235 default: assign muxce = CE;
239 wire muxlsr = (LSRMUX == "INV") ? ~LSR : LSR;
240 wire muxclk = (CLKMUX == "INV") ? ~CLK : CLK;
243 if (LSRMODE == "PRLD")
246 assign srval = (REGSET == "SET") ? 1'b1 : 1'b0;
252 if (SRMODE == "ASYNC") begin
253 always @(posedge muxclk, posedge muxlsr)
259 always @(posedge muxclk)
268 // ---------------------------------------
276 parameter DIR = "INPUT";
278 always @(*) if (T === 1'bz) T_pd <= 1'b0; else T_pd <= T;
281 if (DIR == "INPUT") begin
284 end else if (DIR == "OUTPUT") begin
285 assign B = T_pd ? 1'bz : I;
287 end else if (DIR == "BIDIR") begin
288 assign B = T_pd ? 1'bz : I;
291 ERROR_UNKNOWN_IO_MODE error();
297 // ---------------------------------------
299 module INV(input A, output Z);
303 // ---------------------------------------
305 module TRELLIS_SLICE(
306 input A0, B0, C0, D0,
307 input A1, B1, C1, D1,
315 input WAD0, WAD1, WAD2, WAD3,
320 output FCO, OFX0, OFX1,
322 output WDO0, WDO1, WDO2, WDO3,
323 output WADO0, WADO1, WADO2, WADO3
326 parameter MODE = "LOGIC";
327 parameter GSR = "ENABLED";
328 parameter SRMODE = "LSR_OVER_CE";
329 parameter [127:0] CEMUX = "1";
330 parameter CLKMUX = "CLK";
331 parameter LSRMUX = "LSR";
332 parameter LUT0_INITVAL = 16'h0000;
333 parameter LUT1_INITVAL = 16'h0000;
334 parameter REG0_SD = "0";
335 parameter REG1_SD = "0";
336 parameter REG0_REGSET = "RESET";
337 parameter REG1_REGSET = "RESET";
338 parameter REG0_LSRMODE = "LSR";
339 parameter REG1_LSRMODE = "LSR";
340 parameter [127:0] CCU2_INJECT1_0 = "NO";
341 parameter [127:0] CCU2_INJECT1_1 = "NO";
342 parameter WREMUX = "WRE";
343 parameter WCKMUX = "WCK";
345 parameter A0MUX = "A0";
346 parameter A1MUX = "A1";
347 parameter B0MUX = "B0";
348 parameter B1MUX = "B1";
349 parameter C0MUX = "C0";
350 parameter C1MUX = "C1";
351 parameter D0MUX = "D0";
352 parameter D1MUX = "D1";
354 wire A0m, B0m, C0m, D0m;
355 wire A1m, B1m, C1m, D1m;
358 if (A0MUX == "1") assign A0m = 1'b1; else assign A0m = A0;
359 if (B0MUX == "1") assign B0m = 1'b1; else assign B0m = B0;
360 if (C0MUX == "1") assign C0m = 1'b1; else assign C0m = C0;
361 if (D0MUX == "1") assign D0m = 1'b1; else assign D0m = D0;
362 if (A1MUX == "1") assign A1m = 1'b1; else assign A1m = A1;
363 if (B1MUX == "1") assign B1m = 1'b1; else assign B1m = B1;
364 if (C1MUX == "1") assign C1m = 1'b1; else assign C1m = C1;
365 if (D1MUX == "1") assign D1m = 1'b1; else assign D1m = D1;
369 function [15:0] permute_initval;
370 input [15:0] initval;
373 for (i = 0; i < 16; i = i + 1) begin
374 permute_initval[{i[0], i[2], i[1], i[3]}] = initval[i];
380 if (MODE == "LOGIC") begin
385 .A(A0m), .B(B0m), .C(C0m), .D(D0m),
391 .A(A1m), .B(B1m), .C(C1m), .D(D1m),
394 // LUT expansion muxes
395 PFUMX lut5_mux (.ALUT(F1), .BLUT(F0), .C0(M0), .Z(OFX0));
396 L6MUX21 lutx_mux (.D0(FXA), .D1(FXB), .SD(M1), .Z(OFX1));
397 end else if (MODE == "CCU2") begin
399 .INIT0(LUT0_INITVAL),
400 .INIT1(LUT1_INITVAL),
401 .INJECT1_0(CCU2_INJECT1_0),
402 .INJECT1_1(CCU2_INJECT1_1)
405 .A0(A0m), .B0(B0m), .C0(C0m), .D0(D0m),
406 .A1(A1m), .B1(B1m), .C1(C1m), .D1(D1m),
410 end else if (MODE == "RAMW") begin
419 end else if (MODE == "DPRAM") begin
421 .INITVAL_0(permute_initval(LUT0_INITVAL)),
422 .INITVAL_1(permute_initval(LUT1_INITVAL)),
425 .DI0(WD0), .DI1(WD1),
426 .WAD0(WAD0), .WAD1(WAD1), .WAD2(WAD2), .WAD3(WAD3),
427 .WRE(WRE), .WCK(WCK),
428 .RAD0(D0m), .RAD1(B0m), .RAD2(C0m), .RAD3(A0m),
431 // TODO: confirm RAD and INITVAL ordering
432 // DPRAM mode contract?
442 ERROR_UNKNOWN_SLICE_MODE error();
446 // FF input selection muxes
447 wire muxdi0 = (REG0_SD == "1") ? DI0 : M0;
448 wire muxdi1 = (REG1_SD == "1") ? DI1 : M1;
456 .REGSET(REG0_REGSET),
457 .LSRMODE(REG0_LSRMODE)
459 .CLK(CLK), .LSR(LSR), .CE(CE),
469 .REGSET(REG1_REGSET),
470 .LSRMODE(REG1_LSRMODE)
472 .CLK(CLK), .LSR(LSR), .CE(CE),
480 input DIA17, DIA16, DIA15, DIA14, DIA13, DIA12, DIA11, DIA10, DIA9, DIA8, DIA7, DIA6, DIA5, DIA4, DIA3, DIA2, DIA1, DIA0,
481 input ADA13, ADA12, ADA11, ADA10, ADA9, ADA8, ADA7, ADA6, ADA5, ADA4, ADA3, ADA2, ADA1, ADA0,
482 input CEA, OCEA, CLKA, WEA, RSTA,
483 input CSA2, CSA1, CSA0,
484 output DOA17, DOA16, DOA15, DOA14, DOA13, DOA12, DOA11, DOA10, DOA9, DOA8, DOA7, DOA6, DOA5, DOA4, DOA3, DOA2, DOA1, DOA0,
486 input DIB17, DIB16, DIB15, DIB14, DIB13, DIB12, DIB11, DIB10, DIB9, DIB8, DIB7, DIB6, DIB5, DIB4, DIB3, DIB2, DIB1, DIB0,
487 input ADB13, ADB12, ADB11, ADB10, ADB9, ADB8, ADB7, ADB6, ADB5, ADB4, ADB3, ADB2, ADB1, ADB0,
488 input CEB, OCEB, CLKB, WEB, RSTB,
489 input CSB2, CSB1, CSB0,
490 output DOB17, DOB16, DOB15, DOB14, DOB13, DOB12, DOB11, DOB10, DOB9, DOB8, DOB7, DOB6, DOB5, DOB4, DOB3, DOB2, DOB1, DOB0
492 parameter DATA_WIDTH_A = 18;
493 parameter DATA_WIDTH_B = 18;
495 parameter REGMODE_A = "NOREG";
496 parameter REGMODE_B = "NOREG";
498 parameter RESETMODE = "SYNC";
499 parameter ASYNC_RESET_RELEASE = "SYNC";
501 parameter CSDECODE_A = "0b000";
502 parameter CSDECODE_B = "0b000";
504 parameter WRITEMODE_A = "NORMAL";
505 parameter WRITEMODE_B = "NORMAL";
507 parameter DIA17MUX = "DIA17";
508 parameter DIA16MUX = "DIA16";
509 parameter DIA15MUX = "DIA15";
510 parameter DIA14MUX = "DIA14";
511 parameter DIA13MUX = "DIA13";
512 parameter DIA12MUX = "DIA12";
513 parameter DIA11MUX = "DIA11";
514 parameter DIA10MUX = "DIA10";
515 parameter DIA9MUX = "DIA9";
516 parameter DIA8MUX = "DIA8";
517 parameter DIA7MUX = "DIA7";
518 parameter DIA6MUX = "DIA6";
519 parameter DIA5MUX = "DIA5";
520 parameter DIA4MUX = "DIA4";
521 parameter DIA3MUX = "DIA3";
522 parameter DIA2MUX = "DIA2";
523 parameter DIA1MUX = "DIA1";
524 parameter DIA0MUX = "DIA0";
525 parameter ADA13MUX = "ADA13";
526 parameter ADA12MUX = "ADA12";
527 parameter ADA11MUX = "ADA11";
528 parameter ADA10MUX = "ADA10";
529 parameter ADA9MUX = "ADA9";
530 parameter ADA8MUX = "ADA8";
531 parameter ADA7MUX = "ADA7";
532 parameter ADA6MUX = "ADA6";
533 parameter ADA5MUX = "ADA5";
534 parameter ADA4MUX = "ADA4";
535 parameter ADA3MUX = "ADA3";
536 parameter ADA2MUX = "ADA2";
537 parameter ADA1MUX = "ADA1";
538 parameter ADA0MUX = "ADA0";
539 parameter CEAMUX = "CEA";
540 parameter OCEAMUX = "OCEA";
541 parameter CLKAMUX = "CLKA";
542 parameter WEAMUX = "WEA";
543 parameter RSTAMUX = "RSTA";
544 parameter CSA2MUX = "CSA2";
545 parameter CSA1MUX = "CSA1";
546 parameter CSA0MUX = "CSA0";
547 parameter DOA17MUX = "DOA17";
548 parameter DOA16MUX = "DOA16";
549 parameter DOA15MUX = "DOA15";
550 parameter DOA14MUX = "DOA14";
551 parameter DOA13MUX = "DOA13";
552 parameter DOA12MUX = "DOA12";
553 parameter DOA11MUX = "DOA11";
554 parameter DOA10MUX = "DOA10";
555 parameter DOA9MUX = "DOA9";
556 parameter DOA8MUX = "DOA8";
557 parameter DOA7MUX = "DOA7";
558 parameter DOA6MUX = "DOA6";
559 parameter DOA5MUX = "DOA5";
560 parameter DOA4MUX = "DOA4";
561 parameter DOA3MUX = "DOA3";
562 parameter DOA2MUX = "DOA2";
563 parameter DOA1MUX = "DOA1";
564 parameter DOA0MUX = "DOA0";
565 parameter DIB17MUX = "DIB17";
566 parameter DIB16MUX = "DIB16";
567 parameter DIB15MUX = "DIB15";
568 parameter DIB14MUX = "DIB14";
569 parameter DIB13MUX = "DIB13";
570 parameter DIB12MUX = "DIB12";
571 parameter DIB11MUX = "DIB11";
572 parameter DIB10MUX = "DIB10";
573 parameter DIB9MUX = "DIB9";
574 parameter DIB8MUX = "DIB8";
575 parameter DIB7MUX = "DIB7";
576 parameter DIB6MUX = "DIB6";
577 parameter DIB5MUX = "DIB5";
578 parameter DIB4MUX = "DIB4";
579 parameter DIB3MUX = "DIB3";
580 parameter DIB2MUX = "DIB2";
581 parameter DIB1MUX = "DIB1";
582 parameter DIB0MUX = "DIB0";
583 parameter ADB13MUX = "ADB13";
584 parameter ADB12MUX = "ADB12";
585 parameter ADB11MUX = "ADB11";
586 parameter ADB10MUX = "ADB10";
587 parameter ADB9MUX = "ADB9";
588 parameter ADB8MUX = "ADB8";
589 parameter ADB7MUX = "ADB7";
590 parameter ADB6MUX = "ADB6";
591 parameter ADB5MUX = "ADB5";
592 parameter ADB4MUX = "ADB4";
593 parameter ADB3MUX = "ADB3";
594 parameter ADB2MUX = "ADB2";
595 parameter ADB1MUX = "ADB1";
596 parameter ADB0MUX = "ADB0";
597 parameter CEBMUX = "CEB";
598 parameter OCEBMUX = "OCEB";
599 parameter CLKBMUX = "CLKB";
600 parameter WEBMUX = "WEB";
601 parameter RSTBMUX = "RSTB";
602 parameter CSB2MUX = "CSB2";
603 parameter CSB1MUX = "CSB1";
604 parameter CSB0MUX = "CSB0";
605 parameter DOB17MUX = "DOB17";
606 parameter DOB16MUX = "DOB16";
607 parameter DOB15MUX = "DOB15";
608 parameter DOB14MUX = "DOB14";
609 parameter DOB13MUX = "DOB13";
610 parameter DOB12MUX = "DOB12";
611 parameter DOB11MUX = "DOB11";
612 parameter DOB10MUX = "DOB10";
613 parameter DOB9MUX = "DOB9";
614 parameter DOB8MUX = "DOB8";
615 parameter DOB7MUX = "DOB7";
616 parameter DOB6MUX = "DOB6";
617 parameter DOB5MUX = "DOB5";
618 parameter DOB4MUX = "DOB4";
619 parameter DOB3MUX = "DOB3";
620 parameter DOB2MUX = "DOB2";
621 parameter DOB1MUX = "DOB1";
622 parameter DOB0MUX = "DOB0";
626 parameter GSR = "ENABLED";
628 parameter INITVAL_00 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
629 parameter INITVAL_01 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
630 parameter INITVAL_02 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
631 parameter INITVAL_03 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
632 parameter INITVAL_04 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
633 parameter INITVAL_05 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
634 parameter INITVAL_06 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
635 parameter INITVAL_07 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
636 parameter INITVAL_08 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
637 parameter INITVAL_09 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
638 parameter INITVAL_0A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
639 parameter INITVAL_0B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
640 parameter INITVAL_0C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
641 parameter INITVAL_0D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
642 parameter INITVAL_0E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
643 parameter INITVAL_0F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
644 parameter INITVAL_10 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
645 parameter INITVAL_11 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
646 parameter INITVAL_12 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
647 parameter INITVAL_13 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
648 parameter INITVAL_14 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
649 parameter INITVAL_15 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
650 parameter INITVAL_16 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
651 parameter INITVAL_17 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
652 parameter INITVAL_18 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
653 parameter INITVAL_19 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
654 parameter INITVAL_1A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
655 parameter INITVAL_1B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
656 parameter INITVAL_1C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
657 parameter INITVAL_1D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
658 parameter INITVAL_1E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
659 parameter INITVAL_1F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
660 parameter INITVAL_20 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
661 parameter INITVAL_21 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
662 parameter INITVAL_22 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
663 parameter INITVAL_23 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
664 parameter INITVAL_24 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
665 parameter INITVAL_25 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
666 parameter INITVAL_26 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
667 parameter INITVAL_27 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
668 parameter INITVAL_28 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
669 parameter INITVAL_29 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
670 parameter INITVAL_2A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
671 parameter INITVAL_2B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
672 parameter INITVAL_2C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
673 parameter INITVAL_2D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
674 parameter INITVAL_2E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
675 parameter INITVAL_2F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
676 parameter INITVAL_30 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
677 parameter INITVAL_31 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
678 parameter INITVAL_32 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
679 parameter INITVAL_33 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
680 parameter INITVAL_34 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
681 parameter INITVAL_35 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
682 parameter INITVAL_36 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
683 parameter INITVAL_37 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
684 parameter INITVAL_38 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
685 parameter INITVAL_39 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
686 parameter INITVAL_3A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
687 parameter INITVAL_3B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
688 parameter INITVAL_3C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
689 parameter INITVAL_3D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
690 parameter INITVAL_3E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
691 parameter INITVAL_3F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
696 `include "cells_ff.vh"
697 `include "cells_io.vh"