1 / 24

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

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.

lilah
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

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

More Related