将vcs仿真流程修正得更好

This commit is contained in:
2025-09-07 00:10:41 +08:00
parent 4a21e4b2ba
commit 8a7e4981fb
5 changed files with 45 additions and 12 deletions

View File

@@ -49,6 +49,7 @@ testShin:
-y ./generated/shin \ -y ./generated/shin \
-I ./generated/shin \ -I ./generated/shin \
-D RANDOMIZE_REG_INIT \ -D RANDOMIZE_REG_INIT \
-D IVERILOG_COMPILE \
./tb/shinTest/ShinTopSpiTb.v ./tb/shinTest/ShinTopSpiTb.v
vvp -N ./tb/build/shinTest.iverilog -lxt2 -fst || true vvp -N ./tb/build/shinTest.iverilog -lxt2 -fst || true
./tb/shinTest/check_testcase.py ./tb/shinTest/check_testcase.py
@@ -62,6 +63,7 @@ testShinClk:
-y ./generated/shin \ -y ./generated/shin \
-I ./generated/shin \ -I ./generated/shin \
-D RANDOMIZE_REG_INIT \ -D RANDOMIZE_REG_INIT \
-D IVERILOG_COMPILE \
./tb/shinTest/ShinTopSpiTb_clk.v ./tb/shinTest/ShinTopSpiTb_clk.v
vvp -N ./tb/build/shinTest_clk.iverilog -lxt2 -fst || true vvp -N ./tb/build/shinTest_clk.iverilog -lxt2 -fst || true
./tb/shinTest/check_testcase.py ./tb/shinTest/check_testcase.py
@@ -74,6 +76,7 @@ testCDR:
-I ./generated/SimCDR \ -I ./generated/SimCDR \
-I ./generated/shin \ -I ./generated/shin \
-D RANDOMIZE_REG_INIT \ -D RANDOMIZE_REG_INIT \
-D IVERILOG_COMPILE \
./tb/shinTest/SimCDRTb.v ./tb/shinTest/SimCDRTb.v
vvp -N ./tb/build/simCDR.iverilog -lxt2 -fst vvp -N ./tb/build/simCDR.iverilog -lxt2 -fst

View File

@@ -3,10 +3,11 @@
OUTPUT = shin_test OUTPUT = shin_test
VCS = vcs -sverilog +v2k -timescale=1ns/1ps \ VCS = vcs -sverilog +v2k -timescale=1ns/1ps \
-debug_all \
-full64 \ -full64 \
-o ${OUTPUT} \ -o ${OUTPUT} \
-l compile.log \ -l compile.log \
-debug_access+none \
+define+VCS_COMPILE \
SIM = ./${OUTPUT} -l run.log SIM = ./${OUTPUT} -l run.log
@@ -16,6 +17,16 @@ testShin_vcs:
rm -rf generated/log/* rm -rf generated/log/*
${VCS} -f ./shinTest_vcs.f ${VCS} -f ./shinTest_vcs.f
${SIM} ${SIM}
python3 ./shinTest/check_testcase.py
testShinClk_vcs:
python3 ./shinTest/gen_pkt_clk.py
mkdir -p generated/log
rm -rf generated/log/*
${VCS} -f ./shinTestClk_vcs.f
${SIM}
python3 ./shinTest/check_testcase.py
sim: sim:
${SIM} ${SIM}

View File

@@ -407,7 +407,8 @@ initial begin
$display("Time Out !!!"); $display("Time Out !!!");
$fclose(spidata_file); $fclose(spidata_file);
$stop; //$stop;
$finish;
end end
initial begin initial begin
@@ -438,8 +439,16 @@ initial
begin begin
spidata_file = $fopen("spi_trans_data.txt", "w"); spidata_file = $fopen("spi_trans_data.txt", "w");
if (!spidata_file) $display("文件打开失败"); if (!spidata_file) $display("文件打开失败");
$dumpfile("./generated/wave.fst"); //生成的vcd文件名称
`ifdef VCS_COMPILE
$dumpfile("./generated/wave.vcd"); //生成的vcd文件名称
$dumpvars(0, ShinTopSpiTb);//tb模块名称 $dumpvars(0, ShinTopSpiTb);//tb模块名称
`endif
`ifdef IVERILOG_COMPILE
$dumpfile("./generated/wave.fst"); //生成的fst文件名称
$dumpvars(0, ShinTopSpiTb);//tb模块名称
`endif
end end
always @(posedge reset) begin always @(posedge reset) begin
@@ -1092,7 +1101,8 @@ initial begin
#1000000 #1000000
$display("Testcase Finished! Time Out !!!"); $display("Testcase Finished! Time Out !!!");
$fclose(spidata_file); $fclose(spidata_file);
$stop; //$stop;
$finish;
end end

View File

@@ -382,7 +382,8 @@ initial begin
$display("Time Out !!!"); $display("Time Out !!!");
$fclose(spidata_file); $fclose(spidata_file);
$stop; //$stop;
$finish;
end end
initial begin initial begin
@@ -448,8 +449,15 @@ initial
begin begin
spidata_file = $fopen("spi_trans_data.txt", "w"); spidata_file = $fopen("spi_trans_data.txt", "w");
if (!spidata_file) $display("文件打开失败"); if (!spidata_file) $display("文件打开失败");
$dumpfile("./generated/wave_clk.fst"); //生成的vcd文件名称 `ifdef VCS_COMPILE
$dumpfile("./generated/wave.vcd"); //生成的vcd文件名称
$dumpvars(0, ShinTopSpiTb);//tb模块名称 $dumpvars(0, ShinTopSpiTb);//tb模块名称
`endif
`ifdef IVERILOG_COMPILE
$dumpfile("./generated/wave.fst"); //生成的fst文件名称
$dumpvars(0, ShinTopSpiTb);//tb模块名称
`endif
end end
always @(posedge reset) begin always @(posedge reset) begin
@@ -1102,7 +1110,8 @@ initial begin
#100000000000 #100000000000
$display("Testcase Finished! Time Out !!!"); $display("Testcase Finished! Time Out !!!");
$fclose(spidata_file); $fclose(spidata_file);
$stop; //$stop;
$finish;
end end

View File

@@ -1,5 +1,5 @@
+incdir+./generated/shin +incdir+./generated/shin
./shinTest/ShinTopSpiTb.v ./shinTest/ShinTopSpiTb_clk.v
./generated/shin/b4b5DualEncode.v ./generated/shin/b4b5DualEncode.v
./generated/shin/ShareSRAM2k.v ./generated/shin/ShareSRAM2k.v
./generated/shin/QSpiInterface.v ./generated/shin/QSpiInterface.v