0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

单口、双口、简单双口、真双口RAM的区别

FPGA之家 来源:FPGA探索者 作者:FPGA探索者 2022-07-03 09:56 次阅读

单口 RAM(Single RAM)、双口 RAM(Dual RAM)、简单双口 RAM(Simple-Dual RAM)、真双口 RAM(True-Dual RAM)有什么不同?

【华为2021秋招】FPGA逻辑笔试解析【独家】【数字IC】【FPGA逻辑】【2021届秋招】中的第 2 题,答案正确,解析有误。

对于 分布式 RAM,支持简单双口 RAM 和双口 RAM,不能配置成真双口 RAM。

问题在于:Xilinx 给出的 DRAM(分布式 RAM)支持双口,我把双口认为包含真双口了,不对。

344c9032-fa6f-11ec-ba43-dac502259ad0.png

先总结一下,如有不对,欢迎私信联系批评指正。

3465bf58-fa6f-11ec-ba43-dac502259ad0.png

对于 BRAM(Block RAM,块 RAM)

在 BRAM Controller 控制器下,支持单口 RAM、真双口 RAM、单口 ROM 和双口 ROM;

在不使用 AXI 的控制器情况下,支持单口 RAM、简单双口 RAM、真双口 RAM,单口 ROM 和双口 ROM。

347843da-fa6f-11ec-ba43-dac502259ad0.png

单口RAM:

1 个时钟,1 个读写地址(要么读用,要么写用),可以读也可以写,但是不能同时读写;

348a438c-fa6f-11ec-ba43-dac502259ad0.png

简单双口 RAM:

2 个端口,有相互独立的时钟,一个口专门负责写,一个口专门负责读;

34991772-fa6f-11ec-ba43-dac502259ad0.png

真双口 RAM:

和简单双口的区别:

简单双口是一个口专门读,一个口专门写;

真双口是 2 个口都可以读写;

真双口可以看成是 2 个单口拼起来的,且 2 个单口共享存储器。

34a97586-fa6f-11ec-ba43-dac502259ad0.png

单口 ROM 和 双口 ROM

双口 ROM 可以看成是 2 个单口拼起来的,且 2 个单口共享存储区。

34bcd892-fa6f-11ec-ba43-dac502259ad0.png

对于 DRAM(Distribute RAM,分布式 RAM)

34d7c71a-fa6f-11ec-ba43-dac502259ad0.png

ROM

给地址,出对应地址的数据,没有时钟

34e9b006-fa6f-11ec-ba43-dac502259ad0.png

RAM:支持单口、简单双口、双口。

(注意!这里的双口和真双口不同,DRAM 不支持真双口 RAM)

3504b28e-fa6f-11ec-ba43-dac502259ad0.png

单口 RAM:读写共用地址 a[5:0],写数据时 we 拉高,不能同时读写;

简单双口 RAM:1 个读地址,1 个写地址,1 个输入,1 个输出;

双口 RAM:1 个通道共享读写(等同于单口),1 个通道只读,2 个输出,

spo 数据对应 a 地址,dpo 数据对应 dpra 地址;

a[5:0],读写共用的地址,当 we = 1 时表示写地址,将 d[15:0] 写入 RAM,当 we = 0 时,将 a[5:0] 地址的数据从 spo[15:0] 上输出;

dpra[5:0] 只用于读的地址,读出 dpra[5:0] 上的数据,从 dpo[15:0] 输出。

当进行读取时,简单双口一次读取 1 个数据,双口可以同时读取出 2 个数据。

四口 RAM:1 个通道共享读写,3 个通道只读;

单口:

WE = 1 写入,使用的实际上是 WA[6:1] 地址,写入发生在时钟的上升沿,时序逻辑;

WE = 0 读出,使用的是 A[6:1] 地址,地址线上有地址,数据立刻读出,组合逻辑输出;

单口情况下,A 和 WA 连在一起,共享读写地址线;

3512d170-fa6f-11ec-ba43-dac502259ad0.png

双端口:

•一个用于同步写入和异步读取的端口

第一个函数发生器与共享读写端口地址相连

•一个用于异步读取的端口

第二函数发生器具有连接到第二个读端口地址的A输入,并且 WA 输入与第一读/写端口地址共享

353ed8ba-fa6f-11ec-ba43-dac502259ad0.png

如下图所示为双口 DRAM 的读写仿真

(1)在 WE = 0 时,两个口均为读出口,A 口的地址线 ADDR[3:0] 的地址为 0,在 SPO[7:0] 上读出数据 17,B 口的地址线 DPRA[3:0] 为 0,在 DPO[7:0] 上读出数据 17;

(2)在 WE = 1 时,A 口为写入口,B 口是只读口,此时仍为读出口,A 口向地址 0 写入数据 D[7:0] = 34,B 口仍为读,读出 0 地址的数据 34;

3551aad0-fa6f-11ec-ba43-dac502259ad0.png

简单双端口

•一个用于同步写入的端口(没有来自写入端口的数据输出/读取端口)

•一个用于异步读取的端口

357002f0-fa6f-11ec-ba43-dac502259ad0.png

35809912-fa6f-11ec-ba43-dac502259ad0.png

参考:

[1] Xilinx ug474_7Series_CLB

[2] Xilinx pg063-dist-mem-gen

[3] Xilinx pg058-blk-mem-gen

原文标题:Xilinx的分布式RAM和块RAM——单口、双口、简单双口、真双口的区别

文章出处:【微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

审核编辑:彭静
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • FPGA
    +关注

    关注

    1602

    文章

    21302

    浏览量

    593102
  • RAM
    RAM
    +关注

    关注

    7

    文章

    1318

    浏览量

    113697
  • Xilinx
    +关注

    关注

    70

    文章

    2119

    浏览量

    119361

原文标题:Xilinx的分布式RAM和块RAM——单口、双口、简单双口、真双口的区别

文章出处:【微信号:zhuyandz,微信公众号:FPGA之家】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    元件概述 PPT

    元件概述元件是在微波中应用最多的一种元件,按功能分类如下图所示。与单口元件相似,
    发表于 11-02 15:36

    基于FPGA的RAM实现及应用

    【作者】:秦鸿刚;刘京科;吴迪;【来源】:《电子设计工程》2010年02期【摘要】:为了在高速采集时不丢失数据,在数据采集系统和CPU之间设置一个数据暂存区。介绍RAM的存储原理及其在数字系统中
    发表于 04-24 09:44

    DSP与RAM的通信程序

    本帖最后由 咖小啡 于 2011-3-23 11:41 编辑 请高手指教DSP-TMS320F2812与RAM-IDT7130的通信程序,
    发表于 03-23 11:41

    ram读数据的速度太慢

    系统结构与功能: lpc3131外接8k*8ram与8G Flash,从ram读取数据(
    发表于 08-04 11:05

    求助,RAM选型!

    我想选一片RAM,是32KX8,5V供电的,我首先选择了IDT7007但是发现没有工业级的,军用级价格很贵但是采购有很麻烦,请求大家推荐一块
    发表于 09-20 10:30

    用FPGA实现ram的问题

    我想用fpga实现一个ram,有8位的数据和地址线,他们是共享的,分时复用,请问怎么解决这个问题,另外读写冲突的问题怎么解决应该,哪位高手指点一下,谢谢啦。
    发表于 07-10 11:21

    关于FPGA设计ram的问题

    我现在需要设计一个ram,它要求数据和地址线是复用的,双向的,想利用FPGA设计,请教下大家思路,谢谢。
    发表于 07-13 08:52

    SDRAM与RAM区别?它们两者一样吗?

    SDRAM与RAM区别?它们两者一样吗?不一样的话能互相代替使用吗?
    发表于 09-05 16:51

    基于CPLD的RAM设计

    求教大牛关于CPLD的RAM设计程序!
    发表于 10-22 16:18

    FPGAram

    利用FPGA设计ram,最大设计多的空间的?如果是cpld来实现,空间是不是更小?如何去确定这个大小呢?求指导
    发表于 10-21 21:23

    RAM的调试

    RAM实现和DSP的通信,用chipscope将要看的输出信号加进去的时候发现信号线呈现红色,BASE TYPE是IOBUF类型,这个应该是错的,加信号进去会警告提示布局布线可能会出错,事实的确如此,有人知道是什么原因吗?
    发表于 04-20 20:06

    什么是RAM? 基于FPGA的RAM有哪些应用?

    什么是RAM?基于FPGA的RAM有哪些应用?
    发表于 05-06 07:41

    怎样去设计PCI和RAM之间的接口?

    PCI9052是什么?什么是DRAM?怎样去设计PCI和RAM之间的接口?
    发表于 05-07 06:03

    H7/F429/F407具有哪些性能?

    H7/F429/F407具有哪些性能?
    发表于 02-28 08:11

    ERAM用作简单RAM时哪个信号可以作为wren使用?

    ERAM用作简单RAM时,哪个信号可以作为wren使用?
    发表于 08-11 09:50