| (* techmap_celltype = "$adff" *) | |
| module adff2dff (CLK, ARST, D, Q); | |
| parameter WIDTH = 1; | |
| parameter CLK_POLARITY = 1; | |
| parameter ARST_POLARITY = 1; | |
| parameter ARST_VALUE = 0; | |
| input CLK, ARST; | |
| input [WIDTH-1:0] D; | |
| output reg [WIDTH-1:0] Q; | |
| wire reg [WIDTH-1:0] NEXT_Q; | |
| wire [1023:0] _TECHMAP_DO_ = "proc;;"; | |
| always @* | |
| if (ARST == ARST_POLARITY) | |
| NEXT_Q <= ARST_VALUE; | |
| else | |
| NEXT_Q <= D; | |
| if (CLK_POLARITY) | |
| always @(posedge CLK) | |
| Q <= NEXT_Q; | |
| else | |
| always @(negedge CLK) | |
| Q <= NEXT_Q; | |
| endmodule |