uvm_sequencer_base Class Reference

Inheritance diagram for class uvm_sequencer_base:

List of all members.



Public Member Functions

function void  add_sequence ( string type_name )
function void  analysis_write ( uvm_sequence_item t )
function void  build ( )
function void  build_phase ( uvm_phase phase )
function string  convert2string ( )
function uvm_sequence_base  current_grabber ( )
function void  do_print ( uvm_printer printer )
task   execute_item ( uvm_sequence_item item )
function no type  get_arbitration ( )
function int  get_seq_kind ( string type_name )
function uvm_sequence_base  get_sequence ( int req_kind )
task   grab ( uvm_sequence_base sequence_ptr )
function bit  has_do_available ( )
function bit  has_lock ( uvm_sequence_base sequence_ptr )
function bit  is_blocked ( uvm_sequence_base sequence_ptr )
function bit  is_child ( uvm_sequence_base parent, uvm_sequence_base child )
function bit  is_grabbed ( )
function void  kill_sequence ( uvm_sequence_base sequence_ptr )
task   lock ( uvm_sequence_base sequence_ptr )
function void  m_add_builtin_seqs ( bit add_simple = 1 )
function int  m_register_sequence ( uvm_sequence_base sequence_ptr )
function void  m_sequence_exiting ( uvm_sequence_base sequence_ptr )
function void  m_set_arbitration_completed ( int request_id )
function void  m_unlock_req ( uvm_sequence_base sequence_ptr )
task   m_wait_for_arbitration_completed ( int request_id )
function void  new ( string name, uvm_component parent )
function int  num_sequences ( )
function void  remove_sequence ( string type_name )
task   run_phase ( uvm_phase phase )
function void  send_request ( uvm_sequence_base sequence_ptr, uvm_sequence_item t, bit rerandomize = 0 )
function void  set_arbitration ( SEQ_ARB_TYPE val )
function void  set_sequences_queue ( ref string sequencer_sequence_lib[$] )
task   start_default_sequence ( )
function void  start_phase_sequence ( uvm_phase phase )
function void  stop_sequences ( )
function void  ungrab ( uvm_sequence_base sequence_ptr )
function void  unlock ( uvm_sequence_base sequence_ptr )
function integer  user_priority_arbitration ( integer avail_sequences[$] )
task   wait_for_grant ( uvm_sequence_base sequence_ptr, int item_priority = -1, bit lock_request = 0 )
task   wait_for_item_done ( uvm_sequence_base sequence_ptr, int transaction_id )
task   wait_for_sequences ( )

Public Attributes

int  count = -1; 
int  m_exhaustive_count 
int  m_is_relevant_completed 
int  m_random_count 
int  m_simple_count 
int unsigned  max_random_count = 10; 
int unsigned  max_random_depth = 4; 
string  sequences [$] 

Protected Member Functions

function void  grant_queued_locks ( )
function int  m_choose_next_request ( )
virtual function int  m_find_number_driver_connections ( )
function uvm_sequence_base  m_find_sequence ( int sequence_id )
function int  m_get_seq_item_priority ( uvm_sequence_request seq_q_entry )
task   m_select_sequence ( )
virtual function void  m_unregister_sequence ( int sequence_id )
function void  m_update_lists ( )
task   m_wait_arb_not_equal ( )
task   m_wait_for_available_sequence ( )

Protected Attributes

protected bit  arb_completed [int] 
protected uvm_sequence_request  arb_sequence_q [$] 
protected string  default_sequence = "uvm_random_sequence"; 
protected uvm_sequence_base  lock_list [$] 
protected int  m_arb_size 
protected bit  m_default_seq_set 
protected int  m_lock_arb_size 
protected int  m_sequencer_id 
protected int  m_wait_for_item_sequence_id 
protected int  m_wait_for_item_transaction_id 
protected uvm_sequence_base  reg_sequences [int] 
protected int  sequence_ids [string] 
rand protected int  seq_kind 

Member Typedefs

 typedef enum  seq_req_t 


Member Function Documentation

  function void
 uvm_sequencer_base::add_sequence

 (  string type_name  ) 

  function void
 uvm_sequencer_base::analysis_write

 (  uvm_sequence_item t  ) 


 Superseding functions 
 uvm_sequencer_param_base :: analysis_write 

  function void
 uvm_sequencer_base::build

 (   ) 


 Superseded functions 
 uvm_component :: build 

  function void
 uvm_sequencer_base::build_phase

 (  uvm_phase phase  ) 


 Superseded functions 
 uvm_component :: build_phase 
 Superseding functions 
 uvm_sequencer_param_base :: build_phase 
 svt_sequencer :: build_phase 
 svt_mem_sequencer :: build_phase 

  function string
 uvm_sequencer_base::convert2string

 (   ) 


 Superseded functions 
 uvm_object :: convert2string 

  function uvm_sequence_base
 uvm_sequencer_base::current_grabber

 (   ) 

  function void
 uvm_sequencer_base::do_print

 (  uvm_printer printer  ) 


 Superseded functions 
 uvm_object :: do_print 
 uvm_component :: do_print 
 Superseding functions 
 uvm_sequencer_param_base :: do_print 

  task
 uvm_sequencer_base::execute_item

 (  uvm_sequence_item item  ) 


 Superseding tasks 
 svt_reactive_sequencer :: execute_item 

  function no type
 uvm_sequencer_base::get_arbitration

 (   ) 

  function int
 uvm_sequencer_base::get_seq_kind

 (  string type_name  ) 

  function uvm_sequence_base
 uvm_sequencer_base::get_sequence

 (  int req_kind  ) 

  task
 uvm_sequencer_base::grab

 (  uvm_sequence_base sequence_ptr  ) 

 protected function void
 uvm_sequencer_base::grant_queued_locks

 (   ) 

  function bit
 uvm_sequencer_base::has_do_available

 (   ) 

  function bit
 uvm_sequencer_base::has_lock

 (  uvm_sequence_base sequence_ptr  ) 

  function bit
 uvm_sequencer_base::is_blocked

 (  uvm_sequence_base sequence_ptr  ) 

  function bit
 uvm_sequencer_base::is_child

 (  uvm_sequence_base parent , uvm_sequence_base child  ) 

  function bit
 uvm_sequencer_base::is_grabbed

 (   ) 

  function void
 uvm_sequencer_base::kill_sequence

 (  uvm_sequence_base sequence_ptr  ) 

  task
 uvm_sequencer_base::lock

 (  uvm_sequence_base sequence_ptr  ) 

  function void
 uvm_sequencer_base::m_add_builtin_seqs

 (  bit add_simple = 1  ) 

 protected function int
 uvm_sequencer_base::m_choose_next_request

 (   ) 

 protected virtual function int
 uvm_sequencer_base::m_find_number_driver_connections

 (   ) 


 Superseding functions 
 uvm_push_sequencer :: m_find_number_driver_connections 
 uvm_sequencer :: m_find_number_driver_connections 

 protected function uvm_sequence_base
 uvm_sequencer_base::m_find_sequence

 (  int sequence_id  ) 

 protected function int
 uvm_sequencer_base::m_get_seq_item_priority

 (  uvm_sequence_request seq_q_entry  ) 

  function int
 uvm_sequencer_base::m_register_sequence

 (  uvm_sequence_base sequence_ptr  ) 

 protected task
 uvm_sequencer_base::m_select_sequence

 (   ) 

  function void
 uvm_sequencer_base::m_sequence_exiting

 (  uvm_sequence_base sequence_ptr  ) 

  function void
 uvm_sequencer_base::m_set_arbitration_completed

 (  int request_id  ) 

  function void
 uvm_sequencer_base::m_unlock_req

 (  uvm_sequence_base sequence_ptr  ) 

 protected virtual function void
 uvm_sequencer_base::m_unregister_sequence

 (  int sequence_id  ) 

 protected function void
 uvm_sequencer_base::m_update_lists

 (   ) 

 protected task
 uvm_sequencer_base::m_wait_arb_not_equal

 (   ) 

  task
 uvm_sequencer_base::m_wait_for_arbitration_completed

 (  int request_id  ) 

 protected task
 uvm_sequencer_base::m_wait_for_available_sequence

 (   ) 

  function void
 uvm_sequencer_base::new

 (  string name , uvm_component parent  ) 


 Superseded functions 
 uvm_component :: new 
 Superseding functions 
 uvm_sequencer_param_base :: new 
 uvm_push_sequencer :: new 
 uvm_sequencer :: new 

  function int
 uvm_sequencer_base::num_sequences

 (   ) 

  function void
 uvm_sequencer_base::remove_sequence

 (  string type_name  ) 

  task
 uvm_sequencer_base::run_phase

 (  uvm_phase phase  ) 


 Superseded tasks 
 uvm_component :: run_phase 
 Superseding tasks 
 uvm_push_sequencer :: run_phase 
 svt_sequencer :: run_phase 

  function void
 uvm_sequencer_base::send_request

 (  uvm_sequence_base sequence_ptr , uvm_sequence_item t , bit rerandomize = 0  ) 


 Superseding functions 
 uvm_sequencer_param_base :: send_request 

  function void
 uvm_sequencer_base::set_arbitration

 (  SEQ_ARB_TYPE val  ) 

  function void
 uvm_sequencer_base::set_sequences_queue

 (  ref string sequencer_sequence_lib [$]  ) 

  task
 uvm_sequencer_base::start_default_sequence

 (   ) 

  function void
 uvm_sequencer_base::start_phase_sequence

 (  uvm_phase phase  ) 

  function void
 uvm_sequencer_base::stop_sequences

 (   ) 


 Superseding functions 
 uvm_sequencer :: stop_sequences 

  function void
 uvm_sequencer_base::ungrab

 (  uvm_sequence_base sequence_ptr  ) 

  function void
 uvm_sequencer_base::unlock

 (  uvm_sequence_base sequence_ptr  ) 

  function integer
 uvm_sequencer_base::user_priority_arbitration

 (  integer avail_sequences [$]  ) 

  task
 uvm_sequencer_base::wait_for_grant

 (  uvm_sequence_base sequence_ptr , int item_priority = -1, bit lock_request = 0  ) 

  task
 uvm_sequencer_base::wait_for_item_done

 (  uvm_sequence_base sequence_ptr , int transaction_id  ) 

  task
 uvm_sequencer_base::wait_for_sequences

 (   ) 


Member Attribute Documentation

 protected bit  attribute
 uvm_sequencer_base::arb_completed[int]

 protected uvm_sequence_request  attribute
 uvm_sequencer_base::arb_sequence_q[$]

 int  attribute
 uvm_sequencer_base::count = -1

 protected string  attribute
 uvm_sequencer_base::default_sequence = "uvm_random_sequence"

 protected uvm_sequence_base  attribute
 uvm_sequencer_base::lock_list[$]

 protected int  attribute
 uvm_sequencer_base::m_arb_size

 protected bit  attribute
 uvm_sequencer_base::m_default_seq_set

 int  attribute
 uvm_sequencer_base::m_exhaustive_count

 int  attribute
 uvm_sequencer_base::m_is_relevant_completed

 protected int  attribute
 uvm_sequencer_base::m_lock_arb_size

 int  attribute
 uvm_sequencer_base::m_random_count

 protected int  attribute
 uvm_sequencer_base::m_sequencer_id

 int  attribute
 uvm_sequencer_base::m_simple_count

 protected int  attribute
 uvm_sequencer_base::m_wait_for_item_sequence_id

 protected int  attribute
 uvm_sequencer_base::m_wait_for_item_transaction_id

 int unsigned  attribute
 uvm_sequencer_base::max_random_count = 10

 int unsigned  attribute
 uvm_sequencer_base::max_random_depth = 4

 protected uvm_sequence_base  attribute
 uvm_sequencer_base::reg_sequences[int]

 string  attribute
 uvm_sequencer_base::sequences[$]

 protected int  attribute
 uvm_sequencer_base::sequence_ids[string]

 rand protected int  attribute
 uvm_sequencer_base::seq_kind


Member Typedef Documentation

 typedef enum  uvm_sequencer_base::seq_req_t
SEQ_TYPE_REQ
SEQ_TYPE_LOCK
SEQ_TYPE_GRAB