mirror of
https://github.com/openhwgroup/cvw
synced 2025-02-11 06:05:49 +00:00
Merge pull request #787 from Divya2030/main
VCS run regression-wally, and Code Coverage
This commit is contained in:
commit
3aedc773f3
@ -24,6 +24,10 @@ WKDIR="wkdir/${1}_${2}"
|
||||
COV="cov/${1}_${2}"
|
||||
LOGS="logs"
|
||||
|
||||
if [ ${TESTSUITE} = "buildroot" ]; then
|
||||
shift 2
|
||||
PLUSARGS="$*"
|
||||
fi
|
||||
|
||||
clean_logs() {
|
||||
echo -e "${YELLOW}Cleaning up workspace...${NC}"
|
||||
@ -31,10 +35,11 @@ clean_logs() {
|
||||
}
|
||||
clean_simprofile() {
|
||||
echo -e "${YELLOW}Cleaning up simprofile_dir...${NC}"
|
||||
rm -rf simprofile_dir* profileReport*
|
||||
rm -rf simprofile_dir* profileReport*
|
||||
}
|
||||
|
||||
#clean_simprofile
|
||||
#clean_logs
|
||||
clean_simprofile
|
||||
# Function to create a directory if it does not exist
|
||||
create_directory() {
|
||||
local dir=$1 # Local variable for directory name
|
||||
@ -85,27 +90,29 @@ RTL_FILES="$INCLUDE_DIRS $(find ${SRC} -name "*.sv" ! -path "${SRC}/generic/cloc
|
||||
|
||||
# Simulation and Coverage Commands
|
||||
OUTPUT="sim_out"
|
||||
VCS_CMD="vcs +lint=all,noGCWM,noUI,noSVA-UA,noIDTS,noNS,noULCO,noCAWM-L,noWMIA-L,noSV-PIU,noSTASKW_CO,noSTASKW_CO1,noSTASKW_RMCOF +vcs+vcdpluson -simprofile -suppress +warn -sverilog +vc -Mupdate -line -full64 -kdb -lca -debug_access+all+reverse -ntb_opts sensitive_dyn +define+SIM_VCS ${INCLUDE_PATH} $RTL_FILES"
|
||||
SIMV_CMD="./${WKDIR}/$OUTPUT +TEST=${TESTSUITE}"
|
||||
VCS_CMD="vcs +lint=all,noGCWM,noUI,noSVA-UA,noIDTS,noNS,noULCO,noCAWM-L,noWMIA-L,noSV-PIU,noSTASKW_CO,noSTASKW_CO1,noSTASKW_RMCOF +vcs+vcdpluson -suppress +warn -sverilog +vc -Mupdate -line -full64 -kdb -lca -debug_access+all+reverse -ntb_opts sensitive_dyn +define+SIM_VCS ${INCLUDE_PATH} $RTL_FILES"
|
||||
SIMV_CMD="./${WKDIR}/$OUTPUT +TEST=${TESTSUITE} ${PLUSARGS}"
|
||||
COV_FILES="${TB}/coverage/test_pmp_coverage.sv"
|
||||
COV_OPTIONS="-cm line+cond+branch+fsm+tgl -cm_log ${WKDIR}/coverage.log -cm_dir ${WKDIR}/COVERAGE"
|
||||
COV_RUN="urg -dir ${WKDIR}/sim_out.vdb/"
|
||||
### CODE COVERAGE REPORT in IndividualCovReport in XML format
|
||||
#COV_RUN="urg -dir ${WKDIR}/COVERAGE.vdb -report IndividualCovReport/${CONFIG_VARIANT}_${TESTSUITE}"
|
||||
### CODE COVERAGE REPORT in IndividualCovReport in text format
|
||||
COV_RUN="urg -dir ./${WKDIR}/COVERAGE.vdb -format text -report IndividualCovReport/${CONFIG_VARIANT}_${TESTSUITE}"
|
||||
|
||||
|
||||
# Clean and run simulation with VCS
|
||||
#clean
|
||||
|
||||
if [ "$3" = "coverage" ]; then
|
||||
echo -e "${YELLOW}#### Running VCS Simulation with Coverage ####${NC}"
|
||||
# Code Coverage.
|
||||
$VCS_CMD $COV_OPTIONS -o ${WKDIR}/$OUTPUT -Mlib ${WKDIR} -work ${WKDIR} -l "$LOGS/${CONFIG_VARIANT}_${TESTSUITE}.log"
|
||||
$SIMV_CMD
|
||||
$VCS_CMD -Mdir=${WKDIR} $COV_OPTIONS -o ${WKDIR}/$OUTPUT -Mlib ${WKDIR} -work ${WKDIR} -l "$LOGS/${CONFIG_VARIANT}_${TESTSUITE}.log"
|
||||
$SIMV_CMD $COV_OPTIONS
|
||||
$COV_RUN
|
||||
cp -rf urgReport $COV
|
||||
#cp -rf urgReport $COV
|
||||
|
||||
else
|
||||
echo -e "${YELLOW}#### Running VCS Simulation ####${NC}"
|
||||
$VCS_CMD -o ${WKDIR}/$OUTPUT -work ${WKDIR} -Mlib ${WKDIR} -l "$LOGS/{CONFIG_VARIANT}_{TESTSUITE}.log"
|
||||
$SIMV_CMD ${GUI}
|
||||
$VCS_CMD -Mdir=${WKDIR} -o ${WKDIR}/$OUTPUT -work ${WKDIR} -Mlib ${WKDIR} -l "$LOGS/${CONFIG_VARIANT}_${TESTSUITE}.log"
|
||||
$SIMV_CMD
|
||||
fi
|
||||
|
||||
|
@ -54,6 +54,9 @@ module testbench;
|
||||
`ifdef VERILATOR
|
||||
import "DPI-C" function string getenvval(input string env_name);
|
||||
string RISCV_DIR = getenvval("RISCV"); // "/opt/riscv";
|
||||
`elsif SIM_VCS
|
||||
import "DPI-C" function string getenv(input string env_name);
|
||||
string RISCV_DIR = getenv("RISCV"); // "/opt/riscv";
|
||||
`else
|
||||
string RISCV_DIR = "$RISCV"; // "/opt/riscv";
|
||||
`endif
|
||||
|
Loading…
Reference in New Issue
Block a user