ovm_sequence_defines.svh File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Defines

#define ovm_register_sequence(TYPE_NAME, SEQUENCER)   static bit is_registered_with_sequencer = SEQUENCER::add_typewide_sequence("TYPE_NAME");
#define ovm_declare_p_sequencer(SEQUENCER)
#define ovm_sequence_utils_begin(TYPE_NAME, SEQUENCER)
#define ovm_sequence_utils_end   ovm_object_utils_end
#define ovm_sequence_utils(TYPE_NAME, SEQUENCER)
#define ovm_package(PKG)
#define ovm_end_package   endpackage
#define ovm_sequence_library_package(PKG_NAME)
#define ovm_create(OVM_SEQUENCE_ITEM)
#define ovm_do(OVM_SEQUENCE_ITEM)
#define ovm_do_pri(OVM_SEQUENCE_ITEM, PRIORITY)
#define ovm_do_with(OVM_SEQUENCE_ITEM, CONSTRAINTS)
#define ovm_do_pri_with(OVM_SEQUENCE_ITEM, PRIORITY, CONSTRAINTS)
#define ovm_send(OVM_SEQUENCE_ITEM)
#define ovm_send_pri(OVM_SEQUENCE_ITEM, PRIORITY)
#define ovm_rand_send(OVM_SEQUENCE_ITEM)
#define ovm_rand_send_pri(OVM_SEQUENCE_ITEM, PRIORITY)
#define ovm_rand_send_with(OVM_SEQUENCE_ITEM, CONSTRAINTS)
#define ovm_rand_send_pri_with(OVM_SEQUENCE_ITEM, PRIORITY, CONSTRAINTS)
#define ovm_declare_sequence_lib
#define ovm_update_sequence_lib
#define ovm_update_sequence_lib_and_item(USER_ITEM)
#define ovm_sequencer_utils_begin(TYPE_NAME)
#define ovm_sequencer_param_utils_begin(TYPE_NAME)
#define ovm_sequencer_utils_end   ovm_component_utils_end
#define ovm_sequencer_utils(TYPE_NAME)
#define ovm_sequencer_param_utils(TYPE_NAME)
#define ovm_create_on(OVM_SEQUENCE_ITEM, SEQUENCER_REF)
#define ovm_create_seq(OVM_SEQ, SEQR_CONS_IF)
#define ovm_do_on(OVM_SEQUENCE_ITEM, SEQUENCER_REF)
#define ovm_do_seq(OVM_SEQ, SEQR_CONS_IF)
#define ovm_do_on_pri(OVM_SEQUENCE_ITEM, SEQUENCER_REF, PRIORITY)
#define ovm_do_on_with(OVM_SEQUENCE_ITEM, SEQUENCER_REF, CONSTRAINTS)
#define ovm_do_seq_with(OVM_SEQ, SEQR_CONS_IF, CONSTRAINTS)
#define ovm_do_on_pri_with(OVM_SEQUENCE_ITEM, SEQUENCER_REF, PRIORITY, CONSTRAINTS)


Define Documentation

#define ovm_create ( OVM_SEQUENCE_ITEM   ) 

Value:

begin \
  ovm_object_wrapper w_; w_ = OVM_SEQUENCE_ITEM.get_type(); \
  $cast(OVM_SEQUENCE_ITEM , create_item(w_, m_sequencer, "OVM_SEQUENCE_ITEM"));\
  end\

Definition at line 87 of file ovm_sequence_defines.svh.

#define ovm_create_on ( OVM_SEQUENCE_ITEM,
SEQUENCER_REF   ) 

Value:

begin \
  ovm_object_wrapper w_; w_ = OVM_SEQUENCE_ITEM.get_type(); \
  $cast(OVM_SEQUENCE_ITEM , create_item(w_, SEQUENCER_REF, "OVM_SEQUENCE_ITEM"));\
  end

Definition at line 299 of file ovm_sequence_defines.svh.

#define ovm_create_seq ( OVM_SEQ,
SEQR_CONS_IF   ) 

Value:

begin \
  ovm_create_on(OVM_SEQ, SEQR_CONS_IF.consumer_seqr) \
  end

Definition at line 305 of file ovm_sequence_defines.svh.

#define ovm_declare_p_sequencer ( SEQUENCER   ) 

Value:

SEQUENCER p_sequencer;\
  virtual function void m_set_p_sequencer();\
    super.m_set_p_sequencer(); \
    assert($cast(p_sequencer, m_sequencer)) else \
        ovm_report_fatal("DCLPSQ", \
        $psprintf("%m Error casting p_sequencer, please verify that this sequence/sequence item is intended to execute on this type of sequencer")); \
  endfunction

Definition at line 24 of file ovm_sequence_defines.svh.

#define ovm_declare_sequence_lib

Value:

protected bit m_set_sequences_called = 1;    \
  static protected string m_static_sequences[$]; \
  static function bit add_typewide_sequence(string type_name); \
    m_static_sequences.push_back(type_name); \
    return 1; \
  endfunction\
  static function bit remove_typewide_sequence(string type_name); \
    for (int i = 0; i < m_static_sequences.size(); i++) begin \
      if (m_static_sequences[i] == type_name) \
        m_static_sequences.delete(i); \
    end \
    return 1;\
  endfunction\
  function void ovm_update_sequence_lib();\
    if(this.m_set_sequences_called) begin \
      set_sequences_queue(m_static_sequences); \
      this.m_set_sequences_called = 0;\
    end\
  endfunction\

Definition at line 242 of file ovm_sequence_defines.svh.

#define ovm_do ( OVM_SEQUENCE_ITEM   ) 

Value:

begin \
  OVM_SEQUENCE_ITEM = new(""); \
  ovm_create(OVM_SEQUENCE_ITEM) \
  start_item(OVM_SEQUENCE_ITEM); \
  assert(OVM_SEQUENCE_ITEM.randomize()) else begin \
    ovm_report_warning("RNDFLD", "Randomization failed in ovm_do action"); \
  end \
  finish_item(OVM_SEQUENCE_ITEM); \
  end

Definition at line 105 of file ovm_sequence_defines.svh.

#define ovm_do_on ( OVM_SEQUENCE_ITEM,
SEQUENCER_REF   ) 

Value:

begin \
  ovm_create_on(OVM_SEQUENCE_ITEM, SEQUENCER_REF) \
  start_item(OVM_SEQUENCE_ITEM); \
  assert(OVM_SEQUENCE_ITEM.randomize()) else begin \
    ovm_report_warning("RNDFLD", "Randomization failed in ovm_do action"); \
  end \
  finish_item(OVM_SEQUENCE_ITEM); \
  end

Definition at line 315 of file ovm_sequence_defines.svh.

#define ovm_do_on_pri ( OVM_SEQUENCE_ITEM,
SEQUENCER_REF,
PRIORITY   ) 

Value:

begin \
  ovm_create_on(OVM_SEQUENCE_ITEM, SEQUENCER_REF) \
  start_item(OVM_SEQUENCE_ITEM, PRIORITY); \
  assert(OVM_SEQUENCE_ITEM.randomize()) else begin \
    ovm_report_warning("RNDFLD", "Randomization failed in ovm_do action"); \
  end \
  finish_item(OVM_SEQUENCE_ITEM, PRIORITY); \
  end

Definition at line 330 of file ovm_sequence_defines.svh.

#define ovm_do_on_pri_with ( OVM_SEQUENCE_ITEM,
SEQUENCER_REF,
PRIORITY,
CONSTRAINTS   ) 

Value:

begin \
  ovm_create_on(OVM_SEQUENCE_ITEM, SEQUENCER_REF) \
  start_item(OVM_SEQUENCE_ITEM, PRIORITY);\
  assert(OVM_SEQUENCE_ITEM.randomize() with CONSTRAINTS ) else begin \
    ovm_report_warning("RNDFLD", "Randomization failed in ovm_do_with action"); \
  end\
  finish_item(OVM_SEQUENCE_ITEM, PRIORITY);\
  end

Definition at line 358 of file ovm_sequence_defines.svh.

#define ovm_do_on_with ( OVM_SEQUENCE_ITEM,
SEQUENCER_REF,
CONSTRAINTS   ) 

Value:

begin \
  ovm_create_on(OVM_SEQUENCE_ITEM, SEQUENCER_REF) \
  start_item(OVM_SEQUENCE_ITEM);\
  assert(OVM_SEQUENCE_ITEM.randomize() with CONSTRAINTS ) else begin \
    ovm_report_warning("RNDFLD", "Randomization failed in ovm_do_with action"); \
  end\
  finish_item(OVM_SEQUENCE_ITEM);\
  end

Definition at line 343 of file ovm_sequence_defines.svh.

#define ovm_do_pri ( OVM_SEQUENCE_ITEM,
PRIORITY   ) 

Value:

begin \
  ovm_create(OVM_SEQUENCE_ITEM) \
  start_item(OVM_SEQUENCE_ITEM, PRIORITY); \
  assert(OVM_SEQUENCE_ITEM.randomize()) else begin \
    ovm_report_warning("RNDFLD", "Randomization failed in ovm_do action"); \
  end \
  finish_item(OVM_SEQUENCE_ITEM, PRIORITY); \
  end

Definition at line 116 of file ovm_sequence_defines.svh.

#define ovm_do_pri_with ( OVM_SEQUENCE_ITEM,
PRIORITY,
CONSTRAINTS   ) 

Value:

begin \
  OVM_SEQUENCE_ITEM = new(""); \
  ovm_create(OVM_SEQUENCE_ITEM) \
  start_item(OVM_SEQUENCE_ITEM, PRIORITY);\
  assert(OVM_SEQUENCE_ITEM.randomize() with CONSTRAINTS ) else begin \
    ovm_report_warning("RNDFLD", "Randomization failed in ovm_do_with action"); \
  end\
  finish_item(OVM_SEQUENCE_ITEM, PRIORITY);\
  end

Definition at line 146 of file ovm_sequence_defines.svh.

#define ovm_do_seq ( OVM_SEQ,
SEQR_CONS_IF   ) 

Value:

begin \
  ovm_do_on(OVM_SEQ, SEQR_CONS_IF.consumer_seqr) \
  end

Definition at line 325 of file ovm_sequence_defines.svh.

#define ovm_do_seq_with ( OVM_SEQ,
SEQR_CONS_IF,
CONSTRAINTS   ) 

Value:

begin\
  ovm_do_on_with(OVM_SEQ, SEQR_CONS_IF.consumer_seqr, CONSTRAINTS) \
  end

Definition at line 353 of file ovm_sequence_defines.svh.

#define ovm_do_with ( OVM_SEQUENCE_ITEM,
CONSTRAINTS   ) 

Value:

begin \
  OVM_SEQUENCE_ITEM = new(""); \
  ovm_create(OVM_SEQUENCE_ITEM) \
  start_item(OVM_SEQUENCE_ITEM);\
  assert(OVM_SEQUENCE_ITEM.randomize() with CONSTRAINTS ) else begin \
    ovm_report_warning("RNDFLD", "Randomization failed in ovm_do_with action"); \
  end\
  finish_item(OVM_SEQUENCE_ITEM);\
  end

Definition at line 135 of file ovm_sequence_defines.svh.

#define ovm_end_package   endpackage

Definition at line 59 of file ovm_sequence_defines.svh.

#define ovm_package ( PKG   ) 

Value:

package PKG; \
  class ovm_bogus_class extends ovm::ovm_sequence;\
  endclass

Definition at line 54 of file ovm_sequence_defines.svh.

#define ovm_rand_send ( OVM_SEQUENCE_ITEM   ) 

Value:

begin \
  start_item(OVM_SEQUENCE_ITEM); \
  assert(OVM_SEQUENCE_ITEM.randomize()) else begin \
    ovm_report_warning("RNDFLD", "Randomization failed in ovm_rand_send action"); \
  end \
  finish_item(OVM_SEQUENCE_ITEM);\
  end\

Definition at line 194 of file ovm_sequence_defines.svh.

#define ovm_rand_send_pri ( OVM_SEQUENCE_ITEM,
PRIORITY   ) 

Value:

begin \
  start_item(OVM_SEQUENCE_ITEM, PRIORITY); \
  assert(OVM_SEQUENCE_ITEM.randomize()) else begin \
    ovm_report_warning("RNDFLD", "Randomization failed in ovm_rand_send action"); \
  end \
  finish_item(OVM_SEQUENCE_ITEM, PRIORITY);\
  end\

Definition at line 203 of file ovm_sequence_defines.svh.

#define ovm_rand_send_pri_with ( OVM_SEQUENCE_ITEM,
PRIORITY,
CONSTRAINTS   ) 

Value:

begin \
  start_item(OVM_SEQUENCE_ITEM, PRIORITY); \
  assert(OVM_SEQUENCE_ITEM.randomize() with CONSTRAINTS ) else begin \
    ovm_report_warning("RNDFLD", "Randomization failed in ovm_rand_send_with action"); \
  end \
  finish_item(OVM_SEQUENCE_ITEM, PRIORITY);\
  end\

Definition at line 232 of file ovm_sequence_defines.svh.

#define ovm_rand_send_with ( OVM_SEQUENCE_ITEM,
CONSTRAINTS   ) 

Value:

begin \
  start_item(OVM_SEQUENCE_ITEM); \
  assert(OVM_SEQUENCE_ITEM.randomize() with CONSTRAINTS ) else begin \
    ovm_report_warning("RNDFLD", "Randomization failed in ovm_rand_send_with action"); \
  end \
  finish_item(OVM_SEQUENCE_ITEM);\
  end\

Definition at line 223 of file ovm_sequence_defines.svh.

#define ovm_register_sequence ( TYPE_NAME,
SEQUENCER   )     static bit is_registered_with_sequencer = SEQUENCER::add_typewide_sequence("TYPE_NAME");

Definition at line 21 of file ovm_sequence_defines.svh.

#define ovm_send ( OVM_SEQUENCE_ITEM   ) 

Value:

begin \
  start_item(OVM_SEQUENCE_ITEM); \
  finish_item(OVM_SEQUENCE_ITEM);\
  end\

Definition at line 169 of file ovm_sequence_defines.svh.

#define ovm_send_pri ( OVM_SEQUENCE_ITEM,
PRIORITY   ) 

Value:

begin \
  start_item(OVM_SEQUENCE_ITEM, PRIORITY); \
  finish_item(OVM_SEQUENCE_ITEM, PRIORITY);\
  end\

Definition at line 175 of file ovm_sequence_defines.svh.

#define ovm_sequence_library_package ( PKG_NAME   ) 

Value:

import PKG_NAME::*; \
  PKG_NAME::ovm_bogus_class M_PKG_NAMEovm_bogus_class

Definition at line 73 of file ovm_sequence_defines.svh.

#define ovm_sequence_utils ( TYPE_NAME,
SEQUENCER   ) 

Value:

Definition at line 41 of file ovm_sequence_defines.svh.

#define ovm_sequence_utils_begin ( TYPE_NAME,
SEQUENCER   ) 

Value:

ovm_register_sequence(TYPE_NAME, SEQUENCER) \
  ovm_declare_p_sequencer(SEQUENCER) \
  ovm_object_utils_begin(TYPE_NAME)

Definition at line 33 of file ovm_sequence_defines.svh.

#define ovm_sequence_utils_end   ovm_object_utils_end

Definition at line 38 of file ovm_sequence_defines.svh.

#define ovm_sequencer_param_utils ( TYPE_NAME   ) 

#define ovm_sequencer_param_utils_begin ( TYPE_NAME   ) 

#define ovm_sequencer_utils ( TYPE_NAME   ) 

Value:

Definition at line 286 of file ovm_sequence_defines.svh.

#define ovm_sequencer_utils_begin ( TYPE_NAME   ) 

Value:

Definition at line 275 of file ovm_sequence_defines.svh.

#define ovm_sequencer_utils_end   ovm_component_utils_end

Definition at line 283 of file ovm_sequence_defines.svh.

#define ovm_update_sequence_lib

Value:

m_add_builtin_seqs(0); \
  ovm_update_sequence_lib();

Definition at line 263 of file ovm_sequence_defines.svh.

#define ovm_update_sequence_lib_and_item ( USER_ITEM   ) 

Value:

factory.set_inst_override_by_type( \
    ovm_sequence_item::get_type(), USER_ITEM::get_type(), \
    {get_full_name(), "*.item"}); \
  m_add_builtin_seqs(1); \
  ovm_update_sequence_lib();

Definition at line 268 of file ovm_sequence_defines.svh.


Intelligent Design Verification
Intelligent Design Verification
Project: OVM, Revision: 2.0.1
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.5.5
Wed Jan 7 19:27:31 2009
Find a documentation bug? Report bugs to: bugs.intelligentdv.com Project: DoxygenFilterSV