Reply To: All AffirmIf Pass, but OSVVM HTML Report Returns NOCHECKS
Why OSVVM™? › Forums › OSVVM › All AffirmIf Pass, but OSVVM HTML Report Returns NOCHECKS › Reply To: All AffirmIf Pass, but OSVVM HTML Report Returns NOCHECKS
July 16, 2025 at 14:43
#2742

Member
Thanks for posting your whole testbench as it makes the issue clear.
You are calling EndOfTestReports concurrently. So it runs at time 0 ns. You do not want it to run until your test case has finished. Same goes for WriteAlertYaml and WriteAlertSummaryYaml. However, you do not need to call these or ReportAlerts as they are all called by EndOfTestReports.
So a quick fix is to update your stimulus process as follows:
-- Stimulus Generator
Stim: process
variable RandA : RandomPType;
variable RandB : RandomPType;
variable allDone : boolean := false;
variable nCycles : natural := 0;
begin
RandA.InitSeed(RandA'instance_name);
RandB.InitSeed(RandB'instance_name);
while not allDone and (NOW < 1 ms) loop
A <= RandA.Randslv(0, 3,2);
B <= RandB.Randslv(0, 3,2);
wait for OP_DELAY;
allDone := cp_A_B.isCovered;
nCycles := nCycles + 1;
end loop;
wait for 1 ns;
report "Number of simulation cycles = " & to_string(nCycles);
report "Coverage holes: " & to_string(cp_A_B.CountCovHoles);
EndOfTestReports(
ReportAll => TRUE,
ExternalErrors => (0, 0, 0),
Stop => FALSE,
TimeOut => FALSE
);
STOP <= true;
wait;
end process;
Try that, that should get you running.