全球最实用的IT互联网信息网站!

AI人工智能P2P分享&下载搜索网页发布信息网站地图

当前位置:诺佳网 > 电子/半导体 > EDA/IC设计 >

IC设计:ram的折叠设计操作步骤

时间:2024-03-04 15:08

人气:

作者:admin

标签: IC设计  RAM 

导读:在IC设计中,我们有时会使用深度很大,位宽很小的ram。例如深度为1024,位宽为4bit的ram。...

IC设计中,我们有时会使用深度很大,位宽很小的ram。例如深度为1024,位宽为4bit的ram。此类的ram有个明显的缺点:形状狭长,不利于布局布线、导致读写接口走线过长,不利于时序收敛。

此时为了方便布局布线和时序收敛,我们通常会进行折叠设计。

如下图所示,深度为1024,位宽为4bit的双端口1r1w的ram,有一个读接口,一个写接口,支持同时读写操作,出于以上考虑,我们会进行折叠设计,采用2个128x32的1r1w的ram实现。

如图所示:两个2个128x32存储的内容完全一致。

无论是否进行折叠设计,ram接口信号位宽均一致。读写地址位宽为10bit,读写数据位宽为4bit。部分ram读写接口信号如下

信号 位宽 描述
waddr 10 写地址
wen 1 写使能信号,1表示写有效
wdata 4 写数据
raddr 10 读地址
ren 1 读使能信号,1表示读有效
rdata 4 读数据

b4639588-d9f5-11ee-a297-92fbcf53809c.png

进行写操作时:

使用waddr[9:5] 作为读地址,读128x32_ram_u0,获得rdata[31:0] 使用waddr[4:0] 选择rdata[31:0]中一个bit,使用wdata[0:0]进行替换,得到写入数据wdata_inter[31:0] 使用waddr_dly[9:5] 作为写地址,将wdata_inter[31:0]作为写数据同时写入128x32_ram_u0和128x32_ram_u1。

b4768c2e-d9f5-11ee-a297-92fbcf53809c.png

进行读操作时: 使用raddr[9:5] 作为读地址,读128x32_ram_u1,获得rdata1[31:0] 使用raddr[4:0] 选择rdata1[31:0]中一个bit,赋值给o_rdata。

b48be9fc-d9f5-11ee-a297-92fbcf53809c.png         

为什么需要用两个128x32的ram?

因为1024x1_1r1w_ram_wrapper需要同时支持读写操作,而在折叠设计中,写操作需要先读ram,读操作也需要读ram,如果仅仅使用1个128x32的ram,就会出现有两个读请求同时产生,因此为了避免出现此冲突,需要2个128x32的ram才能实现。


审核编辑:刘清

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信