feat(L09): add load and store semantics card

This commit is contained in:
user
2026-07-21 17:26:16 +02:00
commit 4f5fd8f64e
42 changed files with 7289 additions and 0 deletions
+18
View File
@@ -0,0 +1,18 @@
module tb;
logic [31:0] memory_word, read_data;
logic [1:0] address_low;
logic [2:0] funct3;
logic fault;
string trace_file;
load_extend dut (.*);
initial begin
if ($value$plusargs("trace=%s", trace_file)) begin $dumpfile(trace_file); $dumpvars(0, tb); end
memory_word=32'h80ff7f01; address_low=3; funct3=0; #1; if(read_data!==32'hffffff80||fault)$fatal(1,"FAIL LB %h",read_data);
funct3=4; #1; if(read_data!==32'h80||fault)$fatal(1,"FAIL LBU %h",read_data);
address_low=2; funct3=1; #1; if(read_data!==32'hffff80ff||fault)$fatal(1,"FAIL LH %h",read_data);
funct3=5; #1; if(read_data!==32'h80ff||fault)$fatal(1,"FAIL LHU %h",read_data);
address_low=0; funct3=2; #1; if(read_data!==memory_word||fault)$fatal(1,"FAIL LW %h",read_data);
$display("PASS task02 lb=ffffff80 lbu=00000080 lh=ffff80ff lhu=000080ff");
$finish;
end
endmodule