小梅哥Xilinx FPGA学习笔记21——IP核之RAM实验

这篇博客主要介绍了FPGA中RAM的配置和设计,包括单端口RAM的IP核配置、读写模块设计,以及伪双端口RAM的配置过程和仿真结果。通过小梅哥和正点原子的教程,详细阐述了RAM的工作原理和实践操作。
摘要由CSDN通过智能技术生成

目录

一: RAM 简介

1.1 存储器的分类

二: 单端口ram配置

2.1 单端口 RAM 的框图

2.2 RAM IP 核配置

2.3 RAM 读写模块设计

2.4 顶层模块设计

2.5 仿真测试文件代码

2.6 仿真结果

三:伪双端口配置(小梅哥)

3.1 伪双端口框图

3.2详细配置流程图

3.2 激励文件设计代码

3.3 仿真结果

四:伪双端口配置(正点原子)

4.1 RAM 写模块设计

4.2 RAM 读模块设计

4.3 顶层文件设计

4.4 仿真文件

4.5 仿真结果


: RAM 简介

1.1 存储器的分类

在了解 RAM IP 核之前,我们先来看下存储器的大致分类,如下图所示:

             

       由上图可知,存储器包括随机存储器和只读存储器,随机存储器包括静态 RAM 动态 RAM 。静态 RAM只要有供电,它保存的数据就不会丢失;而动态 RAM 在供电的情况下,还需要根据其要求的时间来对存储 的数据进行刷新,才能保持存储的数据不会丢失。
       静态 RAM 一般包括 单端口 RAM 简单双端口RAM 真双端口 RAM。 静态 RAM 的特点是存储容量相对不是很大,但是读写速度非常高,
       动态 RAM 一般包括 SDRAM DDR SDRAM 。目前 DDR SDRAM 已经从 DDR1 代发展到 DDR5 代了, DDR3 DDR4 SDRAM 是目前非常主流的存储器, 其特 点是存储容量非常大、但是读写速度相比于静态 RAM 会稍低一些
       只读存储器 一般包括 PROM EPROM EEPROM 等,是非易失性的存储器。目前使用率较高的是 EEPROM ,其特点是容量相对较小,存储的一般是器件的配置参数信息,
本次我们学习的 RAM 属于 静态 RAM ,我们重点看下几种静态 RAM 的特性与区别:

不同的特性决定不同的应用场景,在 RAM 的实际应用中,我们一般根据功能需求和带宽需求来选择合适的 RAM 类型,

二: 单端口ram配置

        Vivado 软件自带的 Block Memory Generator IP ,可以用来配置生成 RAM 或者 ROM RAM 是一种随机存取存储器,不仅可以读出存储的数据,同时还支持对存储 的数据进行修改,而 ROM 是一种只读存储器,也就是说,在工作时只能读出数据,而不能写入数据。需要 注意的是,配置生成的 RAM 或者 ROM 使用的都是 FPGA 内部的 BRAM 资源( Block RAM ,即块随机存 储器,是 FPGA 厂商在逻辑资源之外,给 FPGA 加入的专用 RAM 块资源),只不过配置成 ROM 时只用到 了嵌入式 BRAM 的读数据端口。本章我们主要介绍如何将 BMG IP 核配置成 RAM

2.1 单端口 RAM 的框图

各个端口的功能描述如下:

2.2 RAM IP 核配置

关于具体每一张图中的具体选项的含义可详见正点原子的《领航者ZYNQ 之 FPGA 开发指南》P542

小梅哥学习Xilinx FPGA期间进行了积极的探索,特别是对Cyclone V SOC的开发流程进行了学习。从裸机到基于Linux嵌入式系统,小梅哥实现了FPGA和ARM Cortex-A9 CPU之间的双向控制和数据传输。 在代码编写方面,小梅哥设计了一个名为mux2的模块,用于实现二选一多路器。模块包含了输入和输出端口,并通过assign语句实现了信号的赋值。 在激励文件中,小梅哥使用reg和wire定义了输入和输出信号,并通过mux2模块进行了实例化。然后,通过initial块生成了一系列的激励信号,对模块进行仿真。 总结来说,小梅哥Xilinx FPGA学习笔记中记录了自己对Cyclone V SOC的学习、代码编写和激励文件的使用。这些学习内容对于理解FPGA开发流程以及实现特定功能非常有帮助。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [FPGA自学笔记——设计与验证VIP版.pdf](https://download.csdn.net/download/qq_30307853/11656682)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [小梅哥Xilinx FPGA学习笔记1——二选一多路器](https://blog.csdn.net/weixin_42454243/article/details/122026484)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值