前面有一篇文章介绍了使用verdi的NPI来读取design里面的hierarchy,并提取所有fifo信号,并做检查。但是这种方案需要编译两次,比较麻烦,本文介绍一种不用重新编译的方法。
本方案的想法是,使用ucli命令来找到所有fifo和empty信号,然后检查值是否为1。
首先需要在仿真参数中增加-ucli
1 | simv [opts] -ucli run.tcl |
然后在top_tb.sv里面,在仿真结束之前,给tcl传递一个信号。
1 | reg test_finished_to_tcl; |
最后是tcl脚本。
1 | run -posedge top_tb.test_finished_to_tcl |