module dff ( input d, clk, output reg q ); always @( posedge clk ) q <= d; endmodule module dffe ( input d, clk, en, output reg q ); initial begin q = 0; end always @( posedge clk ) if ( en ) q <= d; endmodule module top ( input clk, input en, input a, output b,b1, ); dff u_dff ( .clk (clk ), .d (a ), .q (b ) ); dffe u_ndffe ( .clk (clk ), .en (en), .d (a ), .q (b1 ) ); endmodule