84 lines
2.1 KiB
Plaintext
84 lines
2.1 KiB
Plaintext
.PHONY:com sim clean
|
|
|
|
OUTPUT = shin_test
|
|
CPU_COUNT := $(shell nproc)
|
|
SPI_TYPE ?= -spi 0
|
|
TRANS_CODE ?=
|
|
DEVCLK ?= --dev1 0 90 --dev2 0 -88
|
|
CDR_TYPE ?= -cdr 0
|
|
|
|
VCS = vcs -sverilog +v2k -timescale=1ns/1ps \
|
|
-full64 \
|
|
-o ${OUTPUT} \
|
|
-l compile.log \
|
|
-debug_access+none \
|
|
+define+VCS_COMPILE \
|
|
-fastpartcomp=j${CPU_COUNT} \
|
|
|
|
SIM = ./${OUTPUT} -l run.log
|
|
|
|
testShin_vcs:
|
|
python3 ./shinTest/gen_pkt.py ${SPI_TYPE} ${TRANS_CODE}
|
|
mkdir -p generated/log
|
|
rm -rf generated/log/*
|
|
@echo "Available CPUs: ${CPU_COUNT}"
|
|
${VCS} -f ./shinTest_vcs.f 1>vcs_compile.log 2>&1
|
|
${SIM}
|
|
python3 ./shinTest/check_testcase.py
|
|
|
|
testShinClk_vcs:
|
|
python3 ./shinTest/gen_pkt_clk.py ${DEVCLK} ${SPI_TYPE} ${TRANS_CODE} ${CDR_TYPE}
|
|
mkdir -p generated/log
|
|
rm -rf generated/log/*
|
|
${VCS} -f ./shinTestClk_vcs.f 1>vcs_compile.log 2>&1
|
|
${SIM}
|
|
python3 ./shinTest/check_testcase.py
|
|
|
|
|
|
testShinMany_vcs:
|
|
python3 ./shinTest/gen_pkt_many_dev.py
|
|
mkdir -p generated/log
|
|
rm -rf generated/log/*
|
|
@echo "Available CPUs: ${CPU_COUNT}"
|
|
${VCS} -f ./shinTest_vcs.f
|
|
${SIM}
|
|
python3 ./shinTest/check_testcase.py
|
|
|
|
sim:
|
|
${SIM}
|
|
|
|
testShin:
|
|
./shinTest/gen_pkt.py ${SPI_TYPE} ${TRANS_CODE}
|
|
mkdir -p generated/log
|
|
rm -rf generated/log/*
|
|
iverilog -Wall \
|
|
-o ./generated/shinTest.iverilog \
|
|
-y ./generated/shin \
|
|
-I ./generated/shin \
|
|
-D RANDOMIZE_REG_INIT \
|
|
./shinTest/ShinTopSpiTb.v
|
|
vvp -N ./generated/shinTest.iverilog -lxt2 -fst || true
|
|
./shinTest/check_testcase.py
|
|
|
|
testShinClk:
|
|
./shinTest/gen_pkt_clk.py ${DEVCLK} ${SPI_TYPE} ${TRANS_CODE} ${CDR_TYPE}
|
|
mkdir -p generated/log
|
|
rm -rf generated/log/*
|
|
iverilog -Wall \
|
|
-o ./generated/shinTest_clk.iverilog \
|
|
-y ./generated/shin \
|
|
-I ./generated/shin \
|
|
-D RANDOMIZE_REG_INIT \
|
|
./shinTest/ShinTopSpiTb_clk.v
|
|
vvp -N ./generated/shinTest_clk.iverilog -lxt2 -fst|| true
|
|
./shinTest/check_testcase.py
|
|
|
|
fstShin:
|
|
gtkwave ./generated/wave.fst 1>/dev/null 2>&1 &
|
|
|
|
fstShinClk:
|
|
gtkwave ./generated/wave_clk.fst 1>/dev/null 2>&1 &
|
|
|
|
clean:
|
|
rm -rf ./generated/log/* ./generated/shin/*.vh ./generated/shinTest.* ./generated/wave*.* ./generated/spi_trans*.*
|