Debussy是一个VerilogVHDL调试工具
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
介绍
一、Debussy是一个Verilog/VHDL调试工具
Debussy是一套很好的Verilog/VHDL调试工具,可以帮助设计者快速理解复杂的设计,查找和定位设计中存在的问题,提高效率。
二、Debussy包含软件模块
Debussy主要有以下几个模块:
1、nTrace:超文本连接方式的源代码追踪及分析
2、nSchema:原理图显示及分析
3、nWave:波形显示及分析
4、nState:有限状态机的显示及分析
5、nCompare:分析仿真结果,比较其相异处。
Debussy的五个组成部分nTrace, nWave, nSchema, nState, nCompare在FSDB和Knowledge Database (KDB)的支持下高度集成。
三、Debussy功能
Debussy直接编译Verilog/VHDL源代码,并且采用了预综合技术识别电路的单元,可以生成原理图。在导入仿真结果后,可以用Active Annotation在源代码、原理图、状态图上动态显示变量的仿真值。
Debussy的输入为:Verilog/VHDL或混合语言源代码,仿真波形文件,SDF
支持的波形格式:vcd,fsdb,模拟波形文件(PowerMill,TimeMill,Avant! Star-Sim,SmartSpice)
支持的仿真器:VCS,Verilog-XL,NC-verilog,NC-VHDL,Modelsim,Leapfrog,Ploaris。
操作
一、启动
1. 启动
%debussy
启动debussy时,弹出一个nTrace窗口,包含三个子窗口:
a、左边是Hierarchical Browser窗口,用来显示设计的层次(design hierachy)。
b、右边是Source Code window,显示源代码。跟踪信号的驱动、负载。
c、底下是Message window(消息窗口),用来报告操作的结果。
2.导入设计
File->Import Design
Debussy提供了两种导入设计的方法:
A、从设计源文件直接导入
B、从库导入(先将源文件编译成库)
Note: 可以用命令的方式直接启动debussy并导入设计文件,即在命令行上列出所有的选项和源文件,或者把这些选项和源文件写到一个文件中,用-f选项指定这个文件。例如:
%debussy design.v -v lib.v
%debussy -f run.f
Note: 启动debussy后,会自动建立一个日志目录DebussyLog,在这个目录下,有一个日志文件:,记录了Debussy的编译信息。
3.查看编译信息:
File->View Import Log
二、根据仿真结果进行调试
1. 生成仿真的波形文件
Debussy提供的新的波形文件格式FSDB(Fast Signal DataBase),相比于VCD格式,压缩量大,比vcd文件小5-50倍,加载速度快。
Debussy提供了PLI(for Verilog)和FLI(for VHDL)接口,我们可以在仿真时直接导出FSDB文件。例如,在Verilog的测试模块中加入如下语句:
initial
begin
$dumpfile("");
$dumpvars;
end
initial
begin
$fsdbDumpfile("");
$fsdbDumpvars;
$fsdbDumpflush; // 仿真过程中同时可以把信号的值dump成FSDB文件。
end
vcs -P
-PP -Mupdate +neg_tchk +define+FSDB stim_st_vd.v zx2716_top.v lib.v | tee
Debussy也提供了用于转换VCD文件为FSDB文件的程序(vfast)。当用nWave导入VCD文件时,自动调用vfast转换成FSDB文件。
VCD:50min 2.1G
VPD:25min 40M
FSDB:40min 57M
nWave可以单独启动用来查看波形。作为一个波形查看工具,nWave相当不错。
2. 假设在某时间步处,某信号的改变是错误的,要找出错误的原因
(1)在nTrace窗口中调试
STEP 1:把仿真结果标注到nTrace的源代码窗口中
从nTrace窗口中选择菜单Source->Active Annotation
STEP 2:找出转换发生的来源
在nWave窗口上,双击该信号在时间步的转换处。
Note: 在nTrace的源代码窗口中将显示信号转换时的驱动,光标定位在信号“out”上(out 只是一个假设的信号)。
STEP 3:找出“out”的所有驱动
在nTrace的源代码窗口中双击“out”。
Note:在Message window中显示有多个个驱动。如果逐个跟踪,耗时长。为了提高效率,我们要找到真正起作用的那个驱动(real active drivers)。
STEP 4:找出“out”的实际驱动。
在nTrace的工具栏上点击Backward History图标,返回STEP 3。
在“out”上单击鼠标右键,在弹出菜单中选择Active Trace。
可以一直用Active Trace跟踪下去,
(2)用nSchema窗口进行调试
STEP 1:生成“out”信号的Fan-In Cone逻辑
选择菜单Tools -> New Schematic -> Fan-In Cone
STEP 2:把仿真结果标注到Fan-In Cone窗口中
选择菜单Schematic->Active Annotation
STEP 3:
分析Fan-In Cone,追溯问题根源。
Note: Fan-In Cone will stop at storage elements,functional blocks,FSMs and primary IOs. 3.比较仿真结果
STEP 1: 平铺和同步两个nWave窗口
在nWave窗口上选择菜单Window->Sync Waveform View
STEP 2: 比较信号
在nWave窗口上选择菜单Tools->Waveform Compare->Compare Selected Signal 4.查看cell延时
STEP1: Load SDF File
去掉激励文件,nTrace窗口:File -> Load SDF Files
STEP2: SDF标注
nSchema窗口:Schematic -> SDF Annotation
STEP3: 查看Cell Delay
nSchema窗口:Schematic菜单,设置Delay Scale, Delay Type, Delay Precision
Schematic -> Cell Delay
5.Interactive Mode