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. linux偏向swap,solaris/linux 增加swap交换空间的方法
  2. Verilog中可综合与不可综合的语句
  3. (第7篇)灵活易用易维护的hadoop数据仓库工具——Hive
  4. 在 Element-UI 的 Table 组件上添加列拖拽效果
  5. xss 跨站脚本漏洞 php,跨站脚本漏洞(XSS)基础讲解
  6. NFS文件锁一致性设计原理解析
  7. DestroyJavaVM
  8. 深度学习笔记(26) 卷积神经网络
  9. 大规模电机控制的方案选择-电机和驱动器篇
  10. 基于Proteus的51单片机超声波测距
  11. 遥感导论网课_经典课程教材遥感导论.pdf
  12. Linux排查CPU使用率100%
  13. 【Python网络蜘蛛 · 8】:moviepy模块实现音频+视频的合成
  14. linux 2048移动代码,2 的威力,Linux 的威力:终端中的 2048
  15. 极客时间和极客学院_极客需要告诉我们的父母有关安全可靠地在线购物的信息
  16. 【vulhub】gitea
  17. 人工智能入门学习-人工智能岗位超吃香
  18. (十八)视频换-脸、无训练高速换-脸、一张图片即可完成、批量处理
  19. 2.4G与5GWiFi频段的区别
  20. C++嵌入汇编语言计算有符号数组的平均值

热门文章

  1. 企业构建ERP系统 不得不考虑的因素
  2. 计算机考研专业课真题,计算机考研专业课 408 真题 20092013完美打印版.pdf
  3. EDI/B2B相关工作到底做什么?Webmethods又是什么?
  4. 去文件中逗号并换行的小程序
  5. Microsoft Visual C++运行库下载地址 2008~2017等各版本下载
  6. fanuc机器人I/O分配
  7. Thingsboard的本地编译与运行详细说明
  8. win7此windows系统副本不正正版解决方法
  9. 打包后的工具类 God+BlueJ+ClassLoader
  10. 行楷 - 汉字行楷手写体字形