17 lines
712 B
Systemverilog
17 lines
712 B
Systemverilog
module tb;
|
|
logic [31:0] pc, rs1, target, link;
|
|
logic signed [31:0] immediate;
|
|
logic jalr;
|
|
string trace_file;
|
|
link_address dut (.*);
|
|
initial begin
|
|
if ($value$plusargs("trace=%s", trace_file)) begin $dumpfile(trace_file); $dumpvars(0, tb); end
|
|
pc=32'h100; rs1=0; immediate=24; jalr=0; #1;
|
|
if (target !== 32'h118 || link !== 32'h104) $fatal(1, "FAIL jal target=%h link=%h", target, link);
|
|
rs1=32'h205; immediate=-4; jalr=1; #1;
|
|
if (target !== 32'h200 || link !== 32'h104) $fatal(1, "FAIL jalr target=%h link=%h", target, link);
|
|
$display("PASS task01 jal_target=00000118 link=00000104 jalr_target=00000200");
|
|
$finish;
|
|
end
|
|
endmodule
|