RAM是什么意思(如何使用RAM)
什么是内存?
RAM(Random Access Memory),即随机存取存储器,它可以随时将数据写入任意指定地址的存储单元,也可以随时从任意指定地址读取数据,其读写速度为由时钟频率决定。的。
RAM主要用于存储程序和程序执行过程中产生的中间数据和运算结果。
与ROM的区别:ROM(Read-Only Memory)是只读存储器,只有在工作时才能读取。
目标
使用 Altera RAM IP 内核生成单端口 RAM,执行读写操作,然后进行仿真和验证。
创建测试项目
参照上一个项目创建一个模板项目
1。创建 RAM 内核
参考上面“如何创建和使用IP核-PPL?”
在“Memory Compiler”中找到“RAM: 1-PORT”选择单口RAM
2. 位宽深内存类型配置
3.输入输出配置
4.在选择写时,读写,为了数据时效,尽量避免同时读写,所以选择“Don’t Care”
5、RAM初始化配置无特殊要求,默认即可。
2、项目代码
1、分配引脚
名称 |
功能 |
管脚 |
sys_clk |
输入时钟 |
E1 |
sys_rst_n |
系统复位 |
M1 |
2、顶层文件模块
有一个“ram ip core”对象“m_ram_singleport”,以及一个读写操作对象“m_ram_rw”。 “m_ram_singleport”:向内部接口提供输出; “m_ram_rw”:提供读写例程
3。读写例程模块
本例程模块的核心是rw_cnt 计数,由于提供给ram 内核的时钟是sys_clk,所以本例程模块的时钟也必须是sys_clk。通过rw_cnt可以达到以下目的:
判断当前状态是写还是读
写状态时,修改ram_wr_data数据