赞
踩
FPGA设计中,存储器是必不可少的。FPGA中常见的存储器件有RAM以及FIFO,RAM又可细分为单端口RAM、伪双端口RAM和双端口RAM。之前对其基本概念与使用已经进行了介绍,现在只重点将他们进行比较:
目录
单端口RAM:对应IP核中的Single-Port RAM,只有一组控制信号线、地址线和数据线,不能同时读写,某时刻只能在控制信号作用下作为数据输入或输出的一种;
双端口RAM:对应IP核中的Dual-Port RAM,有两组独立的控制信号线、地址线和数据线,两组之间互不影响,允许两个独立的系统同时对其进行随机性的访问。即共享式多端口存储器,可以同时读写;
伪双端口RAM:对应IP核中的Simple Dual-Port RAM,一个端口只读,一个端口只写;
注意:双端口RAM同时对同一地址进行读写时,会出现仲裁;
FIFO:先进先出数据缓冲器,也是一个端口只读,另一个端口只写。但是FIFO与伪双口RAM的不同,FIFO为先入先出,没有地址线,不能对存储单元寻址;而伪双口RAM两个端口都有地址线,可以对存储单元寻址。
如FIFO实现专题所述,FIFO既可以利用寄存器实现,也可以使用RAM实现;
实际上,规模较大的FIFO一般都是用RAM实现的(规模特别小的FIFO才会使用寄存器实现)。
FIFO常用于数据传输缓存,避免数据丢失,如跨时钟域的数据传输就需要用到异步FIFO。
RAM常用于暂存指令或中间数据,指令cache和数据cache就由RAM来实现。
Xilinx官方文档 LogiCORE IP Distributed Memory Generator v7.2
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。