ACTIVEPASSIVE AGENT TIMIR SONI AGENDA Introduction Agent Classification

  • Slides: 13
Download presentation
ACTIVE-PASSIVE AGENT TIMIR SONI

ACTIVE-PASSIVE AGENT TIMIR SONI

AGENDA Introduction Agent Classification Agent Configuration Active/Passive Selection Agent Configuration with example Active/Passive Agent

AGENDA Introduction Agent Classification Agent Configuration Active/Passive Selection Agent Configuration with example Active/Passive Agent Application and Usage 2

Introduction • UVM test-bench consist of static as well as dynamic components. • UVM

Introduction • UVM test-bench consist of static as well as dynamic components. • UVM Architecture contains an important physical component that is called AGENT. • Agent Verification component dedicated for specific logic interface to dut • An Agent fundamentally contains the Driver, Sequencer & a Monitor. Note : Agent is not restricted to contain only driver/sequencer/monitor. 3

4

4

Agent Classification • An agent is classified as : - Active Agent - contains

Agent Classification • An agent is classified as : - Active Agent - contains all the components responsible for generating stimulus driving to dut - Passive Agent - contains only component responsible for sampling signals from dut. 5

Agent Configuration • The structure of an Agent is dependent on its configuration •

Agent Configuration • The structure of an Agent is dependent on its configuration • Configuration can differ from one test to the another using a different configuration object for the same Agent • An agent can be configured as Active or Passive Agent. • In ACTIVE mode, Driver, Sequencer and Monitor are constructed, yet in PASSIVE mode neither Driver nor Sequencer is constructed. Usually in PASSIVE mode, a Monitor is constructed. 6

 • Functional coverage related to the Agent’s functionality, there may be a functional

• Functional coverage related to the Agent’s functionality, there may be a functional coverage monitor implemented as a sub-component of Agent or may not depending on the Testbench Architecture. • Behavior is controlled using a bit type variable named “has_functional_coverage” present inside agent config. • Configuration object also plays a significant role in defining other features of the Agent & how an Agent behaves or configured with respect to certain test-case/scenario generation. 7

Active/Passive Selection • Selection between ACTIVE or PASSIVE mode of an agent can be

Active/Passive Selection • Selection between ACTIVE or PASSIVE mode of an agent can be done by a through enum type uvm_active_passive_enum. • typedef enum bit { UVM_PASSIVE=0, UVM_ACTIVE=1 } uvm_active_passive_enum • Default value of mentioned enum is UVM_ACTIVE. • An agent can be also configured as ACTIVE/PASSIVE by using a set config method, the default agent will be ACTIVE. the set config can be done in the env or test. • set_config_int("path_to_agent", "is_active", UVM_ACTIVE); • set_config_int("path_to_agent", "is_active", UVM_PASSIVE); 8

Agent Configuration with example 9

Agent Configuration with example 9

10

10

Active/Passive Agent Application and Usage • Passive agent - Merging ip/block verification environment to

Active/Passive Agent Application and Usage • Passive agent - Merging ip/block verification environment to the SOC environment. (Note : As at SOC level each IP is a black box and is considered as a golden block) - reduces the verification effort at SOC level - Traffic on an internal interface of the DUT (where the master and slave roles are both performed by RTL components) - Only instantiate the monitor and used for checking and coverage only - Useful when there's no data item to be driven to DUT - Various SOC challenges can be overcome by passive monitor. 11

 • Active agent - Monitor used to sample the response and accordingly drive

• Active agent - Monitor used to sample the response and accordingly drive the sequence - Enables data to be driven to DUT via driver - Collect bus or signal information through a virtual interface - Collected data may or may not be used for protocol checking but can be used for coverage - Collected data is exported via an analysis port 12

13

13