Quartus 与modelSim联合仿真常见错误以及系统任务$readmemb和$readmemh解释
系统任务$readmemb和$readmemh
这两个系统任务用来从文件中读取数据到存储器中。可以在仿真的任何时刻被执行使用,使用格式共六种:
(1) $readmemb(“<数据文件名>”,<存储器名>);
(2) $readmemb(“<数据文件名>”,<存储器名>,<起始地址>);
(3) $readmemb(“<数据文件名>”,<存储器名>,<起始地址>,<结束地址>);
(4) $readmema(“<数据文件名>”,<存储器名>);
(5) $readmema(“<数据文件名>”,<存储器名,<起始地址>>);
(6) $readmema(“<数据文件名>”,<存储器名>,<起始地址>,<结束地址>);
在这两个系统任务中,被读取的数据文件的内容只能包含:空白位置(空格、换行、制表格、注释行、二进制或十六进制的数字。数字中不能包含位宽说明和格式说明,对于$readmemb系统任务,每个数字必须使二进制数字,对于$readmemh系统任务,每个数字必须使十六进制数字。数字中不定值x或X,高阻值z或Z,和在下划线(_)的使用方法及代表的意义与一般Verilog HDL程序中的用法和意义是一样的。另外,数字必须用空白位置或注释行来分隔开。
对于上面6种系统任务格式,需补充说明一下5点:
(1) 如果系统任务声明语句中和数据文件里都没有进行地址说明,则默认存放起始地址为该存储器定义语句中的起始地址。数据文件里的数据被连续存放到该存储器中,直到该存储单元存满为止或数据文件里的数据存完。
(2) 如果系统任务中说明了存放的起始地址,没有说明存放的结束地址,则数据从起始地址开始存放,存到该存储器定义语句中的结束地址为止。
(3) 如果系统任务声明语句中,结束地址和起始地址都进行了说明,则数据文件里的数据按该起始地址开始存放到存储单元中,直到该结束地址,而不考虑该存储器的定义语句的起始地址和结束地址。
(4) 如果地址信息在系统任务和数据文件里面都进行了说明,那么数据文件里的地址必须在系统任务中地址参数声明的范围之内。否则提示错误,并且装载数据到存储器中的操作被中断。
(5) 如果数据文件里的数据个数和系统任务中起始地址及结束地址暗示的数据个数不同的话,也要提示错误信息。
错误:
Warning: (vsim-7) Failed to open readmem file "E:FPGAFIRmen.txt" in read mod
1.首先检查语句中的路径是否正正确,语句中的文件名是否正确,存储器的大小与文件中数据的大小以及长度是否匹配
2. 把文件名改成 *.dat试试。
3. *.data 中的数据个数和你的Vmem的个数要一致,上述程序,dat文件中要有4个数据,多一个少一个好像都不行。
4. $readmemb 是读二进制文件, $readmemh是16进制文件,个人觉得后面一个方便些。
5. 数据文件名那里只写文件名好了,如果找不到,把文件放在同一个工程目录下试试
Quartus 与modelSim联合仿真常见错误以及系统任务$readmemb和$readmemh解释相关推荐
- 超详细 quartus 新建工程 及 quartus 和 modelsim 联合仿真 以及 modelsim 的简易教程
文章目录 一.新建工程 1. 新建工程 2. 添加源文件以及ip核并编译 添加代码文件 添加IP核 编译 3. 自动生成testbench文件并添加路径到工程中 生成testbench文件 添加tes ...
- quartus和modelsim联合仿真详细教程
利用quartus和modelsim联合仿真的功能,实现功能产生波形.详细步骤如下: 1.编辑verilog HDL语言 本次拟实现组合逻辑功能,其代码如下: 此为一组合逻辑电路,其原理图可在quar ...
- Quartus与Modelsim联合仿真ROM IP时输出波形一直为零的问题以及ROM配置仿真教程
本人近期在使用Quartus Prime与 ModelSim联合对ROM IP进行仿真时,遇到了一个问题,仿真输出波形一直为零.如下图,其中neur_W即为ROM的输出. 在反复确认本人代码没有问题后 ...
- Quartus与ModelSim联合仿真启动ModelSim失败(已解决)
今天学习使用Quartus启动ModelSim对rtl文件进行仿真,RTL simulation报错,无法启动ModelSim: 看了很多博客,可以在ModelSim的directory结尾加\,但我 ...
- Quartus与modelsim联合仿真报错--Fatal error in Process MEMORY
ROM初始化存储文件路径问题 工程联合仿真时出现下列错误. # ** Error: (vsim-7) Failed to open VHDL file "./VHDL/ROM_WAVE/ha ...
- Quartus II与ModelSim联合仿真
Quartus II与ModelSim联合仿真 目录 Quartus II与ModelSim联合仿真 一.创建新工程 二.创建新文件 三.配置ModelSim的路径 四.关联Test Bench文件 ...
- 打怪升级之modelsim联合仿真
为什么要联合仿真 Quartus工程联合modelsim的仿真主要任务是将Quartus中的一些IP核也配置到modelsim中去,这样写出来的东西才方便. 准备好你的工程文件 如题,tb文件和v文件 ...
- 关于Vivado和Modelsim联合仿真的爱恨情仇
关于Vivado和Modelsim联合仿真的爱恨情仇 心路历程 版本对应 仿真设置 错误解决 关于使用modelsim查看状态转移图 心路历程 vivado自带仿真工具虽然可以使用,但是每一次修改代码 ...
- 【FPGA】vivado和modelsim联合仿真
文章目录 二.遇到的问题 三. 参考资料: 二.遇到的问题 1. 错误一: # ** Fatal: (vsim-3693) The minimum time resolution limit (10f ...
最新文章
- 朱晔的互联网架构实践心得S1E9:架构评审一百问和设计文档五要素
- 这样出ORACLE的面试题
- access对比数据_数据仓库系列之数据质量管理
- kubernetes ConfigMap和Secret:配置应用程序
- 理解一个名词:用户代理(user agent)
- 中关村海龙大厦-买本上当经历给大家提个醒
- springboot整合curator实现分布式锁
- Centos下安装Oracle12c
- Learning ROS: Using Sensors and Actuators with ROS -在ROS中使用传感器和执行器
- Lucene为不同字段指定不同分词器(转)
- 五、Google Code Prettify:实现代码高亮的JS库
- nginx 文件服务器_Nginx必不可少啊!!!
- Delphi基础教程第一季
- 【机器学习】(5.4)聚类--密度聚类(DBSCAN、MDCA)
- 怎样解题:写题解思考问题的原则
- 人脸数据清洗方法+代码汇总
- HackMyvm(九)Gigachad持续更新
- 快捷指令 python_有没有硬核的iOS快捷指令推荐(实用性)?
- 输入一个数,判断它是否是素数,如果是素数输出yes,否则输出no
- CAD/CAM/CAE基础(四) CAM
热门文章
- 【NOI OpenJudge】【1.3】编程基础之算术表达式与顺序执行
- 【Luogu1363】幻想迷宫
- 红帽子企业版linux 7,红帽企业 Red Hat Enterprise Linux 7.8 发布
- linux空间满了有什么问题,Linux 空间满问题分析 [ Keep Coding ]
- java jdbc 批量更新_java,jdbc,大量数据update更新效率很慢,哪位大神可怜可怜我吧...
- SQL Server高级查询之常见数据库对象(视图)第五章节
- dbc文件c语言解析标准,DBC文件解析CAN信息
- 考研数据结构--严版图相关代码 自用
- 2016蓝桥杯C++A:快速排序(详解版,很快掌握)
- C#数据流:文件流、内存流、网络流