单端口RAM、伪双端口RAM、双端口RAM、以及FIFO的区别

FPGA设计中,存储器是必不可少的。FPGA中常见的存储器件有RAM以及FIFO,RAM又可细分为单端口RAM、伪双端口RAM和双端口RAM。之前对其基本概念与使用已经进行了介绍,现在只重点将他们进行比较:

目录

一、比较

二、FIFO与RAM联系:

三、应用场合:

四、参考文献:


一、比较

单端口RAM:对应IP核中的Single-Port RAM,只有一组控制信号线、地址线和数据线,不能同时读写,某时刻只能在控制信号作用下作为数据输入或输出的一种;

双端口RAM:对应IP核中的Dual-Port RAM,有两组独立的控制信号线、地址线和数据线,两组之间互不影响,允许两个独立的系统同时对其进行随机性的访问。即共享式多端口存储器,可以同时读写;

伪双端口RAM:对应IP核中的Simple Dual-Port RAM,一个端口只读,一个端口只写;

注意:双端口RAM同时对同一地址进行读写时,会出现仲裁;

FIFO:先进先出数据缓冲器,也是一个端口只读,另一个端口只写。但是FIFO与伪双口RAM的不同,FIFO为先入先出,没有地址线,不能对存储单元寻址;而伪双口RAM两个端口都有地址线,可以对存储单元寻址。

二、FIFO与RAM联系:

如FIFO实现专题所述,FIFO既可以利用寄存器实现,也可以使用RAM实现;

实际上,规模较大的FIFO一般都是用RAM实现的(规模特别小的FIFO才会使用寄存器实现)。

三、应用场合:

FIFO常用于数据传输缓存,避免数据丢失,如跨时钟域的数据传输就需要用到异步FIFO。
RAM常用于暂存指令或中间数据,指令cache和数据cache就由RAM来实现。

四、参考文献:

双口RAM存储器

FIFO、单口RAM、双口RAM的区别

单口RAM、伪双口RAM、双口RAM与FIFO的区别

Xilinx官方文档 LogiCORE IP Distributed Memory Generator v7.2
 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章