FPGA基础设计(八):串口访问ROM

这篇具有很好参考价值的文章主要介绍了FPGA基础设计(八):串口访问ROM。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

前言

将ROM中的数据读取出来,通过串口发送到上位机。

整体设计

FPGA基础设计(八):串口访问ROM,# FPGA基础设计,fpga开发

模块划分

1、按键消抖模块
2、ROM控制器模块
3、创建ROM IP核模块
4、串口发送模块
前面已经设计好了串口发送模块和按键消抖模块,还剩ROM IP的创建和控制ROM模块的设计。

读ROM控制模块设计

FPGA基础设计(八):串口访问ROM,# FPGA基础设计,fpga开发

1、address:读地址端口
2、q:读数据端口
3、设置单时钟模式clock来控制所有寄存器

如何读ROM
只要当前时刻给出写地址rdaddress,ROM输出端q就是对应地址的存储单元中的数据。
在什么时刻发送数据
一开始rdaddress为0,q是地址为0的存储单元中的数据,第一次按下按键,使能Send_en,发送数据,然后产生Tx_done标志信号,作为写地址自加的条件,同时又使能Send_en,
这样就实现了q端数据始终等于当前输入到ROM中的rdaddress对应的存储单元中的数据。


ROM IP核

ROM:只读存储器,只能读出事先所存的数据,一旦存储无法改变且掉电不丢失。

事实上在FPGA中通过IP核生成的ROM调用的都是FPGA内部的RAM资源,掉电数据丢失。
用IP核生成的ROM模块与RAM模块相比只是不能写数据而已,提前添加了数据文件(.mif格式),对ROM中的数据进行初始化

ROM的读操作与单端口RAM配置中的读操作相同。

  • 单端口ROM:提供一个读地址端口和一个读数据端口,只能进行读操作。
    FPGA基础设计(八):串口访问ROM,# FPGA基础设计,fpga开发
    address:读地址端口
    q:读数据端口
    addressstall_a:地址使能控制,为高电平时,有效地址时钟会保持之前的地址【创建IP时可选】;
    inclock、outclock:支持输入与输出时钟模式和单时钟模式;
               在输入与输出时钟模式下,输入时钟控制读地址寄存器;输出时钟控制数据q输出寄存器。
                在单时钟模式下,没有inclock、outclock,只有一个clock信号,可以通过单时钟以及时钟使能clockena来控制M9K存储器模块中所有寄存器。
    inclocken、outclocken:使能输入时钟和输出时钟;
    outaclr:异步复位信号。
    ROM模式没有写使能、字节使能、数据输入寄存器,写地址寄存器。

  • 双端口ROM:与单端口ROM类似,区别是提供两个读地址和两个读数据端口,看成两个单端口ROM的合并。

FPGA基础设计(八):串口访问ROM,# FPGA基础设计,fpga开发

这里只进行单端口ROM IP核的创建,实现对ROM中数据简单的读取就行。




创建单端口ROM IP核

.mif格式文件的制作
ROM中提前添加mif文件,对ROM中的数据进行初始化。
文件格式如下:

FPGA基础设计(八):串口访问ROM,# FPGA基础设计,fpga开发

一般mif格式文件的创建使用脚本进行转换,比如实现串口传图显示,将图像像素值数据存到ROM中;对应想测试对ROM中数据进行读取,使用Quartus II软件可以创建mif文件。

1、mif格式文件中生成的数据位宽是8bit,这里设置数据位宽为8bit;
设置存储容量为256个数据,即256个8bit数据;
选择单时钟模式,控制读地址寄存器和读数据寄存器;【若是双时钟模式,输入时钟控制读地址寄存器,输出时钟控制读数据寄存器】
FPGA基础设计(八):串口访问ROM,# FPGA基础设计,fpga开发





2、输出端口q是否需要寄存一拍,一般不选择;
ROM模式没有写使能;
这里也不勾选时钟使能信号、ROM异步复位信号aclr;
FPGA基础设计(八):串口访问ROM,# FPGA基础设计,fpga开发



3、加载数据文件,添加之前生成的mif格式文件
FPGA基础设计(八):串口访问ROM,# FPGA基础设计,fpga开发文章来源地址https://www.toymoban.com/news/detail-774143.html

到了这里,关于FPGA基础设计(八):串口访问ROM的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • FPGA设计开发(基础课题):七人表决器设计

    一、设计目的 1、熟悉MAX+PLUSⅡ、QUARTUSⅡ软件的使用; 2、熟悉EDA/SOPC、FPGA基本结构; 3、熟悉EDA开发的基本流程。 二、设计原理 所谓表决器就是对于一件事,由多个人投票,如果同意的票数过半,就认为此事可行;否则如果否决的票数过半,则认为此事不行。 七人表决器顾

    2024年02月08日
    浏览(82)
  • FPGA设计开发(基础课题):七段数码管设计

    一、设计目的 FPGA驱动七段数码管实现十六进制计数显示。 二、设计原理 七段数码管分共阳极与共阴极两种。共阳极数码管其工作特点是,当笔段电极接低电平,公共阳极接高电平时,相应笔段可以发光。共阴极数码管则与之相反,它是将发光二极管的阴极短接后作为公共阴

    2024年02月07日
    浏览(54)
  • FPGA设计开发(基础课题):74LS160计数器芯片设计

    一、设计目的 1、学会用HDL语言设计时序电路; 2、用HDL语言设计74LS160计数器芯片的数字功能。 二、设计原理 计数器是最常用的寄存器逻辑电路,从微处理器的地址发生器到频率计都需要用到计数器。一般计数器可以分为两类:加法计数器和减法计数器。加法计数器每来一个

    2024年02月08日
    浏览(57)
  • 【FPGA零基础学习之旅#14】串口发送字符串

    🎉欢迎来到FPGA专栏~串口发送字符串 ☆* o(≧▽≦)o *☆ 嗨 ~我是 小夏与酒 🍹 ✨ 博客主页: 小夏与酒的博客 🎈该系列 文章专栏: FPGA学习之旅 文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏 📜 欢迎大家关注! ❤️ 🥝 发送Hello: 🥝 发送数字字符并自

    2024年02月08日
    浏览(45)
  • (五)零基础学懂FPGA中的串口通信(UART)

    此篇为专栏 《FPGA学习笔记》 的第五篇,记录我的学习FPGA的一些开发过程和心得感悟,刚接触FPGA的朋友们可以先去此专栏置顶 《FPGA零基础入门学习路线》来做最基础的扫盲。 本篇内容基于笔者实际开发过程和正点原子资料撰写,将会详细讲解此FPGA实验的全流程, 诚挚 地

    2024年02月04日
    浏览(52)
  • 【FPGA零基础学习之旅#17】搭建串口收发与储存双口RAM系统

    🎉欢迎来到FPGA专栏~搭建串口收发与储存双口RAM系统 ☆* o(≧▽≦)o *☆ 嗨 ~我是 小夏与酒 🍹 ✨ 博客主页: 小夏与酒的博客 🎈该系列 文章专栏: FPGA学习之旅 文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏 📜 欢迎大家关注! ❤️ 🥝 输入数据: 🥝

    2024年02月08日
    浏览(48)
  • 5—基于FPGA(ZYNQ-Z2)的多功能小车—软件设计—蓝牙串口

    目录 1.蓝牙模块介绍 2.UART介绍 3.Verilog代码: 3.1Uart_RX模块: 3.2 分频模块: 3.3 Uart驱动模块 3.4 Uart控制模块 4. 总览   我使用的是JDY-31蓝牙模块,在连线中,要注意RX-TX,TX-RX。   即FPGA约束的TX对应蓝牙模块的RX,约束的RX对应蓝牙模块的TX。 蓝牙模块使用UART串口通信协议,具体

    2024年02月05日
    浏览(69)
  • ZYNQ之FPGA 片内ROM读写测试实验

    FPGA本身是SRAM架构的,断电之后程序就会消失,那么如何利用FPGA实现一个ROM呢,我们可以利用FPGA内部的RAM资源实现ROM,但这不是真正意义上的ROM,而是每次上电都会把初始化的值先写入RAM。Vivado软件中提供了ROM的IP核 , 我们只需通过IP核例化一个ROM,根据ROM的读时序来读取R

    2024年02月07日
    浏览(45)
  • [FPGA IP系列] FPGA常用存储资源大全(RAM、ROM、CAM、SRAM、DRAM、FLASH)

    本文主要介绍FPGA中常用的RAM、ROM、CAM、SRAM、DRAM、FLASH等资源。 RAM(Random Access Memory)是FPGA中最基本和常用的内部存储块,根据不同架构可以实现不同容量,最大可达几十Mb。 FPGA中的RAM主要包括: 分布式RAM:存在于逻辑块(LE)中的小容量RAM,通常为几百比特到几千比特。 块RAM:F

    2024年02月12日
    浏览(49)
  • FPGA_工程_基于Rom的VGA图像显示

    一 工程框图 框图中,CLK_in,Vga_ctrl,Vga_pic模块已有,只需要对顶层模块进行修改,并将rom ip例化添加到Vga_pic模块的.v文件中,对Vga_pic的.v文件进行一定修改。 二 理论补充 显示图像的方法:                           使用matlab将图像格式转化为,.mif数据文件,再使用.m

    2024年02月20日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包