vmm_mam Class Reference

Inheritance list for class vmm_mam:

List of all members.
Typedef at line 28 of file sv/RAL/vmm_mam.sv.
Defined at line 140 of file sv/RAL/vmm_mam.sv.

Public Member Functions

function vmm_mam_region  for_each ( bit reset = 0 )
function vmm_ral_mem  get_memory ( )
function void  new ( string name, vmm_mam_cfg cfg, vmm_ral_mem mem = null )
function string  psdisplay ( string prefix = )
function vmm_mam_cfg  reconfigure ( vmm_mam_cfg cfg = null )
function void  release_all_regions ( )
function void  release_region ( vmm_mam_region region )
function vmm_mam_region  request_region ( int unsigned n_bytes, vmm_mam_allocator alloc = null )
function vmm_mam_region  reserve_region ( bit[63:0] start_offset, int unsigned n_bytes )

Public Attributes

local vmm_mam_cfg  cfg 
vmm_mam_allocator  default_alloc  
local int  for_each_idx = -1; 
local vmm_mam_region  in_use [$] 
vmm_log  log 
local vmm_ral_mem  memory 

Enum Typedefs

 typedef enum  alloc_mode_e 
 typedef enum  locality_e 


Member Function Documentation

  function vmm_mam_region
 vmm_mam::for_each

 (  bit reset = 0  ) 


Prototype at line 170 of file sv/RAL/vmm_mam.sv.
Defined at line 398 of file sv/RAL/vmm_mam.sv.

  function vmm_ral_mem
 vmm_mam::get_memory

 (   ) 


Prototype at line 171 of file sv/RAL/vmm_mam.sv.
Defined at line 411 of file sv/RAL/vmm_mam.sv.

  function void
 vmm_mam::new

 (  string name, vmm_mam_cfg cfg, vmm_ral_mem mem = null  ) 


Prototype at line 157 of file sv/RAL/vmm_mam.sv.
Defined at line 255 of file sv/RAL/vmm_mam.sv.

  function string
 vmm_mam::psdisplay

 (  string prefix =  ) 


Prototype at line 169 of file sv/RAL/vmm_mam.sv.
Defined at line 389 of file sv/RAL/vmm_mam.sv.

  function vmm_mam_cfg
 vmm_mam::reconfigure

 (  vmm_mam_cfg cfg = null  ) 


Prototype at line 159 of file sv/RAL/vmm_mam.sv.
Defined at line 263 of file sv/RAL/vmm_mam.sv.

  function void
 vmm_mam::release_all_regions

 (   ) 


Prototype at line 166 of file sv/RAL/vmm_mam.sv.
Defined at line 376 of file sv/RAL/vmm_mam.sv.

  function void
 vmm_mam::release_region

 (  vmm_mam_region region  ) 


Prototype at line 165 of file sv/RAL/vmm_mam.sv.
Defined at line 362 of file sv/RAL/vmm_mam.sv.

  function vmm_mam_region
 vmm_mam::request_region

 (  int unsigned n_bytes, vmm_mam_allocator alloc = null  ) 


Prototype at line 164 of file sv/RAL/vmm_mam.sv.
Defined at line 345 of file sv/RAL/vmm_mam.sv.

  function vmm_mam_region
 vmm_mam::reserve_region

 (  bit[63:0] start_offset, int unsigned n_bytes  ) 


Prototype at line 162 of file sv/RAL/vmm_mam.sv.
Defined at line 293 of file sv/RAL/vmm_mam.sv.


Member Attribute Documentation

 local vmm_mam_cfg  attribute
 vmm_mam::cfg


Defined at line 147 of file sv/RAL/vmm_mam.sv.

 vmm_mam_allocator  attribute
 vmm_mam::default_alloc


Defined at line 149 of file sv/RAL/vmm_mam.sv.

 local int  attribute
 vmm_mam::for_each_idx = -1


Defined at line 153 of file sv/RAL/vmm_mam.sv.

 local vmm_mam_region  attribute
 vmm_mam::in_use[$]


Defined at line 152 of file sv/RAL/vmm_mam.sv.

 vmm_log  attribute
 vmm_mam::log


Defined at line 145 of file sv/RAL/vmm_mam.sv.

 local vmm_ral_mem  attribute
 vmm_mam::memory


Defined at line 150 of file sv/RAL/vmm_mam.sv.


Member Enum Typedef Documentation

 typedef enum
 vmm_mam::alloc_mode_e
GREEDY
THRIFTY


Defined at line 142 of file sv/RAL/vmm_mam.sv.

 typedef enum
 vmm_mam::locality_e
BROAD
NEARBY


Defined at line 143 of file sv/RAL/vmm_mam.sv.