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

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

3天内不再提示

实际底层的RAM尺寸到底是多少呢?就是32x119吗?

ruikundianzi 来源:IC的世界 2023-08-31 14:16 次阅读

ASIC设计中,我们使用FIFO或者RAM的时候经常会用到校验位,例如奇偶校验或者ECC(海明码)校验,当然,也有可能不使用任何校验位。那么我们需要一个深度为32,数据位宽为119bit的ram(cfg_32x119_ram_wrapper),那么实际底层的ram尺寸到底是多少呢?就是32x119 吗?大概率不是。

1.一个ram wrapper可能是拼接而成的

RAM的位宽和深度不是任意的,是根据设计人员的需求,然后由工具产生相应的ram。我们需要的是32x119的ram,实际分配给设计人员的可能是两个32x64的ram,深度和宽度都可能存在冗余。Ram的产生通常有两种方式,由设计人员或者中端人员提供ram信息列表。至少包含如下信息:Memory生成工具会根据实际需要的位宽,深度,读写时钟频率才进行决策,产生相应的Memory。

RAM_NAME RAM_TYPE DEPTH WIDTH ECC/PARITY Wclk_freq Rdclk_req
afifo_16x72_wrapper 1r1w 16 72 1 1200 1000

一颗大的ram可能是有多个小的ram拼接起来的。在布局布线时,多个小的方形的ram大概率会比长条形状的ram更容易摆放(不绝对)。

5d01a92e-47c4-11ee-97a6-92fbcf53809c.png

2.ram/fifo 校验位需要额外的数据位宽

5d11e5aa-47c4-11ee-97a6-92fbcf53809c.png

如图所示为1r1w的ram为例,cfg_32x119_ram_wrapper为verilog代码直接调用层次的ram_wrapper,表示了一个深度为32,数据位宽为119bit的ram。ram_asic.v为真实的ram IP。其中119bit的数据位宽紧张ECC计算需要7bit的校验位,因此物理IP最少需要126bit的ram IP。通常memory产生工具会更具时钟频率,深度位宽等因素对ram进行切分,因此本例中,使用了2个32x64的ram ip。

在data_in写入ram_asic模块之前,会经过ecc_gen模块,产生7bit的ecc校验位,随着数据一同写入ram_asic,其中data_in[63:0]写入第一个ram_asic,{2’b0,ecc_in[6:0],data_in[118:64]}写入第二个ram_asic。从ram_asic读出的数据会经过ecc_out模块经过ecc校验,输出校验后的data_out[118:0]和2bit的ecc_err_out告警。





审核编辑:刘清

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

    关注

    7

    文章

    1322

    浏览量

    113709
  • ASIC设计
    +关注

    关注

    0

    文章

    32

    浏览量

    10587
  • ECC
    ECC
    +关注

    关注

    0

    文章

    90

    浏览量

    20376
  • FIFO存储
    +关注

    关注

    0

    文章

    102

    浏览量

    5895

原文标题:RAM:位宽与深度是这样确定的

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

收藏 人收藏

    评论

    相关推荐

    C语言中未初始化的局部变量到底是多少

    C语言中,未初始化的局部变量到底是多少
    发表于 10-21 14:42 1477次阅读

    PLC到底是什么

    PLC到底是什么
    发表于 10-10 09:30

    请问ADRF6612参考路径的分频到底是多少

    的分频到底是多少? 2.关于寄存器10中 [13:12] IFA_LINSLOPE和[11:10] IFA_MAINSLOPE不知道是什么意思该如何设置。寄存器10中[13:8]和[6:0]是什么功能
    发表于 09-25 11:43

    请问Latch到底是什么

    (Address Latch Enable)。描述是这样的,ALE是一个脉冲信号,用来锁住(Latch)AD0~AD7的地址。这里Latch又是动词。请问Latch到底是什么意思?ALE又是什么
    发表于 12-06 10:35

    点击连续运行按钮后,数值2一直处于不断变化中,这样怎么进行确定到底是多少

    点击连续运行按钮后,数值2一直处于不断变化中,这样怎么进行确定到底是多少?感谢回答!
    发表于 12-23 16:22

    如果买了5G手机,能达到的理论速率到底是多少

    5G手机究竟能有多快?如果买了5G手机,能达到的理论速率到底是多少
    发表于 06-18 06:24

    时钟跑的到底是多少M

    新到一家公司后,有个项目要用到STM32F207Vx单片机,找到网上的例子照猫画虎的写了几个例子,比如ADC,可是到了ADC多通道转换的时候就有点傻眼了,这里面的时钟跑的到底是多少M?单片机外挂
    发表于 08-12 08:09

    MCU内部的RAM上电之后的初始值到底是什么

    由于工作的原因,笔者经常接到工程师询问MCU内部的RAM上电之后的初始值到底是什么,有什么特性和规律。今天笔者就以设计过程中遇到的几个问题与大家做一个交流。首先明确一个问题,我们都知道,根据RAM
    发表于 11-10 08:14

    smartconfig到底是什么?怎样去使用它

    smartconfig到底是什么?smartconfig的工作原理是什么?怎样去使用smartconfig
    发表于 02-22 06:53

    请问一下ARM Cortex A9的核心(4核心) 到底是多少HZ

    请问一下ARM Cortex A9的核心(4核心) 到底是多少HZ
    发表于 08-25 15:45

    请问AD8603的电源供电范围到底是多少

    ADI官网上的数据手册给出的电源电压为1.8V-5V 但在ADI参考电路合集1中的AD8603采用15V电源供电 请问AD8603的电源供电范围到底是多少
    发表于 11-15 08:15

    请问AD9684最低采样率到底是多少

    关于AD9684最低采样率,数据手册有两处描述,但是不一致。请问AD9684最低采样率到底是多少
    发表于 12-04 06:34

    PCB走线之安全间距到底是多少

    PCB走线之安全间距到底是多少,在这里给你解答
    发表于 06-17 14:59 0次下载

    芯片的成本如何计算一颗芯片的实际成本到底是多少

    集成电路产业的特色是赢者通吃,像Intel这样的巨头,巅峰时期的利润可以高达60%。那么,相对应动辄几百、上千元的CPU,它的实际成本到底是多少呢?
    的头像 发表于 02-06 14:22 2.7w次阅读

    直插有源晶振DIP14封装到底是多少个脚

    直插有源晶振DIP14封装到底是多少个脚
    的头像 发表于 05-19 09:43 1456次阅读
    直插有源晶振DIP14封装<b class='flag-5'>到底是多少</b>个脚