![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/af55e94e9b6d47c0b71229290ff72038.jpeg#pic_center)
Verdi 介绍
Verdi 是由Synopsys公司开发的一款业界领先的自动化电子设计自动化(EDA)工具,主要用于功能验证和调试。Verdi 提供了一个强大的、全面的解决方案,支持从RTL到门级的设计验证。它通过提供丰富的功能来帮助设计师和验证工程师提高他们的工作效率,包括源代码调试、事务级建模、波形查看以及对UPF(统一功耗格式)的支持。
Verdi 特点和功能
- 高级调试能力:Verdi 具备高级调试工具,例如FSDB(Fast Signal Database)波形查看器,可以帮助工程师快速定位并解决设计中的问题。
- 自动化分析工具:提供丰富的自动化分析工具来提高验证效率,例如静态规则检查、协议检查器和自动化报告生成。
- 可视化界面:Verdi 提供了一个直观的图形界面,使用户能够轻松地查看代码执行、变量变化、调用关系等信息。
- 支持多种输入文件:支持多种设计和验证语言,包括SystemVerilog, VHDL, Verilog,以及多种格式的波形文件。
Verdi 基本操作
使用verdi打开设计以及波形的几种方法:
GUI 方法:
- open source file : verdi -sv -f <filelist.f> &
- Use the File->Open Waveform File cpmmand to load the fsdb
命令行方法:
当VCS编译时使用-kdb
选项时,vcs仿真会生成 verdi 的库文件,可以使用如下方式打开:
verdi -elab kdb
verdi -dbdir simv.daidir &
或者直接打开design和fsdb
verdi -ssf <fsdb> &
- -ssf [文件名].fsdb: 指定已有的波形文件。
Verdi -elab与-dbdir区别
在使用 Verdi 进行仿真和调试时,-elab
和 -dbdir
是两个用于指定不同目录或数据库位置的参数。它们在仿真准备和调试过解析阶段中起着重要的作用。了解这两个参数的区别有助于更有效地利用 Verdi 的功能。
-elab 参数介绍
-elab
参数用于指定包含编译和 elaboration(展开)产生的数据库的目录。这个数据库是仿真过程中产生的,包含了关于设计的结构信息,例如模块实例化、端口连接等。Elaboration 是将高级构造(如生成语句、参数化模块等)转换为基本元素(如网表)的过程,这个过程也会解析设计中的所有层次,创建一个可以用于仿真的扁平化表示。
在调用 Verdi 时使用 -elab
参数可以直接加载必要的设计数据库,加快启动和加载过程。
-dbdir 参数介绍
-dbdir
参数用于指定一个目录,这个目录包含了仿真运行过程中产生的 FSDB(Fast Signal DataBase)波形数据库文件。FSDB 文件记录了仿真过程中各个信号的值变化,允许用户在 Verdi 中回放和分析这些波形。通过指定 -dbdir
参数,用户可以告诉 Verdi 去哪个目录下查找这些波形数据文件。
-dbdir
主要关注仿真过程产生的动态数据,比如信号的时间序列变化,而不是设计的结构信息。
关于 FSDB 的生成见:【芯片设计- RTL 数字逻辑设计入门 2 - vcs 及 verdi 使用介绍】
区别总结
- 用途:
-elab
指定的是包含设计结构信息的数据库目录,而-dbdir
指定的是包含仿真波形数据的目录。 - 数据类型:
-elab
目录下的数据反映了设计的静态结构和层次信息,-dbdir
目录下的数据则包含了仿真过程中信号的动态变化信息。 - 使用时机:在启动 Verdi 进行设计调试时,通常需要同时指定这两个参数,以便同时加载设计的结构信息和仿真产生的波形数据。
在实际使用中,确保正确指定这两个参数对于高效利用 Verdi 进行设计验证和分析是非常重要的。