Electronicdesign 4301 Xl eda 2 1

Assertion-Based Verification Takes Big Step Toward Automation

Feb. 9, 2011
With its ActiveProp tool, Jasper Design Automation has endeavored to make the synthesis of SystemVerilog Assertions an automatic affair. Not only that, but the assertions and properties it generates are intelligent and become more so with subsequent simulation runs.

User interface

The use of assertions to verify a design’s functionality is, on the face of things, an obvious next step from pure simulation. But adoption of assertion-based verification (ABV) has progressed slowly and this is at least in part a matter of mindset. In a classic simulation scenario, data and/or test vectors simply flow from inputs to outputs and you either get the result you expect or you do not. ABV requires that the assertions must be written to deliberately test given conditions. To use them effectively, the verification engineer must be comfortable with SystemVerilog Assertions (SVAs), and that isn’t always the case.

Such a situation presents an opportunity for an enterprising EDA vendor, and Jasper Design Automation will attempt to fill this gap with a tool it calls ActiveProp property synthesis. ActiveProp can even help experts in SVAs, because it is intended to jump-start and automate the creation of high-quality assertions, a process that takes time even for experts when undertaken in manual fashion.

ActiveProp offers three modes of operation. It can be used in standalone fashion by all design and verification engineers. RTL designers might prefer to use it with Jasper’s ActiveDesign, with which it teams to produce a design-exploration flow to answer “what-if” questions. Verification engineers may want to hitch it up with JasperGold, Jasper’s formal verification tool. In this mode, users can exhaustively prove the generated assertions.

The tool automatically produces properties from three inputs. First, it needs the design RTL. Second, it needs to know “signals” or “points” of interest within the design; these can be at the perimeter of blocks or internal to the blocks. And lastly, it needs simulation data. The tool can leverage any form of simulation, reusing testbench waveforms. This can be block-level, full-SoC (system-on-a-chip) level, or system-level simulation.

Armed with this information, ActiveProp can be run in one of two modes. If you’re part of an organization that keeps big simulation files around, the tool can be run in batch mode to post-process these files. Or it can be linked directly to a live simulation via a programming-language interface in runtime.

What you get at the tool’s output are SVA properties in the form of constraints, assertions, and covers. Special emphasis is placed on providing this output in human-readable format so you can tell what the properties will be looking for. Once they’re in hand, the properties can be reviewed and classified before they are applied by an ABV tool, simulator, emulator, or formal verification.

At this point it’s fair to ask yourself, “What exactly makes for a high-quality SVA property?” That is exactly what makes some verification engineers a bit squeamish about using properties and assertions. Writing good properties requires a good deal of insight into the design’s functionality. ActiveProp helps in this regard by classifying points of interest in the design (items such as counters, finite state machines, and the like) to extract function-specific properties. It extracts critical expressions from the design RTL to guide, simplify, and merge the resulting properties. The result is fewer but truly functional properties; the low-level, non-essential ones that just clutter things up are weeded out.

Not only are the properties created with insight, but they actually learn and become more effective with multiple simulation runs. Over the course of several runs, ActiveProp refines the properties. Users can take a snapshot of the generated properties and compare them to the refined versions later.

The tool’s user interface (see the figure) displays a full list of points of interest within the design and the properties that have been created. Properties are identified as “candidates;” the user chooses which ones to actually use in verification. Properties that are in red are related to coverage holes.

ActiveProp is useful enough in a standalone flow but it really shines when used in combination with Jasper’s existing JasperGold and ActiveDesign tools. With either of those tools, users can open the waveforms that result from properties. JasperGold can prove the properties’ mettle.  If they’re found to be good, they can be published directly as SystemVerilog Assertions for use in simulation.

Jasper Design Automation

Sponsored Recommendations

The Importance of PCB Design in Consumer Products

April 25, 2024
Explore the importance of PCB design and how Fusion 360 can help your team react to evolving consumer demands.

PCB Design Mastery for Assembly & Fabrication

April 25, 2024
This guide explores PCB circuit board design, focusing on both Design For Assembly (DFA) and Design For Fabrication (DFab) perspectives.

What is Design Rule Checking in PCBs?

April 25, 2024
Explore the importance of Design Rule Checking (DRC) in manufacturing and how Autodesk Fusion 360 enhances the process.

Unlocking the Power of IoT Integration for Elevated PCB Designs

April 25, 2024
What does it take to add IoT into your product? What advantages does IoT have in PCB related projects? Read to find answers to your IoT design questions.

Comments

To join the conversation, and become an exclusive member of Electronic Design, create an account today!