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 ( ovm_sequence_item item, int set_priority = -1 )
task   wait_for_req ( output REQ req )

Class Parameters

type  REQ = ovm_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 
 ovm_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

 (   ) 

  task
 svt_reactive_sequence::pre_body

 (   ) 


 Superseded tasks 
 ovm_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.

  task
 svt_reactive_sequence::send_rsp

 (  input RSP rsp  ) 


Calls sequencer.send_rsp

  task
 svt_reactive_sequence::start_item

 (  ovm_sequence_item item , int set_priority = -1  ) 


Generate an error message if called.

 Superseded tasks 
 ovm_sequence_item :: 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 = ovm_sequence_item

 type  attribute
 svt_reactive_sequence::RSLT

 type  attribute
 svt_reactive_sequence::RSP