Dirver components in the UVM

Source: Internet
Author: User

The driver component in the general UVM environment, derived from Uvm_driver.

Uvm_dirver derived from Uvm_component.

Class Uvm_driver # (Type REQ = Uvm_sequence_item, type RSP = REQ) extends Uvm_component

Which defines two ports:seq_item_port,driver generally use this interface to sequencer request sequence.

Rsp_port,driver sends response to the corresponding sequencer.

There is also a new function, nothing more.

The corresponding uvm_sequencer, derived from Uvm_sequencer_param_base, are derived from uvm_sequencer_base.

Class Uvm_sequencer # (Type Req=uvm_sequence_item, rsp=req) extends Uvm_sequencer_param_base (#REQ, RSP)

There is a seq_item_export defined. Provides access to this sequencer interface implementation.

Uvm_seq_item_pull_imp # (Req,rsp,this_type) Seq_item_export

Where the type of interface is Uvm_sqr_if_base # (REQ,RSP).

It implements the method: Get_next_item/try_next_item, first select the highest priority sequence in the sequencer, then the sequence wait_for_grant,

Then uvm_sequence_base::p re_do,randomized,post_do.

Item_done, once the previous task is called, the task must also be called. Indicates that a sequence end, FIFO can be moved out.

After obtaining sequence in the driver, the sequence needs to be changed to the type of signal the DUT can receive.

In the agent, you must connect Driver.seq_item_port.connect (Sequencer.seq_item_export) in Connect_phase. So sequence at the time of execution

The sequencer must be specified, and the sequencer is connected with the driver to finalize the purpose of sending transaction to the DUT. Of course, for a very simple

Transaction can also send a signal to the DUT directly in the sequence.

There is, however, a doubt about the relationship between the task body () in sequence and the execution of Sequencer's seq_item_port.

Dirver components in the UVM

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.