A
alb
Guest
Hi everyone,
I'm not sure this is the best place to post this thread since is more
related to verification than vhdl itself, but since the OS-VVM is a vhdl
package I figured people here might also be interested in the topic
(please direct me elsewhere if needed).
I've followed the Aldec webinar on OS-VVM (see:
http://www.aldec.com/en/support/resources/multimedia/webinars) and found
it quite interesting, to the point that I'll definitely give OS-VVM a try.
I nevertheless have some doubts/comments about the cross coverage part.
The webinar presents an ALU design as a DUT to introduce the concept of
cross coverage of the two input registers in order to test all the
combinations, but why then not a two 'for loop' to generate all the cases:
<code>
-- ACov is variable of CovPType
for i in reg1'range loop
for j in reg2'range loop
DoAluOp(i, j); -- do transaction
ACov.ICover((reg1, reg2)); -- collect coverage
end loop;
end loop;
</code>
The webinar goes on on how you can optimize the coverage using what they
call 'intelligent coverage' which focuses on holes coverage.
Would the for loop above be less efficient than the intelligent cross
coverage proposed (in terms of simulation cycles)?
Moreover the 'intelligent coverage' is fulfilled with the call:
ACov.AddCross(2, GenBin(0,7), GenBin(0,7) );
where the first parameter is an 'AtLeast' parameter. Shouldn't it be
'AtMost'??? If you want each cross case to be hit not more than a
certain amount of time (to reduce the 'logN' factor of a randomly
generated pair of values) than I do not see why you have to specify an
'AtLeast' parameter... Am I missing something?
As a general comment, wouldn't it be more appropriate to find a better
suited example to show the real power of cross coverage [1]?
Any pointer to freely available code that illustrates the usage of
OS-VVM is extremely helpful.
Cheers,
Al
[1] I do not have any to provide and I'm willing to see what is the real
advantage about having the bins randomly filled instead of sequentially
filled with direct cases.
--
A: Because it fouls the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?
I'm not sure this is the best place to post this thread since is more
related to verification than vhdl itself, but since the OS-VVM is a vhdl
package I figured people here might also be interested in the topic
(please direct me elsewhere if needed).
I've followed the Aldec webinar on OS-VVM (see:
http://www.aldec.com/en/support/resources/multimedia/webinars) and found
it quite interesting, to the point that I'll definitely give OS-VVM a try.
I nevertheless have some doubts/comments about the cross coverage part.
The webinar presents an ALU design as a DUT to introduce the concept of
cross coverage of the two input registers in order to test all the
combinations, but why then not a two 'for loop' to generate all the cases:
<code>
-- ACov is variable of CovPType
for i in reg1'range loop
for j in reg2'range loop
DoAluOp(i, j); -- do transaction
ACov.ICover((reg1, reg2)); -- collect coverage
end loop;
end loop;
</code>
The webinar goes on on how you can optimize the coverage using what they
call 'intelligent coverage' which focuses on holes coverage.
Would the for loop above be less efficient than the intelligent cross
coverage proposed (in terms of simulation cycles)?
Moreover the 'intelligent coverage' is fulfilled with the call:
ACov.AddCross(2, GenBin(0,7), GenBin(0,7) );
where the first parameter is an 'AtLeast' parameter. Shouldn't it be
'AtMost'??? If you want each cross case to be hit not more than a
certain amount of time (to reduce the 'logN' factor of a randomly
generated pair of values) than I do not see why you have to specify an
'AtLeast' parameter... Am I missing something?
As a general comment, wouldn't it be more appropriate to find a better
suited example to show the real power of cross coverage [1]?
Any pointer to freely available code that illustrates the usage of
OS-VVM is extremely helpful.
Cheers,
Al
[1] I do not have any to provide and I'm willing to see what is the real
advantage about having the bins randomly filled instead of sequentially
filled with direct cases.
--
A: Because it fouls the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail?