FPGA-ROM IP核的使用

1.理论

  • ROM全称:Read-Only Memory,也就是只读型固态半导体存储器,即一旦存储信息,无法再改变,信息也不会因为电源关闭消失。但在FPGA中,实际使用的ROM IP核并不是真正的ROM,其实都是内部的RAM资源,也就是掉电导致信息丢失。ROM IP核的作用就是在使用前添加相应的mif文件,通过mif数据文件给ROM模块初始化,使其看起来像一个掉电非易失存储器
  • ROM IP核分类:
    单端口ROM:一个读地址端口,一个读数据端口,只读。
    双端口ROM:两个读地址端口,两个读数据端口,只读。

2.实践

2.1 配置ROM IP核

软件平台:Quartus II

  • 前期准备
    建立4个文件夹
    在这里插入图片描述
    在第二个工程文件夹里新建一个IP核文件夹
    在这里插入图片描述

  • ROM初始化文件
    新建一个工程,并选择“Memory Initialization File”
    在这里插入图片描述
    设置容量和位宽
    在这里插入图片描述
    在这里插入图片描述
    通过软件平台自带数据填充功能生成数据
    在这里插入图片描述
    根据数据容量,设置最大值为255,每次增加1个数
    在这里插入图片描述
    生成256个数据
    在这里插入图片描述
    保存这个文件为.mif格式,存放在之前建立的IP核文件夹中
    在这里插入图片描述

  • 创建ROM IP核
    打开IP核配置界面
    在这里插入图片描述
    设置IP核存放位置
    在这里插入图片描述
    默认设置
    在这里插入图片描述
    取消勾选‘q’output port
    在这里插入图片描述
    将初始化的mif文件导入到这个位置
    在这里插入图片描述
    next
    在这里插入图片描述
    这里只勾选inst,文件
    在这里插入图片描述
    完成整个IP核的创建,qip文件被添加到工程文件目录下
    在这里插入图片描述

小结

今天主要介绍了ROM IP核的相关内容,通过编写初始化文件,最后创建了一个可以使用的ROM IP 核。由于时间关系,还没设计如何使用这一部分内容的实践,明天继续ROM IP核的实际使用小实战。

最后分享一句雷总最近演讲中的话:
“一个人对奇迹的信念,永远是一个奇迹能够产生的首要前提。”
坚持做难而正确的事。

相关推荐

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-23 05:04:05       52 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-23 05:04:05       54 阅读
  3. 在Django里面运行非项目文件

    2024-07-23 05:04:05       45 阅读
  4. Python语言-面向对象

    2024-07-23 05:04:05       55 阅读

热门阅读

  1. 设计模式实战:图形编辑器的设计与实现

    2024-07-23 05:04:05       16 阅读
  2. 2.5.LeNet

    2.5.LeNet

    2024-07-23 05:04:05      17 阅读
  3. transient

    2024-07-23 05:04:05       15 阅读
  4. pytorch深度学习框架基本介绍

    2024-07-23 05:04:05       16 阅读
  5. 数学建模(5)——逻辑回归

    2024-07-23 05:04:05       14 阅读
  6. SpringMVC中的注解驱动

    2024-07-23 05:04:05       14 阅读