Intel® Agilex™嵌入式存储器用户指南

ID 683241
日期 9/20/2021
Public

本文档可提供新的版本。客户应 单击此处 前往查看最新版本。

文档目录

2.13. Intel® Agilex™ 支持的嵌入式存储器IP

表 12.   Intel® Agilex™ 存储器IP此表列出并描述了 Intel® Agilex™ 嵌入式存储器模块中所支持的IP核。
IP 支持的存储器模式 M20K支持 MLAB支持 eSRAM支持 说明
RAM: 1-PORT Intel® FPGA IP Single-port RAM Yes Yes No 一次只能执行一个读或一个写操作。

使用读使能端口控制写操作期间的RAM输出端口行为:

  • 保留最近有效读使能期间保持的之前值—创建一个读使能端口并通过解除置位此端口执行写操作
  • 显示正在写入的新数据,该地址上的旧数据,或者 Don't Care值(当read-during-write出现在同一地址上)—不要创建read-enable信号,或者在写操作期间启用读使能。
RAM: 2-PORT Intel® FPGA IP Simple dual-port RAM Yes Yes No 您可以对不同位置同时执行读写操作,端口A进行写操作,端口B进行读操作。
RAM: 2-PORT Intel® FPGA IP True dual-port RAM Yes No No 您可以执行两个端口操作的任意组合:在单一时钟模式下的两个读操作、两个写操作,或者一个读操作和一个写操作。
RAM: 4-PORT Intel® FPGA IP Simple quad-port RAM Yes No No 您可以对不同位置同时执行两个读写操作,其中在address_aaddress_b信号/端口上指定写地址,在address2_aaddress2_b信号/端口上指定读地址。
ROM: 1-PORT Intel® FPGA IP Single-port ROM Yes Yes No

只有一个地址端口可用于读操作。

存储器模块可用作ROM。

  • 使用.mif.hex初始化存储器模块的ROM数据。
  • ROM的地址行在M20K模块中寄存;然而,它们在MLAB中可以是未寄存的。
  • 输出可以是寄存的或者是未寄存的。
  • 输出寄存器能够被异步或者同步清零。
  • ROM的读操作与单端口RAM配置的读操作相同。
ROM: 2 PORT Intel® FPGA IP Dual-port ROM Yes No No

dual-port ROM具有与single-port ROM非常相似的功能端口。区别在于dual-port ROM有一个用于读操作的额外地址端口。

存储器模块可用作ROM。

  • 使用.mif.hex初始化存储器模块的ROM数据。
  • ROM的地址行在M20K模块中寄存。
  • 输出可以是寄存的或者是未寄存的。
  • 输出寄存器能够被异步或者同步清零。
  • ROM的读操作与true dual-port RAM配置中的读操作相同。
Shift Register (基于RAM) Intel® FPGA IP Yes Yes No

存储器模块用作移位寄存器模块以节省逻辑单元和布线资源。

此模式在要求本地数据存储(例如:有限脉冲响应(FIR)滤波器、伪随机数生成器、多通道滤波和自相关和互相关函数)的DSP应用中很有用。传统上,使用标准触发器(flip-flop)实现本地数据存储,使用触发器实现大型移位寄存器会消耗大量逻辑资源。

移位寄存器的大小(w × m × n)是由输入数据位宽(w)、抽头(tap)长度 (m) 和抽头数量(n)决定。通过级联存储器模块,能够实现较大的移位寄存器。

FIFO Intel® FPGA IP Yes Yes No

存储器模块用作FIFO缓存。使用SCFIFO和DCFIFO功能实现您设计中的单时钟和双时钟异步FIFO缓存。

对于使用许多小而浅的FIFO缓存的设计而言,MLAB是FIFO模式的理想选择。然而MLAB并不支持混合宽度FIFO 模式。

eSRAM Intel® FPGA IP No No Yes

使用eSRAM存储器(大型存储器)执行单次读写的方法。eSRAM存储器有 4个端口。每个 端口有专用写地和读地址,以及写使能和读使能控制信号,动态控制读和写操作。

警告:
为避免损坏存储器数据,请不要在读写操作期间违反任何嵌入式存储器模块输入寄存器上的建立及保持时间。此限制适用于single-port RAM、simple dual-port RAM、true dual-port RAM、simple quad-port RAM或ROM模式下使用存储器模块时。