#--mpdconsole #--gdbconsole #--showoverrides #--showcommands # Core settings --override cpu/priv_version=1.12 --override cpu/user_version=20191213 # arch --override cpu/mimpid=0x100 --override cpu/mvendorid=0x602 --override cpu/marchid=0x24 --override refRoot/cpu/tvec_align=64 # bit manipulation --override cpu/add_Extensions=B #--override cpu/add_implicit_Extensions=B --override cpu/bitmanip_version=1.0.0 # More extensions --override cpu/Zcb=T # Cache block operations --override cpu/Zicbom=T --override cpu/Zicbop=T --override cpu/Zicboz=T --override cmomp_bytes=64 # Zic64b --override cmoz_bytes=64 # Zic64b --override lr_sc_grain=64 # Za64rs # 64 KiB continuous huge pages supported --override cpu/Svpbmt=T --override cpu/Svnapot_page_mask=65536 # SV39 and SV48 supported --override cpu/Sv_modes=768 # clarify #--override refRoot/cpu/mtvec_sext=F --override cpu/tval_ii_code=T #--override cpu/time_undefined=T #--override cpu/cycle_undefined=T #--override cpu/instret_undefined=T #--override cpu/hpmcounter_undefined=T --override cpu/reset_address=0x80000000 --override cpu/unaligned=T # Zicclsm (should be true) --override cpu/ignore_non_leaf_DAU=1 --override cpu/wfi_is_nop=T --override cpu/misa_Extensions_mask=0x0 --override cpu/Sstc=T # Enable SVADU hardware update of A/D bits when menvcfg.HADE=1 --override cpu/Svadu=T --override cpu/updatePTEA=F --override cpu/updatePTED=F # THIS NEEDS FIXING to 16 --override cpu/PMP_registers=16 --override cpu/PMP_undefined=T # PMA Settings # 'r': read access allowed # 'w': write access allowed # 'x': execute access allowed # 'a': aligned access required # 'A': atomic instructions NOT allowed (actually USER1 privilege needed) # 'P': push/pop instructions NOT allowed (actually USER2 privilege needed) # '1': 1-byte accesses allowed # '2': 2-byte accesses allowed # '4': 4-byte accesses allowed # '8': 8-byte accesses allowed # '-', space: ignored (use for input string formatting). # # SVxx Memory 0x0000000000 0x7FFFFFFFFF # --callcommand refRoot/cpu/setPMA -lo 0x0000000000 -hi 0x7FFFFFFFFF -attributes " ------ ---- " # INITIAL --callcommand refRoot/cpu/setPMA -lo 0x0000001000 -hi 0x0000001FFF -attributes " r-x-A- 1248 " # BOOTROM --callcommand refRoot/cpu/setPMA -lo 0x0000012100 -hi 0x000001211F -attributes " rw--A- --48 " # SDC --callcommand refRoot/cpu/setPMA -lo 0x0002000000 -hi 0x000200FFFF -attributes " rw--A- 1248 " # CLINT --callcommand refRoot/cpu/setPMA -lo 0x000C000000 -hi 0x000FFFFFFF -attributes " rw--A- --4- " # PLIC --callcommand refRoot/cpu/setPMA -lo 0x0010000000 -hi 0x0010000007 -attributes " rw--A- 1--- " # UART0 error - 0x10000000 - 0x100000FF --callcommand refRoot/cpu/setPMA -lo 0x0010060000 -hi 0x00100600FF -attributes " rw--A- --4- " # GPIO error - 0x10069000 - 0x100600FF --callcommand refRoot/cpu/setPMA -lo 0x0010040000 -hi 0x0010040FFF -attributes " rw--A- --4- " # SPI error - 0x10040000 - 0x10040FFF --callcommand refRoot/cpu/setPMA -lo 0x0080000000 -hi 0x008FFFFFFF -attributes " rwx--- 1248 " # UNCORE_RAM # Enable the Imperas instruction coverage #-extlib refRoot/cpu/cv=imperas.com/intercept/riscvInstructionCoverage/1.0 #-override refRoot/cpu/cv/cover=basic #-override refRoot/cpu/cv/extensions=RV32I # Add Imperas simulator application instruction tracing --verbose #--trace --tracechange --traceshowicount --tracemode -tracemem ASX --monitornetschange --traceafter 300000000 --override cpu/debugflags=6 --override cpu/verbose=1 --override cpu/show_c_prefix=T # Store simulator output to logfile --output imperas.log