Cleaned up coverpoint-bin warning around 'excessive size'
Signed-off-by: Matthew Ballance <matt.ballance@gmail.com>
This commit is contained in:
parent
bcf6e6ac72
commit
06d34cc4cf
|
|
@ -497,12 +497,7 @@ class FunctionalCoverageVisitor final : public VNVisitor {
|
|||
// Generate member variables and matching code for each bin
|
||||
// Process in two passes: first non-default bins, then default bins
|
||||
std::vector<AstCoverBin*> defaultBins;
|
||||
int binCount = 0;
|
||||
for (AstNode* binp = coverpointp->binsp(); binp; binp = binp->nextp()) {
|
||||
if (++binCount > 1000) {
|
||||
coverpointp->v3error("Too many bins or infinite loop detected in bin iteration");
|
||||
break;
|
||||
}
|
||||
AstCoverBin* const cbinp = VN_CAST(binp, CoverBin);
|
||||
if (!cbinp) continue;
|
||||
|
||||
|
|
@ -1347,10 +1342,10 @@ class FunctionalCoverageVisitor final : public VNVisitor {
|
|||
}
|
||||
|
||||
if (!foundCpp) {
|
||||
refp->v3warn(COVERIGN,
|
||||
"Ignoring unsupported: cross references unknown coverpoint: "
|
||||
+ refp->name());
|
||||
// Don't delete crossp here - the caller's cleanup loop will delete it
|
||||
// Name not found as an explicit coverpoint — it's likely a direct variable
|
||||
// reference (implicit coverpoint). Silently ignore; cross is dropped.
|
||||
UINFO(4, " Ignoring cross with implicit variable reference: "
|
||||
<< refp->name() << endl);
|
||||
return;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -129,6 +129,8 @@ for s in [
|
|||
'Unsupported: Per-bit array instantiations',
|
||||
'Unsupported: Public functions with >64 bit outputs;',
|
||||
'Unsupported: Public functions with return > 64 bits wide.',
|
||||
|
||||
'Unsupported: Release statement argument is too complex array select',
|
||||
'Unsupported: Replication to form',
|
||||
'Unsupported: Shifting of by over 32-bit number isn\'t supported.',
|
||||
'Unsupported: Size-changing cast on non-basic data type',
|
||||
|
|
@ -157,9 +159,7 @@ for s in [
|
|||
'loading other than unpacked-array variable',
|
||||
'loading other than unpacked/associative-array variable',
|
||||
# These are safety limits requiring >1000 bins or >10000 members to trigger
|
||||
'Too many bins or infinite loop detected in bin iteration',
|
||||
'Too many members or infinite loop in membersp iteration (1)',
|
||||
'Too many members or infinite loop in membersp iteration (3)',
|
||||
|
||||
]:
|
||||
Suppressed[s] = True
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue