ChampSim
config.instantiation_file Namespace Reference

Functions

def vector_string (iterable)
 
def get_instantiation_lines (cores, caches, ptws, pmem, vmem)
 

Variables

string pmem_fmtstr = 'MEMORY_CONTROLLER {name}{{{frequency}, {io_freq}, {tRP}, {tRCD}, {tCAS}, {turn_around_time}, {{{_ulptr}}}}};'
 
string vmem_fmtstr = 'VirtualMemory vmem{{{pte_page_size}, {num_levels}, {minor_fault_penalty}, {dram_name}}};'
 
string queue_fmtstr = 'champsim::channel {name}{{{rq_size}, {pq_size}, {wq_size}, {_offset_bits}, {_queue_check_full_addr:b}}};'
 
dictionary core_builder_parts
 
dictionary dib_builder_parts
 
dictionary cache_builder_parts
 
dictionary default_ptw_queue
 

Function Documentation

◆ get_instantiation_lines()

def config.instantiation_file.get_instantiation_lines (   cores,
  caches,
  ptws,
  pmem,
  vmem 
)

◆ vector_string()

def config.instantiation_file.vector_string (   iterable)

Variable Documentation

◆ cache_builder_parts

dictionary config.instantiation_file.cache_builder_parts
Initial value:
1 = {
2  'frequency': '.frequency({frequency})',
3  'sets': '.sets({sets})',
4  'ways': '.ways({ways})',
5  'pq_size': '.pq_size({pq_size})',
6  'mshr_size': '.mshr_size({mshr_size})',
7  'latency': '.latency({latency})',
8  'hit_latency': '.hit_latency({hit_latency})',
9  'fill_latency': '.fill_latency({fill_latency})',
10  'max_tag_check': '.tag_bandwidth({max_tag_check})',
11  'max_fill': '.fill_bandwidth({max_fill})',
12  '_offset_bits': '.offset_bits({_offset_bits})'
13 }

◆ core_builder_parts

dictionary config.instantiation_file.core_builder_parts
Initial value:
1 = {
2  'ifetch_buffer_size': '.ifetch_buffer_size({ifetch_buffer_size})',
3  'decode_buffer_size': '.decode_buffer_size({dispatch_buffer_size})',
4  'dispatch_buffer_size': '.dispatch_buffer_size({decode_buffer_size})',
5  'rob_size': '.rob_size({rob_size})',
6  'lq_size': '.lq_size({lq_size})',
7  'sq_size': '.sq_size({sq_size})',
8  'fetch_width': '.fetch_width({fetch_width})',
9  'decode_width': '.decode_width({decode_width})',
10  'dispatch_width': '.dispatch_width({dispatch_width})',
11  'schedule_size': '.schedule_width({scheduler_size})',
12  'execute_width': '.execute_width({execute_width})',
13  'lq_width': '.lq_width({lq_width})',
14  'sq_width': '.sq_width({sq_width})',
15  'retire_width': '.retire_width({retire_width})',
16  'mispredict_penalty': '.mispredict_penalty({mispredict_penalty})',
17  'decode_latency': '.decode_latency({decode_latency})',
18  'dispatch_latency': '.dispatch_latency({dispatch_latency})',
19  'schedule_latency': '.schedule_latency({schedule_latency})',
20  'execute_latency': '.execute_latency({execute_latency})',
21  'dib_set': ' .dib_set({dib_set})',
22  'dib_way': ' .dib_way({dib_way})',
23  'dib_window': ' .dib_window({dib_window})'
24 }

◆ default_ptw_queue

dictionary config.instantiation_file.default_ptw_queue
Initial value:
1 = {
2  'wq_size':0,
3  'pq_size':0,
4  '_offset_bits':'champsim::lg2(PAGE_SIZE)',
5  '_queue_check_full_addr':False
6  }

◆ dib_builder_parts

dictionary config.instantiation_file.dib_builder_parts
Initial value:
1 = {
2  'sets': ' .dib_set({DIB[sets]})',
3  'ways': ' .dib_way({DIB[ways]})',
4  'window_size': ' .dib_window({DIB[window_size]})'
5 }

◆ pmem_fmtstr

string config.instantiation_file.pmem_fmtstr = 'MEMORY_CONTROLLER {name}{{{frequency}, {io_freq}, {tRP}, {tRCD}, {tCAS}, {turn_around_time}, {{{_ulptr}}}}};'

◆ queue_fmtstr

string config.instantiation_file.queue_fmtstr = 'champsim::channel {name}{{{rq_size}, {pq_size}, {wq_size}, {_offset_bits}, {_queue_check_full_addr:b}}};'

◆ vmem_fmtstr

string config.instantiation_file.vmem_fmtstr = 'VirtualMemory vmem{{{pte_page_size}, {num_levels}, {minor_fault_penalty}, {dram_name}}};'