Debussy的安装与使用
1.概述
Debussy是NOVAS Software, Inc ( 思源科技 )发展的HDL Debug & Analysis tool,这套软体主要不是用来跑模拟或看波形,它最强大的功能是:能够在HDL source code、schematic diagram、waveform、state bubble diagram之间,即时做trace,协助工程师debug。
之前使用MoselSim进行仿真并进行验证,MoselSim中查看波形进行调试已经很方便,详见另一篇博文“ModelSim之TCL仿真”。后来网上都说Debussy用于debug查看波形更为方便,能在源代码、原理图和波形三者之间进行切换,一听觉得不试用下真是亏了。
下图所示为整个Debussy 的原理架构,可归纳几个结论:
Debussy有四个主要单元(component),nTrace、nWave、nSchema、nState
- nTrace -- Hypertext source code analysis and browse tool (为Debussy 所开启的主画面)
- nWave -- Waveform analysis tool (可由nTrace内开启)
- nSchema -- Hierarchy schematic generator
- nState -- Finite State Machine Extraction and analysis tool
Debussy本身不含模拟器(simulator),必须呼叫外部模拟器(如Verilog-XL or ModelSim)产生FSDB file,其显示波形的单元"nWave"透过读取FSDB file,才能显示波形或讯号值的变化。 
注:本篇博文的软件环境为:Debussy 5.4v9 + Modelsim SE 10.0c
2.下载与安装
Debussy5.4 v9下载地址:
http://dl.21ic.com/download/debussy-5-4-ic-95000.html
http://bak.qiannao.com/space/file/captainliuy/-4e0a-4f20-5206-4eab/Debussy-002d54v9-002dNT.rar/.page
1.安装
2 拷贝文件..\Novas\Debussy\share\PLI\modelsim_pli\WINNT\novas.dll至文件夹..\modeltech_10.0c\win32。
3 取消文件..\modeltech_10.0c\modelsim.ini的只读属性后,打开。
找到
; Veriuser = veriuser.sl在下一行输入
Veriuser = novas.dll保存;关闭;设为只读
3.实例
以“ModelSim之TCL仿真”中的sram_controller为例子进行讲解。如果结合Debussy,ModelSim的唯一功能就是产生Debussy可以识别的波形文件-FSDB文件了。
在测试平台(testbench)中添加FSDB系统函数,典型的可以把下列语句加到testbench中:
initial
begin
$fsdbDumpfile("wave_test.fsdb"); //文件名随便起
$fsdbDumpvars;
end
ModelSim仿真完成后,工程目录下会生成wave_test.fsdb,这就可以为Debussy所用了!
1.设计文件导入
首先导入设计文件。File -> Import Design,选择From File。由于我是用了Verilog-2001,所以在Language中选择了Verilog-2001,否则选择Verilog会报错。从左下角的窗口里选择design所在的目录,然后从右下角的窗口里选择要加载的design文件并双击之,文件会出现在Design Files的框里,然后单击OK按钮,design就被加载到软件里了。

也可以将设计文件放在.f文件中,如图所示,.f文件中内容为:

设计加载后:

2.nTrace
nTrace的一个最重要也是最优秀的功能就是可以自动trace一个信号的driver和load。如果我们想知道wr_start_U6的driver,那么我们直接双击wr_start_U6就可以了。双击以后,首先右边窗口会转移到wr_start_U6第一个driver的语句上,在窗口左侧有标记显示出来。

如果一行上存在driver,那么行号左边会有一个标记。如果该信号有多个driver,可以拖动滚动条查看,此外在软件下方的Message window中查看其他driver的信息。

我们可以看到wr_start_U6共有四个driver,可以双击左键进行定位查看,非常方便。
同理,如果你要看一个信号的load,那么把鼠标放到这个信号上,然后右键,选择trace load,那么这个时候,窗口里就会显示出该信号的load。在Message window中查看其他load的信息。
3.nWave
nWave是用来查看信号波形的,所以使用nWave的前提就是你已经生成了格式为fsdb的波形文件(前面已经讲过,在ModelSim仿真时产生)。Debussy默认的界面是nTrace,我们在nTrace界面下,单击下图红色方框里的图标,即NewWaveform。

nWave的界面如下:

打开nWave后,就可以加载之前生成的fsdb波形文件了。用File-> Open打开波形文件。当打开名字为wave_test.fsdb的波形文件后,界面如下图所示。在左侧窗口会有一个默认为G1的信号组。因为我们还没有在波形中拉出来任何的信号,所以除此之外窗口中还没有任何显示。

我们可以通过菜单栏上打开文件左边的Get Signals按钮来加入想要查看的信号。可以通过左下角选择添加的类型,默认是ALL。

添加信号后,如下图所示。

有几个操作知识点:
1.改变信号位置,可以通过按住鼠标中键(即滚轮)进行移动。
2.如果想改变某个信号的颜色显示,可以在左边选中该信号,然后在菜单栏中WaveForm-> Color/Pattern进行选择。
3.右边波形窗口中有两条线,分别是黄线代表光标时间线(鼠标左键来点击),白色代表标记时间线(鼠标右键来点击),两者的数值在工具栏中有显示,并给出了两者之间的时间差。可以通过单击鼠标中建放大两者之间的显示,即铺满波形窗口。
4.如上图所示state[13:0]为状态机,波形显示的数值,不够直观,怎么能显示我定义的参数名字呢?软件还是提供了这功能的。切换到nTrace窗口,执行Tools –> Extract Interactive FSM,弹出如下窗口。

选择哪个都可以,区别是选择第二个的话适用于全部的状态机。我选择了第二个,毕竟比较直观,喜欢看状态名字,也便于调试。

可以看到,现在显示了代码中定义的参数名字了,这比我另一篇博文中在ModelSim中显示状态机名字方便多了。http://www.cnblogs.com/aikimi7/p/3354637.html
4.nTrace和nWave的交互使用
Debussy的强大更在于各个功能窗口之间的交互。
1.最实用的是我们可以在nTrace的源代码中想查看某个信号的波形,我们可以选中后按住鼠标中键别松开,直接拖到nWave进行显示,非常方便。
2.在调试波形过程中发现错误,我们可以双击鼠标左键,软件会自动定位到源代码中的位置,便于我们调试。
3.在nTrace中,执行Source –> Active Annotation可以标出仿真结果在source code下方,非常利于我们调试。在波形中选择一个时间点,那么在代码下方显示的就是这个信号在此时间点的值或者趋势。此外,还打开了参数注释,执行Source –> Parameter annotation,在状态机参数下方显示定义的数值。

4.在nTrace中,选中某个信号,如时钟信号clk_50M,选择下图红色矩形框中的箭头,可以实现在波形中前后移动。

4.总结
以上总结了目前我了解到的Debussy软件操作的一点记录。主要介绍了nTrace和nWave,nSchema、nState以及nLint未作介绍,一般前两个已经满足我的要求了。初步使用的感觉确实很方便,但是目前我还没有过多的使用该软件,可能还没有体会它的强大,有待我后续继续探索。
Debussy的安装与使用的更多相关文章
- modelsim与debussy联调环境的搭建
为了方便查看波形,找来了一款软件——debussy,它的一个优点是任你查看设计内信号,只需一个波形文件,如FSDB文件.而不用像modelsim那样想看某些信号,添加了之后还要重新编译仿真,浪费了很多 ...
- debussy与modelsim的联调设置
前段时间看到网上有人在使用debussy软件对Verilog代码进行调试,而且都称赞其是多么的好用,看着很是馋人,说吧,现在用的是quartus与modelsim的联调,似乎还是可以的,但就是每次稍微 ...
- 怎样使用Debussy+ModelSim快速查看前仿真波形
引子:ModelSim是HDL仿真软件,Debussy是波形查看软件:搭配使用,相当爽.此处所谓快速查看前仿真波形仅为抛砖引玉,大家不要拘泥于此.两款软件的功能都很强大,请自行研究. 注:本篇博文的软 ...
- Modelsim, Debussy联合仿真Xilinx
http://wenku.baidu.com/view/8363d40003d8ce2f006623e9.html 另外一个博客 生成Xilinx库 先调用ISE的simulation librar ...
- docker——容器安装tomcat
写在前面: 继续docker的学习,学习了docker的基本常用命令之后,我在docker上安装jdk,tomcat两个基本的java web工具,这里对操作流程记录一下. 软件准备: 1.jdk-7 ...
- 网络原因导致 npm 软件包 node-sass / gulp-sass 安装失败的处理办法
如果你正在构建一个基于 gulp 的前端自动化开发环境,那么极有可能会用到 gulp-sass ,由于网络原因你可能会安装失败,因为安装过程中部分细节会到亚马逊云服务器上获取文件.本文主要讨论在不变更 ...
- Sublime Text3安装JsHint
介绍 Sublime Text3使用jshint依赖Nodejs,SublimeLinter和Sublimelinter-jshint. NodeJs的安装省略. 安装SublimeLinter Su ...
- Fabio 安装和简单使用
Fabio(Go 语言):https://github.com/eBay/fabio Fabio 是一个快速.现代.zero-conf 负载均衡 HTTP(S) 路由器,用于部署 Consul 管理的 ...
- gentoo 安装
加载完光驱后 1进行ping命令查看网络是否通畅 2设置硬盘的标识为GPT(主要用于64位且启动模式为UEFI,还有一个是MBR,主要用于32位且启动模式为bois) parted -a optima ...
随机推荐
- Atitit.嵌入式web 服务器 java android最佳实践
Atitit.嵌入式web 服务器 java android最佳实践 1. Android4.4.21 2. 自己的webserver1 3. CyberHTTP for Java cybergar ...
- Atitit.得到网络邻居列表java php c#.net python
Atitit.得到网络邻居列表java php c#.net python 1. 获取workgroup net view /domain1 2. 得到网络邻居列表1 3. 得到机器的ip 通过p ...
- C++语言基础(9)-继承
一.继承的基本语法 #include<iostream> using namespace std; //基类 Pelple class People{ public: void setna ...
- >/dev/null 2>&1的作用
1 表示stdout标准输出,系统默认值是1,所以">/dev/null"等同于"1>/dev/null" 2 表示stderr标准错误 &am ...
- 工业控制系统PLC、DCS、ESD
PLC:可编程逻辑控制系统.PLC是一种专为在工业环境应用而设计的数字运算电子系统. DCS:集散控制系统. ESD:紧急停车系统.
- phpexcel图形图表(二)图形
原创文章,转载请注明出处:http://www.cnblogs.com/phpgcs 本篇文章实例演示如上图,画3种图形以及多sheet操作等 先回忆下第一篇中line图形的API调用步骤: 1,引入 ...
- ps -aux --sort -rss |head 列出进程拿物理内存占用排序 使用ps aux 查看系统进程时,第六列即 RSS列显示的就是进程使用的物理内存。
ps -a Select all processes -u userlist Select by effective user ID (EUID) or name. ...
- Oracle----oracle 事务总结
用了这么长时间的oracle,该总结一下所得了 1,事务 事务用于保证数据的一致性, 它由一组相关的 dml语句组成, 该组的dml(数据操作语言,增删改,没有查询)语句要么全部成功,要么全部失败,比 ...
- pycharm2018.1.4激活破解方法与汉化包-2018年6月19日
记录下来备用,顺便分享给大家,有能力的还是希望能够支持正版!支持正版!支持正版! 方法1:激活服务器,最简单快速(截止2018年6月19日可用) 在激活Jetbrains旗下任意产品的时候选择激活服务 ...
- C2 CompilerThread0 如果抓到的java线程dump里占用CPU最高的线程是这个,99%可能是因为服务重启了
"C2 CompilerThread0" #5 daemon prio=9 os_prio=0 tid=0x00007f20c80b3800 nid=0x57c0 runnable ...