Cross-Product Functional Coverage Measurement with Temporal Properties-based Assertions - PowerPoint PPT Presentation

cross product functional coverage measurement with temporal properties based assertions n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Cross-Product Functional Coverage Measurement with Temporal Properties-based Assertions PowerPoint Presentation
Download Presentation
Cross-Product Functional Coverage Measurement with Temporal Properties-based Assertions

play fullscreen
1 / 24
Cross-Product Functional Coverage Measurement with Temporal Properties-based Assertions
93 Views
Download Presentation
lilah
Download Presentation

Cross-Product Functional Coverage Measurement with Temporal Properties-based Assertions

- - - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

  1. Cross-Product Functional Coverage Measurement with Temporal Properties-based Assertions Author: A. Ziv Speaker: Johnny Lee

  2. Outline • Introduction • Background • Using Assertions for Coverage Measurement • Auxiliary Variables • Experimental Results • Conclusions

  3. 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

  4. Coverage • Coverage is a recognized technique for checking and showing that the testing has been thorough • Assertions are commonly used to detect coverage events

  5. Outline • Introduction • Background • Using Assertions for Coverage Measurement • Auxiliary Variables • Experimental Results • Conclusions

  6. 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

  7. Functional Coverage • Focus on the functionality of the design • Cross-product functional coverage model • Semantic description • Attributes • Possible values • Restrictions

  8. Example

  9. 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 • …

  10. Outline • Introduction • Background • Using Assertions for Coverage Measurement • Auxiliary Variables • Experimental Results • Conclusions

  11. 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

  12. Example • F(Cmd && F[1,5](Res&&ResType==NACK)) • C(Cmd && F(Res))

  13. Outline • Introduction • Background • Using Assertions for Coverage Measurement • Auxiliary Variables • Experimental Results • Conclusions

  14. 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)) • …

  15. 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

  16. Example • F(Cmd{$CT=CmdType} && F(Res{$RT=ResType})) • Cmd becomes true then CmdType assigned to $CT

  17. Example (cont’d) • F(Cmd{$CT=CmdType} && F(Res{$RT=ResType})) • Checking tool waits for the second part to become true

  18. 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>

  19. Outline • Introduction • Background • Using Assertions for Coverage Measurement • Auxiliary Variables • Experimental Results • Conclusions

  20. Experimental Results

  21. 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

  22. Experimental Results (cont’d)

  23. Outline • Introduction • Background • Using Assertions for Coverage Measurement • Auxiliary Variables • Experimental Results • Conclusions

  24. Conclusions • Assertions that are base on temporal language can be used as monitors • Auxiliary variables can reduce the number of assertions and simulation time