数字IC设计随笔之一(Verdi自动添加波形脚本应用)

Verdi自动添加波形脚本应用

在刚接触verdi时,每次查看波形都需要重新加载一遍,写了简单的脚本用于实现波形加载,没想到下载需求挺多,也有私信问如何使用,在这里将做简单的说明。

脚本有三个文件,分别是genwavecmd.sh、template.cmd和wavelist.txt,其中template.cmd是Verdi波形加载的模板,之前采用的Verdi软件版本低,在新版本中执行时将出现语法错误;wavelist.txt是需要查看的信号列表,必须以相应的语法格式书写,才便于genwavecmd.sh脚本读取。

wavelist.txt文件内容如下:

/DCU_tb/DCU/ClockGen
(
por
oscclk
rstn
)
/DCU_tb/DCU/RAMController
(
POR
PWE
PPROG
)
/DCU_tb/DCU/Timer
(
timer_INT
)

信号的定义以层级的形式声明信号所属的模块,之后在圆括号里声明需要查看的信号名,比如第一组信号声明,首先声明/DCU_tb/DCU/ClockGen,表示从顶层模块引用ClockGen模块中的信号,括号中的信号为该模块中的信号。后面两组信号类似。

template.cmd中的类容需要修改以在新版本的verdi中运行,主要修改内容为文件的读入和fsdb文件的加载,修改后的文件如下:

debImport “-f” “./tb.v”
wvCreateWindow
wvResizeWindow -win $_nWave2 0 30 1920 394
wvOpenFile -win $nWave2 {/home/stu05/project/test_example/vg_dump.fsdb}
verdiDockWidgetHide -dock widgetDock_WelcomePage
verdiDockWidgetHide -dock widgetDock
<Inst.Tree>
verdiDockWidgetHide -dock widgetDock
<Decl.Tree>
verdiDockWidgetHide -dock widgetDock

verdiDockWidgetHide -dock widgetDock_MTB_SOURCE_TAB_1
verdiDockWidgetDisplay -dock windowDock_nWave_2
wvResizeWindow -win $_nWave2 0 30 1920 874
wvGetSignalOpen -win $_nWave2
wvAddSignal -win $_nWave2 -clear

该模板以Verdi_N-2017.12-SP2为例。

在terminal中输入下列命令运行:
在这里插入图片描述
执行完成之后将产生wave.cmd文件,该文件用于Verdi软件运行。
在这里插入图片描述
verdi将自动加载wavelist.txt中的波形。

当Verdi软件使用多了以后,我们发现Verdi在每次加载信号之后会记录软件执行的动作,并保存在当前路径./VerdiLog/verdi.cmd文件中。在第一次手动加载需要查看的波形后,之后可以通过Verdi -play verdi.cmd命令加载。

上述内容纯属于个人理解,难免有不当之处,还望各位同行多多指点。

  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值