diff --git a/PipelineProcessor.sim/sim_1/behav/xsim/xsim.dir/test_cpu_behav/xsim.mem b/PipelineProcessor.sim/sim_1/behav/xsim/xsim.dir/test_cpu_behav/xsim.mem
index ae917a3..8b1c125 100644
Binary files a/PipelineProcessor.sim/sim_1/behav/xsim/xsim.dir/test_cpu_behav/xsim.mem and b/PipelineProcessor.sim/sim_1/behav/xsim/xsim.dir/test_cpu_behav/xsim.mem differ
diff --git a/PipelineProcessor.srcs/sources_1/new/ExecutionForward.v b/PipelineProcessor.srcs/sources_1/new/ExecutionForward.v
index 10dcf1f..e86859e 100644
--- a/PipelineProcessor.srcs/sources_1/new/ExecutionForward.v
+++ b/PipelineProcessor.srcs/sources_1/new/ExecutionForward.v
@@ -13,7 +13,7 @@ module ExecutionForward (
always @(*) begin
if (MEM_register_write == 1'b1 && MEM_register_write_address == EX_rs_address &&
EX_rs_address != 5'b00000) begin
- IDA_source <= 2'b00;
+ IDA_source <= 2'b01;
end else begin
if (WB_register_write == 1'b1 && WB_register_write_address == EX_rs_address &&
EX_rs_address != 5'b00000) begin
@@ -25,7 +25,7 @@ module ExecutionForward (
if (MEM_register_write == 1'b1 && MEM_register_write_address == EX_rt_address &&
EX_rt_address != 5'b00000) begin
- IDB_source <= 2'b00;
+ IDB_source <= 2'b01;
end else begin
if (WB_register_write == 1'b1 && WB_register_write_address == EX_rt_address &&
EX_rt_address != 5'b00000) begin
diff --git a/PipelineProcessor.srcs/sources_1/new/InstructionMemory.v b/PipelineProcessor.srcs/sources_1/new/InstructionMemory.v
index 46665bb..05f3c23 100644
--- a/PipelineProcessor.srcs/sources_1/new/InstructionMemory.v
+++ b/PipelineProcessor.srcs/sources_1/new/InstructionMemory.v
@@ -7,26 +7,12 @@ module InstructionMemory (
always @(*) begin
case (address[31:2])
- 20'd0: instruction <= 32'h20110002; // addi $s1, $zero, 2
- 20'd1: instruction <= 32'h00000000;
- 20'd2: instruction <= 32'h00000000;
- 20'd3: instruction <= 32'h00000000;
- 20'd4: instruction <= 32'h00000000;
- 20'd5: instruction <= 32'h20120050; // addi $s2, $zero, 0x50
- 20'd6: instruction <= 32'h00000000;
- 20'd7: instruction <= 32'h00000000;
- 20'd8: instruction <= 32'h00000000;
- 20'd9: instruction <= 32'h00000000;
- 20'd10: instruction <= 32'h02408009; // jalr $s2, $s0
- // end:
- 20'd11: instruction <= 32'h0800000b; // j end
- // Note the address
- 20'd20: instruction <= 32'h20130003; // addi $s3, $zero, 3
- 20'd21: instruction <= 32'h00000000;
- 20'd22: instruction <= 32'h00000000;
- 20'd23: instruction <= 32'h00000000;
- 20'd24: instruction <= 32'h00000000;
- 20'd25: instruction <= 32'h02000008; // jr $s0
+ 20'd0: instruction <= 32'h20110001;
+ 20'd1: instruction <= 32'h20120002;
+ 20'd2: instruction <= 32'h02319820;
+ 20'd3: instruction <= 32'h02719820;
+ 20'd4: instruction <= 32'h20140003;
+ 20'd5: instruction <= 32'h02729820;
default: instruction <= 32'h00000000;
endcase
end
diff --git a/PipelineProcessor.xpr b/PipelineProcessor.xpr
index 3b3f391..3b3f13e 100644
--- a/PipelineProcessor.xpr
+++ b/PipelineProcessor.xpr
@@ -60,7 +60,7 @@
-
+