blob: c787fe40668b35ee5f090e7be0c2d40cfe3e887e [file] [log] [blame] [view]
# Full System Instruction Set Simulation
And instruction set simulation (ISS) is a high-level simulation
intended to capture the behavior of the full system.
It is useful for testing software and ideas before
running a complete cycle-accurate simulator which
can have low host performance and before actual hardware is
available for testing. Since it can exist before hardware
is implemented in an RTL it also allows hardware/software
co-development, taking what can be a serial process into
a parallel workflow.
# Shodan ISS Environment
Shodan ISS is developed in Renode. Renode provides the ability to
simulate a full system including custom peripherals and a heterogenous
core configuration as is present in the Shodan SoC design.
# Simulating the Secure Core
Before beginning a simulation make sure to setup your workstation environment
as described in the Getting Started document.
The scripts set up an alias to launch renode:
```
renode
```
This will launch the renode console.
To launch a simulation of the shodan secure core run the following
command in the Renode console:
```
i @sim/config/shodan_secure.resc
```
Execute the simualtion with that following command:
```
start
```
It is possible to debug the running program with the following command at the console:
```
riscv64-unknown-elf-gdb --command=sim/config/gdbinit out/opentitan/build-bin/sw/device/boot_rom/boot_rom_sim_verilator.elf
```