ParaNut SystemC Model
A SystemC Model of the ParaNut architecture
paranut-config.h File Reference

Configuration Makros used in most ParaNut files. More...

This graph shows which files directly or indirectly include this file:

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...
 

Detailed Description

Configuration Makros used in most ParaNut files.