svt_reactive_sequence Class Reference

Inheritance diagram for class svt_reactive_sequence:

List of all members.


Detailed Description

Base class for all SVT reactive sequences. Because of the reactive nature of the protocol, the direction of requests (REQ) and responses (RSP) is reversed from the usual sequencer/driver flow.



Public Member Functions

function void  new ( string name = "svt_reactive_sequence", string suite_spec = "" )
task   post_body ( )
function void  post_req ( REQ req )
task   post_start ( )
task   pre_body ( )
function void  pre_rsp ( RSP rsp )
task   pre_start ( )
task   send_rsp ( input RSP rsp )
task   start_item ( uvm_sequence_item item, int set_priority = -1, uvm_sequencer_base sequencer = null )
task   wait_for_req ( output REQ req )

Class Parameters

type  REQ = uvm_sequence_item
type  RSLT 
type  RSP 


Member Function Documentation

  function void
 svt_reactive_sequence::new

 (  string name = "svt_reactive_sequence", string suite_spec = ""  ) 


CONSTRUCTOR: Create a new SVT sequence object

 Superseded functions 
 svt_sequence :: new 
 Superseding functions 
 svt_mem_sequence :: new 
 svt_mem_ram_sequence :: new 

  task
 svt_reactive_sequence::post_body

 (   ) 


 Superseded tasks 
 uvm_sequence_base :: post_body 
 svt_sequence :: post_body 

  function void
 svt_reactive_sequence::post_req

 (  REQ req  ) 


Called by wait_for_req just before returning. Includes a reference to the request instance.

  task
 svt_reactive_sequence::post_start

 (   ) 


 Superseded tasks 
 uvm_sequence_base :: post_start 

  task
 svt_reactive_sequence::pre_body

 (   ) 


 Superseded tasks 
 uvm_sequence_base :: pre_body 
 svt_sequence :: pre_body 

  function void
 svt_reactive_sequence::pre_rsp

 (  RSP rsp  ) 


Called by send_rsp just before sending the response to the driver. Includes a reference to the response instance.

  task
 svt_reactive_sequence::pre_start

 (   ) 


These functions exist so that we don't call super.* to avoid raising/dropping objections.

 Superseded tasks 
 uvm_sequence_base :: pre_start 

  task
 svt_reactive_sequence::send_rsp

 (  input RSP rsp  ) 


Calls sequencer.send_rsp

  task
 svt_reactive_sequence::start_item

 (  uvm_sequence_item item , int set_priority = -1, uvm_sequencer_base sequencer = null  ) 


Generate an error message if called.

 Superseded tasks 
 uvm_sequence_base :: start_item 

  task
 svt_reactive_sequence::wait_for_req

 (  output REQ req  ) 


Calls sequencer.wait_for_req

Class Parameters Documentation

 type  attribute
 svt_reactive_sequence::REQ = uvm_sequence_item

 type  attribute
 svt_reactive_sequence::RSLT

 type  attribute
 svt_reactive_sequence::RSP