Intel® Stratix® 10嵌入式存储器用户指南

ID 683423
日期 11/19/2019
Public
文档目录

2.9. Intel® Stratix® 10支持的嵌入式存储器IP内核

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

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

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

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

存储器模块可用作ROM。

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

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

存储器模块可用作ROM。

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

使用存储器模块作为移位寄存器命令来节省逻辑单元和布线资源。

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

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

FIFO Intel® FPGA IP Yes Yes

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

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

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