module aldffe( input [0:3] d, input [0:3] ad, input clk, aload, en, output reg [0:3] q ); always @( posedge clk, posedge aload) if (aload) q <= ad; else if (en) q <= d; endmodule