forked from Github_Repos/cvw
74 lines
2.6 KiB
Plaintext
74 lines
2.6 KiB
Plaintext
#--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
|
|
|
|
# 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
|