Files
vortex/rtl/VX_generic_register.v
felsabbagh3 33e20a2d80 minor
2019-10-17 11:25:29 -04:00

33 lines
408 B
Verilog

module VX_generic_register
#(
parameter N = 1
)
(
input clk,
input reset,
input stall,
input flush,
input[N-1:0] in,
output [N-1:0] out
);
reg[N-1:0] value;
wire do_rest = reset || flush;
always @(posedge clk) begin
if (do_rest) begin
value <= 0;
end else if (~stall) begin
value <= in;
end
end
assign out = value;
endmodule