Systematic Application of UCIS to Improve the Automation on Verification Closure

24
Systematic Application of UCIS to Improve the Automation on Verification Closure Christoph Kuznik, Marcio F. S. Oliveira, Gilles Bertrand Defo, Wolfgang Mueller University of Paderborn / C-LAB Germany {kuznik, marcio, defo, wolfgang}@c-lab.de 16M3088I Sponsored by:

description

Sponsored by :. Systematic Application of UCIS to Improve the Automation on Verification Closure. 16M3088I. Verification closure, a language feat.?. Despite SystemC language is one of the main drivers for virtual prototype development its verification features are rather limited:. - PowerPoint PPT Presentation

Transcript of Systematic Application of UCIS to Improve the Automation on Verification Closure

Page 1: Systematic Application of   UCIS to Improve the   Automation  on Verification Closure

Systematic Application of UCISto Improve the Automation on

Verification ClosureChristoph Kuznik, Marcio F. S. Oliveira, Gilles Bertrand

Defo, Wolfgang MuellerUniversity of Paderborn / C-LAB

Germany{kuznik, marcio, defo, wolfgang}@c-lab.de

16M3088I

Sponsored by:

Page 2: Systematic Application of   UCIS to Improve the   Automation  on Verification Closure

sponsored by

P a g e 2 / 2 3

Language

Feature

IEEE-1800SystemVerilog

IEEE-1647e

IEEE-1666SystemC

Coverage Facility +++ +++ x

Assertions +++ +++ xRTPG +++ +++ + (SCV)VerificationMethodology +++ +++ x1

TLM ++ + +++AOP x ++ xC-Software Simulation

simulator dependent

simulator dependent +++

Verification closure, a language feat.?

1 not with OSCI simulator

Despite SystemC language is one of the main drivers for virtual prototype development its verification features are rather limited:

Page 3: Systematic Application of   UCIS to Improve the   Automation  on Verification Closure

sponsored by

P a g e 3 / 2 3

Language

Feature

IEEE-1800SystemVerilog

IEEE-1647e

IEEE-1666SystemC

Verification closure, a language feat.?

2 Partner solutions

Previous work:- Establish a functional coverage and verification methodology for SC [DVCON 2011, DVCON 2012]

Coverage Facility +++ +++ ++ Assertions +++ +++ ++2 RTPG +++ +++ ++2

Verification Methodology +++ +++ ++

TLM ++ + +++AOP x ++ xC-Software Simulation

simulator dependent

simulator dependent +++

With this foundation, lets improve the automation on verification closure in SC TBs

Enhance the flow from coverage plan capture to functional coverage implemention within the testbenchBasis:

¬ recently releasedUnified Coverage Interoperability Standard (UCIS)

Target Language/Simulator: OSCI SystemC Reference Simulator

Page 4: Systematic Application of   UCIS to Improve the   Automation  on Verification Closure

sponsored by

P a g e 4 / 2 3

Outline Motivation

Verification Features of HLDVLs Abstraction and Automation for Verification Closure

Productivity

UCIS to Improve the Automation on Verification Closure in SC UCIS and Verification Process Steps in Detail

Case Study Tooling for UCIS with OSCI SystemC

Lessons Learned

Final Remarks

Page 5: Systematic Application of   UCIS to Improve the   Automation  on Verification Closure

sponsored by

P a g e 5 / 2 3

Unified Coverage Interoperability Standard Why rely on UCIS?

A schema for creation, merge, export of coverage information

Interoperability across simulators

use models that cover common verification activities

Approach Utilize UCIS to store,

generate & accumulate coverage plan metrics in SystemC simulation

with OSCI reference simulator!

Can answer Are we done? and (partly) Does it work? question

Page 6: Systematic Application of   UCIS to Improve the   Automation  on Verification Closure

sponsored by

P a g e 6 / 2 3

ChallengesAccelera UCIS v1.0 Std.

¬ API functions description¬ API header file¬ XML schema

Consequently,own API implementation needed!

API = Setter / Getter / Advanced

In this work, we focus on the functional coverage scope

UCIS with OSCI SystemC

UCIS_CVG_SCOPE

Page 7: Systematic Application of   UCIS to Improve the   Automation  on Verification Closure

sponsored by

P a g e 7 / 2 3

UCIS and Verification Process MDE enabled process

Page 8: Systematic Application of   UCIS to Improve the   Automation  on Verification Closure

sponsored by

P a g e 8 / 2 3

UCIS and Verification Process cont’ 1) Capture cover plan data in spreadsheet style data model

(language independent) 2) Transform cover plan data to UCIS intermediate metric model (in fact a template of the metric to generate) 3) bind metric model to the design (model!) by model mapping (in fact: assisted completion of the verification environment skeletons 4) Generate func. coverage metric from mapped model for TB

ReqIF

concrete tooling

Page 9: Systematic Application of   UCIS to Improve the   Automation  on Verification Closure

sponsored by

P a g e 9 / 2 3

UCIS and Verification Process cont’Methodology View

Improving the common verification flow by adding intermediate UCIS-related steps in earlier phases

Case Study for applicability evaluation

Page 10: Systematic Application of   UCIS to Improve the   Automation  on Verification Closure

sponsored by

P a g e 1 0 / 2 3

Case Study: Adaptive Cruise Controller Simplified architecture of ACC model Architecture of ACC model

DUV has various I/O, functional coverage is a valuable metric to determine end of testing

Process the individual methodology steps Build coverage plan Transform to UCIS intermediate model, map model, generate

FC code

Page 11: Systematic Application of   UCIS to Improve the   Automation  on Verification Closure

sponsored by

P a g e 1 1 / 2 3

Coverage Plan Spreadsheet structure Excel table vs. custom coverage plan format Usage of OMG Requirement Interchange Format (ReqIF)

¬ Allows to define a (custom) „coverage plan spreadsheet“¬ XML based, MDE/Eclipse tooling compatible

Case Study Example

Case Study: Verification Planning

Page 12: Systematic Application of   UCIS to Improve the   Automation  on Verification Closure

sponsored by

P a g e 1 2 / 2 3

Multi Pane Editor View Mapped model contain references to both UCIS metric

template and design model

A model of UCIS can be generated using MDE tooling, moreover API Setter/Getter functions can be generated

Case Study: Model Mapping

Page 13: Systematic Application of   UCIS to Improve the   Automation  on Verification Closure

sponsored by

P a g e 1 3 / 2 3

Case Study: Generated FC Metrics

Page 14: Systematic Application of   UCIS to Improve the   Automation  on Verification Closure

sponsored by

P a g e 1 4 / 2 3

Stimuli = Computation Tree Method + Random Tree-oriented decomposition of test scenarios into individual

variable ranges RTPG for the selected ranges

Functional Coverage Usage of our functional coverage protoype for SystemC Accumulation of hits w.r.t. metric

Case Study: Simulation

Output Excerpt

Page 15: Systematic Application of   UCIS to Improve the   Automation  on Verification Closure

sponsored by

P a g e 1 5 / 2 3

Usage of generated UCIS API You get much for free: Set/Get, Parser, Serializer, …

Case Study: Simulation & UCIS API

Page 16: Systematic Application of   UCIS to Improve the   Automation  on Verification Closure

sponsored by

P a g e 1 6 / 2 3

Acting as coverage producer Usage of generated Setter/Getter functions (w.r.t. schema)

Case Study: Simulation & UCIS API

Serializing UCIS model to XML w.r.t. schema

Page 17: Systematic Application of   UCIS to Improve the   Automation  on Verification Closure

sponsored by

P a g e 1 7 / 2 3Source: Accellera Organization Inc.: An Introduction to the Unified Coverage Interoperability Standard (Video Tutorial)

Case Study: Simulation & UCIS API

Page 18: Systematic Application of   UCIS to Improve the   Automation  on Verification Closure

sponsored by

P a g e 1 8 / 2 3

Lessons learned: UCIS „Missing“ reference API Writer

Effort to build Setter/Getter API for C/C#/… w.r.t. XML schema is low

Fast re-builts on new releases possible (MM-based)

Advanced API commands implementation requires in-depth expertise in UCIS and it‘s use models

Slight inconsistencies of API and XML Donation and glue residue Likely to be fixed in next releases

A common standard format for Does it work? and Are we done? What about additional use

cases?

Page 19: Systematic Application of   UCIS to Improve the   Automation  on Verification Closure

sponsored by

P a g e 1 9 / 2 3

Lessons learned: (MDE) Tooling Effort Tooling Construction (one-time effort)

the devil is in the details… ReqIF, EMF, EMF4CPP, specific Eclipse version requirements

and dep. MDE expertise definitely necessary

Tooling Usage Editors for coverage plan, UCIS, model weaving, … functional Requires Design Model Injection (e.g. Pinapa, see [12]) BUT: domain-specific (EDA) view/design entrie preferable

Page 20: Systematic Application of   UCIS to Improve the   Automation  on Verification Closure

sponsored by

P a g e 2 0 / 2 3

UCIS = stepping stone for interoperability We see potential for usage of UCIS in earlier phases of

verification,in particular verification/coverage plan creation

Building Setter/Getter API for UCIS is easy General: FC metric generation can avoid error-prone manual

coding Numbers:

UCIS API Functions: 107 Covered by generation: 78 (72%) Uncovered: 29

Conclusion

Page 21: Systematic Application of   UCIS to Improve the   Automation  on Verification Closure

sponsored by

P a g e 2 1 / 2 3

Accellera Organization Inc.:Unified Coverage Interoperability Standard (UCIS)Link: http://www.accellera.org/downloads/standards/ucis

Accellera Organization Inc.:An Introduction to the Unified Coverage Interoperability Standard (Video Tutorial)Link: http://www.accellera.org/news/videos/ucisintro

Marcio Oliviera, Christoph Kuznik, Wolfgang Mueller, Finn Haedicke, Hoang Le, Daniel Grosse, Rolf Drechsler, Wolfgang Ecker, Volkan Esen:The System Verification Methodology for Advanced TLM Verification,International Conference on Hardware/Software Codesign and System Synthesis (ISSS+CODES) 2012, Tampere, Finland, October 2012,Link: http://dl.acm.org/citation.cfm?doid=2380445.2380497

Marcio F. S. Oliveira, Christoph Kuznik, Wolfgang Mueller, Volkan Esen, Wolfgang Ecker:Towards an Enhanced UVM for SystemC,DVCON 2012, San Jose, February 2012,Link: http://adt.cs.upb.de/wolfgang/dvcon2012.pdf

Christoph Kuznik, Wolfgang Mueller: A SystemC Based Library for Functional Coverage,DVCON 2011, San Jose, February 2011,Link: http://adt.cs.upb.de/wolfgang/dvcon2011.pdf

References

Page 22: Systematic Application of   UCIS to Improve the   Automation  on Verification Closure

sponsored by

P a g e 2 2 / 2 3

Acknowledgement

This work was partly funded by the DFG Collaborative Research Centre 614 and by the German Ministry of Education and Research through the project SANITAS (16M3088I).

Page 23: Systematic Application of   UCIS to Improve the   Automation  on Verification Closure

Thank you for your attention.

Christoph Kuznik, Marcio F. S. Oliveira, Gilles Bertrand Defo, Wolfgang Mueller

University of Paderborn / C-LABGermany

{kuznik, marcio, defo, wolfgang}@c-lab.de

16M3088I

sponsored by:

Page 24: Systematic Application of   UCIS to Improve the   Automation  on Verification Closure

sponsored by

P a g e 2 4 / 2 3

Appendix: UCIS API