From 038aae388bdfea1804c9562ec5290ab2bb583619 Mon Sep 17 00:00:00 2001 From: Rose Thompson Date: Fri, 17 May 2024 16:45:01 -0500 Subject: [PATCH] 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. --- testbench/testbench.sv | 2 ++ 1 file changed, 2 insertions(+) diff --git a/testbench/testbench.sv b/testbench/testbench.sv index 63bbf7d00..1bd41627a 100644 --- a/testbench/testbench.sv +++ b/testbench/testbench.sv @@ -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