#--mpdconsole #--gdbconsole --showoverrides --showcommands # Core settings --override cpu/priv_version=1.12 --override cpu/user_version=20191213 # arch --override cpu/mimpid=0x100 --override refRoot/cpu/tvec_align=64 # bit manipulation --override cpu/add_implicit_Extensions=B --override cpu/bitmanip_version=1.0.0 # 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=F --override cpu/ignore_non_leaf_DAU=1 --override cpu/wfi_is_nop=T --override cpu/misa_Extensions_mask=0x0 --override cpu/updatePTEA=T --override cpu/updatePTED=T --override cpu/Sstc=T # 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 - 0x10006000 - 0x100060FF --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 0 --override cpu/debugflags=6 --override cpu/verbose=1 --override cpu/show_c_prefix=T # Store simulator output to logfile --output imperas.log