| module adff( input d, clk, clr, output reg q ); |
| initial begin |
| q = 0; |
| end |
| always @( posedge clk, posedge clr ) |
| if ( clr ) |
| q <= 1'b0; |
| else |
| q <= d; |
| endmodule |
| |
| module adffn( input d, clk, clr, output reg q ); |
| initial begin |
| q = 0; |
| end |
| always @( posedge clk, negedge clr ) |
| if ( !clr ) |
| q <= 1'b0; |
| else |
| q <= d; |
| endmodule |
| |
| module dffs( input d, clk, pre, clr, output reg q ); |
| initial begin |
| q = 0; |
| end |
| always @( posedge clk ) |
| if ( pre ) |
| q <= 1'b1; |
| else |
| q <= d; |
| endmodule |
| |
| module ndffnr( input d, clk, pre, clr, output reg q ); |
| initial begin |
| q = 0; |
| end |
| always @( negedge clk ) |
| if ( !clr ) |
| q <= 1'b0; |
| else |
| q <= d; |
| endmodule |