前段时间看到网上有人在使用debussy软件对Verilog代码进行调试,而且都称赞其是多么的好用,看着很是馋人,说吧,现在用的是quartus与modelsim的联调,似乎还是可以的,但就是每次稍微改一下代码,想要添加一些输出信号的时候,又得改很多地方,而且仿真时间也越来越长,尤其是现在自己做的设计是越来越大,想着这个没接触过的debussy软件究竟怎么个好法,能不能解决我的这些问题呢?不管怎样,试一试就知道了,但每次安装软件的时候,就要破解啊什么的,找各种资料,很是麻烦,但是我的好奇心呢又迫使我硬着头皮搞这个软件,今天整整搞了一天,总算是,搞定了,debug的好日子就在后头了哦。下面记录一些中间的步骤。实现了不打开modelsim的GUI,使用批处理文件,执行之后,就可以出现debussy的界面了。

一、关于debussy软件破解

用ultra edit 的hex模式将后面5个文件中的55 8B EC 81 EC 90 01 00 00 C7 45 FC 替换为33 C0 C3 81 EC 90 01 00 00 C7 45 FC,这五个文件是debussy.exe、nce2report.exe、nCompare.exe、netlistcom.exe、snslmgrd.exe测试过了,这种破解方法绝对可行。这五个.exe的路径是在安装盘的C:\Novas\Debussy\bin,打开进行替换即可。

二、更改配置:

1 安装、和谐软件。略。

2 拷贝文件..\Novas\Debussy\share\PLI\modelsim_pli\WINNT\novas.dll至文件夹..\modeltech_6.5\win32。

3 取消文件..\modeltech_6.5\modelsim.ini的只读属性后,打开。

找到 “; Veriuser = veriuser.sl”替换为“Veriuser = novas.dll”,(这里一定要注意前面的分号也要删除掉,否则无法正确运行,在这里差点吃大亏)

保存;关闭;设为只读。

配置完,以后就一劳永逸了。

三、然后是各个文件的安排,在一个主文件夹里,新建文件夹rtl,用来放置设计文件和testbench文件,与其并行放置的是rtl.f、run.bat、sim.do三个文件,可以参考下图:

1、编写欲仿真的文件和testbench放在rtl文件夹中,在写testbench时,除遵守一般规则外,需要在其中另外添加如下代码,用来产生debussy所需要的波形文件。

// dump fsdb file for debussy

initial begin

$fsdbDumpfile("wave.fsdb");

$fsdbDumpvars;

end

2、编写HDL文件列表文件,供ModelSim和Debussy使用。

rtl.f如下:

rtl/cmd_control.v 
rtl/cmd_control_test.v 
rtl/cmd_gen.v 
rtl/cmd_send.v 
rtl/data_detect.v 
rtl/data_process.v 
rtl/miller2_dec.v 
rtl/uart_tx.v

3、编写ModelSim命令行脚本文件。

sim.do如下:

vlib work 
vlog -f rtl.f 
vsim work.cmd_control_tst 
run 1000ms 
quit

4、编写批处理脚步文件,调用命令行ModelSim生成波形文件,再调用Debusyy查看。

run.bat如下:

::关闭回显 
@ECHO OFF 
::设置软件路径 
SET debussy=C:\Novas\Debussy\bin\Debussy.exe 
SET vsim=D:\modeltech_6.5g\win32\vsim.exe 
::ModelSim Command 
%vsim% -c -do sim.do 
::删除ModelSim生成的相关文件 
RD work /s /q 
DEL transcript vsim.wlf /q 
::Debussy Command 
%bussy% -f rtl.f -ssf wave.fsdb -2001 
::删除波形文件 
DEL wave.fsdb /q 
::删除Debussy生成的相关文件 
RD Debussy.exeLog  /s /q 
DEL debussy.rc /q 
::退出命令行 
EXIT

5、双击运行run.bat

四、几个注意的地方

bat文件在任何情况下都是通用的,除非不需要删除一些文件时,可以更改下里面的程序;

source file的路径rtl一定记得要加上;

.v文件的开头都应该加上timescale;

rtl.f中文件的路径,注意路径用的是/,而不是\,实践证明路径是可以随意更改的,保证路径正确 
sim.do文件中顶层文件的修改,即testbench,切忌这个文件后面不加.v,并且run 后面的时间不能为1s,报错说是invalid time value 
testbench文件即可直接拷贝.vt文件过去,但是有一点要注意,要添加debussy的那几个函数,不然无法生成fsdb文件,而且要保存为.v文件 
每个文件上都要加上'timescale的时间定义

至此,大功告成。

debussy与modelsim的联调设置的更多相关文章

  1. Debussy与modelsim联仿时 do 文件脚本

    quit -sim set PATH1 D:/Program/modelsim/vivado_lib set PATH2 D:/Program/Vivado/Vivado/2014.4/data/ve ...

  2. Quartus prime16.0 与modelsim ae 联调

    前言 quartus和modelsim联调对仿真还是很方便的,当然最好是quartus干综合到烧录的活,modelsim单独仿真.而且ae版的性能比se版差. 流程: 1.配置modelsim ae路 ...

  3. 使用Debussy+ModelSim快速查看前仿真波形

    sim.do文件 quit -sim set PATH1 D:/Program/modelsim/vivado_lib set PATH2 D:/Program/Vivado/Vivado/2014. ...

  4. vivado和modelsim联合调试仿真

    vivado和modelsim联合调试仿真 0赞 发表于 2017/5/10 19:10:59 阅读(881) 评论(0) 使用vivado和modelsim联合调试仿真时,在破解完modelsim后 ...

  5. Modelsim添加Lattice库

    Step 1 安装好modelsim,并将modelsim的目录添加到系统PATH中. (确认方法:在任意位置同时按下Shift+鼠标右键,在出来的菜单里选择“在此处打开命令窗口”,然后输入vsim, ...

  6. Debussy的安装与使用

    1.概述 Debussy是NOVAS Software, Inc ( 思源科技 )发展的HDL Debug & Analysis tool,这套软体主要不是用来跑模拟或看波形,它最强大的功能是 ...

  7. Nginx跨域了解及模拟和解决

    Nginx跨域 同源策略 何为同源: 1.协议(http/https)相同 2.域名(IP)相同 3.端口相同 详解请看我另一篇文章 https://www.cnblogs.com/you-men/p ...

  8. Linux命令总结大全,包含所有linux命令

    使用说明:此文档包含所有的Linux命令,只有你想不到的没有你看不到的,此文档共计10万余字,有8400多行,预计阅读时间差不多需要3个小时左右,所以要给大家说一说如何阅读此文档 为了方便大家阅读,我 ...

  9. modelsim与debussy联调环境的搭建

    为了方便查看波形,找来了一款软件——debussy,它的一个优点是任你查看设计内信号,只需一个波形文件,如FSDB文件.而不用像modelsim那样想看某些信号,添加了之后还要重新编译仿真,浪费了很多 ...

随机推荐

  1. Java Class Object

    Object类 它是所有类的基类. public class Person { } //实际上是 public class Person extends Object { } Object类的方法 t ...

  2. JDK版本Java SE、Java EE、Java ME的区别

    想在win7 X64上搭建JAVA开发环境来着(只是尝试下),打开JAVA 官网下载JDK,发现好多版本懵了,百度了下找到这些版本的区别,故有了下文 1.JAVA SE Java2平台标准版(Java ...

  3. 父类与子类的转换as,is

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  4. 一日一句 SQL [持续更新] MySQL + Oracle

    1 . group by 和 having字句: group by是根据列值对数据进行分组, having子句用于对分组的数据进行过滤. [ having 针对的对象是分好的组] eg: employ ...

  5. delphi7中 OnDrawColumnCell 事件怎么用

    你问的这个事件应该是dbgrid控件中的吧?这个事件是在grid控件载入数据的时候触发的,至于你这个“怎么用”波及的范围太大了,呵呵!不知道如何说起!另外还是发一段相关的代码吧,这也是我之前提过问题, ...

  6. matlab exist函数

    函数作用:用于确定某变量或值是否存在. 调用格式: exist主要有两种形式,一个参数和两个参数的,作用都是用于确定某值是否存在:1. b = exist( a) 若 a 存在,则 b = 1: 否则 ...

  7. 只要访问的地址匹配cookie的地址时候 发送request请求时候 会携带上该cookie

    只要访问的地址匹配cookie的地址时候 发送request请求时候 会携带上该cookie

  8. BZOJ4245 ONTAK2015 OR-XOR(贪心)

    贪心的按位考虑.如果所有数在某一位上有奇数个为1,显然无论如何划分这一位最终都会为1:否则将每一部分都划分为偶数个1就能保证最终该位为0,可以标记上哪些位置可以作为划分点(当然也要满足之前可为0的位上 ...

  9. 【题解】Atcoder AGC#03 E-Sequential operations on Sequence

    仙题膜拜系列...首先我们可以发现:如果在截取了一段大的区间之后再截取一段小的区间,显然是没有什么用的.所以我们可以将操作序列变成单调递增的序列. 然后怎么考虑呢?启示:不一定要考虑每一个数字出现的次 ...

  10. BZOJ2458:[BJOI2011]最小三角形——题解

    http://www.lydsy.com/JudgeOnline/problem.php?id=2458 Description Xaviera现在遇到了一个有趣的问题. 平面上有N个点,Xavier ...