Search Results

Filters
Reset All

Filters

Topic

Show More

Show Less

Content Type

Show More

Show Less

Audience

Tags

Show More

Show Less

1772 Results

  • Analysis

    Components in a UVM testbench that observe and analyze behavior of the DUT.

  • Analysis Port

    One of the unique aspects of the analysis section of a testbench is that usually there are many independent calculations and evaluations all operating on the same piece of data.

  • Analysis Connections

    An analysis component such as a Monitor sends transactions to another analysis component through a TLM connection which is a chain of objects where each calls the write(t) function in the next.

  • Configuring Registers

    During verification a programmable hardware device needs to be configured to operate in different modes. The register model can be used to automate or to semi-automate this process.

  • Built-in Register Sequences

    The UVM package contains a library of automatic test sequences which are based on the register model. These sequences can be used to do basic tests on registers and memory regions within a DUT.

  • Metric Analyzers

    Metric Analyzers watch and record non-functional behavior such as latency, power utilization, and other performance-related measurements.

  • Objections

    The UVM_objection class provides a means for sharing a counter between participating components and sequences.

  • Separate Top-Level Modules

    Co-emulation is done by running two distinct synchronized model evaluations - one on a hardware emulator, and one on a software simulator.

  • Split Transactors

    Driver and monitor transactors contain a mixture of transaction-level code to communicate with the testbench, and clock-driven HDL signal accessing code to communicate with the DUT through a virtual interface.

  • Back Pointers

    In the original single top bidirectional driver example, all driver activity is initiated from the testbench domain.

  • Defining an API

    As the timed portion of the traditional UVM transactor must be moved over to the HDL domain.

  • Emulation-Ready Testbench Examples

    This article steps through the process of converting a comprehensive traditional single top UVM example testbench to an equivalent one with a dual domain partitioned structure that is ready for co-emulation with Veloce.

  • Sequence Priority

    The UVM sequence use model allows multiple sequences to access a driver concurrently.

  • Overriding Sequences and Sequence Items

    Sometimes, during stimulus generation, it is useful to change the behavior of sequences or sequence items.

  • Layering Sequences

    Many protocols have a hierarchical definition - for example, PCI express, USB 3.0, and MIPI LLI all have a Transaction Layer, a Transport Layer, and a Physical Layer.

  • Locking or Grabbing a Sequencer

    There are a number of modeling scenarios where one sequence needs to have exclusive access to a driver via a sequencer.

  • Hierarchical Sequences

    When dealing with sequences, it helps to think in layers when considering the different functions that a testbench will be asked to perform.

  • Register-Level Stimulus

    Stimulus that accesses memory mapped registers should be made as abstract as possible.

  • Register Model & Structure

    In order to be able to use the UVM register model effectively, it is important to have a mental model of how it is structured in order to be able to find your way around it.

  • Register Sequence Examples

    To illustrate how the different register model access methods can be used from sequences to generate stimulus, this page contains a number of example sequences developed for stimulating the SPI master controller DUT.

  • Generating Register Models

    A register model can be written by hand, following the pattern given for the SPI master example.

  • Integrating a UVM Register Model in a Testbench - Implementation

    The integration process for the register model involves constructing it and placing handles to it inside the relevant configuration objects, and then creating the adaption layers.

  • Memory-Level Stimulus

    The UVM register model also supports memory access. Memory regions within a DUT are represented by memory models which have a configured width and range and are placed at an offset defined in a register map

  • "Quirky" Registers

    Quirky registers are just like any other register described using the register base class except for one thing.

  • Integrating a UVM Register Model in a Testbench - Overview

    Within an UVM testbench a register model is used either as a means of looking up a mirror of the current DUT hardware state or as means of accessing the hardware via the front or back door and updating the register model database.