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

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

3天内不再提示

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

ruikundianzi 来源:IC芯视界 2024-03-04 15:08 次阅读

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才能实现。


审核编辑:刘清

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

    关注

    37

    文章

    1291

    浏览量

    103738
  • RAM
    RAM
    +关注

    关注

    8

    文章

    1367

    浏览量

    114517

原文标题:IC设计:ram的折叠设计

文章出处:【微信号:IP与SoC设计,微信公众号:IP与SoC设计】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    IC设计:常见的ram访问冲突

    ram冲突是几乎每颗芯片都需要关注的问题,部分场景下,ram访问冲突不容易验证到,容易造成芯片bug。ram访问冲突的类型通常有访问接口冲突和访问地址冲突。
    的头像 发表于 11-13 10:44 1667次阅读
    <b class='flag-5'>IC</b>设计:常见的<b class='flag-5'>ram</b>访问冲突

    汇编代码折叠

    这个站点让我相信MBLABX v3.65不支持程序集代码折叠:http://microhipdeveloper.com/mplabx:code-folding(向下滚动到底部,上面写着“如何在
    发表于 04-14 09:21

    用Jlink和J-Flash RAM读取单片机程序和烧录单片机程序操作步骤

    用Jlink和J-Flash RAM读取单片机程序和烧录单片机程序操作步骤读取单片机内部程序:烧录单片机程序:注:以上操作第三步可根据实际硬件连接方式选择SWD还是JTAG
    发表于 01-26 06:49

    不止于大,如何打造优秀的折叠屏应用体验

    (左图为折叠态、右图为展开态) 在应用的实际使用场景下,用户会进行一定频率“折叠到展开”、“展开到折叠操作。应用在此期间就需要为用户提供“连续的体验”,以保证用户使用该应用体验不中断
    发表于 12-23 11:16

    LS23机芯升级操作步骤

    LS23机芯升级操作步骤
    发表于 09-05 18:13 10次下载

    DXP入门基本操作步骤

    DXP入门基本操作步骤,新手快速入门,必备实用技能,简单易懂。
    发表于 07-20 16:01 0次下载

    回流焊操作步骤

    本视频主要详细介绍了回流焊操作步骤,其次介绍了回流焊操作流程,最后介绍了回流焊操作注意事项。
    的头像 发表于 12-12 16:28 2.2w次阅读

    折叠屏有什么意义

    与普通手机相比,可折叠屏手机在操作系统、触控方案、盖板、OLED面板以及驱动、触控IC等6大难点需要解决,例如,玻璃盖板需改为柔性透明PI,柔性OLED需变为可折叠OLED;而且为了保
    的头像 发表于 03-10 09:34 1.2w次阅读

    RAM的项目设计需求与操作步骤

    RAM也叫主存,是与CPU直接交换数据的内部存储器。它可以随时读写(刷新时除外),而且速度很快,通常作为操作系统或其他正在运行中的程序的临时数据存储介质。RAM工作时可以随时从任何一个指定的地址写入(存入)或读出(取出)信息。
    的头像 发表于 11-20 07:02 1687次阅读

    IC的焊接步骤与用注意哪些基本事项

    对于引线众多的IC在焊接的过程中一定要注意,避免IC引线粘连、错位,反复操作会导致芯片损坏焊盘脱落,因此在焊接过程中一定要认真、仔细,做到一次成功。下面浅谈焊接IC的方法
    的头像 发表于 11-06 11:05 1.1w次阅读

    带电作业的操作步骤

     带电作业的准备工作_带电作业操作步骤
    发表于 06-13 16:11 8589次阅读

    如何使用FPGA内部的RAM以及程序对该RAM的数据读写操作

    RAM是FPGA中常用的基础模块,可广泛用于缓存数据的情况,同样它也是ROM,FIFO的基础。本实验将为大家介绍如何使用FPGA内部的RAM以及程序对该RAM的数据读写操作
    的头像 发表于 02-08 15:50 1.4w次阅读
    如何使用FPGA内部的<b class='flag-5'>RAM</b>以及程序对该<b class='flag-5'>RAM</b>的数据读写<b class='flag-5'>操作</b>

    TANDY WP 2 RAM IC卡开源分享

    电子发烧友网站提供《TANDY WP 2 RAM IC卡开源分享.zip》资料免费下载
    发表于 07-15 14:31 0次下载
    TANDY WP 2 <b class='flag-5'>RAM</b> <b class='flag-5'>IC</b>卡开源分享

    IC设计中关于ram的应用

    统计有效数据包的个数。 假设数据中存在pkt_id,pkt_id为0~63,则ram的深度为64。pkt_id用于作为读写地址。RAM读延时为3个时钟周期。
    的头像 发表于 11-17 17:36 598次阅读
    <b class='flag-5'>IC</b>设计中关于<b class='flag-5'>ram</b>的应用

    华为pockets折叠屏手机怎么贴膜

    关于华为Pockets折叠屏手机的贴膜方法,由于折叠屏的特殊性,建议您参考以下步骤并谨慎操作
    的头像 发表于 03-05 17:01 2752次阅读