摘要:在 VCS 中使用 TCL 脚本和 dump.list 生成 FSDB 波形 在 Synopsys VCS 中通过 TCL 脚本生成 FSDB 波形时,使用 dump.list 文件定义要抓取的层级结构是一种高效的方法。这样可以灵活控制波形抓取范围,避免不必要的信号占用磁盘空间。 完整实现方案 1.
阅读全文
摘要:在 Synopsys VCS 中通过 TCL 脚本生成 FSDB 格式的波形文件,需要执行以下步骤: 完整操作流程 1. 编译阶段:启用调试功能并链接 Verdi 库 vcs -full64 -debug_acc+all -sverilog \ -LDFLAGS "-Wl,--no-as-neede
阅读全文
摘要:在 Synopsys VCS 仿真环境中生成波形文件,可以通过以下几种方法实现: 完整工作流示例(FSDB) 1. 编译设计 vcs -full64 -debug_acc+all -sverilog \ -LDFLAGS "-Wl,--no-as-needed" \ -P ${VERDI_HOME}
阅读全文
摘要:我们常用的debug UVM的方法是通过打印log实现。有没有办法像 debug RTL代码一样将UVM中变量拉到波形上看呢?答案是有的,下面让我们看看是怎么做到的。 第一步在UVM compile 的选项里面加入 -debug_access+all 的验证平台,可以使用verdi追踪RTL和波形对硬件debug,同时打开eclipse的
阅读全文
摘要:仿真是IC设计不可或缺的重要步聚,其中仿真波形是debug的必要条件。今天简要介绍下一下几种波形文件VCD/FSDB /SHM/VPD的dump方法。 其中VCD通用性最好,VCS/XRUN环境中直接加函数dump; 对于FSDB,本文讲述了VCS/XRUN 2种环境中基于函数和Tcl的2种dump
阅读全文
摘要:导言 本期主要给大家出一个简单makefile+tcl的仿真环境,支持vcs+verdi以及xrun+indago,因为最近虚拟机中的vcs不稳定,所有把以前的makefile修改一下同时支持vcs和xrun(xcelium),这两款仿真器我用的都是2020版本,如果你使用的低于这个版本,有些fea
阅读全文
摘要:今天和大家分享一个小技巧,你在debug问题的时候,是不是也曾经想过将波形中的某些信号转化成txt,然后用txt的值复现某些波形或者与理论值对比。今天这篇文章就教大家怎么用verdi将fsdb格式的波形转化成txt。 这里用到的工具是verdi的fsdbreport指令。 以下面的波形为例,我想将c
阅读全文
摘要:命令行调用Verdi平台 如果没有指定manage.rc资源文件,则库设置从novas.rc资源文件里面load; 支持load verilog的压缩文件gzipped(*.gz); 如果编译的门级设计因为ECO修改使用了nECO模块,则不能使用-ssy,-ssz和-ssv选项。 命令行使用方法:
阅读全文
摘要:verdi 加载设计的脚本 debug: verdi \ -sv \ # 支持sv -f ../${demo_name}/tb_top.f \ # 加载设计文件列表 -top tb_top \ # 指定设计顶层 -nologo # 关掉欢迎界面 PS: Verdi加载设计的参数与VCS类似 支持+i
阅读全文
摘要:生成FSDB波形 三个变量 VERDI_HOME/NOVAS_HOME:仿真器默认,且为设置PATH做准备 PATH:让系统(Linux)找到verdi LD_LIBRARY_PATH:让系统(Linux)能够找到Verdi需要的库文件. 三个命令 echo(可配合sed):查询环境变量 echo
阅读全文
摘要:1.加载设计 veidi加载设计的makefile脚本 run_verdi: verdi -sv -f tb_top_filelist.f -top tb_top & 告知软件支持SystemVerilog,加载设计的文件列表,设置设计顶层,后台执行 2 加载波形 手动加载,点击波形的按钮 自动加载
阅读全文
摘要:kdb选项 kdb选项是vcs选项,在进行vcs仿真时可以加入kdb选项;加入kdb选项后,vcs仿真会生成verdi的库文件,通常库文件为sim.daidir,库文件里面包含相应代码信息;利用库文件verdi可以快捷打开rtl代码而不需要重新编译; verdi利用daidir打开代码办法 verd
阅读全文
摘要:1.Verdi加载有关波形,并且和设计、环境代码相关联 verdi -sv \ #支持SV -f ../${demo_name}/tb_top.f \ #加载设计文件列表 -top tb_top \ #设置设计顶层 -ssf ${waveform} #指定波形名称 -rcFile #打开verdi设
阅读全文
摘要:值变转储文件(VCD)是一个ASCII文件,它包含仿真时间、范围与信号的定义以及仿真运行过程中信号值的变化等信息。设计中的所有信号或者选定的信号集合在仿真过程中都可以被写入VCD文件。 后处理工具可以把VCD文件作为输入并把层次信息、信号值和信号波形显示出来。现在有许多商业后处理工具以及集成到仿真器
阅读全文
摘要:SystemVerilog中dump fsdb波形的用法。 initial begin void'($valueplugargs("TESTNAME=%s",tag)) $fsdbAutoSwitchDumpfile(800, tag, 1000); $fsdbDumpflush; $fsdbDum
阅读全文
摘要:跳转到指定行号 其实日常的频繁、快速地查看 Verilog 源代码,一般是在独立的文本编辑器中完成的。比如,VCS 编译产生的 log 文件中,对应的 Warning、Error 的后面会跟着相关源文件的路径、行号。如果用的编辑器是版本比较新的 Vim,那么简单的 gF 指令就可以迅速的从 log
阅读全文
摘要:使用 Verdi 的过程中,难免会碰到表示某种变化量的多位宽数字信号,我们关心的是它的变化趋势。今天主要聊聊数字信号的模拟化呈现。 数字信号的模拟化呈现 Verdi 提供了既简单又直观的操作,去绘制数字信号的模拟变化趋势。尤其是在观察周期性计数的数字信号时,例如调制频率的变化,还有 FIFO 读写地
阅读全文
摘要:在学习和使用 Verilog 的过程中,难免会碰到需要深入理解仿真器调度的问题。今天这篇聊聊使用 Verdi 去分析 NBA Delay 的问题。 NBA 就是 NonBlocking Assignment,非阻塞赋值的缩写。它通常用来描述一个用时钟沿触发的寄存器。在 Verilog普及早期,人们通
阅读全文
摘要:对于做数字集成电路的工程师来说,Verdi可以说是最常用的代码和波形观察工具了。这里列几个使用中的小技巧,说不上高明,不过自己用着感觉还是蛮有效率的。 1、总线拆分 分析波形的时候有时候需要把一个多比特的bus拆分成几个位宽较小的bus,以方便观察数值。例如把一个20比特的bus拆成两个10比特的b
阅读全文