Files
vortex/hw/rtl/libs/VX_generic_register.v
Blaise Tine 0a01385a2c few updates
2020-06-23 09:28:24 -07:00

28 lines
582 B
Verilog

`include "VX_define.vh"
module VX_generic_register #(
parameter N,
parameter PASSTHRU = 0
) (
input wire clk,
input wire reset,
input wire stall,
input wire flush,
input wire[N-1:0] in,
output wire[N-1:0] out
);
reg [(N-1):0] value;
always @(posedge clk) begin
if (reset) begin
value <= 0;
end else if (flush) begin
value <= 0;
end else if (~stall) begin
value <= in;
end
end
assign out = PASSTHRU ? in : value;
endmodule