0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

使用流水线寄存器实现最佳时序性能方案

YCqV_FPGA_EETre 来源:未知 作者:刘勇 2019-07-26 16:01 次阅读

引言

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:URAM 块输出时的数据及流水线启用规范

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

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

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

分析日志文件:

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

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

时间性能估计:

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

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

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

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

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 完全流水线化会带来很多好处。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 寄存器
    +关注

    关注

    31

    文章

    5308

    浏览量

    119980
  • 时序设计
    +关注

    关注

    0

    文章

    21

    浏览量

    43925

原文标题:通过在 Vivado Synthesis 中使 URAM 矩阵自动流水线化来实现最佳时序性能

文章出处:【微信号:FPGA-EETrend,微信公众号:FPGA开发圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    工业读码解决方案在自动化流水线上扫描条码的应用

    工业读码解决方案在自动化流水线上的应用主要包括以下几个方面:1、提高生产效率和准确性工业读码嵌入在工业流水线中,无需人工扫描,大大提高了
    的头像 发表于 11-20 16:28 86次阅读
    工业读码<b class='flag-5'>器</b>解决<b class='flag-5'>方案</b>在自动化<b class='flag-5'>流水线</b>上扫描条码的应用

    SMT流水线布局优化技巧

    在电子制造领域,SMT(表面贴装技术)流水线的布局优化对于提高生产效率、降低成本和提升产品质量至关重要。一个合理的流水线布局可以减少物料搬运时间,提高设备利用率,减少人为错误,并且提高整体的生产
    的头像 发表于 11-14 09:11 216次阅读

    行云流水线 满足你对工作流编排的一切幻想~skr

    流水线模型 众所周知,DevOps流水线(DevOps pipeline)的本质是实现自动化工作流程,用于支持软件开发、测试和部署的连续集成、交付和部署(CI/CD)实践。它是DevOps方法论
    的头像 发表于 08-05 13:42 240次阅读

    ADS900高速流水线模数转换(ADC)数据表

    电子发烧友网站提供《ADS900高速流水线模数转换(ADC)数据表.pdf》资料免费下载
    发表于 07-30 14:11 0次下载
    ADS900高速<b class='flag-5'>流水线</b>模数转换<b class='flag-5'>器</b>(ADC)数据表

    ADS930高速流水线模数转换(ADC)数据表

    电子发烧友网站提供《ADS930高速流水线模数转换(ADC)数据表.pdf》资料免费下载
    发表于 07-30 14:10 0次下载
    ADS930高速<b class='flag-5'>流水线</b>模数转换<b class='flag-5'>器</b>(ADC)数据表

    ADS901高速流水线模数转换数据表

    电子发烧友网站提供《ADS901高速流水线模数转换数据表.pdf》资料免费下载
    发表于 07-30 11:43 0次下载
    ADS901高速<b class='flag-5'>流水线</b>模数转换<b class='flag-5'>器</b>数据表

    ADS5421流水线式模数转换(ADC)数据表

    电子发烧友网站提供《ADS5421流水线式模数转换(ADC)数据表.pdf》资料免费下载
    发表于 07-30 11:16 0次下载
    ADS5421<b class='flag-5'>流水线</b>式模数转换<b class='flag-5'>器</b>(ADC)数据表

    ADS5413 CMOS流水线模数转换(ADC)数据表

    电子发烧友网站提供《ADS5413 CMOS流水线模数转换(ADC)数据表.pdf》资料免费下载
    发表于 07-29 13:21 0次下载
    ADS5413 CMOS<b class='flag-5'>流水线</b>模数转换<b class='flag-5'>器</b>(ADC)数据表

    ADS5237流水线式模数转换(ADC)数据表

    电子发烧友网站提供《ADS5237流水线式模数转换(ADC)数据表.pdf》资料免费下载
    发表于 07-29 11:46 0次下载
    ADS5237<b class='flag-5'>流水线</b>式模数转换<b class='flag-5'>器</b>(ADC)数据表

    ADS828流水线式CMOS模数转换数据表

    电子发烧友网站提供《ADS828流水线式CMOS模数转换数据表.pdf》资料免费下载
    发表于 07-23 09:17 0次下载
    ADS828<b class='flag-5'>流水线</b>式CMOS模数转换<b class='flag-5'>器</b>数据表

    MT6835磁编码IC在自动链板流水线中控制电机的应用

    在现代工业自动化领域中,精确控制电机运行是实现高效、稳定生产流程的关键环节。MT6835磁编码IC(集成电路)作为一种高性能的电机控制解决方案,其在自动链板流水线中控制电机的应用显得尤
    的头像 发表于 07-21 14:41 625次阅读
    MT6835磁编码IC在自动链板<b class='flag-5'>流水线</b>中控制电机的应用

    ADS805流水线模数转换ADC数据表

    电子发烧友网站提供《ADS805流水线模数转换ADC数据表.pdf》资料免费下载
    发表于 07-16 11:28 0次下载
    ADS805<b class='flag-5'>流水线</b>模数转换<b class='flag-5'>器</b>ADC数据表

    固定式的扫码在SMT流水线中的使用

    新大陆固定式扫码作为一种高效的条码扫描设备,广泛应用于各个行业中,尤其是在SMT(表面贴装技术)流水线中有重要的作用。以下是新大陆固定式扫码在SMT流水线中的具体使用情况。提高生产
    的头像 发表于 07-03 10:18 444次阅读
    固定式的扫码<b class='flag-5'>器</b>在SMT<b class='flag-5'>流水线</b>中的使用

    RISC-V架构的多级流水线处理

    有的单核RISC-V MCU支持四级流水线,有的只支持三级流水线,是不是级数越多,带来的开销越大,功耗也越高呢?
    发表于 05-20 16:01

    具有3态输出的多级流水线寄存器数据表

    电子发烧友网站提供《具有3态输出的多级流水线寄存器数据表.pdf》资料免费下载
    发表于 05-16 09:39 0次下载
    具有3态输出的多级<b class='flag-5'>流水线</b><b class='flag-5'>寄存器</b>数据表