FV Technical Publications

Want to select multiple Techpubs? Switch to list view

Improving Efficiency, Productivity, and Coverage Using SystemVerilog OVM Registers

A subset of the currently used solutions will be described in this paper, followed by a list of register verification requirements, a description of some register testing styles and modes, along with a review of coverage modes and coverage goals and finally a short overview of such tools in use and the issues identified. The SystemVerilog [1] OVM [2] Register Package will be used to illustrate various techniques for verification and its API described listed in the appendix.
Download

Is There a Future for SystemVerilog Interfaces?

The SystemVerilog interface is intended to be a powerful modeling construct for describing hardware interconnect in a very general manner that is applicable to both testbench and synthesizable RTL design applications. In this paper we argue that the SystemVerilog interface construct is inadequately specified, insufficiently powerful for real applications, and impossible to implement consistently in its current form. We then review the application areas that interfaces were intended to address, and propose some possible solutions for these shortcomings.
Download

Towards an Object-Oriented Design Methodology Using SystemVerilog

Having to cope with the continuously increasing complexity of modern digital systems, hardware designers are more and more seriously considering language-based methodologies for parts of their designs. The introduction of the System Verilog (SV) language initiated a closer relationship between software and hardware descriptions and development tools. This paper presents synthesis recommendations and the corresponding synthesis methodology to develop object-oriented models with SV constructs for hardware system implementations.
Download

VPI for SystemVerilog Goes Dynamic

The SystemVerilog language supports a rich set of new data types and the ability to create very general data structures at runtime. VPI has historically had a runtime information model whose data objects were primarily static in nature. This paper examines a more robust information model adopted in the 2009 LRM for handling dynamic data. After reviewing the history of VPI and the current conceptual programming model, we will focus on class variables and objects and what mechanisms there are to track dynamic object lifetime and changes. We extrapolate to the broader set of dynamic data types, the remaining work, and open issues in completing the VPI information model and functionality.
Download

Mitigate Multi-Processor Synchronization Risks with Processor-Driven Verification

Multi-processor synchronization techniques are extensions of well established single processor,multi-threaded, software based synchronization techniques. These multi-processor synchronization techniques require a high level of concurrent visibility of both hardware and processor instruction logic. The risks of effective verification of multi-processor synchronization hardware and processor instruction logic can be best mitigated using a processor driven verification methodology and supporting tools. The stimulus must come from the processor in conjunction with the system level test bench. Debug tools must be non-intrusive and provide concurrent visibility of the hardware and processor state of all processors in a multi-processor design. Although the design challenges of multi-processor synchronization could fill a whole book, take a quick look at the problem to see the acute need for flawless functionality of the hardware and software synchronization logic.

Download

Advanced Verification of Low Power Designs

Power consumption due to leakage has become a major factor in the total power consumption equation for battery powered and sub-100 nm designs, compelling design teams to adopt various power management design techniques. Power gating is one of the most effective techniques for managing leakage power.

In addition, at sub-65 nm process nodes, different biasing techniques are being combined with power gating in order to minimize leakage power. Employing low power techniques, such as power gating and substrate biasing, gives rise to many thorny verification challenges. For example, are the power control sequences correct; is my biasing strategy functionally correct; do the “awake” portions of the design still function correctly when other domains are powered down; is adequate state information retained when state retention is employed; is the proper retention protocol followed; and is my isolation strategy functionally correct.

Download

Functional Verification of Low Power Designs at RTL

Power is the number one constraint impacting today’s electronic designs. The need to minimize dynamic and static power consumption creates unique verification challenges. A common low power design technique involves switching off certain portions of the design (power islands) when that functionality is not required to reduce leakage power and restoring power when that functionality is needed again. This creates the need to save and restore state information with retention flops and latches, and to ensure the power island returns to a known good state when powered up.

Verification of correct design functionality of power islands within the context of a power management scheme has traditionally been performed at the gate level, if at all. Defect rectification at this level is costly in terms of resource and design cycle. This paper discusses the application of innovative techniques to enable power-aware verification at the RTL with traditional RTL design styles and reusable blocks.

Download

To Retain or Not to Retain: How Do I Verify the State Elements of My Low Power Design?

With power becoming a critical design constraint in the design environment, designers are utilizing advanced techniques to minimize power consumption in their designs. As a result, the RTL design is being extended to express the functionality of new cell types including retention cells, level shifters, and isolation cells. Some of these cells act like buffers powered by different supplies. Others, such as retention cells, can have complex functionality that requires specific sequences of control signals to achieve correct behavior. Traditionally, designers have had to explicitly specify the insertion of these cells, either with wrappers around existing RTL blocks, or through simulation command files that mimic their expected behavioral impact. Using command scripts to mimic behavioral implications creates real challenges in verifying the desired functionality: after incorporating all of the power-aware features, one cannot be sure that what is simulated is the same as what will be implemented.

This paper will discuss the various challenges related to state verification of low power designs. We will describe mechanisms by which a designer can easily automate the complex process of managing the state elements in a low power design. A Power Aware Verification flow and tool is described that automatically detects the registers, latches, and memories present in the user’s RTL. The power intent is separately specified using the Unified Power Format (UPF). We will illustrate easy-to-use techniques to map specific retention behaviors to particular registers. We will also show how the tool automates the burden of connecting power and logic control signals to the verification models - thus automating this tedious task.

Download

An Acceleratable OVM Methodology Based on SCE-MI 2

Posted in: Emulation Systems

Open Verification Methodology (OVM) provides an open source methodology for writing structural, interoperable and reusable verification components. This paper proposes a methodology update on OVM to support transaction based acceleration. The methodology enables transaction based verification of an OVM testbench using SCE-MI 2 based co-emulation modeling techniques to provide the much needed execution efficiency.

Download