quasar/design/snapshots/default/perl_configs.pl

779 lines
37 KiB
Perl

# NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE NOTE
# This is an automatically generated file by laraib.khan on Tue Mar 2 10:41:03 PKT 2021
#
# cmd: quasar -target=default
#
# To use this in a perf script, use 'require $RV_ROOT/configs/config.pl'
# Reference the hash via $config{name}..
%config = (
'btb' => {
'btb_addr_hi' => 9,
'btb_toffset_size' => '12',
'btb_index3_hi' => 25,
'btb_fold2_index_hash' => 0,
'btb_index2_hi' => 17,
'btb_array_depth' => 256,
'btb_index1_hi' => 9,
'btb_index1_lo' => '2',
'btb_index2_lo' => 10,
'btb_btag_size' => 5,
'btb_addr_lo' => '2',
'btb_btag_fold' => 0,
'btb_index3_lo' => 18,
'btb_size' => 512,
'btb_enable' => '1'
},
'testbench' => {
'ext_addrwidth' => '32',
'build_axi4' => 1,
'sterr_rollback' => '0',
'clock_period' => '100',
'assert_on' => '',
'CPU_TOP' => '`RV_TOP.swerv',
'build_axi_native' => 1,
'TOP' => 'tb_top',
'lderr_rollback' => '1',
'ext_datawidth' => '64',
'RV_TOP' => '`TOP.rvtop',
'SDVT_AHB' => '0'
},
'icache' => {
'icache_bypass_enable' => '1',
'icache_tag_bypass_enable' => '1',
'icache_tag_num_bypass_width' => 2,
'icache_num_beats' => 8,
'icache_data_index_lo' => 4,
'icache_bank_bits' => 1,
'icache_fdata_width' => 71,
'icache_tag_cell' => 'ram_128x25',
'icache_tag_index_lo' => '6',
'icache_2banks' => '1',
'icache_beat_addr_hi' => 5,
'icache_scnd_last' => 6,
'icache_num_bypass_width' => 2,
'icache_data_depth' => '512',
'icache_tag_lo' => 13,
'icache_data_width' => 64,
'icache_ecc' => '1',
'icache_status_bits' => 1,
'icache_tag_depth' => 128,
'icache_num_lines_bank' => '64',
'icache_waypack' => '1',
'icache_bank_width' => 8,
'icache_enable' => 1,
'icache_beat_bits' => 3,
'icache_num_lines' => 256,
'icache_banks_way' => 2,
'icache_index_hi' => 12,
'icache_num_ways' => 2,
'icache_bank_hi' => 3,
'icache_ln_sz' => 64,
'icache_num_lines_way' => '128',
'icache_bank_lo' => 3,
'icache_num_bypass' => '2',
'icache_tag_num_bypass' => '2',
'icache_size' => 16,
'icache_data_cell' => 'ram_512x71'
},
'retstack' => {
'ret_stack_size' => '8'
},
'regwidth' => '32',
'num_mmode_perf_regs' => '4',
'xlen' => 32,
'protection' => {
'inst_access_addr0' => '0x00000000',
'data_access_mask3' => '0xffffffff',
'data_access_enable2' => '0x0',
'data_access_enable0' => '0x0',
'data_access_enable3' => '0x0',
'data_access_addr1' => '0x00000000',
'inst_access_mask0' => '0xffffffff',
'inst_access_addr2' => '0x00000000',
'data_access_addr5' => '0x00000000',
'data_access_enable7' => '0x0',
'inst_access_mask6' => '0xffffffff',
'inst_access_addr3' => '0x00000000',
'data_access_mask7' => '0xffffffff',
'inst_access_mask3' => '0xffffffff',
'inst_access_mask7' => '0xffffffff',
'inst_access_mask1' => '0xffffffff',
'inst_access_enable0' => '0x0',
'data_access_addr6' => '0x00000000',
'inst_access_mask2' => '0xffffffff',
'data_access_mask2' => '0xffffffff',
'data_access_mask0' => '0xffffffff',
'inst_access_enable1' => '0x0',
'data_access_addr2' => '0x00000000',
'inst_access_addr5' => '0x00000000',
'data_access_enable4' => '0x0',
'data_access_mask6' => '0xffffffff',
'data_access_addr0' => '0x00000000',
'data_access_enable5' => '0x0',
'data_access_addr7' => '0x00000000',
'inst_access_enable5' => '0x0',
'inst_access_mask5' => '0xffffffff',
'inst_access_enable2' => '0x0',
'data_access_addr3' => '0x00000000',
'data_access_mask5' => '0xffffffff',
'inst_access_addr6' => '0x00000000',
'inst_access_addr1' => '0x00000000',
'data_access_enable6' => '0x0',
'data_access_mask1' => '0xffffffff',
'inst_access_enable7' => '0x0',
'inst_access_enable6' => '0x0',
'inst_access_enable3' => '0x0',
'data_access_mask4' => '0xffffffff',
'data_access_addr4' => '0x00000000',
'data_access_enable1' => '0x0',
'inst_access_addr7' => '0x00000000',
'inst_access_addr4' => '0x00000000',
'inst_access_enable4' => '0x0',
'inst_access_mask4' => '0xffffffff'
},
'max_mmode_perf_event' => '516',
'bht' => {
'bht_ghr_range' => '7:0',
'bht_ghr_hash_1' => '',
'bht_size' => 512,
'bht_addr_hi' => 9,
'bht_array_depth' => 256,
'bht_hash_string' => '{hashin[8+1:2]^ghr[8-1:0]}// cf2',
'bht_addr_lo' => '2',
'bht_ghr_size' => 8
},
'bus' => {
'sb_bus_id' => '1',
'dma_bus_prty' => '2',
'bus_prty_default' => '3',
'lsu_bus_id' => '1',
'ifu_bus_prty' => '2',
'ifu_bus_id' => '1',
'sb_bus_prty' => '2',
'lsu_bus_tag' => 3,
'dma_bus_tag' => '1',
'dma_bus_id' => '1',
'ifu_bus_tag' => '3',
'lsu_bus_prty' => '2',
'sb_bus_tag' => '1'
},
'harts' => 1,
'reset_vec' => '0x80000000',
'memmap' => {
'external_data_1' => '0xb0000000',
'unused_region3' => '0x50000000',
'unused_region1' => '0x70000000',
'unused_region0' => '0x90000000',
'unused_region5' => '0x30000000',
'consoleio' => '0xd0580000',
'unused_region7' => '0x10000000',
'debug_sb_mem' => '0xa0580000',
'unused_region4' => '0x40000000',
'serialio' => '0xd0580000',
'external_data' => '0xc0580000',
'unused_region8' => '0x00000000',
'unused_region6' => '0x20000000',
'unused_region2' => '0x60000000'
},
'pic' => {
'pic_mpiccfg_count' => 1,
'pic_mpiccfg_offset' => '0x3000',
'pic_bits' => 15,
'pic_meip_offset' => '0x1000',
'pic_meigwclr_offset' => '0x5000',
'pic_meipt_offset' => '0x3004',
'pic_meipt_mask' => '0x0',
'pic_meigwctrl_mask' => '0x3',
'pic_total_int_plus1' => 32,
'pic_meipl_count' => 31,
'pic_meigwctrl_count' => 31,
'pic_mpiccfg_mask' => '0x1',
'pic_meie_mask' => '0x1',
'pic_meigwctrl_offset' => '0x4000',
'pic_int_words' => 1,
'pic_meipl_offset' => '0x0000',
'pic_meigwclr_count' => 31,
'pic_meigwclr_mask' => '0x0',
'pic_offset' => '0xc0000',
'pic_meie_offset' => '0x2000',
'pic_region' => '0xf',
'pic_total_int' => 31,
'pic_meie_count' => 31,
'pic_meip_mask' => '0x0',
'pic_meipt_count' => 31,
'pic_base_addr' => '0xf00c0000',
'pic_size' => 32,
'pic_meipl_mask' => '0xf',
'pic_meip_count' => 1
},
'nmi_vec' => '0x11110000',
'dccm' => {
'dccm_rows' => '4096',
'dccm_reserved' => '0x1400',
'dccm_bank_bits' => 2,
'dccm_size' => 64,
'dccm_width_bits' => 2,
'dccm_enable' => '1',
'dccm_byte_width' => '4',
'dccm_ecc_width' => 7,
'dccm_data_width' => 32,
'lsu_sb_bits' => 16,
'dccm_region' => '0xf',
'dccm_offset' => '0x40000',
'dccm_sadr' => '0xf0040000',
'dccm_eadr' => '0xf004ffff',
'dccm_num_banks_4' => '',
'dccm_size_64' => '',
'dccm_data_cell' => 'ram_4096x39',
'dccm_fdata_width' => 39,
'dccm_num_banks' => '4',
'dccm_index_bits' => 12,
'dccm_bits' => 16
},
'perf_events' => [
1,
2,
3,
4,
5,
6,
7,
8,
9,
10,
11,
12,
13,
14,
15,
16,
17,
18,
19,
20,
21,
22,
23,
24,
25,
26,
27,
28,
30,
31,
32,
34,
35,
36,
37,
38,
39,
40,
41,
42,
43,
44,
45,
46,
47,
48,
49,
50,
54,
55,
56,
512,
513,
514,
515,
516
],
'iccm' => {
'iccm_data_cell' => 'ram_4096x39',
'iccm_offset' => '0xe000000',
'iccm_bits' => 16,
'iccm_sadr' => '0xee000000',
'iccm_eadr' => '0xee00ffff',
'iccm_num_banks_4' => '',
'iccm_enable' => 1,
'iccm_reserved' => '0x1000',
'iccm_size' => 64,
'iccm_bank_bits' => 2,
'iccm_size_64' => '',
'iccm_bank_index_lo' => 4,
'iccm_num_banks' => '4',
'iccm_index_bits' => 12,
'iccm_region' => '0xe',
'iccm_rows' => '4096',
'iccm_bank_hi' => 3
},
'core' => {
'bitmanip_zbf' => 0,
'bitmanip_zba' => 0,
'lsu_stbuf_depth' => '4',
'no_iccm_no_icache' => 'derived',
'lsu_num_nbload' => '4',
'bitmanip_zbr' => 0,
'bitmanip_zbs' => 1,
'bitmanip_zbe' => 0,
'bitmanip_zbp' => 0,
'dma_buf_depth' => '5',
'div_bit' => '4',
'iccm_icache' => 1,
'timer_legal_en' => '1',
'lsu2dma' => 0,
'fast_interrupt_redirect' => '1',
'iccm_only' => 'derived',
'lsu_num_nbload_width' => '2',
'rv_fpga_optimize' => 1,
'icache_only' => 'derived',
'bitmanip_zbc' => 0,
'bitmanip_zbb' => 1,
'div_new' => 1
},
'target' => 'default',
'physical' => '1',
'tec_rv_icg' => 'clockhdr',
'config_key' => '32\'hdeadbeef',
'even_odd_trigger_chains' => 'true',
'csr' => {
'mstatus' => {
'mask' => '0x88',
'exists' => 'true',
'reset' => '0x1800'
},
'mcgc' => {
'reset' => '0x200',
'number' => '0x7f8',
'poke_mask' => '0x000003ff',
'mask' => '0x000003ff',
'exists' => 'true'
},
'mhpmcounter5h' => {
'reset' => '0x0',
'mask' => '0xffffffff',
'exists' => 'true'
},
'dicad0' => {
'reset' => '0x0',
'number' => '0x7c9',
'debug' => 'true',
'mask' => '0xffffffff',
'exists' => 'true',
'comment' => 'Cache diagnostics.'
},
'mitctl0' => {
'reset' => '0x1',
'number' => '0x7d4',
'exists' => 'true',
'mask' => '0x00000007'
},
'mip' => {
'reset' => '0x0',
'poke_mask' => '0x70000888',
'mask' => '0x0',
'exists' => 'true'
},
'dmst' => {
'reset' => '0x0',
'number' => '0x7c4',
'debug' => 'true',
'mask' => '0x0',
'exists' => 'true',
'comment' => 'Memory synch trigger: Flush caches in debug mode.'
},
'mhpmcounter3' => {
'reset' => '0x0',
'mask' => '0xffffffff',
'exists' => 'true'
},
'meipt' => {
'comment' => 'External interrupt priority threshold.',
'mask' => '0xf',
'exists' => 'true',
'number' => '0xbc9',
'reset' => '0x0'
},
'pmpaddr9' => {
'exists' => 'false'
},
'mitbnd1' => {
'reset' => '0xffffffff',
'number' => '0x7d6',
'exists' => 'true',
'mask' => '0xffffffff'
},
'mpmc' => {
'exists' => 'true',
'mask' => '0x2',
'number' => '0x7c6',
'reset' => '0x2'
},
'mhpmcounter4' => {
'mask' => '0xffffffff',
'exists' => 'true',
'reset' => '0x0'
},
'cycle' => {
'exists' => 'false'
},
'mhpmevent5' => {
'reset' => '0x0',
'mask' => '0xffffffff',
'exists' => 'true'
},
'mhpmevent3' => {
'reset' => '0x0',
'mask' => '0xffffffff',
'exists' => 'true'
},
'time' => {
'exists' => 'false'
},
'pmpaddr8' => {
'exists' => 'false'
},
'mitcnt1' => {
'reset' => '0x0',
'number' => '0x7d5',
'mask' => '0xffffffff',
'exists' => 'true'
},
'tselect' => {
'reset' => '0x0',
'mask' => '0x3',
'exists' => 'true'
},
'mhpmcounter6h' => {
'reset' => '0x0',
'exists' => 'true',
'mask' => '0xffffffff'
},
'pmpaddr1' => {
'exists' => 'false'
},
'marchid' => {
'exists' => 'true',
'mask' => '0x0',
'reset' => '0x00000010'
},
'pmpaddr3' => {
'exists' => 'false'
},
'pmpaddr11' => {
'exists' => 'false'
},
'mfdhs' => {
'exists' => 'true',
'mask' => '0x00000003',
'comment' => 'Force Debug Halt Status',
'reset' => '0x0',
'number' => '0x7cf'
},
'dicad1' => {
'mask' => '0x3',
'exists' => 'true',
'comment' => 'Cache diagnostics.',
'reset' => '0x0',
'number' => '0x7ca',
'debug' => 'true'
},
'mhpmevent6' => {
'reset' => '0x0',
'exists' => 'true',
'mask' => '0xffffffff'
},
'mie' => {
'reset' => '0x0',
'mask' => '0x70000888',
'exists' => 'true'
},
'pmpaddr4' => {
'exists' => 'false'
},
'dicago' => {
'exists' => 'true',
'mask' => '0x0',
'comment' => 'Cache diagnostics.',
'reset' => '0x0',
'debug' => 'true',
'number' => '0x7cb'
},
'mfdc' => {
'mask' => '0x00071fff',
'exists' => 'true',
'reset' => '0x00070040',
'number' => '0x7f9'
},
'pmpaddr12' => {
'exists' => 'false'
},
'pmpcfg0' => {
'exists' => 'false'
},
'pmpaddr7' => {
'exists' => 'false'
},
'mfdht' => {
'comment' => 'Force Debug Halt Threshold',
'mask' => '0x0000003f',
'exists' => 'true',
'number' => '0x7ce',
'shared' => 'true',
'reset' => '0x0'
},
'mitbnd0' => {
'exists' => 'true',
'mask' => '0xffffffff',
'number' => '0x7d3',
'reset' => '0xffffffff'
},
'dcsr' => {
'reset' => '0x40000003',
'debug' => 'true',
'poke_mask' => '0x00008dcc',
'exists' => 'true',
'mask' => '0x00008c04'
},
'pmpaddr14' => {
'exists' => 'false'
},
'pmpaddr15' => {
'exists' => 'false'
},
'pmpaddr2' => {
'exists' => 'false'
},
'dicawics' => {
'number' => '0x7c8',
'debug' => 'true',
'reset' => '0x0',
'comment' => 'Cache diagnostics.',
'mask' => '0x0130fffc',
'exists' => 'true'
},
'mhpmcounter3h' => {
'exists' => 'true',
'mask' => '0xffffffff',
'reset' => '0x0'
},
'pmpcfg1' => {
'exists' => 'false'
},
'micect' => {
'number' => '0x7f0',
'reset' => '0x0',
'mask' => '0xffffffff',
'exists' => 'true'
},
'instret' => {
'exists' => 'false'
},
'pmpaddr10' => {
'exists' => 'false'
},
'mcpc' => {
'reset' => '0x0',
'number' => '0x7c2',
'exists' => 'true',
'mask' => '0x0',
'comment' => 'Core pause'
},
'miccmect' => {
'number' => '0x7f1',
'reset' => '0x0',
'mask' => '0xffffffff',
'exists' => 'true'
},
'mhpmcounter6' => {
'exists' => 'true',
'mask' => '0xffffffff',
'reset' => '0x0'
},
'mvendorid' => {
'reset' => '0x45',
'exists' => 'true',
'mask' => '0x0'
},
'pmpaddr13' => {
'exists' => 'false'
},
'meicurpl' => {
'exists' => 'true',
'mask' => '0xf',
'comment' => 'External interrupt current priority level.',
'reset' => '0x0',
'number' => '0xbcc'
},
'mhartid' => {
'mask' => '0x0',
'exists' => 'true',
'reset' => '0x0',
'poke_mask' => '0xfffffff0'
},
'mcounteren' => {
'exists' => 'false'
},
'pmpaddr0' => {
'exists' => 'false'
},
'mhpmcounter5' => {
'mask' => '0xffffffff',
'exists' => 'true',
'reset' => '0x0'
},
'mhpmcounter4h' => {
'mask' => '0xffffffff',
'exists' => 'true',
'reset' => '0x0'
},
'mimpid' => {
'mask' => '0x0',
'exists' => 'true',
'reset' => '0x3'
},
'pmpaddr6' => {
'exists' => 'false'
},
'pmpcfg3' => {
'exists' => 'false'
},
'mcountinhibit' => {
'commnet' => 'Performance counter inhibit. One bit per counter.',
'exists' => 'true',
'mask' => '0x7d',
'reset' => '0x0',
'poke_mask' => '0x7d'
},
'mscause' => {
'exists' => 'true',
'mask' => '0x0000000f',
'reset' => '0x0',
'number' => '0x7ff'
},
'mitctl1' => {
'number' => '0x7d7',
'reset' => '0x1',
'mask' => '0x0000000f',
'exists' => 'true'
},
'misa' => {
'exists' => 'true',
'mask' => '0x0',
'reset' => '0x40001104'
},
'pmpaddr5' => {
'exists' => 'false'
},
'pmpcfg2' => {
'exists' => 'false'
},
'mhpmevent4' => {
'reset' => '0x0',
'exists' => 'true',
'mask' => '0xffffffff'
},
'meicidpl' => {
'reset' => '0x0',
'number' => '0xbcb',
'mask' => '0xf',
'exists' => 'true',
'comment' => 'External interrupt claim id priority level.'
},
'mdccmect' => {
'reset' => '0x0',
'number' => '0x7f2',
'exists' => 'true',
'mask' => '0xffffffff'
},
'mrac' => {
'shared' => 'true',
'reset' => '0x0',
'number' => '0x7c0',
'mask' => '0xffffffff',
'exists' => 'true',
'comment' => 'Memory region io and cache control.'
},
'mitcnt0' => {
'number' => '0x7d2',
'reset' => '0x0',
'exists' => 'true',
'mask' => '0xffffffff'
}
},
'numiregs' => '32',
'triggers' => [
{
'poke_mask' => [
'0x081818c7',
'0xffffffff',
'0x00000000'
],
'reset' => [
'0x23e00000',
'0x00000000',
'0x00000000'
],
'mask' => [
'0x081818c7',
'0xffffffff',
'0x00000000'
]
},
{
'mask' => [
'0x081810c7',
'0xffffffff',
'0x00000000'
],
'reset' => [
'0x23e00000',
'0x00000000',
'0x00000000'
],
'poke_mask' => [
'0x081810c7',
'0xffffffff',
'0x00000000'
]
},
{
'mask' => [
'0x081818c7',
'0xffffffff',
'0x00000000'
],
'reset' => [
'0x23e00000',
'0x00000000',
'0x00000000'
],
'poke_mask' => [
'0x081818c7',
'0xffffffff',
'0x00000000'
]
},
{
'poke_mask' => [
'0x081810c7',
'0xffffffff',
'0x00000000'
],
'reset' => [
'0x23e00000',
'0x00000000',
'0x00000000'
],
'mask' => [
'0x081810c7',
'0xffffffff',
'0x00000000'
]
}
]
);
1;