1.5.1 调试的种类
如前文所述,在仿真阶段,有两种模式,交互式模式和批处理模式。对应的,在debug上,针对两种仿真模式,我将调试分为两种,一种是vcs和verdi联调的交互式模式,另外一种是后处理的模式,所谓后处理就是VCS生成波形,然后再verdi打开波形,进行debug的模式。
每种模式,对应的调试方法大致相同,但是联调的交互式模式能做的更多,但是整个流程会更慢一些。
在联调的交互式模式下,你可以进行如下操作:
- 查看波形
- 比较波形
- trace驱动和负载
- 查看原理图
- 执行UCLI/Tcl命令
- 设置断点(行,时间,事件等)
- 行步进
在后处理模式下,你可以进行如下操作:
- 查看波形
- 比较波形
- trace驱动和负载
- 查看原理图
1.5.2 后处理模式(post-processing)
如果你想实用PP模式进行调试,就要用到前面讲的编译时debug选项。并且dump FSDB的波形文件。
使用以下编译选项之一,使能FSDB波形的生成:
- -debug_access+ PP
- -fsdb
- -P $VERDI_LIB/novas.tab $VERDI_LIB/pli.a
examples:
%> vcs -kdb -debug_access [comp_options]
%> vcs -fsdb [comp_options]
%> vcs -P $VERDI_LIB/novas.tab $VERDI_LIB/pli.a [comp_options]
注意:仅当使用旧的-debug_pp,-debug或-debug_all时,才需要/建议使用-fsdb
使用以下方法生成FSDB波形
- 使用Verilog系统任务
使用Verilog系统任务 f s d b D u