forked from Github_Repos/cvw
busybear: add more CSRs
This commit is contained in:
parent
d9431d5bed
commit
dc881bd51b
@ -181,40 +181,44 @@ module testbench_busybear();
|
|||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
`define CHECK_CSR(CSR) \
|
`define CHECK_CSR2(CSR, PATH) \
|
||||||
string CSR; \
|
string CSR; \
|
||||||
logic [63:0] expected``CSR``; \
|
logic [63:0] expected``CSR``; \
|
||||||
//CSR checking \
|
//CSR checking \
|
||||||
always @(dut.priv.csr.``CSR``_REGW) begin \
|
always @(``PATH``.``CSR``_REGW) begin \
|
||||||
if ($time > 1) begin \
|
if ($time > 1) begin \
|
||||||
scan_file_csr = $fscanf(data_file_csr, "%s\n", CSR); \
|
scan_file_csr = $fscanf(data_file_csr, "%s\n", CSR); \
|
||||||
scan_file_csr = $fscanf(data_file_csr, "%x\n", expected``CSR``); \
|
scan_file_csr = $fscanf(data_file_csr, "%x\n", expected``CSR``); \
|
||||||
if(CSR.icompare(`"CSR`")) begin \
|
if(CSR.icompare(`"CSR`")) begin \
|
||||||
$display("%t ps, instr %0d: %s changed, expected %s", $time, instrs, `"CSR`", CSR); \
|
$display("%t ps, instr %0d: %s changed, expected %s", $time, instrs, `"CSR`", CSR); \
|
||||||
end \
|
end \
|
||||||
if(dut.priv.csr.``CSR``_REGW != ``expected``CSR) begin \
|
if(``PATH``.``CSR``_REGW != ``expected``CSR) begin \
|
||||||
$display("%t ps, instr %0d: %s does not equal %s expected: %x, %x", $time, instrs, `"CSR`", CSR, dut.priv.csr.``CSR``_REGW, ``expected``CSR); \
|
$display("%t ps, instr %0d: %s does not equal %s expected: %x, %x", $time, instrs, `"CSR`", CSR, ``PATH``.``CSR``_REGW, ``expected``CSR); \
|
||||||
end \
|
end \
|
||||||
end else begin \
|
end else begin \
|
||||||
for(integer j=0; j<totalCSR; j++) begin \
|
for(integer j=0; j<totalCSR; j++) begin \
|
||||||
if(!StartCSRname[j].icompare(`"CSR`")) begin \
|
if(!StartCSRname[j].icompare(`"CSR`")) begin \
|
||||||
if(dut.priv.csr.``CSR``_REGW != StartCSRexpected[j]) begin \
|
if(``PATH``.``CSR``_REGW != StartCSRexpected[j]) begin \
|
||||||
$display("%t ps, instr %0d: %s does not equal %s expected: %x, %x", $time, instrs, `"CSR`", StartCSRname[j], dut.priv.csr.``CSR``_REGW, StartCSRexpected[j]); \
|
$display("%t ps, instr %0d: %s does not equal %s expected: %x, %x", $time, instrs, `"CSR`", StartCSRname[j], ``PATH``.``CSR``_REGW, StartCSRexpected[j]); \
|
||||||
end \
|
end \
|
||||||
end \
|
end \
|
||||||
end \
|
end \
|
||||||
end \
|
end \
|
||||||
end
|
end
|
||||||
|
`define CHECK_CSR(CSR) \
|
||||||
|
`CHECK_CSR2(CSR, dut.priv.csr)
|
||||||
|
|
||||||
//`CHECK_CSR(FCSR)
|
//`CHECK_CSR(FCSR)
|
||||||
`CHECK_CSR(MCOUNTEREN)
|
`CHECK_CSR(MCOUNTEREN)
|
||||||
`CHECK_CSR(MEDELEG)
|
`CHECK_CSR(MEDELEG)
|
||||||
`CHECK_CSR(MIDELEG)
|
`CHECK_CSR(MIDELEG)
|
||||||
|
//`CHECK_CSR(MHARTID)
|
||||||
`CHECK_CSR(MIE)
|
`CHECK_CSR(MIE)
|
||||||
//`CHECK_CSR(MSCRATCH)
|
`CHECK_CSR2(MISA, dut.priv.csr.genblk1.csrm)
|
||||||
|
`CHECK_CSR2(MSCRATCH, dut.priv.csr.genblk1.csrm)
|
||||||
`CHECK_CSR(MSTATUS)
|
`CHECK_CSR(MSTATUS)
|
||||||
`CHECK_CSR(MTVEC)
|
`CHECK_CSR(MTVEC)
|
||||||
//`CHECK_CSR(SATP)
|
`CHECK_CSR2(SATP, dut.priv.csr.genblk1.csrs.genblk1)
|
||||||
`CHECK_CSR(SCOUNTEREN)
|
`CHECK_CSR(SCOUNTEREN)
|
||||||
|
|
||||||
logic speculative;
|
logic speculative;
|
||||||
|
Loading…
Reference in New Issue
Block a user