Updated the two-port GPR model
This commit is contained in:
16
rtl/VX_gpr.v
16
rtl/VX_gpr.v
@@ -20,11 +20,19 @@ module VX_gpr (
|
|||||||
.clk (clk),
|
.clk (clk),
|
||||||
.waddr (VX_writeback_inter.rd),
|
.waddr (VX_writeback_inter.rd),
|
||||||
.raddr1(VX_gpr_read.rs1),
|
.raddr1(VX_gpr_read.rs1),
|
||||||
.raddr2(VX_gpr_read.rs2),
|
|
||||||
.be (VX_writeback_inter.wb_valid),
|
.be (VX_writeback_inter.wb_valid),
|
||||||
.wdata (VX_writeback_inter.write_data),
|
.wdata (VX_writeback_inter.write_data),
|
||||||
.q1 (out_a_reg_data),
|
.q1 (out_a_reg_data)
|
||||||
.q2 (out_b_reg_data)
|
);
|
||||||
|
|
||||||
|
byte_enabled_simple_dual_port_ram first_ram(
|
||||||
|
.we (write_enable),
|
||||||
|
.clk (clk),
|
||||||
|
.waddr (VX_writeback_inter.rd),
|
||||||
|
.raddr1(VX_gpr_read.rs2),
|
||||||
|
.be (VX_writeback_inter.wb_valid),
|
||||||
|
.wdata (VX_writeback_inter.write_data),
|
||||||
|
.q1 (out_b_reg_data)
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
@@ -81,4 +89,4 @@ module VX_gpr (
|
|||||||
// end
|
// end
|
||||||
|
|
||||||
|
|
||||||
endmodule
|
endmodule
|
||||||
|
|||||||
@@ -5,10 +5,10 @@
|
|||||||
module byte_enabled_simple_dual_port_ram
|
module byte_enabled_simple_dual_port_ram
|
||||||
(
|
(
|
||||||
input we, clk,
|
input we, clk,
|
||||||
input wire[4:0] waddr, raddr1, raddr2,
|
input wire[4:0] waddr, raddr1,
|
||||||
input wire[`NT_M1:0] be,
|
input wire[`NT_M1:0] be,
|
||||||
input wire[`NT_M1:0][31:0] wdata,
|
input wire[`NT_M1:0][31:0] wdata,
|
||||||
output reg[`NT_M1:0][31:0] q1, q2
|
output reg[`NT_M1:0][31:0] q1
|
||||||
);
|
);
|
||||||
|
|
||||||
// integer regi;
|
// integer regi;
|
||||||
@@ -43,9 +43,8 @@ module byte_enabled_simple_dual_port_ram
|
|||||||
end
|
end
|
||||||
|
|
||||||
assign q1 = GPR[raddr1];
|
assign q1 = GPR[raddr1];
|
||||||
assign q2 = GPR[raddr2];
|
|
||||||
|
|
||||||
// assign q1 = (raddr1 == waddr && (we)) ? wdata : GPR[raddr1];
|
// assign q1 = (raddr1 == waddr && (we)) ? wdata : GPR[raddr1];
|
||||||
// assign q2 = (raddr2 == waddr && (we)) ? wdata : GPR[raddr2];
|
// assign q2 = (raddr2 == waddr && (we)) ? wdata : GPR[raddr2];
|
||||||
|
|
||||||
endmodule
|
endmodule
|
||||||
|
|||||||
Reference in New Issue
Block a user