svt_randomize_assistant Class Reference

Inheritance diagram for class svt_randomize_assistant:

List of all members.


Detailed Description

This class provides randomization capabilities for properties that the SystemVerilog language does not currently support.

This class currently supports the following properties:



Public Member Functions

static function svt_randomize_assistant  get ( )
function real  get_rand_range_real ( real min_value, real max_value )
function void  new ( )
function void  set_range_weight ( int unsigned max = 33, int unsigned min = 33, int unsigned mid = 25 )

Public Attributes

static vmm_log  log = new; 


Member Function Documentation

 static function svt_randomize_assistant
 svt_randomize_assistant::get

 (   ) 


Singleton accessor method

  function real
 svt_randomize_assistant::get_rand_range_real

 (  real min_value , real max_value  ) 


Returns a 'real' value that falls between the provided values. The weightings applied to the returned value can be set using set_range_weight.

min_value - Lower bound for the range

max_value - Upper bound for the range

  function void
 svt_randomize_assistant::new

 (   ) 


local *

  function void
 svt_randomize_assistant::set_range_weight

 (  int unsigned max = 33, int unsigned min = 33, int unsigned mid = 25  ) 


Sets the distribution control for this class. These values are used by the get_rand_range_real method.

max - Percent chance that the returned value will result in the maximum value

min - Percent chance that the returned value will result in the minimum value

mid - Percent chance that the returned value will result in a value that is in the approximate midpoint between the min and max value.


Member Attribute Documentation

 static vmm_log  attribute
 svt_randomize_assistant::log = new


VMM log instance