blob: d0ca4d9079a2308faf7a8fbffccf2b1aad10c6ee [file] [log] [blame]
#!/bin/bash
# Copyright lowRISC contributors.
# Licensed under the Apache License, Version 2.0, see LICENSE for details.
# SPDX-License-Identifier: Apache-2.0
# Script to run fpv (formal property verification) using Jasper Gold
#
# Usage: To run fpv on module foo, type
# fpv foo
#
# Here are some examples:
# fpv gpio
# fpv uart
# fpv top_earlgrey
#-------------------------------------------------------------------------
# set FPV_TOP env variable
#-------------------------------------------------------------------------
export FPV_TOP=$1
#-------------------------------------------------------------------------
# use fusesoc to generate file list
#-------------------------------------------------------------------------
\rm -Rf build jgproject
fusesoc --cores-root .. run --target=sim --setup --build formal > /dev/null 2>&1
#-------------------------------------------------------------------------
# run Jasper Gold
#-------------------------------------------------------------------------
cd build/formal_0/sim-icarus
jg -batch \
../../../fpv.tcl \
-proj ../../../jgproject \
-allow_unsupported_OS \
-command exit \
| tee ../../../fpv.log
cd -