linux工具应用_VERDI

1. 基础知识

1.1 verdi介绍

​ 虽然我们的公司的仿真环境是cadence的xcelium,但是同样使用Verdi,我也是才知道verdi和vcs一样属于synopsys公司。vcs和xcelium主要负责编译运行Testbench和RTL,并负责生成相应的波形文件。而verdi主要负责加载波形文件,查看信号的波形及其对应的代码来进行调试验证。Verdi最开始是由novas公司设计的(怪不得用lisence可以用xcel,也可以用novas),在2008年,被台湾的EDA厂家springsoft(源笙)收购了。在2012年,synopsys收购了spring soft公司,所以此时Verdi才正式属于synopsys。

​ Verdi®自动调试平台是一种用于调试数字电路设计的高级解决方案,可用于提高复杂的片上系统(SoC),ASIC和FPGA设计效率。传统的调试工具仅依靠结构信息和发挥工程师的个人能力从结构中推断出设计行为。Verdi平台提供强大的技术,帮助工程师理解复杂和不熟悉的设计行为,自动化困难和繁琐的调试过程,统一各种复杂的设计环境,并推断设计的动态行为。

​ 除了源代码浏览器的标准功能,原理图,波形,状态机图和波形比较(用于比较FSDB格式的仿真结果),Verdi平台还包括使用时间流视图自动跟踪信号活动的高级功能,基于断言的调试,功耗感知调试以及事务和消息数据的调试和分析。所有这些都可以在图形用户界面中使用,该平台使用支持多窗口对接的Qt平台,并且可以轻松定制。

​ Verdi平台使工程师能够在传统解决方案的一小部分时间内定位,理解和解决错误。这可以最大限度地提高昂贵工程师资源的效率,显着降低成本,并大大加快将硅片推向市场的过程。

1.2 fsdb文件

​ FSDB (Fast Signal DataBase)是SpringSoft (Novas) Debussy / Verdi 支持的波形文件,一般文件占用内存较小,使用较为广泛,其余仿真工具如ncsim,modlesim(还有我们用的xcelium)等等可以通过加载Verdi 的PLI 来dump fsdb文件。fsdb文件是verdi使用一种专用的数据格式,类似于VCD,但是它是只提取仿真过程中信号的有用信息,除去了VCD中信息元余,就像对VCD数据进行了一次huttman编码。因此fsdb数据量小,可以极大地提高仿真速度。本质上VCD文件使用verilog内置的系统函数来实现dump 的,fsdb是通过verilog的PLI接口来实现的。

2. fsdb dump设置

这里参考工作环境,xcelium+verdi的配置

2.1 1st step-设置环境变量LD_LIBRARY_PATH

需要配置的内容(借鉴网上的配置):

export Verdi_HOME=$Synopsys_Dir/Verdi2015
export PATH=$Verdi_HOME/bin:$PATH
export LD_LIBRARY_PATH="/opt/Synopsys/Verdi2015/share/PLI/lib/linux64":$PATH
export LD_LIBRARY_PATH="/opt/Synopsys/Verdi2015/share/PLI/VCS/linux64":$PATH

首先是环境变量,这个是公司服务器配好的:

通过env或echo $PATH命令可以看到verdi的下载路径: /njhome2/edatools/synopsys/Verdi_P-2019.06/

 echo $PATH
/njhome2/edatools/synopsys/Verdi_P-2019.06/bin:/njhome1/LSF/10.1/linux2.6-glibc2.3-x86_64/etc:/njhome1/LSF/10.1/linux2.6-glibc2.3-x86_64/bin:

还有就是xrun仿真生成fsdb波形时,需要verdi工具提供的FSDB PLI库,这里需要通过配置环境变量LD_LIBRARY_PATH来完成。我们在run脚本中set

# set verdi home
$ENV{
   'NOVAS_INST_DIR'}    = 
     $njsvr ? "/njhome2/edatools/synopsys/Verdi_P-2019.06" : # NJ version limited by glibc version
     $cqsvr ? "/home/edatools/synopsys/Verdi_P-2019.06" : 
     $autoenv && defined $ENV{
   NOVAS_INST_DIR} ? $ENV{
   'NOVAS_INST_DIR'} :
     $autoenv && defined $ENV{
   NOVAS_HOME} ? 

相关推荐

  1. linux工具应用_VERDI

    2024-07-10 05:32:04       26 阅读
  2. Linux工具应用_PERL

    2024-07-10 05:32:04       17 阅读
  3. Linux中find文件查找工具应用

    2024-07-10 05:32:04       54 阅读
  4. linux系统nginx工具的一些应用

    2024-07-10 05:32:04       49 阅读
  5. 深入理解Linux网络工具:netstat命令的高级应用

    2024-07-10 05:32:04       30 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-10 05:32:04       49 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-10 05:32:04       53 阅读
  3. 在Django里面运行非项目文件

    2024-07-10 05:32:04       42 阅读
  4. Python语言-面向对象

    2024-07-10 05:32:04       53 阅读

热门阅读

  1. 大模型/NLP/算法面试题总结4——bert参数量计算

    2024-07-10 05:32:04       26 阅读
  2. springsecurity(学习自用)

    2024-07-10 05:32:04       25 阅读
  3. 构建响应式CSS导航栏:实现优雅的用户体验

    2024-07-10 05:32:04       21 阅读
  4. debian或Ubuntu中开启ssh允许root远程ssh登录的方法

    2024-07-10 05:32:04       23 阅读
  5. 深入理解基本数据结构:链表详解

    2024-07-10 05:32:04       23 阅读
  6. 白骑士的C++教学基础篇 1.3 控制流

    2024-07-10 05:32:04       22 阅读
  7. Istio实战教程:Service Mesh部署与流量管理

    2024-07-10 05:32:04       22 阅读