后端基础 您所在的位置:网站首页 cd_rom可以存储 后端基础

后端基础

2023-04-02 03:33| 来源: 网络整理| 查看: 265

一,memory基础

1,导览

Memory用来存储和读写的大量的二进制数据。按功能上分类,基本可以分为两大类:只读存储器(ROM)和随机存取存储器(RAM)。ROM只能读,不能写;RAM既能读又能写。RAM具有易失性。断电以后,RAM中保存的数据将全部丢失;而ROM中的数据则可以长久保存。

RAM可以分为常用的SRAM和DRAM。SRAM是静态的存储器,存储单元是一个触发器,有0,1两个稳态;DRAM是动态的存储器,比SRAM要复杂一些,因为它会利用电容器存储电荷来保存0或1,需要在存储数据的过程中需要对于存储的信息不停的刷新。 另一种常用的存储器,我们称为Register File。 它是由多个寄存器堆组成的阵列,内部结构功能上和SRAM完全类似。只是Register File去除了bist电路,容量较小,速度也比较快,经常用于前端仿真,Register file速度快,面积小,容量小。小容量下,我们也应该优先选择Register file。

2,结构

一般由存储阵列,地址译码器和输出控制电路组成。我们把存储阵列以外的电路都称为外围电路(Periphery)。存储阵列是memory的核心区域,它有许多存储单元组成,每个存储单元存放一位二值数据。每次读出一组数据,称为一组字。一个字中所含的位数称为字长(Bit)。为了区别各个不同的字,给每个字赋予一个编号,称为地址,由译码器将地址代码转译。地址单元个数就是字数(Depth),用N表示,数值为2n,n为地址码的位数。3,ROM,RAM的verilog实现

ROM

`include "../core/defines.v" //包含一些常量和宏定义,如WriteEnable、RstEnable、ZeroWord等 module rom( input wire clk, //时钟 input wire rst, //复位 input wire we_i, // write enable使能信号 input wire[`MemAddrBus] addr_i, // addr地址 input wire[`MemBus] data_i, //数据 output reg[`MemBus] data_o // read data读出的数据 ); reg[`MemBus] _rom[0:`RomNum - 1]; //定义了一个内部的只读存储器_rom,存储的数据位宽为MemBus,ROM的大小为RomNum。直接用reg[]a[]寄存器堆实现 //当为写使能时,将data_i写入_rom中的addr_i[31:2]位置 always @ (posedge clk) begin if (we_i == `WriteEnable) begin _rom[addr_i[31:2]]


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有