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

  • Dual Top Architecture

    The dual top testbench architecture advocated throughout this cookbook enables platform portability - it is fundamental for testbench acceleration using emulation or some other hardware-assisted platform.

  • Parameterized Tests

    SystemVerilog provides a number of ways to pass changeable values through different code structures. Some changeable values must be fixed at elaboration time and others can be changed at run-time after starting a simulation.

  • Testbench Build

    The first phase of a UVM testbench is the build phase. During this phase, the uvm_component classes that make up the testbench hierarchy are constructed into objects.

  • Configuring Sequences

    A frequently encountered scenario in sequence configuration involves setting up the agent's configuration object, encompassing its constituent components such as the sequencer, driver, monitor, and more.

  • UVM Agent

    A UVM agent is a verification component "kit" for a given logical interface such as APB or USB.

  • Emulation

    Learn all about methodology related to Veloce/TBX Emulation on UVM.

  • Using a Parameter Package

    When a DUT or interface is parameterized, the parameter values are almost always used in the testbench as well.

  • Macro Cost-Benefit Analysis

    Macros can be useful to reduce repetitive typing of small pattern-like code segments, to hide implementation differences or limitations among the simulators from different vendors, or to make critical code segments less error-prone for reuse.

  • SystemVerilog Performance Guidelines

    These guidelines are aimed at enabling you to identify coding idioms that are likely to affect testbench performance.

  • UVM Sequence Items

    The UVM stimulus generation process is based on sequences controlling the behavior of drivers by generating sequence_items and sending them to the driver via a sequencer.

  • Register Package

    The UVM register model provides a way of tracking the register content of a DUT and a convenience layer for accessing register and memory locations within the DUT.

  • UVM Guidelines

    The UVM library is both a collection of classes and a methodology for how to use those base classes.

  • Register Layer Adapter

    The UVM register model access methods generate bus read and write cycles using generic register transactions.

  • UVM Performance Guidelines

    Although the UVM improves verification productivity, there are certain aspects of the methodology that should be used with caution, or perhaps not at all, when it comes to performance and scalability considerations.

  • Register-Level Scoreboards

    The UVM register model shadows the current configuration of a programmable DUT and this makes it a valuable resource for scoreboards that need to be aware of the current DUT state.

  • Sequence Driver Connection

    The transfer of request and response sequence items between sequences and their target driver is facilitated by a bidirectional TLM communication mechanism implemented in the sequencer.

  • C Based Stimulus

    Using c to generate stimulus via the UVM register package.

  • Predictors

    A Predictor is a verification component that represents a "golden" reference model of all or part of the DUT functionality.

  • SystemVerilog Guidelines

    The SystemVerilog coding guidelines and rules in this article are based on Siemens EDA's experience and are designed to steer users away from coding practices that result in SystemVerilog that is either hard to understand or debug.

  • Generating Stimulus with UVM Sequences

    The uvm_sequence_base class extends the uvm_sequence_item class by adding a body task method.

  • Sequences

    Sequences are used to encapsulate stimulus, Sequencer/Driver hookup, pipelined protocols, test generation, performance analysis and much more.

  • Unidirectional Protocols

    For a driver, composed of a BFM-proxy pair in the dual domain testbench, the driver proxy controls the flow of sequence_items by using get_next_item() to obtain the next sequence_item to be processed, and making the item_done() call only once it has finished processing the item.

  • Sequence-Driver Use Models

    Sequence-Driver Use Models can be applied to both pipelined and non-pipelined models in hardware verification.

  • Driver Sequence API

    The uvm_driver is an extension of the uvm_component class that adds an uvm_seq_item_pull_port which is used to communicate with a sequence via a sequencer.

  • Bidirectional Protocols

    For a driver, composed of a BFM-proxy pair in the dual domain testbench, one of the most common sequence-driver use cases is where the sequencer sends request sequence_items to the driver proxy, which then executes the request phase of the pin-level protocol through the driver BFM.