verdi使用

1 命令行选项

verdi tb.v -wcfile -ssv -f file.lst -ssf xx.fsdb

选项说明
-sv支持systemverilog语法
+systemverilogext+.sv指定sv文件的后缀
-ssv取消-v指定的library为lib cell
-ssy取消-y指定的library为lib cell
-ssz忽略`celldefine的compiler指令
-top tb指定整个环境的top名称为tb
-vc支持DirectC语法
-f指定文件列表
-ssf指定波形文件
-wcfile使verdi可以识别filelist.f中 path/*.v这种写法

2 查看图形常用操作

2.1 颜色

操作作用
快捷键c给选中的对象标记颜色
nSchema菜单 -> Schematic -> All Objects to Default Color取消所有标记的颜色
主菜单(或nSchema菜单) -> Tools -> Preference -> Schematics -> Color/Font1. 在Color Theme处可以选择主题颜色, 目前verdi默认是Classic Theme, net颜色刺眼, 可选择第2个Black Theme.
2. Type处可以设置特定元素的颜色和线型.
3. 右侧选择框, 选中"Automatic Font And Size", 让inst名称等字体自动放大/缩小

部分type名称对应的元素

Type说明
Background背景
Block Symbol例化的块
Normal Signal普通net
Pre Select鼠标悬停在元素上(还没有选中)时
Selected Set选中的元素
Symbol Nameport名/inst名/inst.pin名等
Symbol Portport图标/inst.pin图标等

2.2 文本

操作作用
Ctrl+H复制当前选中对象的全路径

2.3 电路

操作作用
快捷键 a调出搜索窗口, 在当前层次搜索Singal/Inst/Port/InstPort等
快捷键 A调出搜索窗口, 在Hir层次搜索Singal/Inst/Port/InstPort等
工具栏 D追查当前选中信号的Drive
工具栏 <-返回上一个视图
菜单Tools -> NewSchematic -> FlattendWindow在新窗口查看选中信号的flatten视图
菜单Tools -> NewSchematic -> Fan-in在新窗口查看选中信号的所有fanin
菜单Tools -> Preferences… -> Schematics展开 -> Select, 在SelectSettings中选中"AutoFitSelection"当在Find窗口选中某元素时, nSchema窗口中会自动把选中的元素缩放到合适尺寸

3 查看波形常用操作

操作作用
快捷键f
快捷键Ctrl+w将电路图中的信号送到波形窗口
鼠标左键单击将标尺1定位到当前时间点
鼠标中键单击将标尺2定位到当前时间点
快捷键x将标尺1和标尺2的相对位置固定(或解除固定)
鼠标左键拖动查看拖动范围内的时间段
快捷键rload信号列表文件signal.rc
快捷健shift+s保存信号列表文件signal.rc
菜单WaveForm.SetRadix.AddAliasFromFile从文件加载Aliasfile, 给信号值比如Tap.IR取别名, 文件格式见表格后面.
菜单WaveForm.Snap Cursor/Marker to Transitions用鼠标点击波形时, 标尺(cursor/marker)跳到信号值变化的时间点.

Alias文件格式:

Intest 8'h18
Sample 8'h1B
Extest 8'h1C

4 查看force信息.

参考链接: http://www.lujun.org.cn/?p=4582

  1. 加仿真参数
在仿真参数中加入+fsdb+force选项(./simv +fsdb+force), 这时dump fsdb时就会得到force信息.
  1. 查看force的波形
使用verdi查看信号时, 如果该信号有force, 则波形上对应的时间点会有紫色箭头.
向下箭头表示当前时间有force应用到该信号.
向上箭头表示当前时间有release应用到该信号.
  1. 生成force报告
如果环境中force比较多, 可以把force信息生成一个报告文件:
    fsdbreport xx.fsdb -find_forces -s "\/\*" -level 0 -o xx.txt

其中:
    xx.fsdb    : 输入的波形文件.
    -find_force: 表示当前报告是要抓force.
    -s         : 指定查找force信息的层次, /*表示从最顶层开始查找.
    -level     : 指定向下查找的层次. 0表示查找-s指定的层次下所有的层次.
    -o         : 指定输出文件名.

4). 报告文件的格式:

#/xx/xx/fsdbreport xx.fsdb -find_forces -s / -level 0 -o xx.force.txt
Time(1fs), /tb/FCLK
    0, Forced, ^x, design
   20, Forced, ^0, external
   ...

Time(1fs), /tb/interposer/BP_TCK
    0, Forced, ^?, design
    0, Forced, ^0, design
   20, Forced, ^1, design
   ...

...

文件说明

line1: 生成该报告文件的命令.
line2: force信号的层次
line3: force时间, force/release值.

5 修改verdi的默认配置

5.1 通过Perferences中某些设置实现.

普通操作, 比如显示netname, 在退出本次verdi gui后, 重新开的verdi gui不会记住这次的选择.
但在Perferences中可以修改这些选项的默认值:
菜单->Tools->Perferences...->Schematics->Display Options->选中Local Net Name->Apply.
这样, 重新打开verdi, 也会显示NetName.

5.2 通过修改novas.rc实现

有时我们要把在图形界面的设置固化到novas.rc中, 但novas.rc文件很长, 里面有很多选项, 并不容易找到某个设置对应哪个变量.
有两个方法, 可以大致用来查找某项设置的key.

一是使用Tcl command entry, 方法:

菜单->Tools->Perferences...->General->Console Configurations->Enable TCL Command Entry.

选中这一项后, 在Console窗口会出现一个输入条和历史命令窗口, 在GUI的操作(比如显示Net Name)对应的verdi cmd就会显示在console 窗口.

二是在打开verdi GUI界面的目录下, 找到verdiLog/verdi.cmd这个文件, 它记录了对图形界面的操作对应的命令.

比如, 在verdi图形界面点击:

nSchema菜单->View->Net Name, 

用来在电路图中显示net名, 这时在verdi.cmd文件中会多出一行:

schSetOptions -win $_nSchema2 -localNetName on

可以得知net名称在novas.rc中的配置项大约是localNetName,
打开novas.rc文件, 搜索, 果然有一个localNetName = False, 将它改为True.
下次再打开verdi看电路, 就可以发现net name就自动标记到电路上了.

6 使用stdcell图形库

1. 在home下创建目录novas_libs, 并进入该目录
2. 将库文件转为verdi可识别图形库
   注意, 命令中的${lib_name}可以写成任意名字.
   syn2SymDB -o ${lib_name} \
       /a/b/c/tcbn_xx.lib \
       /a/b/d/tcbn_xy.lib \

   会在当前目录生成${lib_name}.lib++目录

   也可以使用db文件作为输入文件, 不过需要添加选项 -format db, 因为默认是lib格式.
   syn2SymDB -o ${lib_name} -format db /a/b/c/tcbn_xx.db

2. 在.cshrc中设置变量
   setenv NOVAS_LIBS     "${lib_name}"
   setenv NOVAS_LIBPATHS ~/novas_libs; #注意此处不需要写成~/novas_libs/${lib_name}.lib++

   也可以在verdi界面操作: tools->prefrences->schmatics->symble library, 
   在Symbol Library Names处填上${lib_name}, 
   在Symbol Library Paths处填上/home/xx/novas_libs, 注意不要带上具体lib_name

3. 启动verdi, 该stdcell库中的cell就能显示为对应symbol了.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值