240 likes | 378 Vues
This presentation covers the innovative use of temporal properties-based assertions in cross-product functional coverage measurement for hardware verification. It discusses the critical role of functional assertions in verifying design compliance and ensuring thorough testing during simulation. The methodology emphasizes the use of auxiliary variables to streamline coverage monitoring, thereby enhancing simulation efficiency. Experimental results illustrate the effectiveness of this approach, highlighting the balance between coverage depth and simulation performance. Key takeaways include the benefits of temporal properties in monitoring and improving verification processes.
E N D
Cross-Product Functional Coverage Measurement with Temporal Properties-based Assertions Author: A. Ziv Speaker: Johnny Lee
Outline • Introduction • Background • Using Assertions for Coverage Measurement • Auxiliary Variables • Experimental Results • Conclusions
Introduction • Functional verification • Bottleneck of the hardware design cycle • Simulation is the main vehicle • Two main issues of verification • Check the design behaves according to its specification • Make sure the testing has been thorough
Coverage • Coverage is a recognized technique for checking and showing that the testing has been thorough • Assertions are commonly used to detect coverage events
Outline • Introduction • Background • Using Assertions for Coverage Measurement • Auxiliary Variables • Experimental Results • Conclusions
Assertions Based on Temporal Properties • Assertions monitor the simulation on a cycle-by-cycle basis and report when a property is violated • 4 basic temporal operators • X: in the following cycle • F: in the future • G: in all cycles • U: until
Functional Coverage • Focus on the functionality of the design • Cross-product functional coverage model • Semantic description • Attributes • Possible values • Restrictions
Example (cont’d) • Command-Response model • (Attribute: values) • Command: IF, DF, DS, RMW, ILL • Response: ACK, NACK, ERROR • Restrictions: • Legal command cannot have an ERROR response • …
Outline • Introduction • Background • Using Assertions for Coverage Measurement • Auxiliary Variables • Experimental Results • Conclusions
Using Assertions for Coverage Measurement • Coverage monitors detect coverage tasks that occur during the simulation • We use F(e) to specify a coverage task e as an assertion • C(e) detects the occurrences of the event e
Example • F(Cmd && F[1,5](Res&&ResType==NACK)) • C(Cmd && F(Res))
Outline • Introduction • Background • Using Assertions for Coverage Measurement • Auxiliary Variables • Experimental Results • Conclusions
Auxiliary Variables • Using a separate assertion for each coverage task slow down the simulation • F(CmdType==IF && F(ResType==ACK)) • F(CmdType==IF && F(ResType==NACK)) • F(CmdType==DF && F(ResType==ACK)) • F(CmdType==DF && F(ResType==NACK)) • …
Auxiliary Variables (cont’d) • Use a single assertion to detect the basic event and collect the parameters (auxiliary variables) • F(Cmd{$CT=CmdType} && F(Res{$RT=ResType})) • $CT and $RT are auxiliary variables
Example • F(Cmd{$CT=CmdType} && F(Res{$RT=ResType})) • Cmd becomes true then CmdType assigned to $CT
Example (cont’d) • F(Cmd{$CT=CmdType} && F(Res{$RT=ResType})) • Checking tool waits for the second part to become true
Example (cont’d) • When the coverage expression becomes true, checking tool reports the value of $CT and $RT (DF and ACK) to a coverage collection tool • <DF, ACK>
Outline • Introduction • Background • Using Assertions for Coverage Measurement • Auxiliary Variables • Experimental Results • Conclusions
Experimental Results (cont’d) • Commands • Read(IF, DF), Write(DS, RMW), ILL, NOP • 44=256 tasks • Command-Response • 4x4x5x3=240 tasks • Out-of-Order • 4x42x32=576 tasks
Outline • Introduction • Background • Using Assertions for Coverage Measurement • Auxiliary Variables • Experimental Results • Conclusions
Conclusions • Assertions that are base on temporal language can be used as monitors • Auxiliary variables can reduce the number of assertions and simulation time