1 (* abc9_lut=1, lib_whitebox *)
6 parameter [1:0] INIT = 0;
7 parameter EQN = "(I0)";
9 // These timings are for PolarPro 3E; other families will need updating.
11 (I0 => O) = 698; // FS -> FZ
14 assign O = I0 ? INIT[1] : INIT[0];
18 (* abc9_lut=2, lib_whitebox *)
23 parameter [3:0] INIT = 4'h0;
24 parameter EQN = "(I0)";
26 // These timings are for PolarPro 3E; other families will need updating.
28 (I0 => O) = 1251; // TAB -> TZ
29 (I1 => O) = 1406; // TSL -> TZ
32 wire [1:0] s1 = I1 ? INIT[3:2] : INIT[1:0];
33 assign O = I0 ? s1[1] : s1[0];
36 (* abc9_lut=2, lib_whitebox *)
41 parameter [7:0] INIT = 8'h0;
42 parameter EQN = "(I0)";
44 // These timings are for PolarPro 3E; other families will need updating.
46 (I0 => O) = 1251; // TAB -> TZ
47 (I1 => O) = 1406; // TSL -> TZ
48 (I2 => O) = 1699; // ('TA1', 'TA2', 'TB1', 'TB2') -> TZ
51 wire [3:0] s2 = I2 ? INIT[7:4] : INIT[3:0];
52 wire [1:0] s1 = I1 ? s2[3:2] : s2[1:0];
53 assign O = I0 ? s1[1] : s1[0];
56 (* abc9_lut=4, lib_whitebox *)
61 parameter [15:0] INIT = 16'h0;
62 parameter EQN = "(I0)";
64 // These timings are for PolarPro 3E; other families will need updating.
66 (I0 => O) = 995; // TBS -> CZ
67 (I1 => O) = 1437; // ('TAB', 'BAB') -> CZ
68 (I2 => O) = 1593; // ('TSL', 'BSL') -> CZ
69 (I3 => O) = 1887; // ('TA1', 'TA2', 'TB1', 'TB2', 'BA1', 'BA2', 'BB1', 'BB2') -> CZ
72 wire [7:0] s3 = I3 ? INIT[15:8] : INIT[7:0];
73 wire [3:0] s2 = I2 ? s3[7:4] : s3[3:0];
74 wire [1:0] s1 = I1 ? s2[3:2] : s2[1:0];
75 assign O = I0 ? s1[1] : s1[0];