667d853daae3067dcbcbe49d42e38ad87ab35199
[yosys.git] / techlibs / greenpak4 / cells_map.v
1 module \$_DFF_P_ (input D, C, output Q);
2 GP_DFF _TECHMAP_REPLACE_ (
3 .D(D),
4 .Q(Q),
5 .CLK(C),
6 .nRSTZ(1'b1),
7 .nSETZ(1'b1)
8 );
9 endmodule
10
11 module \$_DFFSR_PNN_ (input C, S, R, D, output Q);
12 GP_DFF _TECHMAP_REPLACE_ (
13 .D(D),
14 .Q(Q),
15 .CLK(C),
16 .nRSTZ(R),
17 .nSETZ(S)
18 );
19 endmodule
20
21 module \$lut (A, Y);
22 parameter WIDTH = 0;
23 parameter LUT = 0;
24
25 input [WIDTH-1:0] A;
26 output Y;
27
28 generate
29 if (WIDTH == 1) begin
30 GP_2LUT #(.INIT({2'b00, LUT})) _TECHMAP_REPLACE_ (.OUT(Y),
31 .IN0(A[0]), .IN1(1'b0));
32 end else
33 if (WIDTH == 2) begin
34 GP_2LUT #(.INIT(LUT)) _TECHMAP_REPLACE_ (.OUT(Y),
35 .IN0(A[0]), .IN1(A[1]));
36 end else
37 if (WIDTH == 3) begin
38 GP_3LUT #(.INIT(LUT)) _TECHMAP_REPLACE_ (.OUT(Y),
39 .IN0(A[0]), .IN1(A[1]), .IN2(A[2]));
40 end else
41 if (WIDTH == 4) begin
42 GP_4LUT #(.INIT(LUT)) _TECHMAP_REPLACE_ (.OUT(Y),
43 .IN0(A[0]), .IN1(A[1]), .IN2(A[2]), .IN3(A[3]));
44 end else begin
45 wire _TECHMAP_FAIL_ = 1;
46 end
47 endgenerate
48 endmodule