基于URAM原语创建容量更大的RAM

时间:2025-05-01  作者:Diven  阅读:0

引言:

基于URAM原语创建容量更大的RAM

UltraRAM 原语(也称为 URAM)可在 Xilinx UltraScale +™ 架构中使用,而且可用来高效地实现大容量深存储器

由于大小和性能方面的要求,通常这类存储器不适合使用其存储器资源来实现。

URAM 原语具有实现高速内存访问所需的可配置流水线属性和专用级联连接。 流水线阶段和级联连接是使用原语上的属性来配置的。

本篇博文描述的是通过将 URAM 矩阵配置为使用流水线寄存器来实现最佳时序性能的方法。

注意:本文由 PraDIP K Kar、Satyaprakash Pareek 和 Chaithanya Dudha 共同撰写。

流水线需求:

通过在矩阵结构中连接多个 URAM,从可用的 URAM 原语实现大容量深存储器。

矩阵由 URAM 的行和列组成。一列中的 URAM 使用内置级联电路级联,且多列 URAM 通过外部级联电路互连,这被称为水平级联电路。

作为示例,图 1 示出了针对 64K 深 x 72 位宽存储器的 4x4 URAM 矩阵的矩阵分解。

图 1:4 行 4 列的 URAM 矩阵(可实现 64K 深 72 位宽的存储器)

在没有流水线设计的情况下,深度联结构会导致内存访问出现大的时钟输出延迟。 例如,在默认情况下,上述 URAM 矩阵可以达到约 350 MHz。要以更快的速度访问内存,应插入流水线。如果在网表中指定了一定数量的输出时延,Vivado Synthesis 即会自动实现此功能。

指定 RTL 设计中的流水线:

有两种方法可以用来指定 RTL 设计中的流水线的用途,可以通过使用 XPM 流程,也可以通过行为 RTL 来推断内存。

如果 RTL 设计通过 XPM 流程来创建 URAM 内存,则用户可以将对流水线的要求指定为 XPM 实例的参数。参数“READ_LATENCY_A/B”用于捕获内存的时延要求。

可用的流水线阶段数是 LATENCY 值减去 2。 例如,如果 Latency 设置为 10,则允许 8 个寄存器阶段用于流水线操作。另外两个寄存器可用来创建 URAM 本身。

图 2:使用 XPM 设置流水线设计

如果用户使用 Vivado 用户指南中提供的模板来编写 RTL,并通过此方法来创建 URAM,那么,可以在 URAM 的输出时创建尽可能多的寄存器阶段。唯一的要求是,与数据一起,流水线寄存器的启用也需要流水线化。

图 3 显示数据和流水线的启用。

图 3:URAM 块输出时的数据及流水线启用规范

图 4 示出了 RTL 级 RAM 流水线设计示例。

图 4:用来指定数据和流水线启用的 verilog 模板

分析日志文件:

Vivado Synthesis 根据上下文环境和场景发布与 URAM 流水线相关的不同消息。下表说明要在 vivado.log 文件中查找的一些消息和要采取的相应操作。

请注意,推荐的流水线阶段基于可实现最高性能 (800 MHz+) 的完全流水线化的矩阵。此建议不受实际时序约束的限制。

情况消息操作
无流水线设计的 URAMWARNING: [Synth 8-6057] Memory: "uram00/ram1/mem_reg" defined in Module: "top_sp_no_pipe" implemented as Ultra-Ram has no pipeline registers. It is recommended to use pipeline registers to achieve high performance增加时延或插入一些流水线阶段。
URAM 严重受流水线限制CRITICAL WARNING: [Synth 8-6013] UltraRAM uram00/ram1/mem_reg is under-pipelined and may not meet performance target : Pipeline stages found = 1; Recommended pipeline stages =8增加时延或插入一些流水线阶段。
带有合理流水线设计的 URAMINFO: [Synth 8-5813] UltraRAM uram00/ram1/mem_reg: Pipeline stages found = 4; Recommended pipeline stages =8检查是否满足时间要求。如果不满足性能,则增加时延。
流水线多于需要的 URAMINFO: [Synth 8-5813] UltraRAM uram00/ram1/mem_reg: Pipeline stages found = 10; Recommended pipeline stages =8减少时延,否则 FF 利用率将显着增加。
流水线设计结果INFO: [Synth 8-5814] Pipeline result for URAM (uram00/ram1/mem_reg): Matrix size= (4 cols x 4 rows) | Pipeline stages => ( available = 10, ABSorbed = 8 ) 

时间性能估计:

下表说明流水线寄存器的数量与可实现的最大估计频率之间的关系。

请注意,实际的时间数仍将取决于最终地点和路线结果。

下列数字基于 speedgrade-2 Virtex® UltraScale+™ 部件以及我们使用 4x4 矩阵实现的 64K x 72 URAM 示例工程。

流水线阶段URAM 中吸收的流水线所用流水线资源关键路径上的数据路径延迟 (ns)估计的最大频率
00不适用2.7370 MHz
11/1OREG2.15465 MHz
22/2OREG,FDRE1.632612 MHz
44/4OREG,REGCAS,FDRE,IREG_PRE1.376726 MHz
66/6OREG,REGCAS,FDRE,IREG_PRE1.376726 MHz
88/8OREG,REGCAS,FDRE,IREG_PRE1.1909 MHz
10+8/10+OREG,REGCAS,FDRE,IREG_PRE1.1909 MHz

数据路径延迟具有以下一个或多个组件。

Tco = 1.38 ns, Clk To CascadeOut on URAM

Tco = 0.82 ns, Clk To CascadeOut on URAM with OREG=true

Tco = 0.726 ns, Clk to Dataout on URAM with OREG=true, CASCADE_ORDER = LAST

URAM -> URAM 级联延迟 = 0.2 ns

URAM -> LUT 信号网络延迟 = 0.3 ns

LUT 传输延迟 = 0.125 ns

LUT -> LUT 信号网络延迟 = 0.2 ns

LUT5 -> FF 延迟 = 0.05

URAM 原语是创建容量非常大的 RAM 结构的有效方法。 被设置为易于级联以便在您的设计中创建容量更大的 RAM。

但是,太多这类结构级联在一起可能会通过 RAM 产生很大的延迟。从长远来看,花时间让您的 RAM 完全流水线化会带来很多好处。

URAM 原语是创建容量非常大的 RAM 结构的有效方法。 被设置为易于级联以便在您的设计中创建容量更大的 RAM。

但是,太多这类结构级联在一起可能会通过 RAM 产生很大的延迟。从长远来看,花时间让您的 RAM 完全流水线化会带来很多好处。

猜您喜欢

针对传统磁通门信号处理电路中模拟元件的缺点,设计一种基于现场可编程门阵列(FPGA)的数字磁通门系统。整个系统采用闭环结构,由激励产生模块、信号处理拱块和负反馈...
2018-12-19 09:21:00

电容器是电子元件,应用于电路中。独石电容器和陶瓷电容器是两种常见类型。各有优缺点,适用场合不同。本文将详细介绍之间的区别。材料构成独石电容器主要是用金属氧化物制...
2025-03-25 23:31:40


你是否曾注意到,电子设备在充电或使用时,有时会发热?这部分热量损耗,一部分来源于电源内部的元器件。而同步整流技术,就是一项能够有效减少这种损耗,提升电源效率的关...
2024-07-30 00:00:00

贴片电阻,这种在电子电路中无处不在的小元件,它的缩写英文是什么呢?答案是:SMD Resistor 或 Chip Resistor。其中,SMD 是 Surfa...
2024-11-26 11:29:49

看Xilinx的Datasheet会注意到Xilinx的FPGA没有PLL,其实DCM就是时钟管理单元。1、DCM概述DCM内部是DLL(Delay Loc...
2018-05-11 03:53:00

薄膜电阻作为电子元件中的重要组成部分,被应用于各种电子设备中。作为全球知名的电子品牌,Samsung(三星)在薄膜电阻领域也有着丰富的产品线和多样的品牌选择。本...
2019-01-18 18:54:30

温度保险丝作为关键的安全保护元件,有着着不可替代的作用。Dioal 典奥作为知名的温度保险丝品牌,凭借其高品质的产品性能和可靠的安全保障,赢得了众多客户的信赖。...
2024-12-23 06:58:30

电流感应放大器是用于测量和放大电流信号的电子设备。通过感应电流产生的磁场,将微弱的电流信号转换为可读的电压信号,便于后续的处理和分析。这种放大器应用于工业自动化...
2024-11-23 00:00:00

扫描仪是将纸质文件转化为电子格式的重要设备,应用于办公、教育和个人使用。根据不同的工作原理和使用场景,扫描仪可以分为几种主要类型。平板扫描仪是最常见的,适合扫描...
2012-02-09 00:00:00