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

    文章

    5589

    浏览量

    129063
  • 时序设计
    +关注

    关注

    0

    文章

    21

    浏览量

    44105

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    流水线基本结构

    3级流水线(Cortex-M0) 分为以下三个阶段: 取指(Fetch):从存储中读取指令。 解码(Decode):解析指令的操作类型和操作数。 执行(Execute):执行指令(如算术运算、内存
    发表于 11-21 07:35

    如何更好地选择工业流水线上用的条码扫码

    五花八门的设备,如何精准挑选出符合流水线需求的条码扫码,成为不少企业采购时的难题。其实,只要围绕核心性能指标、匹配具体应用场景,并参考靠谱品牌,就能轻松找到适配
    的头像 发表于 11-05 15:49 119次阅读
    如何更好地选择工业<b class='flag-5'>流水线</b>上用的条码扫码<b class='flag-5'>器</b>?

    常用硬件加速的方法

    空间换时间。而状态机则相反。流水线级数越多,意味着流水线被切的越细,每一级流水线内容纳的硬件逻辑越少,在两级寄存器(每一级流水线
    发表于 10-29 06:20

    如何对蜂鸟e203内核乘除法器进行优化

    除数和被除数分成若干个部位,并在每个时钟周期内同时计算多个部位,实现了除法器的快速计算。具体而言,除法器主要由以下两部分组成: 流水线寄存器:用于保存除法器每个时钟周期内所需的数据和控制信息。 核心除法
    发表于 10-24 06:47

    流水线输送带数据采集物联网解决方案

    在自动化流水线的输送带中,速度是一个十分重要的变量。速度闭环控制系统是由速度传感、控制、驱动和电机组成。速度传感检测电机轴实际速度,
    的头像 发表于 08-07 13:31 328次阅读
    <b class='flag-5'>流水线</b>输送带数据采集物联网解决<b class='flag-5'>方案</b>

    激光振镜运动控制流水线激光打标上的应用

    正运动流水线激光打标解决方案
    的头像 发表于 08-05 11:26 790次阅读
    激光振镜运动控制<b class='flag-5'>器</b>在<b class='flag-5'>流水线</b>激光打标上的应用

    流水线扫码升级选NVF230!工业二维码读码方案实测

    在现代流水线生产中,给每件产品贴上独特的“电子身份证”——DPM条码,再用工业二维码读码实时追踪定位,早已是保障高效运转的关键操作。但轮到饮料行业,给瓶身或瓶盖上的DPM条码“打卡”,却成了让不少
    的头像 发表于 07-17 15:09 379次阅读
    <b class='flag-5'>流水线</b>扫码升级选NVF230!工业二维码读码<b class='flag-5'>器</b><b class='flag-5'>方案</b>实测

    自动化开装封码流水线数据采集解决方案

    运行数据的实时采集与深度分析成为企业优化生产、降本增效的关键。 现场流水线上包括开箱机、装箱机、封箱机、贴标机、码垛机等设备,已接入PLC实现自动化控制,产品从开箱、装填、封箱再到贴标、码垛,生产效率得到大
    的头像 发表于 06-27 15:56 526次阅读
    自动化开装封码<b class='flag-5'>流水线</b>数据采集解决<b class='flag-5'>方案</b>

    面包成型流水线数据采集远程监控系统

    该食品加工企业主要从事多种口味的面包生产及销售,拥有一整条完整的面包成型流水线,能够自动进行面块切割、整平折叠、多次擀薄、冷库发酵、包油加馅、排盘等工序,各个变频和伺服通过PLC进行集中控制,要求实现
    的头像 发表于 06-16 17:11 510次阅读
    面包成型<b class='flag-5'>流水线</b>数据采集远程监控系统

    远程io模块在汽车流水线的应用

    在汽车制造领域,生产流水线的高效、稳定运行是保障产品质量与生产效率的关键。随着工业 4.0 和智能制造理念的深入,汽车生产企业对流水线自动化控制提出了更高要求,不仅要实现设备间的精准协同作业,还需
    的头像 发表于 06-11 15:26 495次阅读

    工业4.0时代,为什么你的流水线必须配备固定式扫码

    在工业4.0时代,制造业正朝着智能化、自动化的方向飞速发展。在这一进程中,流水线作为生产的关键环节,配备固定式扫码已成为提升生产效率、保证产品质量和实现智能化管理的必然选择。固定式扫码
    的头像 发表于 06-09 16:12 409次阅读
    工业4.0时代,为什么你的<b class='flag-5'>流水线</b>必须配备固定式扫码<b class='flag-5'>器</b>?

    工业流水线上用的条码扫码,如何选择与使用?

    在现代工业自动化生产中,条码扫码(又称工业读码)作为数据采集的关键设备,广泛应用于流水线上,有效提升了生产效率并减少了人为错误。然而,面对市场上种类繁多、功能各异的条码扫码,如何
    的头像 发表于 05-14 15:18 654次阅读
    工业<b class='flag-5'>流水线</b>上用的条码扫码<b class='flag-5'>器</b>,如何选择与使用?

    RISC-V五级流水线CPU设计

    本文实现的CPU是一个五级流水线的精简版CPU(也叫PCPU,即pipeline),包括IF(取指令)、ID(解码)、EX(执行)、MEM(内存操作)、WB(回写)。
    的头像 发表于 04-15 09:46 1348次阅读
    RISC-V五级<b class='flag-5'>流水线</b>CPU设计

    XILINX FPGA CLB单元之移位寄存器

    ,LUT B / C / D的MC31输出也不可用。由此产生的可编程延迟可用于平衡数据流水线时序。 下图是S
    的头像 发表于 01-16 17:45 1453次阅读
    XILINX FPGA CLB单元之移位<b class='flag-5'>寄存器</b>

    工业二维码条码扫描流水线条码扫描

    。在繁忙的流水线上,每一秒都关乎成本与效益的较量。工业二维码条码扫描凭借其快速精准的扫描性能,能够瞬间捕捉产品上的条码信息,无论是复杂的一维码还是高密度的二维码
    的头像 发表于 01-07 16:07 900次阅读
    工业二维码条码扫描<b class='flag-5'>器</b><b class='flag-5'>流水线</b>条码扫描