Search Results

Filters
Reset All

Filters

Topic

Show More

Show Less

Content Type

Show More

Show Less

Audience

Resource Type

Show More

Show Less

Tags

Show More

Show Less

2294 Results

  • Abstract-Concrete Class Connections

    An alternative to using a virtual interface handle for DUT to UVM testbench connections is to use an abstract-concrete class pair. The abstract version of the class defines templates for all the methods that are available in the BFM. The concrete version of the class is declared in the BFM and it extends the abstract version, providing an implementation of the methods. The handle of the concrete class is assigned to the abstract handle in the agent classes via the uvm_config_db.

  • Connecting the Testbench to the DUT

    The UVM testbench objects cannot make a direct connection to the DUT signals in order to drive or sample them. The connection between an agent’s driver and monitor component objects and the DUT is indirected through one or more BFM components that have static signal ports. In this section of the UVM cookbook we consider the problem of connecting the UVM testbench to the RTL DUT.

  • Messaging in Sequences

    Sequences typically use messaging, either for debug, traceability or to report on the outcome of a built-in checking mechanism.

  • Messaging

    The UVM messaging system provides an infrastructure for printing messages in a consistent format from a UVM testbench

  • UVM Report Catcher

    There are situations where you may need to change a message generated by the messaging system, and the uvm_report_catcher is built-in call-back mechanism for doing this.

  • Command-Line Verbosity Control

    There are several UVM plusargs that can be used to control messaging verbosity, actions and severity from the command line.

  • Testing Message Status

    At the end of a UVM simulation, the report server issues a messaging summary to the transcript of the simulation.

  • Using Messaging

    The recommended way to use the UVM messaging system is to use the message macros, since they automatically insert the file name and line number of the message source into the UVM message string which is useful for debugging

  • Complex Address Maps

    In SoC design, the address mapping of registers and memory is often more complex than a single map.

  • Accellera UVM 1.2 Summary

    Cookbook topics which link to this page are affected by backwards compatibility issues or migration issues, when the Accellera UVM 1.2 release is used. Check the categories below for sources of information and advice, and a summary of the changes involved in migrating from UVM 1.1x to UVM 1.2.

  • Comprehensive Metrics-Based Methodology to Achieve Low Power SoCs

    In this session, you will be introduced to the tutorial agenda and markets, metrics, dimensions and Lifecyle of low-power design and verification.

  • Questa Verification IP Integration

    In this session, you will learn how to integrate Questa Verification IP (QVIP) within your UVMF testbench.

  • Questa Verification IP Integration

    In this session, you will learn how to integrate Questa Verification IP within your UVMF testbench.

  • UVMF and Emulation

    The UVMF works out of the box with both simulators and emulators, but how? This session helps you to understand Testbench Acceleration and how the UVMF gets you there.

  • Configuring Memory Read Completions Sent by PCIe® QVIP

    In real hardware systems, the read completion sizes for upstream read requests (initiated towards the root complex) are characteristics of the processor in use and the maximum payload size (request payload size) limitations of endpoint as a receiver. Out of various aspects to be considered while creating a read completion, important aspects of data associated with it are byte enables (valid data to be read), value of the read request, and address at which the request is initiated.

  • SATA Specification 3.3 Gaps Filled by SATA QVIP

    Developed to supersede Parallel ATA (PATA), the Serial ATA (SATA) protocol provides higher signaling rates, reduced cable sizes, and optimized data transfers for the connections between host bus adaptors and mass storage devices. SATA is a high-speed serial protocol with a point-to-point connection between the host and each of its connected devices. It is a layered protocol comprising of a command and application layer, transport layer, link layer, and physical layer.

  • Power Aware Static Verification: From Power Intent to Microarchitectural Checks of Low Power Designs - Part 1

    Power Aware Static Verification is primarily targeted to uncover the power aware structural issues that affects designs physically in architectural and microarchitectural aspects. The structural changes that occur in a PA design are mostly due to physical insertions of special power management and MV cells; such as power switches (PSW), isolation (ISO), level shifter (LS), enable level shifter (ELS), repeaters (RPT), and retentions flops (RFF).

  • A Hierarchical and Configurable Strategy to Verify RISC-V based SoCs

    This article outlines a hierarchical and configurable verification strategy for RISC-V based IP and SoCs. A three-level (unit, core and SoC) hierarchy is proposed for testbenches. Each level of the hierarchical testbench is configurable for both architectural and micro-architectural parameters. At the heart of the verification strategy is an ISG (Instruction Stream Generator) and a UVM testbench.

  • SVA Alternative for Complex Assertions

    This article first explains the concepts, and then by example, how a relatively simple assertion can be written without SVA with the use of SystemVerilog tasks; this provides the basis for understanding the concepts of multithreading and exit of threads upon a condition, such as vacuity or an error in the assertion, providing examples that demonstrate how some of the SVA limitations can be overcome with the use of tasks, but yet maintain the spirit ( but not vendor’s implementations ) of SVA.

  • Testbench: Architecture and Operation

    In this session, you will learn about the architecture of a UVMF testbench and directory structure.

  • Testbench: Architecture and Operation

    The UVMF testbench contains top level modules, top level sequence, top level environment, and top-level configuration. In this session, you will learn about the architecture of a UVMF testbench and directory structure.

  • Environment Code Generation

    In this session, you will learn the format and content of the YAML configuration file that describe the UVMF Environment and what parts of the generated output that you'll need to modify afterwards.

  • Environment Code Generation

    In this session, you will learn the format and content of the YAML configuration file that describe the UVMF Environment.

  • Scoreboards and Predictors

    Predictors and scoreboards provide the golden modeling and data checking function within a verification environment. In this session, you will learn the roles and responsibilities of scoreboards and predictors within the UVMF, the scoreboards provided by UVMF and how they are configured.

  • Scoreboards and Predictors

    In this session, you will learn the roles and responsibilities of scoreboards and predictors within the UVMF, the scoreboards provided by UVMF and how they are configured.