quartus ii中仿真rom时遇到的问题(待完善)
1.modelsim仿真只支持.hex,并不支持.mif(Memory Initialzation File)。
2.在Matlab中生成.mif文件,然后再quartus中打开,转换为hex格式后另存为。
3.让modelsim支持hex,https://wenku.baidu.com/view/48e7216704a1b0717fd5dda0.html?re=view
4..hex文件要在modelsim工程下,还是quartus工程下???
以上是之前遇到这个问题时候在网上找到的解决方法,就先放着。
这个问题搞了两天了,今天终于有些明白了,写出来记录一下。
一、modelsim能不能调用.mif文件。
对于这个问题,我的答案是能(网上有好多帖子都说modelsim只支持.hex,不支持.mif),其实持不支持的观点也并不是错了。下面我就来说说我的理解。
当.mif中的数据是非负数时,modelsim是能够支持的,当存在负数时,modelsim就会将它默认作为0进行处理,并且给出常遇到的错误提示:
ERROR: sin.mif, line 2055, Invalid Altera-mif record.
这个提示指出了在.mif中出现的负数的位置,line 2055,你可以去.mif文件中查看这一行中的数据,或者是在这一行的附近,应该会是一个负数。之所以说modelsim支持.hex文件,是因为负数在存储时,是按照补码的形式存的,而.mif默认是按照十进制或者说是原码进行存储的。
二、rom仿真中出现的问题。
解决了上面的问题,那么再来看看如何在modelsim中调用rom。(如果你要存储的数据中含有负数,那就生成.hex文件吧,生成的方法可以在参照文章开头的2中那样去处理)。
仿真rom无非是查找表中的数据,那么就会有地址和数据,上面解决了数据的问题,再来看看地址的处理。当你把存储地址的变量声明为reg类型时,切记要进行初始化,因为reg类型的数据,默认的初始值是不定的,即为x。(准备再写一个介绍仿真时初始化的问题)
quartus ii中仿真rom时遇到的问题(待完善)的更多相关文章
- 如何在Quartus II中设置Virtual pin
为了验证FPGA工程中的某个模块的功能和时序的正确性,常常需要对其单独进行验证,但是这些模块通常都与内部的众多信号相连(如系统总线,中断信号线等),往往一个模块的对外接口引脚会多达几百个,对其单独仿真 ...
- Quartus II中FPGA的管脚分配保存方法
一.摘要 将Quartus II中FPGA管脚的分配及保存方法做一个汇总. 二.管脚分配方法 FPGA 的管脚分配,除了在QII软件中,选择“Assignments ->Pin”标签(或者点击按 ...
- (转载)Quartus II中FPGA的管脚分配保存方法(Quartus II)
一.摘要 将Quartus II中FPGA管脚的分配及保存方法做一个汇总. 二.管脚分配方法 FPGA 的管脚分配,除了在QII软件中,选择"Assignments ->Pin&quo ...
- 在Quartus II中分配管脚的两种常用方法
在Quartus II中分配管脚的两种常用方法 示范程序 seg7_test.v 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 /* * ...
- 在Xilinx ISE中生成ROM时需要注意的事
在Xilinx ISE中生成ROM时,需要指定.coe文件.需要做到两件事.其一,要使用memory_initialization_radix= ; memory_initializatoin_vec ...
- 设置 Quartus II 的仿真时间大于 1us
Quartus II 仿真的默认时长是 1us. 设置时钟时看到 End time 想修改时长,把默认的 1us 改成 10us. 然后提示 End time 不合法.(只能设置为 0 到 1us) ...
- Quartus II 中参数化模块库(LPM)的使用
Quartus II 的LPM库所在的目录是\altera\11.0\quartus\libraries\megafunctions 现以LPM_MULT为例进行演示: 思路:1.首先创建一个pro ...
- 转载.怎样在Quartus II中转化HDL文件为bsf文件?
步骤1 新建或打开Quartus II工程,用QII自带文本编辑器打开HDL文件. 图1 用QII自带的文本编辑器打开HDL文件 步骤2 选择File>Create / Update>Cr ...
- Quartus II中的Waring(转)
1.Found clock-sensitive change during active clock edge at time <time> on register "<n ...
随机推荐
- bootstrap select2 参数详解
Select2使用示例地址: https://select2.github.io/examples.html Select2参数文档说明: https://select2.github.io/opti ...
- 学习笔记——Java核心技术之接口、继承与多态练习题
1.创建一个抽象类,验证它是否可以实例化对象. package com.lzw; public abstract class UseCase3 { abstract void doit(); publ ...
- AlloyTouch之无限循环select插件
写在前面 当滚动的内容很多,比如闹钟里设置秒,一共有60项.让使用者从59ms滚回01ms是一件很痛苦的事情,所以: 在列表项太多的情况下,我们希望能够有个无限循环的滚动.00ms和01ms是无缝链接 ...
- 讲一个使用jquery-slick旋转木马效果插件案例
效果展示连接 http://www.jqcool.net/demo/201405/jquery-slick/ 今天刚接触这个插件,被这插件搞的大脑风暴了 所以来记录一下使用方法 首先注意一点 不特别标 ...
- App Store 审核 IPv6 问题
应用提交了N次,每次被拒都是说IPv6的事情,花点功夫把这个事情搞清楚. 苹果审核人员回复的原因都差不多,说在他们的IPv6-Only的环境中测试应用,无法正常请求我们的服务器. 因为我们的域名确实没 ...
- Java设计模式之《职责链模式》及应用场景
原创作品,可以转载,但是请标注出处地址:http://www.cnblogs.com/V1haoge/p/6530089.html 职责链模式(称责任链模式)将请求的处理对象像一条长链一般组合起来,形 ...
- 利用内核cgroup机制轻松实现类似docker的系统资源管控
近几年,以docker为代表的容器技术异常火热,它的轻量.高效让人欣喜若狂,它被赋予了改变传统IT运维的使命.相信随着时间推移,以容器云为落地形式的产品将真正实现这一使命. 我们都知道docker能够 ...
- java算法 蓝桥杯(题+答案) 压缩变换
10.压缩变换 (程序设计) 小明最近在研究压缩算法.他知道,压缩的时候如果能够使得数值很小,就能通过熵编码得到较高的压缩比.然而,要使数值很小是一个挑战. 最近,小明需要压缩一些正整数的序列,这些 ...
- 1339 / 1163: [Baltic2008]Mafia
1163: [Baltic2008]Mafia Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 96 Solved: 60[Submit][Statu ...
- java+++IO流操作
序:IO流的操作主要分为两种读和写.一方面:我们可以通过不加缓冲类字符流BufferedReader/Writer和字节流BufferedInputStream/OutputStream来进行简单的读 ...