令新手头疼的modelsim库编译
估计很多人买了CB哥的书来看吧,他们在学习modelsim仿真的过程中可能遇到过明明是按照书上的步骤添加器件库的了,但还是出现如下的错误:
首先,我想说的是CB哥书上的modelsim-altera10.1d是随QuartusII一起安装的,它已经编译了altera的器件库。它是一个免费版的仿真工具,不需要破解,当然它的功能不是最强大的,仿真速度也不是最快的,但已经可以满足我们一般的仿真了。有些人可能装了速度较快的SE版本的不带altera器件库的modelsim,这时器件库的问题就来了,尤其是那些新手。为了搞定上图的错误,在这里给出了一种解决办法,希望对大家有所帮助。
(1)在我们的设计中经常会用到宏定义模块,这是就需要我们添加altera器件库,其中必要的编译资源文件有quartusII安装目录/eda/sim_lib下的220model.v和altera_mf.v(以Verilog描述电路),另外还常用到PLL,因此还要目标器件库,如quartusII安装目录/eda/sim_lib下的cycloneive_atoms.v等。接下来,让我们开始编译我们指定的器件库。以上一篇博文安装的modelsim se 6.5g来进行库的编译,首先在modelsim的安装目录下新建altera文件。
(2)启动modelsim仿真软件,点击“File”--->“Change Directory…”,在弹出的对话框中选择刚刚在modelsim安装目录下新建的altera文件,点击“确定”。
(3)点击“File”--->“New”--->”Library…”,输入库的名字:220model以新建一个库,点击“OK”。
(4)点击“Compile”--->”Compile…”,在弹出的对话框中,选Library为刚刚新建的220model,查找范围为quartusII安装目录/eda/sim_lib,选择220model.v,然后点击“Compile”,“Done”。
(5)同理,在altera文件下新建库文件altera_mf和cycloneive_atoms,然后将quartusII安装目录/eda/sim_lib下的编译资源文件altera_mf.v和cycloneive_atoms.v编译到相应的库文件。
(6)接着将上面编译的库添加到modelsim.ini文件中。右击modelsim安装目录下的modelsim.ini文件,选择“属性”,去掉只读。
(7)打开modelsim.ini文件,添加如下内容,然后关闭文件,并加上只读属性。
(8)以后打开modelsim,都可以看到我们添加的库。
(9)接下来,以CB哥的Sobel边缘检测例程为例进行仿真,看是否还出现之前的错误。打开modelsim工程,点击“Compile”--->”Compile All”,结果出现以下问题:
(10)根据错误提示可知,找不到源文件,原因是我改变了modelsim工程的路径,从而无法找到源文件。解决方法是将工程中的源文件删掉(切不可勾选从磁盘中删除),重新加载源文件。
(11)从新全编译源文件,发现编译都通过。
(12)点击“Simulate”--->”Start Simulation…”,由于本设计中使用了Shift_RAM和PLL,需在Libraries选项卡下添加搜索库220model、altera_mf和cycloneive_atoms。
(13)切换到Design选项卡,展开库work,选中Video_Image_Processor_TB,点击“OK”开始仿真。
(14)结果发现没有信号出来,由编译信息可以设计被优化了。
(15)解决的办法是将modelsim.ini文件的“VoptFlow = 1”改为“VoptFlow = 0”(修改之前记得把modelsim.ini属性去掉,修改完后把只读改回来)。
(16)有时还会出现下面的问题,我个人的解决方法是重新建立工程,不知大家是否有更好的办法(希望互相告知)。
(17)重建工程后,再进行仿真就大功告成了。
我晕,现在已经凌晨2:30了,今早8:30还要实习呢!该睡了,88,晚安*^_^*
补充:如果第(15)点改的是当前工程下的modelsim.ini文件,就不会出现第(16)点的问题;或者通过菜单Simulate——>Start Simulate,然后将“Enable Optimization”的钩钩去掉也可解决该问题。
转载至http://blog.chinaaet.com/crazybird/p/39702#
令新手头疼的modelsim库编译的更多相关文章
- 68.vivado与modelsim的关联以及器件库编译
vivado软件中也自带仿真工具,但用了几天之后感觉仿真速度有点慢,至少比modelsim慢挺多的.而modelsim是我比较熟悉的一款仿真软件,固然选它作为设计功能的验证.为了将vivado和mod ...
- 将STM32的标准库编译成lib使用【图文】
以前一直使用STM32的标准库,需要一步步地将代码加进去,将编译选项设置好,然后再编译整个工程. 这个编译过程是一个相当慢的过程!完全编译大约需要一支烟的时间.每次建立工程都这么编译,是一个相当浪费时 ...
- 将STM32的标准库编译成lib
转载自:http://www.cnblogs.com/zyqgold/p/3189719.html 以前一直使用STM32的标准库,需要一步步地将代码加进去,将编译选项设置好,然后再编译整个工程. 这 ...
- iOS之 PJSIP静态库编译(三)
dada哪个所有静态库编译完成后还是不能运行那个demo,提示你找不到arm**.a 你lipo后要记得吧合并成.a 名字更改成你最后编译版本生成的.a名字....... 或者吧所有库add到你的工 ...
- iOS之 PJSIP静态库编译(一)
首先放上pjsip官方网站http://www.pjsip.org/download.htm 下载的时候注意while the .bz2 has LF line-ends and is for Uni ...
- C/C++ 跨平台交叉编译、静态库/动态库编译、MinGW、Cygwin、CodeBlocks使用原理及链接参数选项
目录 . 引言 . 交叉编译 . Cygwin简介 . 静态库编译及使用 . 动态库编译及使用 . MinGW简介 . CodeBlocks简介 0. 引言 UNIX是一个注册商标,是要满足一大堆条件 ...
- linux动态库编译和使用详细剖析
引言 重点讲述linux上使用gcc编译动态库的一些操作.并且对其深入的案例分析.最后介绍一下动态库插件技术, 让代码向后兼容.关于linux上使用gcc基础编译, 预编译,编译,生成机械码最后链接输 ...
- C++库编译
C++库编译 1. POCO编译 进入源文件目录,选择相应的VS版本进行编译(build_vs140). 设置系统环境变量: POCO_BASE 2. Boost编译 ####简单编译 在 ...
- 使用MDK将STM32的标准库编译成lib使用
1 .使用MDK将STM32的标准库编译成lib使用[图文] http://www.cnblogs.com/zyqgold/p/3189719.html
随机推荐
- kettle Spoon.bat运行闪退
1.情景展示 启动kettle的Spoon.bat闪退,并没有进入kettle的启动界面. 2.原因分析 使用条件: jdk版本需>=1.6: java需配置环境变量. 如果满足了上述前提条 ...
- 〖Linux〗Ubuntu14.04安装32位运行库
在终端操作: sudo dpkg --add-architecture i386 echo "deb http://old-releases.ubuntu.com/ubuntu/ rarin ...
- DUBBO本地搭建及小案例 (转)
DUBBO的介绍部分我这里就不介绍了,大家可参考官方文档. DUBBO的注册中心安装 DUBBO的注册中心支持好几种,公司用到zookeeper注册中心,所以我这边只说明zookeeper注册中心如何 ...
- 对TCP连接被重置解决方案的探究
分类: 网络与安全 对TCP连接被重置解决方案的探究——跨过GFW通向自由网络的可行途径 2010年05月25日 星期二 上午 00:19 这个标题有点长——其实开始只想写破折号之前的部分,因为这种技 ...
- stuff in /proc/sys/fs/
This subdirectory contains specific file system, file handle, inode, dentry and quota information. 1 ...
- 使用httpClient调用接口获取响应数据
转自:https://blog.csdn.net/shuaishuaidewo/article/details/81136088 import lombok.extern.slf4j.Slf4j; i ...
- Android开发环境——模拟器AVD相关内容汇总
Android开发环境将分为SDK相关内容.Eclipse ADT相关内容.模拟器AVD相关内容.调试器DDMS相关内容.日志LogCat相关内容.连接驱动ADB相关内容.内存泄露检测工具MAT相关 ...
- 【DeepLearning】Exercise:Softmax Regression
Exercise:Softmax Regression 习题的链接:Exercise:Softmax Regression softmaxCost.m function [cost, grad] = ...
- DHCP工作过程的六个主要步骤
对于学习DHCP来说,很重要的一部分就是对于DHCP工作过程的理解. DHCP分为两个部分:一个是服务器端,另一个是客户端. 所有客户机的IP地址设定资料都由DHCP服务器集中管理,并负责处理客户端的 ...
- POJ 2391 Ombrophobic Bovines (Floyd + Dinic +二分)
Ombrophobic Bovines Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 11651 Accepted: 2 ...