前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Xilinx的分布式RAM和块RAM——单口、双口、简单双口、真双口的区别

Xilinx的分布式RAM和块RAM——单口、双口、简单双口、真双口的区别

作者头像
FPGA探索者
发布2021-04-16 11:35:38
5.4K1
发布2021-04-16 11:35:38
举报
文章被收录于专栏:FPGA探索者FPGA探索者

感谢校友【小小虎】指出问题,并帮助审稿。

单口 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)支持双口,我把双口认为包含真双口了,不对。

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

对于 BRAM(Block RAM,块 RAM)

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

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

单口RAM:

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

简单双口 RAM:

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

真双口 RAM:

和简单双口的区别:

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

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

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

单口 ROM 和 双口 ROM

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

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

ROM

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

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

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

单口 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 连在一起,共享读写地址线;

双端口:

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

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

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

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

如下图所示为双口 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;

简单双端口

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

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

参考:

[1] Xilinx ug474_7Series_CLB

[2] Xilinx pg063-dist-mem-gen

[3] Xilinx pg058-blk-mem-gen

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-04-14,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FPGA探索者 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档