ovm_sequencer_base Class Reference

Inheritance diagram for ovm_sequencer_base:

Inheritance graph
[legend]
Collaboration diagram for ovm_sequencer_base:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 new (string name, ovm_component parent)
void do_print (ovm_printer printer)
string display_queues ()
virtual integer user_priority_arbitration (integer avail_sequences[$])
void wait_for_arbitration_completed (integer request_id)
void set_arbitration_completed (integer request_id)
bit is_child (ovm_sequence_base parent, ovm_sequence_base child)
void wait_for_grant (ovm_sequence_base sequence_ptr, integer item_priority=-1, bit lock_request=0)
void wait_for_item_done (ovm_sequence_base sequence_ptr, integer transaction_id)
bit is_blocked (ovm_sequence_base sequence_ptr)
bit is_locked (ovm_sequence_base sequence_ptr)
void unlock_req (ovm_sequence_base sequence_ptr)
void lock (ovm_sequence_base sequence_ptr)
void grab (ovm_sequence_base sequence_ptr)
void unlock (ovm_sequence_base sequence_ptr)
void ungrab (ovm_sequence_base sequence_ptr)
void stop_sequences ()
void sequence_exiting (ovm_sequence_base sequence_ptr)
void kill_sequence (ovm_sequence_base sequence_ptr)
virtual bit is_grabbed ()
virtual ovm_sequence_base current_grabber ()
bit has_do_available ()
void set_arbitration (SEQ_ARB_TYPE val)
virtual void analysis_write (ovm_sequence_item t)
virtual void wait_for_sequences ()
void add_sequence (string type_name)
void remove_sequence (string type_name)
void set_sequences_queue (ref string sequencer_sequence_lib[$])
integer get_seq_kind (string type_name)
ovm_sequence_base get_sequence (integer req_kind)
integer num_sequences ()
virtual void send_request (ovm_sequence_base sequence_ptr, ovm_sequence_item t, bit rerandomize=0)
virtual void start_sequence (ovm_sequence_base seq_base)

Public Attributes

integer unsigned pound_zero_count = 4
integer count = -1
integer m_random_count = 0
integer m_exhaustive_count = 0
integer m_simple_count = 0
integer unsigned max_random_count = 10
int unsigned max_random_depth = 4
string sequences [$]

Protected Member Functions

void m_update_lists ()
integer register_sequence (ovm_sequence_base sequence_ptr)
ovm_sequence_base find_sequence (integer sequence_id)
void unregister_sequence (integer sequence_id)
void grant_queued_locks ()
integer choose_next_request ()
void m_wait_arb_not_equal ()
void wait_for_available_sequence ()
integer get_seq_item_priority (seq_req_class seq_q_entry)

Protected Attributes

seq_req_class arb_sequence_q [$]
bit arb_completed [integer]
ovm_sequence_base lock_list [$]
integer m_sequencer_id
integer m_lock_arb_size
integer m_arb_size
integer m_wait_for_item_sequence_id
integer m_wait_for_item_transaction_id
string default_sequence = "ovm_random_sequence"
integer sequence_ids [string]
rand integer seq_kind

Private Member Functions

integer next_sequence_id ()
void lock_req (ovm_sequence_base sequence_ptr, bit lock)
void remove_sequence_from_queues (ovm_sequence_base sequence_ptr)

Private Attributes

SEQ_ARB_TYPE arbitration = SEQ_ARB_FIFO
ovm_sequence_base reg_sequences [integer]

Static Private Attributes

static integer g_sequence_id = 1
static integer g_sequencer_id = 1

Detailed Description

Definition at line 40 of file ovm_sequencer_base.svh.


Member Function Documentation

void ovm_sequencer_base::add_sequence string  type_name  ) 
 

Definition at line 871 of file ovm_sequencer_base.svh.

virtual void ovm_sequencer_base::analysis_write ovm_sequence_item  t  )  [virtual]
 

Reimplemented in ovm_sequencer_param_base< REQ, RSP >, and ovm_sequencer_param_base< ovm_sequence_item, ovm_sequence_item >.

Definition at line 852 of file ovm_sequencer_base.svh.

integer ovm_sequencer_base::choose_next_request  )  [protected]
 

Definition at line 281 of file ovm_sequencer_base.svh.

virtual ovm_sequence_base ovm_sequencer_base::current_grabber  )  [virtual]
 

Definition at line 796 of file ovm_sequencer_base.svh.

string ovm_sequencer_base::display_queues  ) 
 

Definition at line 136 of file ovm_sequencer_base.svh.

void ovm_sequencer_base::do_print ovm_printer  printer  )  [virtual]
 

Reimplemented from ovm_component.

Reimplemented in ovm_sequencer_param_base< REQ, RSP >, and ovm_sequencer_param_base< ovm_sequence_item, ovm_sequence_item >.

Definition at line 110 of file ovm_sequencer_base.svh.

ovm_sequence_base ovm_sequencer_base::find_sequence integer  sequence_id  )  [protected]
 

Definition at line 171 of file ovm_sequencer_base.svh.

integer ovm_sequencer_base::get_seq_item_priority seq_req_class  seq_q_entry  )  [protected]
 

Definition at line 463 of file ovm_sequencer_base.svh.

integer ovm_sequencer_base::get_seq_kind string  type_name  ) 
 

Definition at line 908 of file ovm_sequencer_base.svh.

ovm_sequence_base ovm_sequencer_base::get_sequence integer  req_kind  ) 
 

Definition at line 923 of file ovm_sequencer_base.svh.

void ovm_sequencer_base::grab ovm_sequence_base  sequence_ptr  ) 
 

Definition at line 714 of file ovm_sequencer_base.svh.

void ovm_sequencer_base::grant_queued_locks  )  [protected]
 

Definition at line 237 of file ovm_sequencer_base.svh.

bit ovm_sequencer_base::has_do_available  ) 
 

Definition at line 817 of file ovm_sequencer_base.svh.

bit ovm_sequencer_base::is_blocked ovm_sequence_base  sequence_ptr  ) 
 

Definition at line 601 of file ovm_sequencer_base.svh.

bit ovm_sequencer_base::is_child ovm_sequence_base  parent,
ovm_sequence_base  child
 

Definition at line 505 of file ovm_sequencer_base.svh.

virtual bit ovm_sequencer_base::is_grabbed  )  [virtual]
 

Definition at line 792 of file ovm_sequencer_base.svh.

bit ovm_sequencer_base::is_locked ovm_sequence_base  sequence_ptr  ) 
 

Definition at line 631 of file ovm_sequencer_base.svh.

void ovm_sequencer_base::kill_sequence ovm_sequence_base  sequence_ptr  ) 
 

Definition at line 784 of file ovm_sequencer_base.svh.

void ovm_sequencer_base::lock ovm_sequence_base  sequence_ptr  ) 
 

Definition at line 710 of file ovm_sequencer_base.svh.

void ovm_sequencer_base::lock_req ovm_sequence_base  sequence_ptr,
bit  lock
[private]
 

Definition at line 653 of file ovm_sequencer_base.svh.

void ovm_sequencer_base::m_update_lists  )  [protected]
 

Definition at line 132 of file ovm_sequencer_base.svh.

void ovm_sequencer_base::m_wait_arb_not_equal  )  [protected]
 

Definition at line 408 of file ovm_sequencer_base.svh.

ovm_sequencer_base::new string  name,
ovm_component  parent
 

Reimplemented from ovm_component.

Reimplemented in ovm_sequencer_param_base< REQ, RSP >, and ovm_sequencer_param_base< ovm_sequence_item, ovm_sequence_item >.

Definition at line 99 of file ovm_sequencer_base.svh.

integer ovm_sequencer_base::next_sequence_id  )  [private]
 

Definition at line 150 of file ovm_sequencer_base.svh.

integer ovm_sequencer_base::num_sequences  ) 
 

Definition at line 951 of file ovm_sequencer_base.svh.

integer ovm_sequencer_base::register_sequence ovm_sequence_base  sequence_ptr  )  [protected]
 

Definition at line 160 of file ovm_sequencer_base.svh.

void ovm_sequencer_base::remove_sequence string  type_name  ) 
 

Definition at line 884 of file ovm_sequencer_base.svh.

void ovm_sequencer_base::remove_sequence_from_queues ovm_sequence_base  sequence_ptr  )  [private]
 

Definition at line 726 of file ovm_sequencer_base.svh.

virtual void ovm_sequencer_base::send_request ovm_sequence_base  sequence_ptr,
ovm_sequence_item  t,
bit  rerandomize = 0
[virtual]
 

Reimplemented in ovm_sequencer_param_base< REQ, RSP >, and ovm_sequencer_param_base< ovm_sequence_item, ovm_sequence_item >.

Definition at line 955 of file ovm_sequencer_base.svh.

void ovm_sequencer_base::sequence_exiting ovm_sequence_base  sequence_ptr  ) 
 

Definition at line 780 of file ovm_sequencer_base.svh.

void ovm_sequencer_base::set_arbitration SEQ_ARB_TYPE  val  ) 
 

Definition at line 848 of file ovm_sequencer_base.svh.

void ovm_sequencer_base::set_arbitration_completed integer  request_id  ) 
 

Definition at line 495 of file ovm_sequencer_base.svh.

void ovm_sequencer_base::set_sequences_queue ref string  sequencer_sequence_lib[$]  ) 
 

Definition at line 895 of file ovm_sequencer_base.svh.

virtual void ovm_sequencer_base::start_sequence ovm_sequence_base  seq_base  )  [virtual]
 

Definition at line 967 of file ovm_sequencer_base.svh.

void ovm_sequencer_base::stop_sequences  ) 
 

Definition at line 768 of file ovm_sequencer_base.svh.

void ovm_sequencer_base::ungrab ovm_sequence_base  sequence_ptr  ) 
 

Definition at line 722 of file ovm_sequencer_base.svh.

void ovm_sequencer_base::unlock ovm_sequence_base  sequence_ptr  ) 
 

Definition at line 718 of file ovm_sequencer_base.svh.

void ovm_sequencer_base::unlock_req ovm_sequence_base  sequence_ptr  ) 
 

Definition at line 692 of file ovm_sequencer_base.svh.

void ovm_sequencer_base::unregister_sequence integer  sequence_id  )  [protected]
 

Definition at line 192 of file ovm_sequencer_base.svh.

virtual integer ovm_sequencer_base::user_priority_arbitration integer  avail_sequences[$]  )  [virtual]
 

Definition at line 223 of file ovm_sequencer_base.svh.

void ovm_sequencer_base::wait_for_arbitration_completed integer  request_id  ) 
 

Definition at line 479 of file ovm_sequencer_base.svh.

void ovm_sequencer_base::wait_for_available_sequence  )  [protected]
 

Definition at line 412 of file ovm_sequencer_base.svh.

void ovm_sequencer_base::wait_for_grant ovm_sequence_base  sequence_ptr,
integer  item_priority = -1,
bit  lock_request = 0
 

Definition at line 533 of file ovm_sequencer_base.svh.

void ovm_sequencer_base::wait_for_item_done ovm_sequence_base  sequence_ptr,
integer  transaction_id
 

Definition at line 571 of file ovm_sequencer_base.svh.

virtual void ovm_sequencer_base::wait_for_sequences  )  [virtual]
 

Definition at line 862 of file ovm_sequencer_base.svh.


Member Data Documentation

bit ovm_sequencer_base::arb_completed[integer] [protected]
 

Definition at line 47 of file ovm_sequencer_base.svh.

seq_req_class ovm_sequencer_base::arb_sequence_q[$] [protected]
 

Definition at line 42 of file ovm_sequencer_base.svh.

SEQ_ARB_TYPE ovm_sequencer_base::arbitration = SEQ_ARB_FIFO [private]
 

Definition at line 50 of file ovm_sequencer_base.svh.

integer ovm_sequencer_base::count = -1
 

Definition at line 64 of file ovm_sequencer_base.svh.

string ovm_sequencer_base::default_sequence = "ovm_random_sequence" [protected]
 

Definition at line 80 of file ovm_sequencer_base.svh.

integer ovm_sequencer_base::g_sequence_id = 1 [static, private]
 

Definition at line 52 of file ovm_sequencer_base.svh.

integer ovm_sequencer_base::g_sequencer_id = 1 [static, private]
 

Definition at line 53 of file ovm_sequencer_base.svh.

ovm_sequence_base ovm_sequencer_base::lock_list[$] [protected]
 

Definition at line 49 of file ovm_sequencer_base.svh.

integer ovm_sequencer_base::m_arb_size [protected]
 

Definition at line 56 of file ovm_sequencer_base.svh.

integer ovm_sequencer_base::m_exhaustive_count = 0
 

Definition at line 68 of file ovm_sequencer_base.svh.

integer ovm_sequencer_base::m_lock_arb_size [protected]
 

Definition at line 55 of file ovm_sequencer_base.svh.

integer ovm_sequencer_base::m_random_count = 0
 

Definition at line 67 of file ovm_sequencer_base.svh.

integer ovm_sequencer_base::m_sequencer_id [protected]
 

Definition at line 54 of file ovm_sequencer_base.svh.

integer ovm_sequencer_base::m_simple_count = 0
 

Definition at line 69 of file ovm_sequencer_base.svh.

integer ovm_sequencer_base::m_wait_for_item_sequence_id [protected]
 

Definition at line 57 of file ovm_sequencer_base.svh.

integer ovm_sequencer_base::m_wait_for_item_transaction_id [protected]
 

Definition at line 57 of file ovm_sequencer_base.svh.

integer unsigned ovm_sequencer_base::max_random_count = 10
 

Definition at line 73 of file ovm_sequencer_base.svh.

int unsigned ovm_sequencer_base::max_random_depth = 4
 

Definition at line 77 of file ovm_sequencer_base.svh.

integer unsigned ovm_sequencer_base::pound_zero_count = 4
 

Definition at line 58 of file ovm_sequencer_base.svh.

ovm_sequence_base ovm_sequencer_base::reg_sequences[integer] [private]
 

Definition at line 51 of file ovm_sequencer_base.svh.

rand integer ovm_sequencer_base::seq_kind [protected]
 

Definition at line 92 of file ovm_sequencer_base.svh.

integer ovm_sequencer_base::sequence_ids[string] [protected]
 

Definition at line 89 of file ovm_sequencer_base.svh.

string ovm_sequencer_base::sequences[$]
 

Definition at line 84 of file ovm_sequencer_base.svh.


The documentation for this class was generated from the following file:
Intelligent Design Verification
Intelligent Design Verification
Project: OVM, Revision: 1.1.0
Copyright (c) 2008 Intelligent Design Verification.
Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.
A copy of the license is included here:
http://www.intelligentdv.com/licenses/fdl.txt
doxygen
Doxygen Version: 1.4.6
Mon Sep 29 14:24:07 2008
Find a documentation bug? Report bugs to: bugs.intelligentdv.com Project: DoxygenFilterSV