工欲善其事,必先利其器。在使用Vivado自带的仿真软件仿真的时候,相对于更优秀的仿真工具Modelsim,效率低了很多,为了更高效的开发,我尝试着用Vivado级联Modelsim仿真,但是级联后还是有一些不方便,所以我便直接使用Modelsim独立仿真,但是对于IP Core的话,就需要添加Vivado IP Core的库文件,本人查阅了很多资料,最终实现了使用Modelsim仿真Vivado Clocking Wizard IP Core,软件版本,Vivado 2017.3、Modelsim SE10.4。具体流程如下,实测记录。

首先,在 Modelsim 的安装目录下新建一个文件夹,我这里是D:\Modelsim_10_4_se\Vivado_2017.3_lib

然后,打开Vivado软件,主界面菜单栏点击Tools下的Compile Simulation Libraries编译Vivado仿真库

弹出如下窗口然后按如图所示选择,1处路径为刚才我们新建的文件夹中,2处为Modelsim的运行程序路径。设置好后点击compile。

在编译的过程中窗口会打印出来如下信息。

等待一段时间,Vivado的库文件编译完成后我们可以看到文件夹下都是Vivado的库文件

然后使用Vivado新建一个调用的Clocking Wized IP Core的工程,编写好测试文件,然后再用Modelsim新建一个仿真工程,将测试文件和顶层添加进来。这里省略掉这些步骤。这里需要将IP Core中生成的两个文件添加进来,如下图所示。

直接在work右键点击test bench文件进行仿真会出现如下错误,这是因为没有添加所仿IP Core的库文件

点击标题栏simulator——start simulator,在work里选中test bench。

点击libraries,点击添加所需要的库,这里只需要simprims_ver

点击这里后还是会出现错误,打印出来的信息如下,提示缺少glbl模块,

这是Xilinx的全局复位模块,该模块的路径在你Vivado的安装路径里,比如我的是D:\Xilinx\Vivado2017.3\Vivado\2017.3\data\verilog\src中,把它添加到工程里面,在test bench中如图所示例化一下这个模块,然后重新仿真一次。

然后就可以看到波形了

我这里的测试工程师一个125Mhz分25Mhz的五分频。

接下来本人会继续尝试使用Modelsim仿真FIFO、RAM/ROM、Shift_RAM等常用IP Core,如果你有什么更加高效的方法,欢迎提出,欢迎指点。如果需要Modelsim软件请关注我的微信订阅号:开源FPGA,后台回复“Modelsim”即可获得,欢迎加入开源FPGA-交流群-I进行讨论,群号码:677163633。

转载请注明出处:NingHeChuan(宁河川)

个人微信订阅号:开源FPGA

如果你想及时收到个人撰写的博文推送,可以扫描左边二维码(或者长按识别二维码)关注个人微信订阅号

知乎ID:NingHeChuan

微博ID:NingHeChuan

原文地址:http://www.cnblogs.com/ninghechuan/p/8305925.html

Modelsim独立仿真Vivado Clocking Wizard IP Core的更多相关文章

  1. modelsim 独立仿真vivado的IP核及仿真脚本

    Modelsim独立仿真vivado的IP 最近一直在做local dimming项目的FPGA硬件实现,算法的其中一步就是直方图统计,即数字图像的某一灰度级的像素数,这个直方图的源码找了半天才搞到, ...

  2. [Xilinx]Modelsim独立仿真Vivado生成的PLL核

    EDA Tools: 1.Vivado 2015.1(64-bit) 2.Modelsim SE-64 10.1c Time: 2016.05.26 ------------------------- ...

  3. 基于Vivado调用ROM IP core设计DDS

     DDS直接数字式频率合成器(Direct Digital Synthesizer) 下面是使用MATLAB生成正弦波.三角波.方波的代码,直接使用即可. t=:*pi/^:*pi y=0.5*sin ...

  4. Vivado&ISE&Quartus II调用Modelsim级联仿真

    博主一直致力寻找高效的工作方式,所以一直喜欢折腾软件,从刚开始只用软件IDE自带的编辑器,到Notepad++,再到后来的Vim,从用ISE14.7自带的Isim仿真,到发现更好的Modelsim,再 ...

  5. Viavdo&ISE&Quartus II级联Modelsim级联仿真

    博主一直致力寻找高效的工作方式,所以一直喜欢折腾软件,从刚开始只用软件IDE自带的编辑器,到Notepad++,再到后来的Vim,从用ISE14.7自带的Isim仿真,到发现更好的Modelsim,再 ...

  6. ddr3调试经验分享(一)——modelsim实现对vivado中的MIG ddr3的仿真

    Vivado中的MIG已经集成了modelsim仿真环境,是不是所有IP 都有这个福利呢,不知道哦,没空去验证. 第一步:使用vivado中的MIG IP生成一堆东西 ,这个过程自己百度.或者是ug5 ...

  7. Modelsim SE 仿真 ALTERA FPGA IP

    Modelsim SE 仿真 ALTERA FPGA IP 最近,有几个朋友问过我是不是有新版本的Modelsim altera,其原因是 Qii 升级为新版本的,但是没配套的modelsim,没办法 ...

  8. 用Modelsim SE 直接仿真 Altera(Intel PSG) IP核 需要注意的问题

    如果我们直接用Modelsim SE仿真 Altera IP核,首先会进入Quartus II目录下找到IP核对应的仿真库源文件,然后在Modelsim SE中进行编译,添加到Modelsim SE的 ...

  9. Vivado 与 Modelsim 联合仿真

    1 编译库 用命令行 用vivado工具 vivado 有很多 IP核的接口 已经与 ISE的核 不太一样了,比如fir ,接口就是这样的: fir_lp fir_lp_ip(    .aclk  ( ...

随机推荐

  1. CentOS7给终端配置快捷键【转发】

    1.打开Applications,选择System Tools 2.选择Setting进入如下面界面,选择Keyboard 3.选择Keyboard,进入如下面界面,再点击Shortcuts 4.再点 ...

  2. (转)spring aop

    工作忙,时间紧,不过事情再多,学习是必须的.记得以前的部门老大说过:“开发人员不可能一天到晚只有工作,肯定是需要自我学习.第一:为了更充实自己,保持进步状态.第二:为了提升技术,提高开发能力.第三:保 ...

  3. Java加密与解密笔记(二) 对称加密

    前面的仅仅是做了编码或者摘要,下面看看真正的加密技术. DES public class DESUtil { static final String ALGORITHM = "DES&quo ...

  4. 学习Git的最佳资料

    1. ProGit中文版:https://git-scm.com/book/zh/v2 2. 廖雪峰的Git教程: http://www.liaoxuefeng.com/wiki/0013739516 ...

  5. 工作随笔——spring异步处理@Async使用笔记

    @Async使用笔记 必须是public方法 必须是非static方法 方法调用的实例必须由spring创建和管理 代码示例如下: // 创建Foo类@Component class Foo { @A ...

  6. Android开发之常见事件响应方式

    常见的事件有   (1)单击事件 onClickListener (2)长按事件 onLongClickListener (3)滑动事件 onTouchListener (4)键盘事件 onKeyLi ...

  7. Oracle数据库(三)表操作,连接查询,分页

    复制表 --复制表 create table new_table as select * from Product --复制表结构不要数据 在where后面跟一个不成立的条件,就会仅复制表的结构而不复 ...

  8. 网关 php-cgi fastcgi phpfpm

    本文同时发表在https://github.com/zhangyachen/zhangyachen.github.io/issues/88 关于网关的理解,一句话就是:作为一种翻译器,抽象出了一种能够 ...

  9. mysql创建新用户及新用户不能本地登陆的问题

    最近在搭建hadoop集群,主节点上面安装的MySQL数据库,对着方面不熟悉,为hive.Ooize等服务统一使用的root账号和密码,为了安全一些库对于某些用户是不可见的,所以需要针对不同的服务设置 ...

  10. Java面试题汇总

    第一阶段:三年我认为三年对于程序员来说是第一个门槛,这个阶段将会淘汰掉一批不适合写代码的人.这一阶段,我们走出校园,迈入社会,成为一名程序员,正式从书本 上的内容迈向真正的企业级开发.我们知道如何团队 ...