Yay. Finally found the issue with the integrated testbench.sv and imperasDV.

The function which loads the elf file rvviRefInit must be called during an initial block
using a valid file name.  Because of how the testbench was organized the elffile was not defined
until several cycles later so the call to rvviRefInit did not have a valid elf.  Waiting several
cycles does not work.  rvviRefInit requires being called in an initial block so it is not possible
to run back to back imperasDV simulations in the same run.
This commit is contained in:
Rose Thompson 2024-05-17 16:45:01 -05:00
parent e6902eb4d2
commit 038aae388b

View File

@ -694,9 +694,11 @@ end
string filename;
initial begin
// imperasDV requires the elffile be defined at the begining of the simulation.
int iter;
#1;
IDV_MAX_ERRORS = 3;
elffilename = ElfFile;
// Initialize REF (do this before initializing the DUT)
if (!rvviVersionCheck(RVVI_API_VERSION)) begin