本文为转载,刚瞄了一眼,应该是在LINUX下的应用快速上手教程。Debussy是个很强大的看V代码及Debug V代码工具。你能方便地看到信号从哪里来到哪里去,比较强大。简单地用,用起来也比较简单。在我拿到的windows版本,只要做个filelist就可以把代码读进去,可以trace,灰常Nice。So,下面的东西,请适当参考。
Debussy 介绍
Debussy 是NOVAS Software, Inc(思源科技)发展的HDL Debug & Analysis tool,这套软体主要不是用来跑模拟或看波形,它最强大的功能是:能够在HDL source code、schematic diagram、waveform、state bubble diagram之间,即时做trace,协助工程师debug。
可能您会觉的:只要有simulator如ModelSim就可以做debug了,我何必再学这套软体呢? 其实Debussy v5.0以后的新版本,还提供了nLint -- check coding style & synthesizable,这蛮有用的,可以协助工程师了解如何写好coding style,并养成习惯。
下图所示为整个Debussy 的原理架构,可归纳几个结论:
Debussy有四个主要单元(component),nTrace、nWave、nSchema、nState
- nTrace -- Hypertext source code analysis and browse tool (为%Debussy &所开启的主画面)
- nWave -- Waveform analysis tool (可由nTrace内开启,或直接%nWave &开启)
- nSchema -- Hierarchy schematic generator
- nState -- Finite State Machine Extraction and analysis tool
Debussy本身不含模拟器(simulator),必须呼叫外部模拟器(如Verilog-XL or ModelSim)产生FSDB file,其显示波形的单元"nWave"透过读取FSDB file,才能显示波形或讯号值的变化
快速上手五部曲: (Debussy v.5.2)
1. Import Files and generate FSDB file
2. Trace between hierarchy browser and source code
3. Trace between hierarchy browser、source code and schematic
4. Trace between hierarchy browser、source code、schematic and waveform
5. nLint
(nState本文没介绍,有兴趣的读者,请依文后的连结,自行下载CIC所提供的NOVAS原厂编写教材参考)
1. Import Files and generate FSDB file
1-1 启动Debussy:% Debussy & (此处的D大小写都可以,但其它指令的大小写可能就有差别)
开启nTrace window如下,此时工作目录下会新建一个"DebussyLog"目录
1-2 Import Files:File \ Import Design...
结果如下图所示:nTrace视窗中,含有三个区域,Hierarchical Brower、Source code window、Message window。
(如果不想看波形,只想查看source code与schematic的关係,您可以直接跳到step 2-1)
此时DebussyLog目录内会有Debussy.cmd、turbo.log、compiler.log三个档案。Debussy.cmd纪录所有import
的档案与之后所有的执行程序。我们可以直接引用这个档案来执行上一次我们做过的一连串程序(refer to 1-5)。
1-3 设定外部模拟器,藉其產生FSDB file: Tools \ Options \ Preferences...
1-4 切换到Interactive Mode:Tools \ Interactive Mode (此时ToolBar上会出现Simulation选单)
开始执行模拟:Simulation \ Run/Continue (模拟结束工作目录下就会產生dump_i.fsdb )
Source code目录下,要有先前ModelSim所建立的此project的work library,不然会有错误讯息:Failed to access library 'work' at "work"。另外,你不能只是开一个work资料夹,而是要真的用ModelSim產生work library,并且把design compile to the work library后,step 1-4才会正确动作。
1-5 结束程式:File \ Exit
1-6 快速启动执行序
把DebussyLog目录下的指令记录档Debussy.cmd复制到目前工作目录下,重新编辑此档 (删掉最后一行的"debExit"
然后储存),引用它来开启Debussy可重复之前同样的动作程序
% Debussy -play Debussy.cmd & (结果相当於从步骤1-1做到1-4)
1-7 其他启动Debussy的方法
% Debussy -f xxx.f (类似开启一个事先编写的批次档,可以同时一次载入多个.v)
% Debussy -vhdl -f xxx.f (类似开启一个事先编写的批次档,可以同时一次载入多个.vhd)
以上都是属於Import design from file的方法,另外还有一种方法是Import design from library。两者的差异在於:
Import design from file是将design compile to RAM,而Import design from library则是将design compile to library
(default lib. is "work")。
对於比较大的project,為了避免每次使用Debussy都要花时间compile,建议採用Import design from library的方
法,而且mixed-language design一定要用Import design from library的方法。
Ex. for Verilog files:%vericom -inc -f run.f
%Debussy -lib work -top xxx &
Ex. for VHDL files:%vhdlcom -93 -f run.f
%Debussy -lib work -top xxx &
2. Trace between hierarchy browser and source code
2-1 在Hierarchy browser点击A1(FourBitAdder)左侧的符号"+",可以展开四个full adder (fa0, fa1, fa2, fa3)
2-2 试著双击Hierarchy browser内的testbed or A1 or fa0 ...
右边的source code window会立即切换到相对的module