Debussy的基本操作(一, nTrace)

http://blog.sina.com.cn/s/blog_72c14a3d01015p46.html

Debussy是Novas公司提供的在IC设计中得到广泛应用的debug工具。最初的时候,Debussy有unix/linux和window版本的,但大概在2005年之后,Novas就只推出unix/linux的版本了,而且后面软件的名字也改了。

Debussy是非常好用的一个debug工具,在IC设计行业里,是大名鼎鼎的,在我做设计的这么多年里,几乎每天都会用到。但由于在FPGA行业里,很多从业人员都是在window环境下做开发,再加上对Debussy不是很熟悉,所以用它做Debug的人的比例并不是太高,特别是FPGA的初学者。

我比较推荐用modelsim(或者其他的一种仿真工具)做仿真(通过引用debussy的api函数,dump波形),用debussy做debug的FPGA设计流程。关于modelsim+Debussy的仿真、debug流程我在另外一个文章里做了比较详细的介绍,这里不再涉及相关的内容,只是介绍windows下,Debussy软件的一些常用的操作。

Debussy实际上是由下面几个相对独立但又可以相互联系的模块构成的:

nTrace:用来trace信号的load或者driver。

nWave:用来打开后缀为fsdb的波形文件,查看信号的波形。

nSchema: 用来查看设计的原理图。

nState: 用来查看状态机的状态。

需要注意的是,windows环境下,打开软件时,默认打开的是nTrace。然后可以在nTrace的界面里,通过菜单打开其他的模块。

先说nTrace。

打开Debussy软件(如果你不知道怎么安装,怎么打开软件的话,那就先搞定这些再说了),会出现如下的界面:

软件的界面跟其他很多windows下面的软件界面没啥区别。上边的是菜单栏,快捷菜单什么的。左边是design的层次列表窗口,右边是对应design模块的代码窗口。下边是log信息窗口。但因为刚刚打开软件,还没有载入design,所以我们什么也看不到。

首先第一步我们要做的是,加载design。File -> Import Design,选择From File。看下面的对话框。从左下角的窗口里选择design所在的目录,然后从右下角的窗口里选择要加载的design文件并双击之,文件会出现在Design Files的框里,然后单击OK按钮,design就被加载到软件里了。

这个时候软件会进入下面的界面。可以看到,三个窗口都有了对应的信息。

再回过头来说可以加载到软件中的design文件。如果你所有的design都在一个文件里,比如说verilog文件(扩展名为.v),那么你直接把这个文件加载进去就可以。如果你的design是分布在多个文件里的,那么你可以一次把所有的design都选择上,然后加载。那还有一种方法就是在一个扩展名为.f的文件里把所有的design文件(包括某些IP的库)列出来(可以是绝对路径,也可以是相对路径),然后加载这个.f文件。在上面的操作中,我们实际上就是加载一个包含了所有design文件的run.f文件。run.f文件的内容如下:

加载design文件以后,在左边的窗口里,显示出来的是整个design的层次列表。这个是软件根据你加载的文件,自动给整理出来的。

如果你需要看design中哪一个层次模块,就在这个窗口里双击这个模块。双击以后,该模块的内容就在右边的窗口里显示出来了,比如我们双击UART,那么右边窗口就会出现UART 模块的内容。如下图所示:

如果你的design的层次模块很多,用下拉菜单找起来很不方便,但你却对design非常熟悉。那么你可以在左边的窗口里点鼠标右键,选择Show Navigation EditBox或者直接Ctrl+s快捷键,结果是在左边窗口的上方,出现一个编辑框,在这里你可以直接输入你要查看的模块的层次结构,具体的效果你可以按这个步骤试一试。如下图所示:

如果你要查找uart这个模块里的某一个信号,比如TX_CLK,那么你就先在层次列表里找到UART,双击之,使之内容显示在右边列表里,然后在查找对话框里输入TX_CLK,最后点查找(向上或者向下)。这个时候,就会依次高亮显示uart中出现的TX_CLK。你也可以把鼠标放到一个信号上,然后按鼠标中键,一直按着不放,把信号拖到查找框里,最后放开中键,这个时候,你选中的信号就到了查找框里了,可以省去你输入信号的功夫了。另外就是你查找一个信号以后,这个信号会留存在查找框里,下次你再查找这个信号的话,也可以直接在查找框的下拉列表里选择这个信号。

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

这里UARTSM有两个driver,都给显示出来了。那如果一个信号有很多个driver,一屏幕显示不出来,那么,会显示出最先找到的一个。我们可以从下面的log窗口里查看其他driver的信息,如下图。这里给出了UARTSM的两个driver的信息,并给出了统计数据。如果我们要看某一个driver的代码,直接在log窗口双击该driver,你可以试一下看看有什么效果。

如果你要看一个信号的load,那么把鼠标放到这个信号上,然后右键,选择trace load,那么这个时候,窗口里就会显示出该信号的load。因为很多情况下,信号的load会有很多,那么这个时候一屏幕是很难显示出来的,所以更重要的就是看下面的log窗口了,这里也会列出来所有的load。比如下图:

通过上面的介绍,你就会发现,在nTrace里通过trace信号driver和load的动作,可以很方便的弄清楚信号之间的连接关系,对于debug来讲,是非常有效的。

Debussy基本操作(包括怎么打开hierarchy)相关推荐

  1. 【comsol学习3】-基本操作之同时打开多个文件

    基本操作之同时打开多个文件 在使用comsol时发现,如果已经打开了一个文件,想要新建一个文件,新建的文件会将之前打开的文件 覆盖,即我们能看到并编辑的只有新建的那个文件. 解决方法粗暴简单,在已经打 ...

  2. 如何打开Hierarchy Viewer ?

    Hierarchy Viewer 已被弃用. 如果您使用的是 Android Studio 3.1 或更高版本,则应在运行时改用 Layout Inspector 来检查应用的视图层次结构.要分析应用 ...

  3. python打开方式包括_python打开文件的方式有哪些

    python下打开文件超级简单,不用导入任何包,直接输入 f =open('your_file.txt','r') 就可以打开一个文件进行操作.第二个参数为对文件的操作方式,'w'是写文件,已存在的同 ...

  4. idea打开hierarchy面板

    hierarchy:查看类层级关系图 同版本的idea的快捷键不一样,navigate--type hierarchy,就可以看见其快捷键了,我的快捷键是ctrl+H.

  5. 计算机主机的是指什么,电脑基本操作包括哪些 电脑的基本的操作是指什么

    1.电脑的组成:软件,硬件,外部设备: 硬件就是大家所看见的主机,由主板,CPU,内存条,硬盘,板卡等组成,打开机箱盖即可看见,外部设备包括键盘,鼠标,光驱,软驱,显示器,打印机,扫描仪,摄像头等等设 ...

  6. C#+AE地图文档的相关操作,包括新建打开保存等

    public static bool NewMxdFile(string filePath)//新建工作空间{try{string tmp_fileName = filePath;IMapDocume ...

  7. 使用linux_Linux中VIM使用技巧

    vim快捷键分布 Vim/Vi是一个功能强大的全屏幕文本编辑器, 是Linux/UNIX上最常用的文本编辑器, 它的作用是建立.编辑.显示文本文件;Vi几乎支持所有的语言. vim有3个模式:norm ...

  8. 【Python技能树共建】selenium入手篇

    Python selenium 入手篇 selenium 项目最早是为测试浏览器.网页开发的,并且广泛应用于爬虫,需要注意 selenium 不是单个软件,它其实由一系列的工具组成. selenium ...

  9. 【Linux应用】串口UART编程

    1.前言 通用异步收发传输器(Universal Asynchronous Receiver/Transmitter,通常称作UART) 是一种串行异步收发协议,应用十分广泛.UART工作原理是将数据 ...

最新文章

  1. 今日头条CEO朱文佳:新一代搜索引擎已经来了
  2. yum 方式安装nginx
  3. Objective-C学习笔记---构造函数和析构函数
  4. NSObject协议中方法:description 和 debugDescription
  5. CCF201312-1 出现次数最多的数
  6. 云原生的本质_云原生2.0的逻辑之辩,如何让每个企业都成为新云原生企业
  7. 这位勇士,你别去读博了:搞机器学习要PhD何用?
  8. 你知道 JavaScript 中的 Arguments 对象都有哪些用途吗?
  9. 百度地图API实现地理围栏
  10. adc0809工作过程C语言,ADC0809引脚图、时序图、工作流程图详解
  11. 迷你计算机可玩游戏,e客迷你电脑能玩什么游戏
  12. 安卓开发:医院预约挂号app
  13. 女人心疼男人的10种方式
  14. Ubuntu16.04安装搜狗输入法的正确姿势
  15. 一个汽车软件测试工程师的三年工作总结
  16. SIM7600CE应用程序调试流程
  17. 计算机计算器logo,电脑计算器在哪打开
  18. 相位差和相移理论知识概括
  19. 最通俗易懂的OSPF五种报文+七种状态
  20. 20211205上午

热门文章

  1. matlab griddata nan,请教Matlab的griddata的用法
  2. 2021-2027全球及中国电话录音设备行业研究及十四五规划分析报告
  3. redis提高oracle性能,redis性能分析与优化建议
  4. EDI的两种解决方案:直连EDI和Web-EDI
  5. 福建省2021高职高考成绩查询,2021福建高职专科大专录取结果查询和录取通知书发放时间...
  6. 2019录取通知书上线,别人家的通知书能3D立体,还会唱歌……
  7. Android获得火车时刻表Web Services的全部始发站名称
  8. 【微杂志制作工具】名编辑电子杂志大师教程 | 如何在flash电子杂志中添加音乐
  9. linux 内核 4.9,Linux Kernel 4.9发布下载
  10. 我所理解的OpenSocial