Skip to content

Commit ae7a8c8

Browse files
committed
Fix undriven dmem write enable and alu_out ordering.
Increase dmem size to match store instruction offset.
1 parent 47fdda0 commit ae7a8c8

File tree

3 files changed

+5
-10
lines changed

3 files changed

+5
-10
lines changed

datapath.v

+1-1
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ module datapath (
7575
assign src_a = reg_data1;
7676
assign src_b = alu_src ? imm_ext : reg_data2;
7777

78+
wire [31:0] alu_out;
7879
alu alu_inst (
7980
.a_in (src_a ),
8081
.b_in (src_b ),
@@ -83,7 +84,6 @@ module datapath (
8384
.c_out(c_out ),
8485
.y_out(alu_out )
8586
);
86-
wire [31:0] alu_out;
8787
assign alu_result = alu_out;
8888

8989
wire [31:0] imm_ext;

dmem.v

+2-6
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,9 @@ module dmem (
66
output [31:0] rdata
77
);
88

9-
reg [31:0] rdata;
9+
reg [31:0] memdata [127:0];
1010

11-
reg [31:0] memdata[63:0];
12-
13-
always @(memdata[addr]) begin
14-
rdata = memdata[addr];
15-
end
11+
assign rdata = memdata[addr];
1612

1713
always @(posedge clk) begin
1814
if(1'b1 == we) begin

mips.v

+2-3
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,6 @@ module mips (
1616
wire branch ;
1717
wire jump ;
1818
wire mem_to_reg;
19-
wire mem_write ;
2019
wire reg_dst ;
2120
wire reg_write ;
2221

@@ -27,7 +26,7 @@ module mips (
2726
.branch (branch ),
2827
.jump (jump ),
2928
.mem_to_reg(mem_to_reg),
30-
.mem_write (mem_write ),
29+
.mem_write (dmem_we ),
3130
.reg_dst (reg_dst ),
3231
.reg_write (reg_write )
3332
);
@@ -40,7 +39,7 @@ module mips (
4039
.branch (branch ),
4140
.jump (jump ),
4241
.mem_to_reg(mem_to_reg),
43-
.mem_write (mem_write ),
42+
.mem_write (dmem_we ),
4443
.reg_dst (reg_dst ),
4544
.reg_write (reg_write ),
4645
.instr (imem_data ),

0 commit comments

Comments
 (0)