debussy与modelsim的联调设置
前段时间看到网上有人在使用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的联调设置的更多相关文章
- Debussy与modelsim联仿时 do 文件脚本
quit -sim set PATH1 D:/Program/modelsim/vivado_lib set PATH2 D:/Program/Vivado/Vivado/2014.4/data/ve ...
- Quartus prime16.0 与modelsim ae 联调
前言 quartus和modelsim联调对仿真还是很方便的,当然最好是quartus干综合到烧录的活,modelsim单独仿真.而且ae版的性能比se版差. 流程: 1.配置modelsim ae路 ...
- 使用Debussy+ModelSim快速查看前仿真波形
sim.do文件 quit -sim set PATH1 D:/Program/modelsim/vivado_lib set PATH2 D:/Program/Vivado/Vivado/2014. ...
- vivado和modelsim联合调试仿真
vivado和modelsim联合调试仿真 0赞 发表于 2017/5/10 19:10:59 阅读(881) 评论(0) 使用vivado和modelsim联合调试仿真时,在破解完modelsim后 ...
- Modelsim添加Lattice库
Step 1 安装好modelsim,并将modelsim的目录添加到系统PATH中. (确认方法:在任意位置同时按下Shift+鼠标右键,在出来的菜单里选择“在此处打开命令窗口”,然后输入vsim, ...
- Debussy的安装与使用
1.概述 Debussy是NOVAS Software, Inc ( 思源科技 )发展的HDL Debug & Analysis tool,这套软体主要不是用来跑模拟或看波形,它最强大的功能是 ...
- Nginx跨域了解及模拟和解决
Nginx跨域 同源策略 何为同源: 1.协议(http/https)相同 2.域名(IP)相同 3.端口相同 详解请看我另一篇文章 https://www.cnblogs.com/you-men/p ...
- Linux命令总结大全,包含所有linux命令
使用说明:此文档包含所有的Linux命令,只有你想不到的没有你看不到的,此文档共计10万余字,有8400多行,预计阅读时间差不多需要3个小时左右,所以要给大家说一说如何阅读此文档 为了方便大家阅读,我 ...
- modelsim与debussy联调环境的搭建
为了方便查看波形,找来了一款软件——debussy,它的一个优点是任你查看设计内信号,只需一个波形文件,如FSDB文件.而不用像modelsim那样想看某些信号,添加了之后还要重新编译仿真,浪费了很多 ...
随机推荐
- Java Class Object
Object类 它是所有类的基类. public class Person { } //实际上是 public class Person extends Object { } Object类的方法 t ...
- JDK版本Java SE、Java EE、Java ME的区别
想在win7 X64上搭建JAVA开发环境来着(只是尝试下),打开JAVA 官网下载JDK,发现好多版本懵了,百度了下找到这些版本的区别,故有了下文 1.JAVA SE Java2平台标准版(Java ...
- 父类与子类的转换as,is
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...
- 一日一句 SQL [持续更新] MySQL + Oracle
1 . group by 和 having字句: group by是根据列值对数据进行分组, having子句用于对分组的数据进行过滤. [ having 针对的对象是分好的组] eg: employ ...
- delphi7中 OnDrawColumnCell 事件怎么用
你问的这个事件应该是dbgrid控件中的吧?这个事件是在grid控件载入数据的时候触发的,至于你这个“怎么用”波及的范围太大了,呵呵!不知道如何说起!另外还是发一段相关的代码吧,这也是我之前提过问题, ...
- matlab exist函数
函数作用:用于确定某变量或值是否存在. 调用格式: exist主要有两种形式,一个参数和两个参数的,作用都是用于确定某值是否存在:1. b = exist( a) 若 a 存在,则 b = 1: 否则 ...
- 只要访问的地址匹配cookie的地址时候 发送request请求时候 会携带上该cookie
只要访问的地址匹配cookie的地址时候 发送request请求时候 会携带上该cookie
- BZOJ4245 ONTAK2015 OR-XOR(贪心)
贪心的按位考虑.如果所有数在某一位上有奇数个为1,显然无论如何划分这一位最终都会为1:否则将每一部分都划分为偶数个1就能保证最终该位为0,可以标记上哪些位置可以作为划分点(当然也要满足之前可为0的位上 ...
- 【题解】Atcoder AGC#03 E-Sequential operations on Sequence
仙题膜拜系列...首先我们可以发现:如果在截取了一段大的区间之后再截取一段小的区间,显然是没有什么用的.所以我们可以将操作序列变成单调递增的序列. 然后怎么考虑呢?启示:不一定要考虑每一个数字出现的次 ...
- BZOJ2458:[BJOI2011]最小三角形——题解
http://www.lydsy.com/JudgeOnline/problem.php?id=2458 Description Xaviera现在遇到了一个有趣的问题. 平面上有N个点,Xavier ...