register file refactoring
This commit is contained in:
@@ -5,25 +5,25 @@ module VX_generic_register #(
|
||||
parameter R = 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
|
||||
input wire clk,
|
||||
input wire reset,
|
||||
input wire stall,
|
||||
input wire flush,
|
||||
input wire[N-1:0] data_in,
|
||||
output wire[N-1:0] data_out
|
||||
);
|
||||
if (PASSTHRU) begin
|
||||
`UNUSED_VAR (clk)
|
||||
`UNUSED_VAR (reset)
|
||||
`UNUSED_VAR (stall)
|
||||
assign out = flush ? N'(0) : in;
|
||||
assign data_out = flush ? N'(0) : data_in;
|
||||
end else begin
|
||||
reg [N-1:0] value;
|
||||
|
||||
if (R != 0) begin
|
||||
always @(posedge clk) begin
|
||||
if (~stall) begin
|
||||
value <= in;
|
||||
value <= data_in;
|
||||
end
|
||||
if (reset || flush) begin
|
||||
value[N-1:N-R] <= R'(0);
|
||||
@@ -34,12 +34,12 @@ module VX_generic_register #(
|
||||
`UNUSED_VAR (flush)
|
||||
always @(posedge clk) begin
|
||||
if (~stall) begin
|
||||
value <= in;
|
||||
value <= data_in;
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
assign out = value;
|
||||
assign data_out = value;
|
||||
end
|
||||
|
||||
endmodule
|
||||
Reference in New Issue
Block a user