ug473[BRAM和FIFO介绍手册]学习笔记(1)

文章详细介绍了BlockRAM的特性,包括其存储容量、级联方式、双端口操作以及工作模式。特别强调了地址和写使能的建立时间要求,读写操作的时序,以及异步复位对系统的影响。此外,还讨论了在不同工作模式下,如NO_CHANGE和READ_FIRST模式的能耗和适用场景,并展示了双端口RAM在同一地址读写时的输出行为。
摘要由CSDN通过智能技术生成

Block RAM

  • 每个块ram可存储36kbits数据,又可以配置成两个独立的18kbits的ram。
  • 以下介绍BRAM可以实现的功能
    • 两相邻的 36kbits ram可以级联组成64kbits的ram,且不需要任何组合逻辑。
    • simple-dual-port ram支持一个端口配置成固定数据位宽,另一个端口配置为可变数据位宽。
    • 7系列的bram 的FULL flag没有任何延迟。
    • 任何bram包含可选地址序列和控制电路,这将允许任何ram配置成双时钟FIFO.
    • 所有的输出端口都会被锁存latched或者被寄存registered,一般默认是latched。也就是说输出端口的状态在执行读或者写操作的时候会发生变化,否则一直是保持原来的状态。至于状态怎么变化取决于设置的工作模式:WRITE_FIRST;READ_FIRST;NO_CHANGE.
    • 输出通道有一个可选项,是将输出通道设置为内部流水寄存器。当传输中需要更高的时钟速率时非常推荐使用这一模式,需要注意的时候他会带来一个周期的时钟延迟。

以下介绍BRAM的使用注意事项

  • 一定不可以违反bram 的地址和写使能的建立时间要求。因为一旦违反建立时间的要求,即便是写使能是无效的情况下,也会破坏数据。
  • 以上是奇偶校验位的使用时的规则
  • 异步复位会破坏异步EN或者同步EN的建立时间。因此在异步置位有效时,EN应该置位无效。当传输有效数据之前将EN拉到有效。

下面是双口RAM一些介绍

  • 工作状态介绍
    • read operation:锁存器模式下存储的数据在ram可用期间被加载到输出锁存器。而如果输出端使用的是寄存器,会延迟一个周期。读地址会在有效时钟沿加载在对应端口。
    • write operation:在时钟沿将写地址和写数据存入到存储器中。
    • 为方便理解将对应说明文档截图,可用理解为写状态时,写地址和写数据应同步,而读状态的时候读地址比读数据提前一个周期。
  • 工作模式介绍
    • 一般情况下,在读写地址不发生冲突时,我们将写状态设置为NO_CHANGE.因为这一工作状态最节能。而read_first模式我们一般在功能需要时或者读写地址会发生冲突时使用。
  • 上面两个图是双端口ram不同工作模式和工作状态下对相同地址进行读写,其输出端口的对应。当两个端口都对同一地址进行读的时候,两个端口都可以成功读。当两个端口对同一地址写不同数据的时候存储器中会被写入不确定的数据,当同一地址一个端口读一个端口写时,写一定会成功但是读出的数据会变化。、
  • 关于WE和EN:在两者都有效的时候进行写操作,只有EN 有效的时候进行读操作。
  • 同步复位有效时,是将不会输出地址中的数据而是输出我们设定好的固定值,这个固定值由SRVAL配置。

    • 以上两幅时序图是在register mode下的变换。当en和rstram同时拉高时会写入SRVAL(1LAT),同理ce和rstreg都拉高时会写入SRVAL(1REG),当只有RSTREG拉高的时候,在RSTREG模式下会将SRVAL(2REG)写入,而REGCE模式还是保持原来的状态。

        

         

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值