8.4. Debugging BOOM
In addition to the default debugging techniques specified in Debugging RTL, single-core BOOM designs can utilize the Dromajo co-simulator (see Dromajo) to verify functionality.
Dromajo currently only works in single-core BOOM systems without accelerators.
Dromajo currently only works in VCS simulation and FireSim.
8.4.1. Setting up Dromajo Co-simulation
Dromajo co-simulation is setup to work when three config fragments are added to a BOOM config.
chipyard.config.WithTraceIOconfig fragment must be added so that BOOM’s traceport is enabled.
chipyard.iobinders.WithTraceIOPunchthroughconfig fragment must be added to add the
chipyard.harness.WithSimDromajoBridgeconfig fragment must be added to instantiate a Dromajo cosimulator in the
TestHarnessand connect it to the
Once all config fragments are added Dromajo should be enabled.
To build/run Dromajo with a BOOM design, run your configuration the following make commands:
# build the default Dromajo BOOM config without waveform dumps # replace "DromajoBoomConfig" with your particular config make CONFIG=DromajoBoomConfig ENABLE_DROMAJO=1 # run a simulation with Dromajo make CONFIG=DromajoBoomConfig ENABLE_DROMAJO=1 BINARY=<YOUR-BIN> run-binary