VCS和Verdi学习
1.使用Makefile
Makefile参考:Makefile的一些基本应用
- 首先设置环境变量$Verdi_HOME
- 建立Makefile 文件
design_name = asyn_fifo
fsdb_name = $(design_name).fsdb
#use command "make vs" to run vsc and product fsdb file
vcs:
vcs \
-full64 \ #64bits
-f flist.f \ include all design file
-debug_all \
-l com.log \ # output log file
+v2k \ -P ${Verdi_HOME}/share/PLI/VCS/LINUXAMD64/novas.tab ${Verdi_HOME}/share/PLI/VCS/LINUXAMD64/pli.a
./simv -l sim.log +fsdbfile+$(fsdb_name) #simulation:product fsdb file and sim log
#use verdi to observe the waveform
verdi:
verdi \
+v2k \
-f flist.f \
-ssf $(fsdb_name) & #use fsdb file
#delete all files except .v and makefile
clean:
rm -rf `ls | grep -v "Makefile"|grep -v "flist.f" | grep -v "\.v" | grep -v "script.tcl"`
- 仿真文件添加生成fsdb函数
initial begin
$fsdbDumpfile(“asyn_fifo.fsdb”);
$fsdbDumpvars;
end
- 执行“make vcs” 编译仿真
- 执行“make verdi” 打开波形
- verdi常用快捷键
ctrl+w: 添加信号到波形图
h: 在波形窗口显示详细的信号名(路径)
File>save signal,命名*.rc,下次直接打开rc文件就行
c/t: 修改信号的颜色(t可以直接切换颜色)
在波形窗口显示状态机的名字:
在rtl窗口,tools>Extract internative FSM ,可选first stage(仅展开目前所指定的FSM state),all stage (展开所有的FSM state)
改变颜色填充波形:
Tools>waveform>view options>waveformpane> paint waveform with specified color/pattern
在rtl窗口按x: 标注出信号的值
z: 缩小波形窗口
Z: 放大波形窗口
f: 全屏
l: 上一个视图
L: 重新加载设计波形或文件
n: 向前查找
N: 向后查找
ctrl+→: 向右移动半屏
ctrl+←: 向左移动半屏
双击信号波形: 跳转到rtl中信号位置,并高亮新号
b: 跳到波形图开头
e: 跳到波形图尾部
2.不使用Makefile直接执行
vcs -R -f flist.f -full64 -fsdb -l name.log
verdi -f flist.f -ssf name.fsdb