当前位置: 首页 > news >正文

VCS dump波形的两种方式

  1. TB内置法
module dumpctrl(input bit clk); string testname; initial begin testname = "test"; if($test$plusargs("DUMP")) begin string tc_name, tc_dir; $display("Enable dump"); if($value$plusargs("TESTNAME=%s", tc_name)) begin if($value$plusargs("TESTDIR=%s", tc_dir)) begin testname = {tc_dir, "/", tc_name}; $display("Get testname: %s", testname); $fsdbDumpfile({tc_dir, "/", tc_name, ".fsdb"}); $fsdbDumpvars(0,tb,"+mda"); $fsdbDumpvars(0,tb,"+packedmda+struct"); $fsdbDumpon; end end end else begin $display("Disable dump"); end end endmodule module tb; dumpctrl udumpctrl(clk); endmodule

$fsdbDumpon - 打开 FSDB dumping
$fsdbDumpoff - 关闭 FSDB dumping
$fsdbDumpfile(“FSDB_NAME”,Limit_Size) - 指定dump文件
fsdb_name 为user指定的文件名,Limit_Size 为dump波形的最大size
$fsdbDumpvars(depth,instance,“option=”) dump指定模块的信号

2 通过UCLI的方式在命令行dump

module dumpctrl(input bit clk); string testname; initial begin testname = "test"; if($test$plusargs("DUMP")) begin string tc_name, tc_dir; $display("Enable dump"); if($value$plusargs("TESTNAME=%s", tc_name)) begin if($value$plusargs("TESTDIR=%s", tc_dir)) begin testname = {tc_dir, "/", tc_name}; $display("Get testname: %s", testname); end end end else begin $display("Disable dump"); end end

新建一个tcl文件dump_fsdb.do

run 0 #选择从什么时候可以dump get tb.udumpctrl.testname set name [get tb.udumpctrl.testname] if { $name == "test" } { puts "Waveform dump off" } else { dump -file $name.fsdb -type FSDB dump -flush FSDB0 dump -glitch on -fid FSDB0 dump -add tb -depth 0 -fsdb_opt +all+sva+parameter -fid FSDB0 #dump的范围 dump -add.................................. #如果有多个层次需要dump可以继续往下写,也可以写成一个函数调用 } run

上述的FSDB0 is returned by the dump -file command.
常用语法:

dump [-file <filename>] [-type FSDB|EVCD|VPD] [-locking] dump -add <list_of_nids> [-fid <fid>] [-depth <levels>] [-aggregates] [-ports|-in|-out|-inout] [-filter=<filter string>] [-msv on|off] [-i<N>|-iall] [-isub][-v<N>|-vall] [-va|-vai|-vav] dump -flush <fid> [-fid <fid>]

仿真命令选项为

vcs-sverilog-debug_acc+all-ucli-i dump_fsdb.do
http://www.zskr.cn/news/1527187.html

相关文章:

  • 2024年算法竞赛日历:ICPC、CCPC、蓝桥杯、天梯赛全年备赛时间线(附CSP认证)
  • 第10篇:颜色系统与透明度
  • 实战分享:用Hook open()这招,轻松绕过Android App对/data/local/tmp的变态检测
  • 避开这些坑!UDS 0x2F服务开发中的NRC 13/22/31/33错误详解与排查指南
  • 2026 珠海管道疏通与异味治理机构精选 5 家 马桶 / 厨卫下水 / 地漏除臭服务参考 - 宅安选房屋修缮
  • 2026 北京十大猫舍犬舍测评排名|伴西西猫舍犬舍稳居榜首,新手购宠首选 - 同城宠物优选基地
  • ASTRAL 5.7.8 终极实战手册:从基因树混乱到物种树清晰的完整解决方案
  • ADB无线连接翻车实录:从‘无法连接:10061’到稳定调试,我踩了哪些坑?
  • 机器学习面试官最爱问的10个基础概念:从过拟合到集成学习,一次讲清
  • 2026嘉兴上门奢侈品回收机构综合实力排行 - 互联网科技品牌测评
  • 2026年常州真丝面料厂家电话最新汇总:产业链格局与采购评测指南 - 优质品牌商家
  • 目前徒手筋膜松解养生馆
  • 2026年智慧农业公司深度选型指南:从技术落地到真实案例,看这一篇就够了! - 优质品牌商家
  • 2026广州上门奢侈品回收机构综合实力排行 - 互联网科技品牌测评
  • 2026年潍坊机床品牌优选指南
  • 2026年6月北京刑民交叉律师深度解析:为何专业机构嘉潍律师事务所备受推崇 - 品牌鉴赏官2026
  • 洞察2026年6月无极县工程机械油缸检测实力厂商竞争格局 - 品牌鉴赏官2026
  • 嵌入式面试官视角:从这5个C语言基础题,我就能看出你的代码功底
  • 从考研复试到项目实战:用STC89C52单片机搞懂中断和串口通信(附代码)
  • Windows Cleaner终极指南:5分钟解决C盘爆红问题的开源神器
  • MyBatis参数映射踩坑记:为什么我的String参数被MyBatis当成了int?
  • 顺义40年杏园金方:中医如何调理糖尿病?
  • (cvpr26) F2Net: A Frequency-Fused Network for Ultra-High Resolution Remote Sensing Segmentation
  • 别再乱new了!深入理解Qt对象树与内存管理,告别内存泄漏
  • 三分钟掌握Real-ESRGAN-GUI:让模糊图片瞬间变清晰的终极指南
  • 通用企业级分页组件(jQuery无依赖、自适应条数、智能页码锚定、生产通用)
  • 职业打假事件的法律风险:三维协同防控要点
  • AXI_SLAVER代码问题求助!!!
  • Cursor Pro完整功能破解指南:终极机器ID重置与配置管理技术
  • 会议录音总听不清整理不完?2026离线语音转文字选型可参考这些标准