[source]

Class uvm_pkg::uvm_driver

uvm_pkg::uvm_driver <REQ, RSP> + req : REQ + rsp : RSP + rsp_port : uvm_analysis_port #(RSP) + seq_item_port : uvm_seq_item_pull_port #(REQ, RSP) + seq_item_prod_if : uvm_seq_item_pull_port #(REQ, RSP) + type_name : string + get_type_name(): string dv_lib_pkg::dv_base_driver <ITEM_T, CFG_T, RSP_ITEM_T> irq_agent_pkg::irq_request_driver ibex_mem_intf_agent_pkg::ibex_mem_intf_response_driver ibex_mem_intf_agent_pkg::ibex_mem_intf_request_driver <REQ : ITEM_T, RSP : RSP_ITEM_T> <REQ : irq_seq_item, RSP : irq_seq_item> <REQ : ibex_mem_intf_seq_item, RSP : ibex_mem_intf_seq_item> <REQ : ibex_mem_intf_seq_item, RSP : ibex_mem_intf_seq_item>

Inheritance Diagram of uvm_driver

uvm_pkg::uvm_driver <REQ, RSP> + req : REQ + rsp : RSP + rsp_port : uvm_analysis_port #(RSP) + seq_item_port : uvm_seq_item_pull_port #(REQ, RSP) + seq_item_prod_if : uvm_seq_item_pull_port #(REQ, RSP) + type_name : string + get_type_name(): string uvm_pkg::uvm_seq_item_pull_port <REQ, RSP> uvm_pkg::uvm_analysis_port <T> uvm_pkg::uvm_sequence_item seq_item_port seq_item_prod_if rsp_port req rsp

Collaboration Diagram of uvm_driver

Copyright 2007-2011 Mentor Graphics Corporation Copyright 2007-2010 Cadence Design Systems, Inc. Copyright 2010 Synopsys, Inc. All Rights Reserved Worldwide

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

CLASS

uvm_driver #(REQ,RSP)

The base class for drivers that initiate requests for new transactions via a uvm_seq_item_pull_port. The ports are typically connected to the exports of an appropriate sequencer component.

This driver operates in pull mode. Its ports are typically connected to the corresponding exports in a pull sequencer as follows:

    driver.seq_item_port.connect(sequencer.seq_item_export);
    driver.rsp_port.connect(sequencer.rsp_export);

The rsp_port needs connecting only if the driver will use it to write responses to the analysis export in the sequencer.

Parameters

Name

Default value

Description

REQ

uvm_sequence_item

RSP

REQ

Variables

Name

Type

Description

seq_item_port

uvm_seq_item_pull_port#(uvm_sequence_item, uvm_sequence_item)

Port

seq_item_port

Derived driver classes should use this port to request items from the sequencer. They may also use it to send responses back.

seq_item_prod_if

uvm_seq_item_pull_port#(uvm_sequence_item, uvm_sequence_item)

alias

rsp_port

uvm_analysis_port#(uvm_sequence_item)

Port

rsp_port

This port provides an alternate way of sending responses back to the originating sequencer. Which port to use depends on which export the sequencer provides for connection.

req

uvm_sequence_item

rsp

uvm_sequence_item

type_name

string

Constructors

new(string name, uvm_component parent)

Function

new

Creates and initializes an instance of this class using the normal constructor arguments for uvm_component: name is the name of the instance, and parent is the handle to the hierarchical parent, if any.

Parameters:

Functions

get_type_name()