原创 【博客大赛】Debussy学习笔记(一)

2012-8-22 09:20 7047 17 18 分类: FPGA/CPLD 文集: EDA

         学习FPGA以来,一直是用Modelsim作为仿真调试工具,前几天在同事那儿看到了一个新工具:Debussy,看她用的相当顺手,而且工具本身也相当好用,有很多Modelsim不具有的功能,然后就立马上网下载了Debussy软件和相关教程学习了一下,从本文开始软件的学习笔记。

         Debussy 是NOVAS Software, Inc(思源科技)开发的HDL Debug & Analysis tool,这套软体主要不是用来跑模拟或看波形,它本身不具有仿真功能,需要调用Modelsim等仿真软件生成的仿真结果文件来观测波形,但是它可以预存设计中所有信号的仿真波形,仿真需要新调入信号进行观测时,可以即时调入而无需重新跑仿真;Debussy另一个最强大的功能是:能够在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的软件使用,如图1所示为Debussy的基本原理架构,其中主要由4部分组成:nSchema、nTrace、nWave和nState。

snap1.jpg

图1

        nTrace:超文本源代码分析和浏览工具,是Debussy 软件所开启的主画面;nWave:波形分析观测工具,可由nTrace内开启;nSchema:层次原理图生成器;nState:有限状态机提取和分析工具。

        上文中提到,Debussy软件一大功能就是波形的预存观测功能。由于Debussy自身不具有仿真功能,需要由Modelsim等仿真软件生成fsdb(fast signal database)文件,是Spring Soft (Novas)公司 Debussy / Verdi 支持的波形文件,一般较小,使用较为广泛,其余仿真工具如ncsim,modlesim等等可以通过加载Verdi 的PLI (一般位于安装目录下的share/pli 目录下) 而直接dump fsdb文件。fsdb文件是verdi使用一种专用的数据格式,类似于VCD,但是它是只提出了仿真过程中信号的有用信息,除去了VCD中信息冗余,就像对VCD数据进行了一次huffman编码。因此fsdb数据量小,而且会提高仿真速度。下面介绍一下利用Modelsim生成fsdb文件的方法,Verilog HDL和VHDL方法有些不同,因此分别说明:

A. Verilog HDL方法

        1. 修改Modelsim安装根目录下modelsim.ini文件,去除只读保护后,加入一条语句:Veriuser=/Debussy/share/PLI/modelsim_pli/WINNT/novas.dll软件安装目录>

        2. 在Testbench中加入以下代码:

initial begin

$fsdbDumpfile("wave_test.fsdb");

$fsdbDumpvars;

end

        3. 在Modelsim中建立工程,编译所有*.v文件,调用仿真命令:vsim –pli novas.dll work.**_tb,仿真一段时间后退出仿真。然后可以在新建工程根目录下发现多出了一个wave_test.fsdb文件。

B. VHDL方法

        1. 从\Debussy\share\PLI\modelsim_fli54\WINNT中找到novas.vhd文件和novas_fli.dll文件,novas_fli.dll文件拷贝到modelsim安装根目录的win32文件夹下,并且修改modelsim.ini文件,去除只读保护后,加入一条语句:Veriuser=novas_fli.dll;安装目录>

        2. 在Modelsim中建立工程,将第1步中的novas.vhd文件拷贝到新建的modelsim工程根目录下,在Transcript中运行以下脚本命令:

vlib novas

vmap novas novas

vcom –work novas ./novas.vhd

        3. 在VHDL Testbench中加入语句:

library novas;use novas.pkg.all;

process

begin

         fsdbDumpfile("wave_vhd.fsdb");

         fsdbDumpvars(0,"div_tb"); --0表示dump的模块层,“div_tb”表示第0层模块名

         wait;

end process;

        4. 编译所有*.v文件,调用仿真命令:vsim work.**_tb,仿真一段时间后退出仿真。然后可以在新建工程根目录下发现多出了一个wave_vhd.fsdb文件。

 

:在VHDL方法中遇到了些问题,在执行vsim命令时出现以下错误警告:

# Loading D:\modeltech_6.6f\win32/./novas_fli.dll

# ** Warning: (vsim-FLI-3159) Failed to find foreign function 'fliparseVariableInFile' in FLI object file "D:\modeltech_6.6f\win32/./novas_fli.dll".

#         Region: /

# ** Fatal: (vsim-3274) Null foreign subprogram pointer (19).

        在网上搜索了也没有什么好的解决方法,生成方法也没有什么问题。只能自己试着解决一下问题了。看错误是因为fliparseVariableInFile没有在novas_fli.dll中找到,这个函数在Testbench中也没有使用,但是在novas.vhd中确实有这个名为“fliparseVariableInFile” 的procedure说明,在novas_fli.dll没找到会不会是因为novas.vhd文件和novas_fli.dll文件不匹配造成的。定位了问题,就修改了一下novas.vhd文件,将有关fliparseVariableInFile的说明都注释掉了,然后重新编译了novas库,运行vsim就好使了,run后成功生成了fsdb文件。

 

        fsdb生成后,就可以通过Debussy软件中的nWave导入:

        1. 首先打开Debussy软件,启动界面是nTrace,通过Tools->New Waveform新建一个nWave窗口,如图2所示;

snap2.jpg

图2

         2. 在nWave中打开**.fsdb文件,如图3所示;

snap3.jpg

图3

         3. 通过Get Signals按钮选取需要观测的信号,如图4所示为在nWave中显示的波形。

snap4.jpg

图4

 

 

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户1737989 2014-5-22 10:51

学习了,正想尝试一下!
相关推荐阅读
Hoki 2017-01-11 17:35
LX9开发板呼吸灯实现
对LX9开发板硬件评测后,从这一节开始真正进入FPGA开发的世界。很多开发板的例程中必有跑马灯实验,老跑马也没意思,咱来把新潮的,整一个呼吸灯。 呼吸灯最初是出现在apple公司的笔记本产品中,当合上...
Hoki 2017-01-11 16:47
LX9的microblaze配置
虽然XC6SLX9芯片资源比较少,但是嵌一个microblaze还是搓搓有余的,这一节就来评测一下在XC6SLX9上microblaze的配置。 有两种方法配置microblaze,一是在ISE软件中...
Hoki 2017-01-11 16:32
zynq评测
Zynq芯片是业界第一款在FPGA中集成ARM核的芯片,由FPGA的发明者xilinx公司推出的。Zynq严格来说不能以FPGA来定义它,因为其是以处理器为中心的平台,能够在单芯片上提供软、硬件和 I...
Hoki 2017-01-11 16:19
u-boot
Zyny芯片启动加载分为3步: 1. 芯片上电启动,首先读取BootROM中的程序,初始化一些必要的外设,然后根据专用引脚电平判断该从何处启动first stage Bootloader(FSBL),...
Hoki 2017-01-11 16:09
基于zynq的交叉编译平台
Zynq芯片的最大特点是其集成了双ARM Cortex-A9处理器,因此zynq的应用基本是以这个ARM核为核心,再配合FPGA逻辑作为协处理器,几乎能实现所有较复杂的应用。并且在ARM上可以跑操作系...
Hoki 2017-01-11 15:54
u-boot image生成
这节介绍一下如何生成u-boot image文件,在SDK软件中点击Xilinx Tools→Create Boot Image工具即可生成,但是生成image文件需要首先集齐3个文件:u-boot....
EE直播间
更多
我要评论
1
17
关闭 站长推荐上一条 /3 下一条