110 likes | 279 Views
Coverage Completeness . Hadar Yehudar Zoran mobile division. Few definitions … . Attribute: a parameter or characteristic of the device (design). Coverage metric: An attribute to be used as a unit of measure and recorded, which defines a dimension of a coverage space
E N D
Coverage Completeness Hadar Yehudar Zoran mobile division
Few definitions … • Attribute: a parameter or characteristic of the device (design). • Coverage metric: An attribute to be used as a unit of measure and recorded, which defines a dimension of a coverage space • Coverage model: An abstract representation of device behavior composed of attributes and their relationships. • Coverage space: A multi-dimension region defined by attributes of the coverage model and their values.
Coverage point 0xffff address register 6 metric • Coverage point: a point within a multi-dimensional coverage model, defined by the values of its attributes.
Coverage fidelity • How closely the coverage model defines the actual behavior of the device. • Loss of fidelity can come from: • Grouping of few values of an attribute to one coverage point. • Omitting functional relationships from the coverage model. Example:
Coverage fidelity – contd. • 2 bits in a control register have this functional dependency:“R[3] may only be one if R[7] is one”. • Assertion was written to reflect the dependency : R[3] == 1 R[7] ==1 • If R[3] is a coverage item (it got the values 0 and 1) AND the assertion exists, then the model fidelity is higher.
Assertion coverage • Making the evaluation of an assertion a coverage point. (How? assertion evaluation triggers an event). • Example: more complex dependency:[(regA[7:0] == 0xab) & (regB[2:0] == 7) & (regC[31:30] == 2)] regD[3] = 1.instead of defining cross coverage over 3 32bit registers, just make sure that the assertion was ever evaluated.
Coverage completeness • Typical RTL coding progress
Coverage completeness • In first phase, the coverage model achieves a certain fidelity. • Once 100% coverage have been reached, the model is refined to improve its fidelity, and again need to reach to 100% coverage (phase 2)
Coverage completeness • The cycle of refining the coverage model, adding new models (for newly discovered attribute relationships), and rerunning regressions until you reach 100% coverage of the new model, is repeated until the fidelity of the model is satisfactory.
Code coverage • Code coverage should not be employed until RTL begins to stabilize.
Summary • Full coverage is achieved by combination of: • Functional coverage • Assertions coverage • Code coverage • Thank you