将波形输出改为fst格式

This commit is contained in:
2025-09-06 17:50:17 +08:00
parent 6e1232be94
commit 9b5848e1d7
4 changed files with 137 additions and 11 deletions

View File

@@ -75,24 +75,20 @@ testCDR:
-I ./generated/shin \
-D RANDOMIZE_REG_INIT \
./tb/shinTest/SimCDRTb.v
vvp -N ./tb/build/simCDR.iverilog -lxt2
vvp -N ./tb/build/simCDR.iverilog -lxt2 -fst
testFilter:
./tb/shinTest/test_filter.py
vcdFilter:
gtkwave ./tb/build/test_filter.vcd 1>/dev/null 2>&1 &
vcdShin:
gtkwave ./tb/build/wave.vcd 1>/dev/null 2>&1 &
vcdShinClk:
gtkwave ./tb/build/wave_clk.vcd 1>/dev/null 2>&1 &
fstShin:
gtkwave ./tb/build/wave.fst 1>/dev/null 2>&1 &
gtkwave ./generated/wave.fst 1>/dev/null 2>&1 &
fstShinClk:
gtkwave ./generated/wave_clk.fst 1>/dev/null 2>&1 &
ef:
sbt "test:runMain test.testModule"

View File

@@ -438,7 +438,7 @@ initial
begin
spidata_file = $fopen("spi_trans_data.txt", "w");
if (!spidata_file) $display("文件打开失败");
$dumpfile("./generated/wave.vcd"); //生成的vcd文件名称
$dumpfile("./generated/wave.fst"); //生成的vcd文件名称
$dumpvars(0, ShinTopSpiTb);//tb模块名称
end

View File

@@ -446,7 +446,7 @@ initial
begin
spidata_file = $fopen("spi_trans_data.txt", "w");
if (!spidata_file) $display("文件打开失败");
$dumpfile("./tb/build/wave_clk.fst"); //生成的vcd文件名称
$dumpfile("./generated/wave_clk.fst"); //生成的vcd文件名称
$dumpvars(0, ShinTopSpiTb);//tb模块名称
end

130
tb/shinTest/gen_pkt_clk.py Executable file
View File

@@ -0,0 +1,130 @@
#!/usr/bin/env python
#encoding=utf-8
from pyutils import *
from testcase import environment, rwregs, ebmmu, errorPkt, watchdog, broadcast, sync, base, mac
if __name__ == '__main__':
environment.gen_slv_dev_for_clk(4)
environment.bringup()
#add_tc_2_runlist(errorPkt.tc1())
#add_tc_2_runlist(errorPkt.tc2())
#add_tc_2_runlist(errorPkt.tc3())
#add_tc_2_runlist(errorPkt.tc4())
#add_tc_2_runlist(errorPkt.tc5())
#add_tc_2_runlist(errorPkt.tc6())
#add_tc_2_runlist(errorPkt.tc7())
#add_tc_2_runlist(errorPkt.tc8())
#add_tc_2_runlist(errorPkt.tc9())
#add_tc_2_runlist(errorPkt.tc10())
#add_tc_2_runlist(errorPkt.tc11())
#add_tc_2_runlist(errorPkt.tc12())
#add_tc_2_runlist(errorPkt.tc13())
#add_tc_2_runlist(errorPkt.tc14())
#add_tc_2_runlist(errorPkt.tc15())
#add_tc_2_runlist(errorPkt.tc16())
#add_tc_2_runlist(errorPkt.tc17())
#add_tc_2_runlist(errorPkt.tc18())
#add_tc_2_runlist(errorPkt.tc19())
#add_tc_2_runlist(errorPkt.tc20())
#add_tc_2_runlist(errorPkt.tc21())
#add_tc_2_runlist(errorPkt.tc22())
#add_tc_2_runlist(errorPkt.tc23())
#add_tc_2_runlist(errorPkt.tc24())
#add_tc_2_runlist(errorPkt.tc25())
#add_tc_2_runlist(errorPkt.tc26())
#add_tc_2_runlist(errorPkt.tc27())
#add_tc_2_runlist(errorPkt.tc28())
#add_tc_2_runlist(errorPkt.tc29())
#add_tc_2_runlist(errorPkt.tc30())
#add_tc_2_runlist(errorPkt.tc31())
#add_tc_2_runlist(errorPkt.tc32())
#add_tc_2_runlist(errorPkt.tc33())
#add_tc_2_runlist(errorPkt.tc34())
#add_tc_2_runlist(errorPkt.tc35())
#add_tc_2_runlist(errorPkt.tc36())
#add_tc_2_runlist(errorPkt.tc37())
#add_tc_2_runlist(errorPkt.tc38())
#add_tc_2_runlist(base.tc1())
#add_tc_2_runlist(base.tc2())
#add_tc_2_runlist(base.tc3())
#add_tc_2_runlist(base.tc4())
#add_tc_2_runlist(base.tc5())
#add_tc_2_runlist(base.tc6())
#add_tc_2_runlist(base.tc7())
#add_tc_2_runlist(base.tc8())
#add_tc_2_runlist(base.tc9())
#add_tc_2_runlist(base.tc10())
#add_tc_2_runlist(base.tc11())
#add_tc_2_runlist(base.tc12())
#add_tc_2_runlist(base.tc13())
#add_tc_2_runlist(base.tc14())
#add_tc_2_runlist(base.tc15())
#add_tc_2_runlist(base.tc16())
#add_tc_2_runlist(base.tc17())
#add_tc_2_runlist(base.tc18())
#add_tc_2_runlist(base.tc19())
#add_tc_2_runlist(base.tc20())
#add_tc_2_runlist(base.tc21())
#add_tc_2_runlist(base.tc22())
#add_tc_2_runlist(base.tc23())
#add_tc_2_runlist(base.tc24())
#add_tc_2_runlist(base.tc25())
#add_tc_2_runlist(base.tc26())
#add_tc_2_runlist(base.tc27())
#add_tc_2_runlist(base.tc28())
#add_tc_2_runlist(base.tc29())
add_tc_2_runlist(base.tc29())
add_tc_2_runlist(base.tc30())
#add_tc_2_runlist(broadcast.tc1())
#add_tc_2_runlist(broadcast.tc2())
#add_tc_2_runlist(broadcast.tc3())
#add_tc_2_runlist(sync.tc1())
#add_tc_2_runlist(sync.tc2())
#add_tc_2_runlist(sync.tc3())
#add_tc_2_runlist(sync.tc4())
#add_tc_2_runlist(sync.tc5())
#add_tc_2_runlist(sync.tc6())
#add_tc_2_runlist(sync.tc7())
#add_tc_2_runlist(ebmmu.tc1())
#add_tc_2_runlist(ebmmu.tc2())
#add_tc_2_runlist(ebmmu.tc3())
#add_tc_2_runlist(ebmmu.tc4())
#add_tc_2_runlist(ebmmu.tc5())
#add_tc_2_runlist(ebmmu.tc6())
#add_tc_2_runlist(ebmmu.tc7())
#add_tc_2_runlist(ebmmu.tc8())
#add_tc_2_runlist(ebmmu.tc9())
#add_tc_2_runlist(ebmmu.tc10())
#add_tc_2_runlist(ebmmu.tc11())
#add_tc_2_runlist(ebmmu.tc12())
#add_tc_2_runlist(ebmmu.tc13())
#add_tc_2_runlist(ebmmu.tc14())
#add_tc_2_runlist(ebmmu.tc15())
#add_tc_2_runlist(ebmmu.tc16())
#add_tc_2_runlist(ebmmu.tc17())
#add_tc_2_runlist(ebmmu.tc18())
#add_tc_2_runlist(ebmmu.tc19())
#add_tc_2_runlist(watchdog.tc1())
#add_tc_2_runlist(watchdog.tc2())
#add_tc_2_runlist(mac.tc1())
#add_tc_2_runlist(mac.tc2())
#add_tc_2_runlist(mac.tc3())
#add_tc_2_runlist(mac.tc4())
#add_tc_2_runlist(mac.tc5())
#add_tc_2_runlist(mac.tc6())
#add_tc_2_runlist(mac.tc7())
environment.teardown()
gen_tc_runlist()