mirror of
https://github.com/openhwgroup/cvw.git
synced 2025-04-20 20:08:52 -04:00
47 lines
1.9 KiB
Text
47 lines
1.9 KiB
Text
# imperas.ic
|
|
# Initialization file for rv32imc ImperasDV lock step simulation
|
|
# jcarlin@hmc.edu 15 March 2025
|
|
# SPDX-License-Identifier: Apache-2.0 WITH SHL-2.1
|
|
|
|
# Base configuration
|
|
--variant RV32IMC
|
|
|
|
# No Supervisor mode
|
|
--override cpu/sub_Extensions="S"
|
|
|
|
# Zifencei extension not implemented
|
|
--override cpu/Zifencei=F
|
|
|
|
# Little endian only
|
|
--override cpu/endianFixed=T
|
|
|
|
# mcause and scause only have 4 lsbs of code and 1 msb of interrupt flag
|
|
--override cpu/ecode_mask=0x8000000F # for RV32
|
|
|
|
# No PMP
|
|
--override cpu/PMP_registers=0
|
|
--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 0xFFFFFFFFFFFFFFFFFF -attributes " ---a-- ---- " # All memory inaccessible unless defined otherwise
|
|
--callcommand refRoot/cpu/setPMA -lo 0x0000000000 -hi 0x7FFFFFFFFF -attributes " ---a-- ---- " # INITIAL
|
|
--callcommand refRoot/cpu/setPMA -lo 0x0002000000 -hi 0x000200FFFF -attributes " rw-aA- 1248 " # CLINT
|
|
--callcommand refRoot/cpu/setPMA -lo 0x000C000000 -hi 0x000FFFFFFF -attributes " rw-aA- --4- " # PLIC
|
|
--callcommand refRoot/cpu/setPMA -lo 0x0010000000 -hi 0x0010000007 -attributes " rw-aA- 1--- " # UART0
|
|
--callcommand refRoot/cpu/setPMA -lo 0x0010060000 -hi 0x00100600FF -attributes " rw-aA- --4- " # GPIO
|
|
--callcommand refRoot/cpu/setPMA -lo 0x0010040000 -hi 0x0010040FFF -attributes " rw-aA- --4- " # SPI
|
|
--callcommand refRoot/cpu/setPMA -lo 0x0080000000 -hi 0x00807FFFFF -attributes " rwx--- 1248 " # DTIM/IROM
|