Replies: 4 comments 2 replies
-
|
Hi @sopanTT, self.cr_doremi_X_fasolati = vsc.cross(
target_l=[self.cp_doremi, self.cp_fasolati],
ignore_bins=dict(
exclude_1=my_exclude_func
)
}In order to properly filter cross bins, the function might need to know:
Let's assume the function will be invoked with one of these objects for each coverpoint from the cross: def my_exclude_func(doremi, fasolati):
for d in (1,2,4):
if doremi.intersect(d) and fasolati.intersect((d << 1)):
return False
return TrueThis function is identifying all combinations where Do you think this approach would cover your requirements? Thanks, |
Beta Was this translation helpful? Give feedback.
-
|
Thanks for the confirmation. I've started looking at the required changes to support this enhancement this evening. Looks like around a calendar week of time to support this. Hopefully this fits your needs. |
Beta Was this translation helpful? Give feedback.
-
|
I just released 0.9.5 that includes support for marking cross-bins as pyvsc/ve/unit/test_coverage_igore_bins.py Lines 284 to 332 in a82c2bf |
Beta Was this translation helpful? Give feedback.
-
|
Hi @mballance , reusing this thread to check the following with you. Does the "cross + ignore" support that you added work with crosses having >2 coverpoints ? I'm experiencing issues where the bins are all getting filtered out. Example: |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Hi, I'm struggling with getting a past a seemingly easy coverage issue. I have the two coverpoints below as well as the associated cross-coverpoint. I would like to exclude few bins from the cross-coverpoint. Any ideas ?
Without exclude:
<1,1> : 0
<1,2> : 0 <--remove
<1,4> : 0 <--remove
<1,8> : 0 <--remove
<2,1> : 0
<2,2> : 0
<2,4> : 0<--remove
<2,8> : 0<--remove
<4,1> : 0
<4,2> : 1
<4,4> : 0
<4,8> : 0<--remove
<8,1> : 0
<8,2> : 0
<8,4> : 0
<8,8> : 0
<16,1> : 0
<16,2> : 0
<16,4> : 0
<16,8> : 0
With exclude:
<1,1> : 0
<2,1> : 0
<2,2> : 0
<4,1> : 0
<4,2> : 1
<4,4> : 0
<8,1> : 0
<8,2> : 0
<8,4> : 0
<8,8> : 0
<16,1> : 0
<16,2> : 0
<16,4> : 0
<16,8> : 0
Coverpoint1:
self.cp_doremi = vsc.coverpoint(
self.blah,
bins={"1": vsc.bin(1),
"2": vsc.bin(2),
"4": vsc.bin(4),
"8": vsc.bin(8),
"16": vsc.bin(16)}
)
Coverpoint2:
self.cp_fasolati = vsc.coverpoint(
self.fasolati,
bins={"1": vsc.bin(1),
"2": vsc.bin(2),
"4": vsc.bin(4),
"8": vsc.bin(8)}
)
Cross:
self.cr_doremi_X_fasolati = vsc.cross(
target_l=[self.cp_doremi, self.cp_fasolati]
}
Beta Was this translation helpful? Give feedback.
All reactions