1.有时测试激励可能有很多case,分别有不同的文件夹内。我们希望一个tb能方便灵活测试所有case,可以通过宏定义的方式,后面通过用宏来使用
`define TC "/FileFolder/CASE1/"
fp = $fopen({`TC,input.txt},'r');
2.使用wait函数,来实现等待某个条件的触发,
initial begin
wait(enable);
......
end
3.使用repeat来实现等待多少个cycle
initial begin
repeat(10) @(posedge clk);
repeat(random%10) @(posedge clk);
....
end
4.使用$display,打印语句,来方便查看流程的状态,或进入的testcase的分支。
5.多使用make语句。
all:
vcs \
+V2k \
-sverilog \
-full64 \
+nospecify \
+notimingcheck \
+link=TFIPC-L \
-cm line+cond+fsm+tgl \
-debug_all \
-notice \
-R \
-timescale=1ns/1ps \
-fsdb \
-f rtl.list \
-l vcs.log
verdi:
verdi \
-ssf sim.fsdb \
-f rtl.list \
-sverilog \
-top top &
clean:
rm -rf *.dat
rm -rf *.log
rm -rf csrc
rm -rf simv*
help:
@echo "HELP!"