| (* techmap_celltype = "$_NOT_" *) | |
| module _90_lut_not (A, Y); | |
| input A; | |
| output Y; | |
| wire [`LUT_WIDTH-1:0] AA; | |
| assign AA = {A}; | |
| \$lut #( | |
| .WIDTH(`LUT_WIDTH), | |
| .LUT(4'b01) | |
| ) lut ( | |
| .A(AA), | |
| .Y(Y) | |
| ); | |
| endmodule | |
| (* techmap_celltype = "$_OR_" *) | |
| module _90_lut_or (A, B, Y); | |
| input A, B; | |
| output Y; | |
| wire [`LUT_WIDTH-1:0] AA; | |
| assign AA = {B, A}; | |
| \$lut #( | |
| .WIDTH(`LUT_WIDTH), | |
| .LUT(4'b1110) | |
| ) lut ( | |
| .A(AA), | |
| .Y(Y) | |
| ); | |
| endmodule | |
| (* techmap_celltype = "$_AND_" *) | |
| module _90_lut_and (A, B, Y); | |
| input A, B; | |
| output Y; | |
| wire [`LUT_WIDTH-1:0] AA; | |
| assign AA = {B, A}; | |
| \$lut #( | |
| .WIDTH(`LUT_WIDTH), | |
| .LUT(4'b1000) | |
| ) lut ( | |
| .A(AA), | |
| .Y(Y) | |
| ); | |
| endmodule | |
| (* techmap_celltype = "$_XOR_" *) | |
| module _90_lut_xor (A, B, Y); | |
| input A, B; | |
| output Y; | |
| wire [`LUT_WIDTH-1:0] AA; | |
| assign AA = {B, A}; | |
| \$lut #( | |
| .WIDTH(`LUT_WIDTH), | |
| .LUT(4'b0110) | |
| ) lut ( | |
| .A(AA), | |
| .Y(Y) | |
| ); | |
| endmodule | |
| (* techmap_celltype = "$_MUX_" *) | |
| module _90_lut_mux (A, B, S, Y); | |
| input A, B, S; | |
| output Y; | |
| wire [`LUT_WIDTH-1:0] AA; | |
| assign AA = {S, B, A}; | |
| \$lut #( | |
| .WIDTH(`LUT_WIDTH), | |
| // A 1010 1010 | |
| // B 1100 1100 | |
| // S 1111 0000 | |
| .LUT(8'b_1100_1010) | |
| ) lut ( | |
| .A(AA), | |
| .Y(Y) | |
| ); | |
| endmodule |