Debussy是一个VerilogVHDL调试工具

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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 /share/PLI/vcs/SOLARIS2/ \

/share/PLI/vcs/SOLARIS2/pli.a \

-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

相关文档
最新文档