Design Verification Methodology in Opentitan has been followed in matcha.
Currently, VCS is used as the major simulator for running DV tests in matcha.
At the root of shodan repo:
export ROOTDIR=`pwd` export titan_root=$ROOTDIR/hw/opentitan-upstream export PYTHONPATH=$ROOTDIR/hw/matcha/util:$titan_root/util:$titan_root/util/dvsim:$PYTHONPATH
cd $ROOTDIR/hw/matcha util/dvsim_match/dvsim.py hw/top_matcha/dv/chip_sim_cfg.hjson -i <test_name>
To dump waveforms from the simulation, pass the --waves argument to dvsim.py
To debug with Verdi:
-kdb[=only] option in VCS runsverdi -dbdir=<path to simv.daidir>
initial begin $assertoff(0, tb.dut); end
`define STOP_COND 0 `define PRINTF_COND 0
at the top of the files:
hw/top_matcha/ip/ml_top/rtl/kelvin.v hw/top_matcha/ip/ml_top/rtl/xbar_sram.v
to turn off the $fatal statements and the unwanted debug messages
hw/top_matcha/ip/smc/rtl/smc_controller.sv
to avoid the unnecessary error messages