Verdi工具使用知识点提炼

本文来源于移知,具体文档请咨询厚台

一、基础概念
  1. 波形依赖
    Verdi本身无法生成波形,需配合VCS等仿真工具生成.fsdb文件。
  2. 核心功能模块
    nTrace:代码调试与追踪
    nSchema:原理图分析
    nState:状态机调试
    nWave:波形分析

二、环境配置
  1. .bashrc设置
    export Verdi_HOME=/opt/Synopsys/Verdi2015
    export PATH=$Verdi_HOME/bin:$PATH
    export LD_LIBRARY_PATH="/opt/Synopsys/Verdi2015/share/PLI/lib/linux64"
    
  2. VCS编译选项
    • 添加PLI库路径:
    VERDI_SW = -P$(Verdi_HOME)/share/PLI/VCS/linux64/novas.tab $(Verdi_HOME)/share/PLI/VCS/linux64/pli.a
    

三、生成波形文件
  1. 测试台(TB)配置
    initial begin
      $fsdbDumpfile("fifo.fsdb");
      $fsdbDumpvars(0); // 0表示转储所有层次信号
    end
    
  2. Makefile编译命令
    versim:
      $(NOR_VCS) $(VERDI_SW) $(RUN_VER)
      verdi -sv -f $(src_list).f -ssf *.fsdb -nologo
    

四、nTrace代码调试
  1. 核心操作
    调用Verdiverdi -nologo
    查找实例化位置:双击模块名 → 高亮后再次双击跳转上层调用位置。
    信号追踪
    驱动信号:双击信号 → 按N/P查看前/后驱动位置。
    被驱动信号:选中信号 → 点击 ![驱动图标] → N/P切换。
    字符串查找:快捷键 / 或文本搜索。

五、nSchema原理图分析
  1. 操作技巧
    跳转源代码:双击原理图符号。
    显示信号名:通过菜单显示RTL级端口/模块名。
    Fan-In Cone追踪:选中信号 → 点击 ![Fan-In图标] 查看驱动逻辑。
    部分层次原理图:多选信号 → 生成关联逻辑视图。
    元件移动:左键选中 → 右键拖拽。

六、nState状态机调试
  1. 状态机视图
    打开方法:双击状态机模块 → 自动生成状态转移图。
    状态转移条件:点击转移箭头查看触发条件(需导入波形)。
    执行次数统计:需配合测试用例,分析覆盖率。
    关联源代码:中键拖拽状态到nTrace窗口。

七、nWave波形分析
  1. 波形操作
    添加信号:快捷键 G 或右键菜单。
    信号查找Get Signal 或从nTrace拖入。
    信号分组
    ◦ 重命名组:右键编辑
    ◦ 调整顺序:中键拖拽
    显示优化
    颜色修改Tools → Preferences → Waveform → View Options → 启用颜色后按 C
    进制转换:右键信号 → 选择二进制/十六进制/状态名。
  2. 高级功能
    逻辑操作生成新信号Tools → Signal Calculator
    波形对比:导入两个.fsdb文件 → 差异分析。

八、常用快捷键
功能 快捷键
波形100%匹配窗口 F
放大/缩小 Shift+Z/Z
复制信号 Ctrl+P
粘贴信号 Insert
删除信号 Delete

九、其他工具
  1. 覆盖率分析
    COV_SW = -cm line+cond+fsm+branch+tgl
    
  2. 波形对比
    导入两个.fsdb文件 → 使用差异高亮功能。
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐