ParaNut SystemC Model
A SystemC Model of the ParaNut architecture
|
Configuration Makros used in most ParaNut files. More...
Go to the source code of this file.
Macros | |
SystemC Simulation options... | |
#define | CFG_NUT_SIM_CLK_SPEED 25000000 |
Simulation clock speed in Hz. More... | |
#define | CFG_NUT_MTIMER_TIMEBASE_US 1000 |
mtimer timebase. More... | |
#define | CFG_NUT_MTIMER_ADDR 0x80000000 |
mtimer base address. More... | |
#define | CFG_NUT_RESET_ADDR 0x10000000 |
Simulation memory address. More... | |
#define | CFG_NUT_SIM_MAX_PERIPHERY 5 |
Simulation maximum peripherals number. More... | |
General options... | |
#define | CFG_NUT_MIMPID 16777352 |
Hardware version derived from git. More... | |
#define | CFG_NUT_CPU_CORES_LD 2 |
Number of cores overall as log2. More... | |
#define | CFG_NUT_CPU_CORES (1 << CFG_NUT_CPU_CORES_LD) |
Number of cores overall (derived). More... | |
#define | CFG_NUT_CPU_GROUPS ((CFG_NUT_CPU_CORES-1)/32) |
Number of cpu groups (derived). More... | |
#define | CFG_NUT_CPU_CAP1_CORES 0 |
Number of cores (ExUs) with mode capability = 1 (linked). More... | |
#define | CFG_NUT_CPU_CAP2_CORES (CFG_NUT_CPU_CORES - CFG_NUT_CPU_CAP1_CORES) |
Number of cores (ExUs) with mode capability >= 2 (thread) (derived). More... | |
#define | CFG_EXU_PNM2CAP ~(0xffffffff << CFG_NUT_CPU_CAP2_CORES) |
ParaNut mode 2 capability value (derived). More... | |
#define | CFG_NUT_MEM_SIZE (256 * MB) |
System memory size. More... | |
#define | CFG_NUT_EX_INT 2 |
Number of external interrupt lines. More... | |
Execution Unit options... | |
#define | CFG_EXU_M_EXTENSION 1 |
RISC-V M-Extension. More... | |
#define | CFG_EXU_A_EXTENSION 1 |
RISC-V A-Extension. More... | |
#define | CFG_PRIV_LEVELS 1 |
Privilege Mode options. More... | |
#define | CFG_EXU_PERFCOUNT_ENABLE 1 |
Performance counter enable. More... | |
#define | CFG_EXU_PERFCOUNTER_BITS 40 |
Performance counter register width. More... | |
#define | CFG_EXU_PERFCOUNTERS_LD 3 |
Performance counter number of registers as log2. More... | |
#define | CFG_EXU_PERFCOUNTERS (1 << CFG_EXU_PERFCOUNTERS_LD) |
Performance counter number of registers (derived). More... | |
Memory Unit options... | |
#define | CFG_MEMU_CACHE_BANKS_LD 2 |
Number of cache banks as log2. More... | |
#define | CFG_MEMU_CACHE_BANKS (1 << CFG_MEMU_CACHE_BANKS_LD) |
Number of cache banks (derived). More... | |
#define | CFG_MEMU_CACHE_SETS_LD 9 |
Number of cache sets as log2. More... | |
#define | CFG_MEMU_CACHE_SETS (1 << CFG_MEMU_CACHE_SETS_LD) |
Number of cache sets (derived). More... | |
#define | CFG_MEMU_CACHE_WAYS_LD 2 |
Number of cache ways as log2. More... | |
#define | CFG_MEMU_CACHE_WAYS (1 << CFG_MEMU_CACHE_WAYS_LD) |
Number of cache ways (derived). More... | |
#define | CFG_MEMU_BANK_RAM_PORTS 2 |
Number of ports per bank. More... | |
#define | CFG_MEMU_CACHE_REPLACE_LRU 1 |
Cache replacement method. More... | |
#define | CFG_MEMU_ARBITER_METHOD 7 |
Arbiter Method. More... | |
#define | CFG_MEMU_BUSIF_WIDTH 32 |
Busif Data Width. More... | |
#define | CFG_MEMU_CACHE_SIZE (CFG_MEMU_CACHE_SETS * CFG_MEMU_CACHE_WAYS * CFG_MEMU_CACHE_BANKS * 4) |
Overall cache size in Bytes (derived). More... | |
#define | CFG_MEMU_WPORTS CFG_NUT_CPU_CORES |
Number of write ports (WPORTS) in the MemU (derived). More... | |
#define | CFG_MEMU_RPORTS (2 * CFG_NUT_CPU_CORES) |
Number of read ports (RPORTS) in the MemU (derived). More... | |
Memory Management Unit (MMU) options... | |
#define | CFG_MMU_TLB_ENABLE 0 |
TLB enable. More... | |
#define | CFG_MMU_TLB_ENTRIES_LD 2 |
Number of TLB entries as log2. More... | |
#define | CFG_MMU_TLB_ENTRIES (1 << CFG_MMU_TLB_ENTRIES_LD) |
Number of TLB entries (derived). More... | |
Instruction Fetch Unit options... | |
#define | CFG_IFU_IBUF_SIZE_LD 2 |
Instruction buffer size as log2. More... | |
#define | CFG_IFU_IBUF_SIZE (1 << CFG_IFU_IBUF_SIZE_LD) |
Instruction buffer size (derived). More... | |
Load Store Unit options... | |
#define | CFG_LSU_WBUF_SIZE_LD 2 |
LSU write buffer size as log2. More... | |
#define | CFG_LSU_WBUF_SIZE (1 << CFG_LSU_WBUF_SIZE_LD) |
LSU write buffer size (derived). More... | |
Configuration Makros used in most ParaNut files.