1 // ---------------------------------------
3 (* abc9_lut=1, lib_whitebox *)
4 module LUT4(input A, B, C, D, output Z);
5 parameter [15:0] INIT = 16'h0000;
6 wire [7:0] s3 = D ? INIT[15:8] : INIT[7:0];
7 wire [3:0] s2 = C ? s3[ 7:4] : s3[3:0];
8 wire [1:0] s1 = B ? s2[ 3:2] : s2[1:0];
9 assign Z = A ? s1[1] : s1[0];
18 // This is a placeholder for ABC9 to extract the area/delay
19 // cost of 5-input LUTs and is not intended to be instantiated
20 // LUT5 = 2x LUT4 + PFUMX
22 module \$__ABC9_LUT5 (input M0, D, C, B, A, output Z);
32 // This is a placeholder for ABC9 to extract the area/delay
33 // of 6-input LUTs and is not intended to be instantiated
34 // LUT6 = 2x LUT5 + MUX2
36 module \$__ABC9_LUT6 (input M1, M0, D, C, B, A, output Z);
47 // This is a placeholder for ABC9 to extract the area/delay
48 // of 7-input LUTs and is not intended to be instantiated
49 // LUT7 = 2x LUT6 + MUX2
51 module \$__ABC9_LUT7 (input M2, M1, M0, D, C, B, A, output Z);
63 // ---------------------------------------
64 (* abc9_box, lib_whitebox *)
65 module L6MUX21 (input D0, D1, SD, output Z);
66 assign Z = SD ? D1 : D0;
74 // ---------------------------------------
75 (* abc9_box, lib_whitebox *)
79 input A0, B0, C0, D0, A1, B1, C1, D1,
84 parameter [15:0] INIT0 = 16'h0000;
85 parameter [15:0] INIT1 = 16'h0000;
86 parameter INJECT1_0 = "YES";
87 parameter INJECT1_1 = "YES";
91 LUT4 #(.INIT(INIT0)) lut4_0(.A(A0), .B(B0), .C(C0), .D(D0), .Z(LUT4_0));
92 LUT2 #(.INIT(INIT0[3:0])) lut2_0(.A(A0), .B(B0), .Z(LUT2_0));
93 wire gated_cin_0 = (INJECT1_0 == "YES") ? 1'b0 : CIN;
94 assign S0 = LUT4_0 ^ gated_cin_0;
96 wire gated_lut2_0 = (INJECT1_0 == "YES") ? 1'b0 : LUT2_0;
97 wire cout_0 = (~LUT4_0 & gated_lut2_0) | (LUT4_0 & CIN);
101 LUT4 #(.INIT(INIT1)) lut4_1(.A(A1), .B(B1), .C(C1), .D(D1), .Z(LUT4_1));
102 LUT2 #(.INIT(INIT1[3:0])) lut2_1(.A(A1), .B(B1), .Z(LUT2_1));
103 wire gated_cin_1 = (INJECT1_1 == "YES") ? 1'b0 : cout_0;
104 assign S1 = LUT4_1 ^ gated_cin_1;
106 wire gated_lut2_1 = (INJECT1_1 == "YES") ? 1'b0 : LUT2_1;
107 assign COUT = (~LUT4_1 & gated_lut2_1) | (LUT4_1 & cout_0);
136 // ---------------------------------------
138 module TRELLIS_RAM16X2 (
140 input WAD0, WAD1, WAD2, WAD3,
142 input RAD0, RAD1, RAD2, RAD3,
145 parameter WCKMUX = "WCK";
146 parameter WREMUX = "WRE";
147 parameter INITVAL_0 = 16'h0000;
148 parameter INITVAL_1 = 16'h0000;
154 for (i = 0; i < 16; i = i + 1)
155 mem[i] <= {INITVAL_1[i], INITVAL_0[i]};
158 wire muxwck = (WCKMUX == "INV") ? ~WCK : WCK;
165 "INV": muxwre = ~WRE;
166 default: muxwre = WRE;
170 always @(posedge muxwck)
172 mem[{WAD3, WAD2, WAD1, WAD0}] <= {DI1, DI0};
174 assign {DO1, DO0} = mem[{RAD3, RAD2, RAD1, RAD0}];
177 // ---------------------------------------
178 (* abc9_box, lib_whitebox *)
179 module PFUMX (input ALUT, BLUT, C0, output Z);
180 assign Z = C0 ? ALUT : BLUT;
188 // ---------------------------------------
189 (* abc9_box, lib_whitebox *)
190 module TRELLIS_DPR16X4 (
198 parameter WCKMUX = "WCK";
199 parameter WREMUX = "WRE";
200 parameter [63:0] INITVAL = 64'h0000000000000000;
206 for (i = 0; i < 16; i = i + 1)
207 mem[i] <= INITVAL[4*i +: 4];
210 wire muxwck = (WCKMUX == "INV") ? ~WCK : WCK;
217 "INV": muxwre = ~WRE;
218 default: muxwre = WRE;
221 always @(posedge muxwck)
225 assign DO = mem[RAD];
233 // ---------------------------------------
235 (* abc9_box, lib_whitebox *)
243 // For legacy Lattice compatibility, INITIVAL is a hex
244 // string rather than a numeric parameter
245 parameter INITVAL = "0x0000000000000000";
247 function [63:0] convert_initval;
248 input [143:0] hex_initval;
256 for (i = 0; i < 16; i = i + 1) begin
258 char = hex_initval[8*i +: 8];
259 if (char == "x") begin
262 if (char >= "0" && char <= "9")
263 temp[4*i +: 4] = char - "0";
264 else if (char >= "A" && char <= "F")
265 temp[4*i +: 4] = 10 + char - "A";
266 else if (char >= "a" && char <= "f")
267 temp[4*i +: 4] = 10 + char - "a";
271 convert_initval = temp;
275 localparam conv_initval = convert_initval(INITVAL);
280 for (i = 0; i < 15; i = i + 1) begin
281 ram[i] <= conv_initval[4*i +: 4];
285 always @(posedge WCK)
289 assign DO = ram[RAD];
297 // ---------------------------------------
300 module LUT2(input A, B, output Z);
301 parameter [3:0] INIT = 4'h0;
302 wire [1:0] s1 = B ? INIT[ 3:2] : INIT[1:0];
303 assign Z = A ? s1[1] : s1[0];
306 // ---------------------------------------
309 (* abc9_flop=(SRMODE != "ASYNC"), abc9_box=(SRMODE == "ASYNC"), lib_whitebox *)
311 module TRELLIS_FF(input CLK, LSR, CE, DI, M, output reg Q);
312 parameter GSR = "ENABLED";
313 parameter [127:0] CEMUX = "1";
314 parameter CLKMUX = "CLK";
315 parameter LSRMUX = "LSR";
316 parameter SRMODE = "LSR_OVER_CE";
317 parameter REGSET = "RESET";
318 parameter [127:0] LSRMODE = "LSR";
323 "1": assign muxce = 1'b1;
324 "0": assign muxce = 1'b0;
325 "INV": assign muxce = ~CE;
326 default: assign muxce = CE;
330 wire muxlsr = (LSRMUX == "INV") ? ~LSR : LSR;
331 wire muxclk = (CLKMUX == "INV") ? ~CLK : CLK;
334 if (LSRMODE == "PRLD")
337 assign srval = (REGSET == "SET") ? 1'b1 : 1'b0;
343 if (SRMODE == "ASYNC") begin
344 always @(posedge muxclk, posedge muxlsr)
350 always @(posedge muxclk)
359 $setup(DI, negedge CLK &&& CLKMUX == "INV", 0);
360 $setup(CE, negedge CLK &&& CLKMUX == "INV", 0);
361 $setup(LSR, negedge CLK &&& CLKMUX == "INV", 0);
362 $setup(DI, posedge CLK &&& CLKMUX != "INV", 0);
363 $setup(CE, posedge CLK &&& CLKMUX != "INV", 0);
364 $setup(LSR, posedge CLK &&& CLKMUX != "INV", 0);
366 if (SRMODE == "ASYNC" && muxlsr && CLKMUX == "INV") (negedge CLK => (Q : srval)) = 0;
367 if (SRMODE == "ASYNC" && muxlsr && CLKMUX != "INV") (posedge CLK => (Q : srval)) = 0;
369 if (SRMODE == "ASYNC" && muxlsr) (LSR => Q) = 0; // Technically, this should be an edge sensitive path
370 // but for facilitating a bypass box, let's pretend it's
373 if (!muxlsr && muxce && CLKMUX == "INV") (negedge CLK => (Q : DI)) = 0;
374 if (!muxlsr && muxce && CLKMUX != "INV") (posedge CLK => (Q : DI)) = 0;
378 // ---------------------------------------
386 parameter DIR = "INPUT";
388 always @(*) if (T === 1'bz) T_pd <= 1'b0; else T_pd <= T;
391 if (DIR == "INPUT") begin
394 end else if (DIR == "OUTPUT") begin
395 assign B = T_pd ? 1'bz : I;
397 end else if (DIR == "BIDIR") begin
398 assign B = T_pd ? 1'bz : I;
401 ERROR_UNKNOWN_IO_MODE error();
407 // ---------------------------------------
409 module INV(input A, output Z);
413 // ---------------------------------------
415 module TRELLIS_SLICE(
416 input A0, B0, C0, D0,
417 input A1, B1, C1, D1,
425 input WAD0, WAD1, WAD2, WAD3,
430 output FCO, OFX0, OFX1,
432 output WDO0, WDO1, WDO2, WDO3,
433 output WADO0, WADO1, WADO2, WADO3
436 parameter MODE = "LOGIC";
437 parameter GSR = "ENABLED";
438 parameter SRMODE = "LSR_OVER_CE";
439 parameter [127:0] CEMUX = "1";
440 parameter CLKMUX = "CLK";
441 parameter LSRMUX = "LSR";
442 parameter LUT0_INITVAL = 16'h0000;
443 parameter LUT1_INITVAL = 16'h0000;
444 parameter REG0_SD = "0";
445 parameter REG1_SD = "0";
446 parameter REG0_REGSET = "RESET";
447 parameter REG1_REGSET = "RESET";
448 parameter REG0_LSRMODE = "LSR";
449 parameter REG1_LSRMODE = "LSR";
450 parameter [127:0] CCU2_INJECT1_0 = "NO";
451 parameter [127:0] CCU2_INJECT1_1 = "NO";
452 parameter WREMUX = "WRE";
453 parameter WCKMUX = "WCK";
455 parameter A0MUX = "A0";
456 parameter A1MUX = "A1";
457 parameter B0MUX = "B0";
458 parameter B1MUX = "B1";
459 parameter C0MUX = "C0";
460 parameter C1MUX = "C1";
461 parameter D0MUX = "D0";
462 parameter D1MUX = "D1";
464 wire A0m, B0m, C0m, D0m;
465 wire A1m, B1m, C1m, D1m;
468 if (A0MUX == "1") assign A0m = 1'b1; else assign A0m = A0;
469 if (B0MUX == "1") assign B0m = 1'b1; else assign B0m = B0;
470 if (C0MUX == "1") assign C0m = 1'b1; else assign C0m = C0;
471 if (D0MUX == "1") assign D0m = 1'b1; else assign D0m = D0;
472 if (A1MUX == "1") assign A1m = 1'b1; else assign A1m = A1;
473 if (B1MUX == "1") assign B1m = 1'b1; else assign B1m = B1;
474 if (C1MUX == "1") assign C1m = 1'b1; else assign C1m = C1;
475 if (D1MUX == "1") assign D1m = 1'b1; else assign D1m = D1;
479 function [15:0] permute_initval;
480 input [15:0] initval;
483 for (i = 0; i < 16; i = i + 1) begin
484 permute_initval[{i[0], i[2], i[1], i[3]}] = initval[i];
490 if (MODE == "LOGIC") begin
495 .A(A0m), .B(B0m), .C(C0m), .D(D0m),
501 .A(A1m), .B(B1m), .C(C1m), .D(D1m),
504 // LUT expansion muxes
505 PFUMX lut5_mux (.ALUT(F1), .BLUT(F0), .C0(M0), .Z(OFX0));
506 L6MUX21 lutx_mux (.D0(FXA), .D1(FXB), .SD(M1), .Z(OFX1));
507 end else if (MODE == "CCU2") begin
509 .INIT0(LUT0_INITVAL),
510 .INIT1(LUT1_INITVAL),
511 .INJECT1_0(CCU2_INJECT1_0),
512 .INJECT1_1(CCU2_INJECT1_1)
515 .A0(A0m), .B0(B0m), .C0(C0m), .D0(D0m),
516 .A1(A1m), .B1(B1m), .C1(C1m), .D1(D1m),
520 end else if (MODE == "RAMW") begin
529 end else if (MODE == "DPRAM") begin
531 .INITVAL_0(permute_initval(LUT0_INITVAL)),
532 .INITVAL_1(permute_initval(LUT1_INITVAL)),
535 .DI0(WD0), .DI1(WD1),
536 .WAD0(WAD0), .WAD1(WAD1), .WAD2(WAD2), .WAD3(WAD3),
537 .WRE(WRE), .WCK(WCK),
538 .RAD0(D0m), .RAD1(B0m), .RAD2(C0m), .RAD3(A0m),
541 // TODO: confirm RAD and INITVAL ordering
542 // DPRAM mode contract?
552 ERROR_UNKNOWN_SLICE_MODE error();
556 // FF input selection muxes
557 wire muxdi0 = (REG0_SD == "1") ? DI0 : M0;
558 wire muxdi1 = (REG1_SD == "1") ? DI1 : M1;
566 .REGSET(REG0_REGSET),
567 .LSRMODE(REG0_LSRMODE)
569 .CLK(CLK), .LSR(LSR), .CE(CE),
579 .REGSET(REG1_REGSET),
580 .LSRMODE(REG1_LSRMODE)
582 .CLK(CLK), .LSR(LSR), .CE(CE),
590 input DIA17, DIA16, DIA15, DIA14, DIA13, DIA12, DIA11, DIA10, DIA9, DIA8, DIA7, DIA6, DIA5, DIA4, DIA3, DIA2, DIA1, DIA0,
591 input ADA13, ADA12, ADA11, ADA10, ADA9, ADA8, ADA7, ADA6, ADA5, ADA4, ADA3, ADA2, ADA1, ADA0,
592 input CEA, OCEA, CLKA, WEA, RSTA,
593 input CSA2, CSA1, CSA0,
594 output DOA17, DOA16, DOA15, DOA14, DOA13, DOA12, DOA11, DOA10, DOA9, DOA8, DOA7, DOA6, DOA5, DOA4, DOA3, DOA2, DOA1, DOA0,
596 input DIB17, DIB16, DIB15, DIB14, DIB13, DIB12, DIB11, DIB10, DIB9, DIB8, DIB7, DIB6, DIB5, DIB4, DIB3, DIB2, DIB1, DIB0,
597 input ADB13, ADB12, ADB11, ADB10, ADB9, ADB8, ADB7, ADB6, ADB5, ADB4, ADB3, ADB2, ADB1, ADB0,
598 input CEB, OCEB, CLKB, WEB, RSTB,
599 input CSB2, CSB1, CSB0,
600 output DOB17, DOB16, DOB15, DOB14, DOB13, DOB12, DOB11, DOB10, DOB9, DOB8, DOB7, DOB6, DOB5, DOB4, DOB3, DOB2, DOB1, DOB0
602 parameter DATA_WIDTH_A = 18;
603 parameter DATA_WIDTH_B = 18;
605 parameter REGMODE_A = "NOREG";
606 parameter REGMODE_B = "NOREG";
608 parameter RESETMODE = "SYNC";
609 parameter ASYNC_RESET_RELEASE = "SYNC";
611 parameter CSDECODE_A = "0b000";
612 parameter CSDECODE_B = "0b000";
614 parameter WRITEMODE_A = "NORMAL";
615 parameter WRITEMODE_B = "NORMAL";
617 parameter DIA17MUX = "DIA17";
618 parameter DIA16MUX = "DIA16";
619 parameter DIA15MUX = "DIA15";
620 parameter DIA14MUX = "DIA14";
621 parameter DIA13MUX = "DIA13";
622 parameter DIA12MUX = "DIA12";
623 parameter DIA11MUX = "DIA11";
624 parameter DIA10MUX = "DIA10";
625 parameter DIA9MUX = "DIA9";
626 parameter DIA8MUX = "DIA8";
627 parameter DIA7MUX = "DIA7";
628 parameter DIA6MUX = "DIA6";
629 parameter DIA5MUX = "DIA5";
630 parameter DIA4MUX = "DIA4";
631 parameter DIA3MUX = "DIA3";
632 parameter DIA2MUX = "DIA2";
633 parameter DIA1MUX = "DIA1";
634 parameter DIA0MUX = "DIA0";
635 parameter ADA13MUX = "ADA13";
636 parameter ADA12MUX = "ADA12";
637 parameter ADA11MUX = "ADA11";
638 parameter ADA10MUX = "ADA10";
639 parameter ADA9MUX = "ADA9";
640 parameter ADA8MUX = "ADA8";
641 parameter ADA7MUX = "ADA7";
642 parameter ADA6MUX = "ADA6";
643 parameter ADA5MUX = "ADA5";
644 parameter ADA4MUX = "ADA4";
645 parameter ADA3MUX = "ADA3";
646 parameter ADA2MUX = "ADA2";
647 parameter ADA1MUX = "ADA1";
648 parameter ADA0MUX = "ADA0";
649 parameter CEAMUX = "CEA";
650 parameter OCEAMUX = "OCEA";
651 parameter CLKAMUX = "CLKA";
652 parameter WEAMUX = "WEA";
653 parameter RSTAMUX = "RSTA";
654 parameter CSA2MUX = "CSA2";
655 parameter CSA1MUX = "CSA1";
656 parameter CSA0MUX = "CSA0";
657 parameter DOA17MUX = "DOA17";
658 parameter DOA16MUX = "DOA16";
659 parameter DOA15MUX = "DOA15";
660 parameter DOA14MUX = "DOA14";
661 parameter DOA13MUX = "DOA13";
662 parameter DOA12MUX = "DOA12";
663 parameter DOA11MUX = "DOA11";
664 parameter DOA10MUX = "DOA10";
665 parameter DOA9MUX = "DOA9";
666 parameter DOA8MUX = "DOA8";
667 parameter DOA7MUX = "DOA7";
668 parameter DOA6MUX = "DOA6";
669 parameter DOA5MUX = "DOA5";
670 parameter DOA4MUX = "DOA4";
671 parameter DOA3MUX = "DOA3";
672 parameter DOA2MUX = "DOA2";
673 parameter DOA1MUX = "DOA1";
674 parameter DOA0MUX = "DOA0";
675 parameter DIB17MUX = "DIB17";
676 parameter DIB16MUX = "DIB16";
677 parameter DIB15MUX = "DIB15";
678 parameter DIB14MUX = "DIB14";
679 parameter DIB13MUX = "DIB13";
680 parameter DIB12MUX = "DIB12";
681 parameter DIB11MUX = "DIB11";
682 parameter DIB10MUX = "DIB10";
683 parameter DIB9MUX = "DIB9";
684 parameter DIB8MUX = "DIB8";
685 parameter DIB7MUX = "DIB7";
686 parameter DIB6MUX = "DIB6";
687 parameter DIB5MUX = "DIB5";
688 parameter DIB4MUX = "DIB4";
689 parameter DIB3MUX = "DIB3";
690 parameter DIB2MUX = "DIB2";
691 parameter DIB1MUX = "DIB1";
692 parameter DIB0MUX = "DIB0";
693 parameter ADB13MUX = "ADB13";
694 parameter ADB12MUX = "ADB12";
695 parameter ADB11MUX = "ADB11";
696 parameter ADB10MUX = "ADB10";
697 parameter ADB9MUX = "ADB9";
698 parameter ADB8MUX = "ADB8";
699 parameter ADB7MUX = "ADB7";
700 parameter ADB6MUX = "ADB6";
701 parameter ADB5MUX = "ADB5";
702 parameter ADB4MUX = "ADB4";
703 parameter ADB3MUX = "ADB3";
704 parameter ADB2MUX = "ADB2";
705 parameter ADB1MUX = "ADB1";
706 parameter ADB0MUX = "ADB0";
707 parameter CEBMUX = "CEB";
708 parameter OCEBMUX = "OCEB";
709 parameter CLKBMUX = "CLKB";
710 parameter WEBMUX = "WEB";
711 parameter RSTBMUX = "RSTB";
712 parameter CSB2MUX = "CSB2";
713 parameter CSB1MUX = "CSB1";
714 parameter CSB0MUX = "CSB0";
715 parameter DOB17MUX = "DOB17";
716 parameter DOB16MUX = "DOB16";
717 parameter DOB15MUX = "DOB15";
718 parameter DOB14MUX = "DOB14";
719 parameter DOB13MUX = "DOB13";
720 parameter DOB12MUX = "DOB12";
721 parameter DOB11MUX = "DOB11";
722 parameter DOB10MUX = "DOB10";
723 parameter DOB9MUX = "DOB9";
724 parameter DOB8MUX = "DOB8";
725 parameter DOB7MUX = "DOB7";
726 parameter DOB6MUX = "DOB6";
727 parameter DOB5MUX = "DOB5";
728 parameter DOB4MUX = "DOB4";
729 parameter DOB3MUX = "DOB3";
730 parameter DOB2MUX = "DOB2";
731 parameter DOB1MUX = "DOB1";
732 parameter DOB0MUX = "DOB0";
736 parameter GSR = "ENABLED";
738 parameter INITVAL_00 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
739 parameter INITVAL_01 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
740 parameter INITVAL_02 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
741 parameter INITVAL_03 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
742 parameter INITVAL_04 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
743 parameter INITVAL_05 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
744 parameter INITVAL_06 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
745 parameter INITVAL_07 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
746 parameter INITVAL_08 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
747 parameter INITVAL_09 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
748 parameter INITVAL_0A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
749 parameter INITVAL_0B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
750 parameter INITVAL_0C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
751 parameter INITVAL_0D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
752 parameter INITVAL_0E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
753 parameter INITVAL_0F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
754 parameter INITVAL_10 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
755 parameter INITVAL_11 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
756 parameter INITVAL_12 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
757 parameter INITVAL_13 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
758 parameter INITVAL_14 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
759 parameter INITVAL_15 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
760 parameter INITVAL_16 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
761 parameter INITVAL_17 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
762 parameter INITVAL_18 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
763 parameter INITVAL_19 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
764 parameter INITVAL_1A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
765 parameter INITVAL_1B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
766 parameter INITVAL_1C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
767 parameter INITVAL_1D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
768 parameter INITVAL_1E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
769 parameter INITVAL_1F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
770 parameter INITVAL_20 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
771 parameter INITVAL_21 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
772 parameter INITVAL_22 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
773 parameter INITVAL_23 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
774 parameter INITVAL_24 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
775 parameter INITVAL_25 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
776 parameter INITVAL_26 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
777 parameter INITVAL_27 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
778 parameter INITVAL_28 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
779 parameter INITVAL_29 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
780 parameter INITVAL_2A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
781 parameter INITVAL_2B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
782 parameter INITVAL_2C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
783 parameter INITVAL_2D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
784 parameter INITVAL_2E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
785 parameter INITVAL_2F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
786 parameter INITVAL_30 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
787 parameter INITVAL_31 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
788 parameter INITVAL_32 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
789 parameter INITVAL_33 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
790 parameter INITVAL_34 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
791 parameter INITVAL_35 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
792 parameter INITVAL_36 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
793 parameter INITVAL_37 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
794 parameter INITVAL_38 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
795 parameter INITVAL_39 = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
796 parameter INITVAL_3A = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
797 parameter INITVAL_3B = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
798 parameter INITVAL_3C = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
799 parameter INITVAL_3D = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
800 parameter INITVAL_3E = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
801 parameter INITVAL_3F = 320'h00000000000000000000000000000000000000000000000000000000000000000000000000000000;
806 `include "cells_ff.vh"
807 `include "cells_io.vh"