一、xilinx fpga嵌入式存储单元
RAM----随机存取存储器:上电工作时可以随时从任何一个指定的地址写入(存入)或读出(取出)信息。缺点是一旦断电所存储的数据将随之丢失。RAM在计算机和数字系统中用来暂时性存储程序、数据和中间结果。
分类:
(1)Block RAM (BRAM-----块RAM)
(2)LUT (可以构成DRAM。分布式RAM)
(3)shift register -----平移寄存器
二、BRAM和DRAM的区别
在FPGA中,我们将ram分为两类,DRAM和BRAM
BRAM:block_ram由一定数量固定大小的存储器块构成,使用BRAM资源不占用额外的逻辑资源,并且速度快。
DRAM:利用查找表为电路实现存储器。既可以实现芯片内部存储,又可以提高资源利用率;不过分布式RAM实现大规模的存储器会占用大量的LUT,可用来实现逻辑的查找表就会减少,因此建议仅在需要小规模的存储器时,使用分布式RAM。
区别:
1、BRAM是使用FPGA中整块的RAM资源;
2、DRAM是FPGA中查找表拼凑出来的,要占用逻辑资源;
3、从物理上看,BRAM是单纯的存储资源,但要一块一块的使用,不像DRAM想要多少要多少;
4、DRAM可以是纯组合逻辑,即给出地址马上出数据,BRAM是有时钟的 。
三、xilinx中RAM的配置分类
(1)single port ram 单端口 : 一组地址线,读写分时进行
实验1:https://blog.csdn.net/loveyousosad/article/details/140045343?spm=1001.2014.3001.5501
实验2:https://blog.csdn.net/loveyousosad/article/details/140096177?spm=1001.2014.3001.5501
(2)simple dual port ram 简单双端口(伪双端口):完整的两组数据和地址线,但是一个端口只能读,另一个端口只能写,而且不能同时进行。
实验:https://blog.csdn.net/loveyousosad/article/details/140145711?spm=1001.2014.3001.5501
(3)dual port ram 双端口(真双端口):两个端口都可以读写
实验:https://blog.csdn.net/loveyousosad/article/details/140157904?spm=1001.2014.3001.5501