Modelsim, Debussy联合仿真Xilinx
http://wenku.baidu.com/view/8363d40003d8ce2f006623e9.html 另外一个博客
生成Xilinx库
先调用ISE的simulation library compilation wizard,用Modelsim编译xilinx库单元。编译好后我放在E:\Xilinx\13.4\ISE_DS\ISE\sim_lib目录下,同时有一个modelsim.ini文件,指定library:
secureip = E:\Xilinx\13.4\ISE_DS\ISE\sim_lib/secureip
unisim = E:\Xilinx\13.4\ISE_DS\ISE\sim_lib/unisim
unimacro = E:\Xilinx\13.4\ISE_DS\ISE\sim_lib/unimacro
unisims_ver = E:\Xilinx\13.4\ISE_DS\ISE\sim_lib/unisims_ver
unimacro_ver = E:\Xilinx\13.4\ISE_DS\ISE\sim_lib/unimacro_ver
simprim = E:\Xilinx\13.4\ISE_DS\ISE\sim_lib/simprim
simprims_ver = E:\Xilinx\13.4\ISE_DS\ISE\sim_lib/simprims_ver
xilinxcorelib = E:\Xilinx\13.4\ISE_DS\ISE\sim_lib/xilinxcorelib
xilinxcorelib_ver = E:\Xilinx\13.4\ISE_DS\ISE\sim_lib/xilinxcorelib_ver
uni9000_ver = E:\Xilinx\13.4\ISE_DS\ISE\sim_lib/uni9000_ver
cpld = E:\Xilinx\13.4\ISE_DS\ISE\sim_lib/cpld
cpld_ver = E:\Xilinx\13.4\ISE_DS\ISE\sim_lib/cpld_ver
Modelsim仿真
写好testbench,里面加一段代码:
initial
begin
$fsdbDumpfile("..\\wave\\tb_ShearInterpPerc.fsdb");
$fsdbDumpvars(0,tb_ShearInterpPerc);
end
tb_ShearInterpPerc是testbench顶层模块,意味着该模块内所有变量都被记录在fsdb文件里。在仿真目录下建立Modelsim用的DOS脚本文件run.bat:
vlib work
vlog ../../ShearInterpPerc.v
vlog ../testbench/tb_ShearInterpPerc.v
vsim -L xilinxcorelib_ver -L unisims_ver -L unimacro_ver -L secureip -lib work -voptargs=\"+acc\" -t 1ps -c -do "run 10us" -pli D:/pli/novas.dll work.tb_ShearInterpPerc glbl
修改仿真目录下的modelsim.ini,把前面指定库路径的命令粘贴进去。
Novas.dll有自己手动放置在指定目录,文件来自于Debussy安装目录E:\EDA\Novas\Debussy\share\PLI\modelsim_fli54\WINNT,支持如下:
在DOS命令行模式下转到仿真目录,输入run.bat即可仿真。
Debussy观察波形
结束后打开Debussy,在nTrace界面中导入HDL源文件,然后点New Waveform,在打开的nWave界面中open生成的fsdb 文件,按g或点get signal,选择需要观察的信号确定即可开始观察。
Modelsim, Debussy联合仿真Xilinx的更多相关文章
- Xilinx ISE如何调用Modelsim进行联合仿真
图: 在对设计的芯片进行测试时,经常要用到FPGA,可是里面的仿真工具却不如Modelsim那么好用,且在规模比较大时,ISE在仿真时,软件经常会报告内存限制的问题,此时一般会切换到Modelsim软 ...
- vivado与modelsim的联合仿真(二)
最近在做Zynq的项目,曾经尝试使用ISE+PlanAhead+XPS+SDK组合和Vivado+SDK来搭建工程,使用中发现前者及其不方便后者有诸多不稳定.近期得闻Xilinx退出Vivado20 ...
- 通过文件读写方式实现Matlab和Modelsim的联合仿真
虽然Modelsim的功能非常强大,仿真的波形可以以多种形式进行显示,但是当涉及到数字信号处理的算法的仿真验证的时候,则显得有点不足.而进行数字信号处理是Matlab的强项,不但有大量的关于数字信号处 ...
- (转)Quartus II和Modelsim的联合仿真(详细)
这篇文章不需要在modelsim中建库.映射.建工程等一些繁琐的步骤,直接使用modelsim中的默认work库.使用quartus+modelsim联合仿真. 首先推荐一篇文章 http://www ...
- Vivado关联Modelsim进行联合仿真
Vivado自带仿真工具,但是有点慢,关联Modelsim联合仿真是最好的,注意Modelsim必须是10.7以上版本. 1.安装并成功破解Modelsim 10.7. 2.打开Vivado,点击 T ...
- vivado与modelsim的联合仿真
转载: 一.在vivado中设置modelsim(即第三方仿真工具)的安装路径.在vivado菜单中选择“Tools”——>“Options...”,选择“General”选项卡,将滚动条拉倒最 ...
- vivado与modelsim的联合仿真(一)
vivado软件中也自带仿真工具,但用了几天之后感觉仿真速度有点慢,至少比modelsim慢挺多的.而modelsim是我比较熟悉的一款仿真软件,固然选它作为设计功能的验证.为了将vivado和mod ...
- Matlab/Modelsim图像联合仿真平台
FPGA图像仿真平台 1 引言 在使用modelsim进行图像算法的功能仿真时,无法得到图像的实时预览,因此直观性有所欠缺.因此可配合matlab使用,通过modelsim读出txt格式的图像,利用m ...
- vivado2013.4和modelsim联合仿真
vivado2013.4和modelsim联合仿真 Hello,Panda 最近在做Zynq的项目,曾经尝试使用ISE+PlanAhe ...
随机推荐
- Pascal运行错误表
(A)DOS错误代码 1:错误的功能代码尝试错误的操作系统调用.2:文件未找到程序试图删除.重命名和打开一个不存在的文件.3:目录未发现目录不存在或是错误,也有可能是访问一个不存在的文件.4:打开太多 ...
- CentOS进行yum操作时不能访问国外镜像的解决方案
1. 例如执行yum update,经常报错“Cound not resolve host: xxxxx”,一般都是yum源是使用的国外镜像,国内访问很不好.这时可以将源手动替换为国内的清华大学源,或 ...
- windows中Read函数引发数据异常的问题
[摘要] 在Window C/S开发中少不了客户端与服务端数据通信的情况,每当客户端从服务端获取数据时会将数据读到本地本件或缓存中,例如通过CInternetFile类的Read函数会将网卡缓存中的数 ...
- 获取url参数(jq 扩展包)
(function($){ $.extend({ urlGet:function(url) { var getUrl = url ? url.split("?") : window ...
- Network Initialization: Fan-in and Fan-out
https://github.com/pytorch/pytorch/blob/master/torch/nn/init.py @weak_script def _calculate_fan_in_a ...
- 树莓派中安装ubuntu及相关设置
一.下载并烧录系统 首先准备好我们要烧录的ubuntu_meta系统,可以在树莓派官网中下载https://www.raspberrypi.org/downloads/ 这里我们选择 Raspberr ...
- Java时间格式字符串与Date的相互转化
目录 将Date转化为格式化字符串 时间格式字符串转化为Date @ 将Date转化为格式化字符串 将Date转化为格式化字符串是利用SimpleDateFormat类继承自 java.text.Da ...
- spring aop使用,spring aop注解,Spring切面编程
================================ ©Copyright 蕃薯耀 2020-01-21 https://www.cnblogs.com/fanshuyao/ 一.第一步, ...
- 修改json数据中key(键值)
//方法一:修改JSONObject的键 public static JSONObject changeJsonObj(JSONObject jsonObj,Map<String, String ...
- 数组的concat连接
let arr1 = [1,3,5],arr2 = [2,32,78],arr3 = [];arr3 = arr1.concat(arr2);// arr1 = [1,3,5] arr2 = [2,3 ...