您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > Debussy仿真快速上手教程
Debussy介绍Debussy是NOVASSoftware,Inc(思源科技)发展的HDLDebug&Analysistool,这套软体主要不是用来跑模拟或看波形,它最强大的功能是:能够在HDLsourcecode、schematicdiagram、waveform、statebubblediagram之间,即时做trace,协助工程师debug。可能您会觉的:只要有simulator如ModelSim就可以做debug了,我何必再学这套软体呢?其实Debussyv5.0以后的新版本,还提供了nLint--checkcodingstyle&synthesizable,这蛮有用的,可以协助工程师了解如何写好codingstyle,并养成习惯。下图所示为整个Debussy的原理架构,可归纳几个结论:Debussy有四个主要单元(component),nTrace、nWave、nSchema、nStatenTrace--Hypertextsourcecodeanalysisandbrowsetool(为%Debussy&所开启的主画面)nWave--Waveformanalysistool(可由nTrace内开启,或直接%nWave&开启)nSchema--HierarchyschematicgeneratornState--FiniteStateMachineExtractionandanalysistoolDebussy本身不含模拟器(simulator),必须呼叫外部模拟器(如Verilog-XLorModelSim)产生FSDBfile,其显示波形的单元nWave透过读取FSDBfile,才能显示波形或讯号值的变化快速上手五部曲:(Debussyv.5.2)1.ImportFilesandgenerateFSDBfile2.Tracebetweenhierarchybrowserandsourcecode3.Tracebetweenhierarchybrowser、sourcecodeandschematic4.Tracebetweenhierarchybrowser、sourcecode、schematicandwaveform5.nLint(nState本文没介绍,有兴趣的读者,请依文后的连结,自行下载CIC所提供的NOVAS原厂编写教材参考)1.ImportFilesandgenerateFSDBfile1-1启动Debussy:%Debussy&(此处的D大小写都可以,但其它指令的大小写可能就有差别)开启nTracewindow如下,此时工作目录下会新建一个DebussyLog目录1-2ImportFiles:File\ImportDesign...结果如下图所示:nTrace视窗中,含有三个区域,HierarchicalBrower、Sourcecodewindow、Messagewindow。(如果不想看波形,只想查看sourcecode与schematic的关係,您可以直接跳到step2-1)此时DebussyLog目录内会有Debussy.cmd、turbo.log、compiler.log三个档案。Debussy.cmd纪录所有import的档案与之后所有的执行程序。我们可以直接引用这个档案来执行上一次我们做过的一连串程序(referto1-5)。1-3设定外部模拟器,藉其產生FSDBfile:Tools\Options\Preferences...1-4切换到InteractiveMode:Tools\InteractiveMode(此时ToolBar上会出现Simulation选单)开始执行模拟:Simulation\Run/Continue(模拟结束工作目录下就会產生dump_i.fsdb)Sourcecode目录下,要有先前ModelSim所建立的此project的worklibrary,不然会有错误讯息:Failedtoaccesslibrary'work'atwork。另外,你不能只是开一个work资料夹,而是要真的用ModelSim產生worklibrary,并且把designcompiletotheworklibrary后,step1-4才会正确动作。1-5结束程式:File\Exit1-6快速启动执行序把DebussyLog目录下的指令记录档Debussy.cmd复制到目前工作目录下,重新编辑此档(删掉最后一行的debExit然后储存),引用它来开启Debussy可重复之前同样的动作程序%Debussy-playDebussy.cmd&(结果相当於从步骤1-1做到1-4)1-7其他启动Debussy的方法%Debussy-fxxx.f(类似开启一个事先编写的批次档,可以同时一次载入多个.v)%Debussy-vhdl-fxxx.f(类似开启一个事先编写的批次档,可以同时一次载入多个.vhd)以上都是属於Importdesignfromfile的方法,另外还有一种方法是Importdesignfromlibrary。两者的差异在於:Importdesignfromfile是将designcompiletoRAM,而Importdesignfromlibrary则是将designcompiletolibrary(defaultlib.iswork)。对於比较大的project,為了避免每次使用Debussy都要花时间compile,建议採用Importdesignfromlibrary的方法,而且mixed-languagedesign一定要用Importdesignfromlibrary的方法。Ex.forVerilogfiles:%vericom-inc-frun.f%Debussy-libwork-topxxx&Ex.forVHDLfiles:%vhdlcom-93-frun.f%Debussy-libwork-topxxx&2.Tracebetweenhierarchybrowserandsourcecode2-1在Hierarchybrowser点击A1(FourBitAdder)左侧的符号+,可以展开四个fulladder(fa0,fa1,fa2,fa3)-2-2试著双击Hierarchybrowser内的testbedorA1orfa0...右边的sourcecodewindow会立即切换到相对的module也可以利用滑鼠中键,将左边的modulename直接拖曳丢进右边sourcecodewindow,效果相同。(利用滑鼠中键在不同视窗间拖曳,是Debussy中最常用的方法)2-3双击上图sourcecodewindow内的fulladder(inline8),软体会自动帮你追踪出引用fa0的地方结果示於下图--A1(FourBitAdder)的fa0(inline32);若再双击fa0(inline32),则又回到上图。--你可以藉由这个方法,轻易的追踪出project内的所有design彼此之间的关连性:恢复上一动作2-4除了追踪designs之间的关连性,也可以用同样的方法追踪出signal'sdriversandloads。若双击上图的讯号c_in(inline24),将显示该讯号的所有的driveloads结果如下图--messagewindow显示,有4处drivec_in,分别在add4testline69,71,73,75用ShowNext来查看所有的driveloads(atline69,71,73,75)选定line69,Trace\Load则可用来追踪该讯号的所有loads3.Tracebetweenhierarchybrowser、sourcecodeandschematic3-1开启nSchema有三种方法*(nTrace)Tools\NewSchematic\...*双击工具列上的NewSchematicicon*把想看schematic的部分,直接以滑鼠中键,从hierarchybrowser拖曳丢进icon(常用)下图是把A1(FourBitAdder)丢进NewSchematicicon的结果:如果想直接看symbolfulladder的sourcecode,先以左键选定(highlight)该元件,然后按右键,从快速选单选择DisplaySourceCode选择(highlight)第一个fulladder的第二条输出讯号,然后按Tools\NewSchematic\Fan-InCone试试分别用来缩小/放大画面,则是让图形大小自动调整至填满整个视窗(如上图)回前一画面;回最上层画面3-2双击上图内的元件符号(如第一个fulladder)可进一步看到其内容/细部电路组成(fa0)3-3请自行尝试,在hierarchybrowser、sourcecode与schematicwindow之间,用滑鼠中键互相拖曳designs/signals的效果4.Tracebetweenhierarchybrowser、sourcecode、schematicandwaveform4-1接下来的操作,需要利用模拟器所产生的资料(.fsdb),以nWave显示讯号波形,有两种可能作法从1-6(对Importfiles已作compile,也有其.fsdbfile),接著开启nWave从1-1~1-2,然后开啟nWave,载入1-4所产生的dump_i.fsdb。开启nWave的方法有三种*按(nTrace)工具列的(NewWaveformicon)*(nTrace)Tools\NewWaveform*%nWave&4-1-1如果是从1-2接著打开nWavewindow,一开始nWave内容是空的,要执行(nWave)File\Open...以载入dump_i.fsdb。4-1-2接著按GetSignalsicon,此时就会看到有讯号可以让你选择了--如果你看不到讯号,把想观察的design(A1),直接从(nTrace)Hierarchybrowser拖进nWave就可以4-1-3(nWave)View\Zoom\ZoomAll--如果你看不到波形,请再执行一次(nTrace)Simulation\Run/Continue就会看到已在signalwindow选择的讯号,如果想要删除:选定要删除的讯号highlight,按滑鼠右键选择Cut如果是从1-6接著打开nWavewindow的,直接进行step4-1-2即可4-2启动ActiveAnnotation功能:(nTrace)Source\ActiveAnnotation能够在nWave选择讯号触发缘,同时在nTrace的sourcecode的所有讯号符号下方,直接看到数值的变换4-3在nWave双击想观察其触发状况的讯号(如c_out)4-4从(nTrace)Hierarchybrowser双击A1(FourBitAdder),按SearchForwardicon,看看在nTrace与nWave的变化5.nLint5-1开启图形介面的nLint%nLint-gui&(大小写不能改,n一定要小写,L一定要大写)开启nLintwindow如下,此时工作目录下会新建一个nLintLog目录5-2ImportFiles:File\ImportDesign...(与step1-2一模一样的操作后,结果如下所示)5-3执行Run\Compile5-4执行Tools\RuleOrganizer,或按选择check哪些rules--不想检查的项目,就把E/D那一栏的核选框框取消5-5执行Run\Lint--会自动跳出ReportViwer显示检查结果5-6展开report,选择第一个黄色警示标示,其出错的原因与原始码部份,会即时显示在下方的栏框中。如果要修改sourcecode,在该错误选项上,按滑鼠右键,选择Showviolation\todefaulteditor对於不想检查的档案,可以选定该档后,
本文标题:Debussy仿真快速上手教程
链接地址:https://www.777doc.com/doc-2909114 .html