modelsim仿真ROM IP数据输出为0的解决办法

2023-05-16

  • 解决办法:把mif文件放在根目录下,和文件夹db同一级,File name就会直接显示这个文件名字
    在这里插入图片描述
  • 总结主要问题应该还是出在文件路径
  • 主要参考这篇博客 FPGA的ROM-IP核配置问题 https://blog.csdn.net/weixin_41059920/article/details/89841835
  • 参考博客 modelsim仿真ROM IP核没有输出数据问题如何解决https://blog.csdn.net/weixin_44939178/article/details/111928005

  • 参考博客编写代码测试 ROM IP核的使用(Verilog) https://blog.csdn.net/WJC1997/article/details/118994133
    在这里插入图片描述

  • 顶层模块 ROM,v

module ROM(clk, rst_n, q);
	input clk;
	input rst_n;
	
	output [7:0] q;
	wire [7:0]addr;
	
	//控制地址变化
	addr_ctrl addr_ctrl_dut(
	.clk(clk), 
	.rst_n(rst_n), 
	.addr(addr)
	);

	//IP核:ROM 
	rom_8x256 my_rom_dut(
	.address(addr),
	.clock(clk),
	.q(q)
	);
	
	endmodule
  • 地址模块
module addr_ctrl(clk, rst_n, addr);

	input clk;
	input rst_n;
	
	output reg [7:0] addr;		//控制ROM的地址变化(0~255)

	always@ (posedge clk,negedge rst_n)begin
		if(rst_n == 1'b0)
			addr <= 8'd0;
		else if(addr <= 8'd255)
			addr <= addr + 8'd1;
		else
			addr <= 8'd0;
	end
endmodule

  • 添加仿真文件tb_ROM.v进行测试
`timescale 1ns/1ns

module tb_ROM();

reg clk;
reg rst_n;

wire [7:0] q;

initial 
	begin
		clk = 1'b1;
		rst_n <= 1'b0;
		#10
		rst_n <= 1'b1;
	end
	
always #10 clk = ~clk;

ROM ROM_inst
(
	.clk(clk),
	.rst_n(rst_n),
	.q(q)
);

endmodule
  • 存在两个触发器,数据出现比地址出现晚了 2 个时钟周期
    在这里插入图片描述
    在这里插入图片描述

  • 踩坑记录点

  • 没有altera_mf文件仿真库,在modelsim中确实没看见这个仿真库,但有alter_mf_ver应该就行了
    在这里插入图片描述

  • 我在这个安装目录下看到是有这个文件的 \17.1\quartus\eda\sim_lib\altera_mf.v

  • 看mif文件是否加载进来可以直接点击Memory List选项卡,双击查看是否有数据
    在这里插入图片描述

  • 我试了这个改路径方法不太行 modelsim仿真ROM IP核遇到无法读取mif文件的解决方法 https://blog.csdn.net/huhangf362/article/details/86539478

  • 查看rom_8x256文件可以看出mif文件在project文件夹中
    在这里插入图片描述

  • 另外修改IP核的方法,把选项卡切到IP Components双击IP核即可
    在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

modelsim仿真ROM IP数据输出为0的解决办法 的相关文章

随机推荐

  • Apache HttpClient4.2入门

    介绍 HttpClient 是 Apache Jakarta Common 下的子项目 xff0c 用来提供高效的 最新的 功能丰富的支持 HTTP 协议的客户端编程工具包 xff0c 并且它支持 HTTP 协议最新的版本和建议 HttpC
  • JMX “javax.management.NotCompliantMBeanException” 异常解决

    原文章 xff1a http lovespss blog 51cto com 1907593 616403 昨天同事在JBoss中部署MBean时一直报错 xff1a Caused by javax management NotCompli
  • webservice-WSDL结构与各元素解析

    承接上一遍webservice初识 xff0c 这篇文章将着重于WSDL wsdl协议说明http www w3 org TR wsdl 结构 现在开始说说wsdl的结构以及各个元素的意义 从下面这张图可以看出wsdl中各元素是存在嵌套的关
  • 如何创建KVM后端盘

    在一台图形化虚拟机有KVM的虚拟机上创建后端盘 kvm虚拟化存储目录 cd var lib libvirt images 创建img文件 qemu img create f qcow2 node img 10G qemu img info
  • ansible-文献资料

    ansible文献资料具体请参见官方文档 xff1a http docs ansible com playbooks loops html
  • python语法结构(一)

    python完全靠缩进表达代码逻辑 顶层代码必须顶头写 xff0c 不能有任何空格 某个代码的子代码 xff0c 必须有缩进 xff0c 缩进多少都可以 xff0c 最好是4个空格 root nsd1905 bin python print
  • 关于pycharm中无法输入中文问题

    在centos中pycharm无法输入中文 xff0c 只能输入字符串 借鉴了几个其它文章问题终于解决 方法一 xff1a 更改输入源 首先查看是否安装ibus包 xff0c 如果没安装需要先安装 ibus table 1 5 0 5 el
  • Python语法结构(二)

    系统管理模块 shutil模块 shutil copyfileobj fsrc fdst length 将类似文件的对象fsrc的内容复制到类似文件的对象fdst 拷贝文件对象 gt gt gt import shutil gt gt gt
  • python语法结构(三)

    filter func seq 函数 是一个高阶函数 xff0c 它的第一个参数是函数 xff0c 第二个参数是序列对象 传给filter函数的函数 xff08 第一个参数 xff09 xff0c 它接受一个参数 xff0c 执行的结果必须
  • win10 ESP盘符问题(隐藏系统分区)

    window10隐藏系统分区 xff1a 打开cmd 输入 xff1a diskpart 输入 xff1a list 选择磁盘 xff1a select disk 0 选择分区 xff1a list select partition 0 隐
  • C语言版随机分配座位问题

    include lt stdio h gt include lt stdlib h gt include lt time h gt define COUNT 50 int main int argc char argv int tmp 61
  • 联想ThinkPad打开相机(腾讯会议)是一个锁或相机上有一个斜杠

    找到联想这篇文章 xff0c 打开相机应用摄像头无法使用 xff0c 显示小锁的图标处理方法https iknow lenovo com cn detail dc 199493 html xff0c 原因是联想电脑管家中打开了隐私设置 打开
  • Quartus17查看安装的器件Assignments -> Devices

    Assignments gt Devices 吐槽一下这么多年了Altera还是Cyclone
  • Quartus17运行仿真RTL Simulation

    仿真按键下面有个波形 xff0c Quartus13应该是在开始Run Compilation按键旁边Tools gt Run Simulation Tool gt RTL Simulation
  • Quartus17绑定管脚Pin Planner

    直接在菜单点击Pin Planner 或者Assignments gt Pin Planner
  • Quartus17下使用Modelsim10进行仿真

    可以在新建工程Simulation中选择Modelsim 编写完仿真文件后 xff0c Assignments点击Settings 点击Simulation xff0c 之前创建工程下选择仿真工具Modelsim后这里直接选择Test Be
  • Quartus17打开RTL视图

    其他版本Quartus类似 xff0c 位于右下进度图 展开Analysis amp Synthesis下的Netlist Viewers xff0c 点击RTL Viewer就可以查看RTL视图
  • Quartus17下载程序进FPGA

    点击菜单栏的Programmer xff08 上面有下载线 xff09 xff0c 显示连接USB Blaster xff0c 点击Start就开始下载程序 xff0c 成功显示100
  • Quartus17报错Top-level design entity “dff“ is undefined的解决办法

    报错原因没写但可以根据上一条警告可以知道 xff0c 和Quartus中dff模块 primitive 冲突了 解决办法 xff1a 修改顶层文件名字 xff0c 并设置为顶层文件 xff0c 再重新编译 同步复位D触发器的RTL视图 mo
  • modelsim仿真ROM IP数据输出为0的解决办法

    解决办法 xff1a 把mif文件放在根目录下 xff0c 和文件夹db同一级 xff0c File name就会直接显示这个文件名字 总结主要问题应该还是出在文件路径主要参考这篇博客 FPGA的ROM IP核配置问题 https blog