blob: 0d164f100b8806f05dd9be1fd1387c08a6956144 [file] [log] [blame] [edit]
module SRLC32E (
output Q,
output Q31,
input [4:0] A,
input CE, CLK, D
);
parameter [31:0] INIT = 32'h00000000;
parameter [0:0] IS_CLK_INVERTED = 1'b0;
reg [31:0] r = INIT;
assign Q31 = r[31];
assign Q = r[A];
generate begin
if (IS_CLK_INVERTED) begin
always @(negedge CLK) if (CE) r <= { r[30:0], D };
end else begin
always @(posedge CLK) if (CE) r <= { r[30:0], D };
end
end endgenerate
endmodule