Intel® Arria® 10内核架构和通用I/O手册

ID 683461
日期 5/08/2017
Public
文档目录

2.4. 嵌入式存储器模式

表 6.  嵌入式存储器模块中支持的存储器模式此表列出并描述了 Arria® 10嵌入式存储器模块中所支持的存储器模式。
存储器模式 M20K Support MLAB支持 说明
单端口RAM Yes Yes

一次只能执行一个读或一个写操作。

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

  • 保留最近有效读使能期间保持的之前值—创建一个读使能端口并通过置低此端口执行写操作。
  • 显示正在写入的新数据,该地址上的旧数据,或者"Don't Care"值(当read-during-write出现在同一地址上)—不要创建read-enable信号,或者在写操作期间启用读使能。
简单双端口模式 Yes Yes

你可以对不同位置同时执行读写操作,端口A进行写操作,端口B进行读操作。

真双端口RAM Yes

您可以执行两个端口操作的任意组合:在两个不同时钟频率上的两个读操作,两个写操作,或者一个读操作和一个写操作。

移位寄存器(shift-register) Yes Yes

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

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

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

ROM Yes Yes

存储器模块可用作ROM。

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

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

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

警告:
为避免损坏存储器数据,在读写操作期间不要违规任何存储器模块输入寄存器上的建立和保持时间。 这一注意事项适用于单端口RAM,简单双端口RAM,真双端口RAM或者ROM模式的存储器模块。