FPGA初级课程第十五讲 RAM
FPGA初级课程第十五讲 RAM
Hi,大家好!我是至芯科技的李老师。
今天讲课的题目是:RAM。
本节课我先简要地介绍一下RAM(随机存取存储器)的基本概念,然后实际演示一下应用RAM的IP核来进行RAM逻辑电路的建模与仿真,并通过仿真查看效果。
我们打开至芯科技编写的《12.炼狱传奇-RAM之战.pdf》文档。
在前面的课程,我们学习了ROM,接下来我们一起来学习另一个IP核的使用—片内存储器RAM。
恰当地使用各种已有IP核资源,能使您的设计事半功倍,实现高效开发。
与只读不写的ROM相比,RAM既能读出,也能写入,这也是它作为随机存取存储器的基本特性。
存就是写入,取就是读出。
下面我们就来使用RAM的IP核设计一个既有RAM写入也有RAM读出的逻辑,每次写入0~255循环,而且每次的初始值发生变化(比如:依次加128,方便观察是否有变化),然后读出,检查读出结果是否正确。
RAM的基本概念既然已经清楚,我们下面来进行系统设计。
命名RAM的逻辑为my_ram。后面还要建一个ram逻辑用于调用这个my_ram逻辑和ram_controller控制逻辑。
my_ram架构图如下所示。
添加ram_controller控制逻辑之后,完整的演示程序ram.v逻辑架构如下图所示。
新建工程文件夹ram。
打开Quartus II软件,打开新工程向导。
新建逻辑模块ram.v。
搭建逻辑框架。
module ram (clk, rst_n, q);
input clk, rst_n;
output q;
endmodule
进入主菜单选择IP核管理界面。
IP核管理界面p1。
默认为新建,点击Next。
本帖最后由 lcytms 于 2016-11-18 11:44 编辑
IP核管理界面p2a。
在左上方搜索框内输入ram,点击下方出现的RAM: 1-PORT,右侧矩形框内输入输出文件的名称my_ram,点击Next。
IP核管理界面p3。
检查q为8 bits,memory为256 words,使用Single clock。点击Next。