• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • YouClaw
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录

SOC/IP验证工程师

  • 博客园
  • 联系
  • 订阅
  • 管理

公告

View Post

vcs中使用tcl脚本dump fsdb格式的波形

在 Synopsys VCS 仿真环境中生成波形文件,可以通过以下几种方法实现:

完整工作流示例(FSDB)

1. 编译设计

vcs -full64 -debug_acc+all -sverilog \
    -LDFLAGS "-Wl,--no-as-needed" \
    -P ${VERDI_HOME}/share/PLI/VCS/LINUX64/novas.tab \
    ${VERDI_HOME}/share/PLI/VCS/LINUX64/pli.a \
    -f filelist.f -top tb_top

2. 创建 TCL 脚本 run_fsdb.tcl

fsdbDumpfile "wave.fsdb" -size 1024M -fileNum 100 -fifo_size 1024
fsdbDumpvars 0 tb_top  # 0=抓取所有层次
fsdbDumpMDA            # 抓取存储器内容
run -all
fsdbDumpflush
exit

3. 运行仿真

./simv -ucli -do run_fsdb.tcl

4. 查看波形

verdi -ssf wave.fsdb &

常见问题解决

  1. 信号未显示:

    • 编译时添加 -debug_region+cell+encrypt
    • 在 TCL 脚本中使用 probe -force -create signal_path
  2. FSDB 无法生成:

    • 确认 VERDI_HOME 环境变量设置正确
    • 检查 PLI 库路径是否匹配操作系统(LINUX64 或 LINUX)
  3. 波形文件过大:

    # 限制抓取深度
    probe -create tb_top -depth 2
    
    # 或只抓取特定模块
    probe -create tb_top.dut.module_a
    
  4. 部分时间无波形:

    // 在测试平台中延迟启动
    initial begin
      #100; // 等待初始化完成
      $fsdbDumpvars(0, tb_top);
    end
    

格式对比

格式 优点 工具 生成方式
VPD VCS 原生支持 DVE database -vpd 或 $vcdpluson
FSDB 加载速度快 Verdi fsdbDumpfile 或 $fsdbDumpvars
SHM Cadence 兼容 SimVision probe -create -shm

根据调试需求选择合适的波形格式,通常:

  • 使用 VCS DVE 调试 → 选择 VPD
  • 使用 Verdi 调试 → 选择 FSDB

posted on 2025-06-20 21:29  SOC验证工程师  阅读(301)  评论(0)    收藏  举报

刷新页面返回顶部
 
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3