lcytms 发表于 2016-11-18 11:34:18

FPGA初级课程第十五讲 RAM

FPGA初级课程
第十五讲 RAM

Hi,大家好!我是至芯科技的李老师。
今天讲课的题目是:RAM。
本节课我先简要地介绍一下RAM(随机存取存储器)的基本概念,然后实际演示一下应用RAM的IP核来进行RAM逻辑电路的建模与仿真,并通过仿真查看效果。


lcytms 发表于 2016-11-18 11:36:07

我们打开至芯科技编写的《12.炼狱传奇-RAM之战.pdf》文档。

在前面的课程,我们学习了ROM,接下来我们一起来学习另一个IP核的使用—片内存储器RAM。

lcytms 发表于 2016-11-18 11:36:49

恰当地使用各种已有IP核资源,能使您的设计事半功倍,实现高效开发。
与只读不写的ROM相比,RAM既能读出,也能写入,这也是它作为随机存取存储器的基本特性。
存就是写入,取就是读出。

下面我们就来使用RAM的IP核设计一个既有RAM写入也有RAM读出的逻辑,每次写入0~255循环,而且每次的初始值发生变化(比如:依次加128,方便观察是否有变化),然后读出,检查读出结果是否正确。

lcytms 发表于 2016-11-18 11:37:44

RAM的基本概念既然已经清楚,我们下面来进行系统设计。
命名RAM的逻辑为my_ram。后面还要建一个ram逻辑用于调用这个my_ram逻辑和ram_controller控制逻辑。
my_ram架构图如下所示。

lcytms 发表于 2016-11-18 11:39:00

添加ram_controller控制逻辑之后,完整的演示程序ram.v逻辑架构如下图所示。

lcytms 发表于 2016-11-18 11:40:12

新建工程文件夹ram。
打开Quartus II软件,打开新工程向导。
新建逻辑模块ram.v。
搭建逻辑框架。
module ram (clk, rst_n, q);

        input clk, rst_n;
       
        output q;
       
       
endmodule

lcytms 发表于 2016-11-18 11:41:27

进入主菜单选择IP核管理界面。

lcytms 发表于 2016-11-18 11:42:28

IP核管理界面p1。
默认为新建,点击Next。

lcytms 发表于 2016-11-18 11:43:52

本帖最后由 lcytms 于 2016-11-18 11:44 编辑

IP核管理界面p2a。
在左上方搜索框内输入ram,点击下方出现的RAM: 1-PORT,右侧矩形框内输入输出文件的名称my_ram,点击Next。

lcytms 发表于 2016-11-18 11:48:09

IP核管理界面p3。
检查q为8 bits,memory为256 words,使用Single clock。点击Next。
页: [1] 2 3 4 5
查看完整版本: FPGA初级课程第十五讲 RAM