Fix lui RegWriteDstSrc

This commit is contained in:
2024-07-10 17:03:39 +08:00
parent 4b5dc5dc1b
commit d8947b7a9b
8 changed files with 29 additions and 27 deletions

File diff suppressed because one or more lines are too long

View File

@@ -9,6 +9,7 @@ module CPU (
// first, we split the clock
wire clk;
phase_locked_loop pll (
.reset(hardware_reset),
.clk_in1 (hardware_clk),
.clk_out1(clk),
.locked(clock_locked)
@@ -208,7 +209,7 @@ module CPU (
.register_write_addr(WB_register_write_address)
);
DataMemory data_memory (
DataMemory #(.START_ADDRESS(32'h40000000)) data_memory (
.clk(clk),
.reset(reset),
.address(MEM_data_memory_address),

View File

@@ -67,7 +67,7 @@ module ControlUnit (
assign register_write_destination_source = (opcode == 6'h23 || opcode == 6'h8 ||
opcode == 6'h9 || opcode == 6'hc ||
opcode == 6'ha || opcode == 6'hb ||
(opcode == 6'h0 &&
opcode == 6'hf || (opcode == 6'h0 &&
(funct == 6'h0 || funct == 6'h2 ||
funct == 6'h3))) ? 0 : 1;

View File

@@ -5,12 +5,13 @@ module InstructionMemory (
output reg [31:0] instruction
);
always @(*) begin
always @(*) begin
case (address[31:2])
20'd0: instruction <= 32'h20210001;
20'd10: instruction <= 32'h08000000;
20'd0: instruction <= 32'h3c104000;
20'd6: instruction <= 32'h2011000a;
20'd11: instruction <= 32'hae11000f;
default: instruction <= 32'h00000000;
endcase
end
end
endmodule

View File

@@ -49,7 +49,7 @@ module MemoryAccess (
// .write_data(memory_write_data_include_forward),
// .read_data(memory_read_data)
// );
assign data_memory = MEM_memory_write;
assign data_memory_write = MEM_memory_write;
assign data_memory_address = MEM_ALU_result;
assign data_memory_write_data = (MEM_write_data_source == 1'b0) ?
MEM_memory_write_data : WB_forwarded_data;

View File

@@ -60,7 +60,7 @@
<Option Name="IPStaticSourceDir" Val="$PIPUSERFILESDIR/ipstatic"/>
<Option Name="EnableBDX" Val="FALSE"/>
<Option Name="FeatureSet" Val="FeatureSet_Classic"/>
<Option Name="WTXSimLaunchSim" Val="68"/>
<Option Name="WTXSimLaunchSim" Val="104"/>
<Option Name="WTModelSimLaunchSim" Val="0"/>
<Option Name="WTQuestaLaunchSim" Val="0"/>
<Option Name="WTIesLaunchSim" Val="0"/>