0% found this document useful (0 votes)
139 views

Uvm TB Flow

The document summarizes the key components in a UVM verification environment and their responsibilities: 1. Agents contain drivers, monitors, and sequencers, and connect them. The agent configures these components during build and connects them during connect. 2. The agent_top declares arrays of agent handles and constructs multiple agents during build based on a configuration parameter. 3. The env extends uvm_env, contains the agent_top, scoreboard, and virtual sequencer, and configures and connects these during the build and connect phases. 4. The test extends uvm_test, creates and configures the env, starts sequences on the virtual sequencer, and handles test flow and object

Uploaded by

Meghana Veggalam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
139 views

Uvm TB Flow

The document summarizes the key components in a UVM verification environment and their responsibilities: 1. Agents contain drivers, monitors, and sequencers, and connect them. The agent configures these components during build and connects them during connect. 2. The agent_top declares arrays of agent handles and constructs multiple agents during build based on a configuration parameter. 3. The env extends uvm_env, contains the agent_top, scoreboard, and virtual sequencer, and configures and connects these during the build and connect phases. 4. The test extends uvm_test, creates and configures the env, starts sequences on the virtual sequencer, and handles test flow and object

Uploaded by

Meghana Veggalam
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 2

seqr : `uvm_component_utils and the function new definition with 2

arguments
except function new, nothing else is required

driver : `uvm_component_utils and the function new definition with 2 arguments


build - get the config_db
connect - to establish the connections b/w dut & driver through
interfaces.
run - forever block to do get_next_item, drive_2_dut, item_done

monitor : `uvm_component_utils and the function new definition with 2 arguments


declare a handle analysis port
build - get the config_db
connect - to establish the connections b/w dut & monitor through
interfaces.
run - collect the data from the interfaces and broadcast the info
to sb & other components
with write method of analysis port.

agent : extends from uvm_agent


`uvm_component_utils and the function new definition with 2
arguments
declare the handles for drv, mon, seqr
build - get the config_db to use the is_active information
we will decide whether to construct active agent or
passive agent.
connect - establish the connections b/w drv & seqr
no need of any run phase

agent_top : extends from uvm_env or uvm_agent


`uvm_component_utils and the function new definition with 2
arguments
declare dynamic array of handles for the agents
build - get the cfg_db to get the no_of_agents information
use this no_of_agents information to decide,
how many no. of agents are going to be constructed.
no connect phase
no run phase

env : extends uvm_env


`uvm_component_utils and the function new definition with 2 arguments
handles for agent_top, sb, vseqr
build - get the env_config_db
- set the agent_cfg_db seperately, by restricting the access.
- creation of the components like sb, vseqr, ref_mod based on
the config parameters.
conenct - sb and mon - connections
- vseqr handle assignments
no run phase is required

test : extends uvm_test


`uvm_component_utils and the function new definition with 2 arguments
declare a handle for env & config_db
build - get the virtual interface information and put those
informations in the agent_cfg_db
- adjust the is_active parameter depending on the user
requirement.
- adjust the configuration parameters like has_sb, has_vseqr,
no_of_agents and store them in env_cfg_db
- set the env_cfg_db to the lower components by providing
global visibility.
- creating the env
end_of_eloboration - uvm_top.print_topology();
run - phase.raise_objection(this);
vseq.start(env_h.vseqr_h);
phase.drop_objection(this);

top module : declare an instance for interfaces


instantiate the design with the interface instance that is
already declared.
initial forever block to generate the clock required for
the design.
initial
- set the virtual interface information into the
config_db
- run_test("test_1");

You might also like

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy