英特尔Agilex® 7嵌入式存储器用户指南

ID 683241
日期 4/10/2023
Public
文档目录

2.14. 英特尔Agilex® 7支持的嵌入式存储器IP

表 13.   英特尔Agilex® 7存储器IP此表格列出并描述了 英特尔Agilex® 7嵌入式存储器模块中支持的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

双端口ROM与单端口ROM具有几乎相似的功能端口。不同之处在于双端口ROM有一个额外的地址端口用于读操作。

可将该存储器模块可用作ROM。

  • 使用.mif.hex初始化存储器模块的ROM数据。
  • ROM的地址线被寄存在M20K块上。
  • 输出可以被寄存,也可以未寄存。
  • 输出寄存器能够被异步或同步清零。
  • ROM的读操作与真双端口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 英特尔Agilex® FPGA IP No No Yes

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

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