前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >查找表用作分布式RAM

查找表用作分布式RAM

作者头像
Lauren的FPGA
发布2019-10-31 14:07:44
1.2K0
发布2019-10-31 14:07:44
举报
文章被收录于专栏:Lauren的FPGALauren的FPGA

SLICEM中的查找表可用作分布式RAM。如果把FPGA比作大海,LUT就像一个个小的岛屿分布在这片大海上,或许这就是分布式RAM的名称由来。以UltraScale Plus芯片为例,一个6输入查找表可实现深度为64宽度为1的单端口RAM。同一个SLICEM中的8个LUT可级联构成512深度的RAM。LUT只提供一个时钟端口,一个写使能端口,因此,向RAM中写数据是同步的,但读数据则是异步的,为此,只需添加额外的寄存器即可实现同步读操作。这虽然增加了Latency,但改善了时序,提升了系统性能。

不管是单端口(SP)、简单双端口(SDP)还是真正双端口(TDP)RAM,都有三种工作模式,即读优先(read_first)、写优先(write_first)和保持(no_change)。这三种模式体现了针对同一地址同时进行读写操作时的不同处理方式。读优先时,读出的是该地址上的原有数据;写优先时,读出的是将要写入该地址的新数据;保持模式时,输出端口数据保持不变。事实上,这三种模式可通过其对应的RTL描述方式一探究竟。

从逻辑级数的角度看,一个深度为128,宽度为1的单端口RAM,需要消耗2个LUT,1个F7MUX,如下图所示,其逻辑级数为1。当深度变为256时,则需要消耗4个LUT,2个F7MUX和1个F8MUX,其逻辑级数为2。

分布式RAM的优势在于轻便灵活。对于一些需要存储较少数据(通常不超过10Kb)的场合,例如,存储FIR滤波器的系数或者缓存中间处理过程中的数据,可获得比Block RAM更好的性能。以深度为128,宽度为4的RAM为例,在Virtex-7,速度等级为-2的芯片上,分别采用Block RAM和分布式RAM,其结果如下图所示(图片来源ug949, v2015.3, table 5-10)。

结论:

-在某些场合采用查找表作为轻量级存储单元会有更好的效果

-在用作分布式存储单元(RAM/ROM)时,要注意逻辑级数对时序的影响

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

本文分享自 Lauren的FPGA 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档