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

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

3天内不再提示

详细解析vivado约束时序路径分析问题

电子设计 ? 来源:FPGA开源工作室 ? 作者:FPGA开源工作室 ? 2020-11-29 10:34 ? 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

时序不满足约束,会导致以下问题:

? 编译时间长的令人绝望
? 运行结果靠运气——时对时错

导致时序问题的成因及其发生的概率如下表:


由上表可见,造成时序问题的主要原因除了约束不完整,就是路径问题,本文就时序路径分析问题作一介绍:

1、时钟网络分析

时钟网络反映了时钟从时钟引脚进入FPGA后在FPGA内部的传播路径。

报告时钟网络命令可以从以下位置运行:
① Vivado?IDE中的Flow Navigator
② Tcl命令:report_clock_networks -name {network_1}

报告时钟网络提供设计中时钟树的树视图。 如下图。每个时钟树显示从源到端点的时钟网络,端点按类型排序。


时钟树:
? 显示由用户定义或由工具自动生成的时钟。
? 报告从I / O端口加载的时钟。
? 可用于查找驱动其他BUFGs的BUFGs。
? 显示驱动非时钟负载的时钟。

温馨提醒:完整的时钟树仅在报告的GUI形式中详细说明。此报告的文本版本仅显示时钟根的名称。

以vivado自带的例子wavegen为例。点击Synthesis的Report CLock Networks如下图所示:


时钟clk_pin_p从输入引脚输入之后,经过IBUFDS,再通过MMCM生成时钟,同时显示了各个时钟的频率。如果我们未添加时钟约束,报告将显示Unconstrained(未约束的时钟,root clock).可以选中未约束的时钟右击选择Create Clock创建时钟。

如下图所示:


2、 跨时钟域路径分析

若要查看跨时钟域路径分析报告,可选择以下内容之一来查看:

? Reports > Timing > Report Clock Interaction

? Flow Navigator > Synthesis > Report Clock Interaction

? Flow Navigator > Implementation > Report Clock Interaction

? Tcl command: report_clock_interaction -name clocks_1

如下图所示,点击Synthesis–>Report Clock Interaction.


跨时钟域路径分析报告分析从一个时钟域(源时钟)跨越到另一个时钟域(目标时钟)的时序路径。跨时钟域路径分析报告有助于识别可能存在数据丢失或亚稳态问题的情况.

运行“Report Clock Interaction”命令后,结果将在“时钟交互”窗口中打开。如下图所示,时钟交互报告显示为时钟域矩阵,源时钟位于垂直轴,目标时钟位于水平轴。


No Path --用黑色框来表示:没有从源时钟到目标时钟的定时路径。在这种情况下,没有时钟交互,也没有任何报告。

Timed – 用绿色框来表示:源时钟和目标时钟具有同步关系,并安全地被约束在一起。当两个时钟具有共同的主时钟和简单的周期比时,该状态由定时引擎确定。

User Ignored Paths–用深蓝色框来表示:用户定义的假路径或时钟组约束涵盖从源时钟到目标时钟的所有路径。

Partial False Path–用淡蓝色框来表示:用户定义的伪路径约束覆盖了从源时钟到目标时钟的一些时序路径,其中源时钟和目标时钟具有同步关系。

Timed (Unsafe)–用红色框来表示:源时钟和目标时钟具有异步关系。在这种情况下,没有共同的主时钟或没有可扩展的时段。

Partial False Path (Unsafe)–用橘橙色框来表示:此类别与Timed(Unsafe)相同,只是由于伪路径异常,从源时钟到目标时钟的至少一条路径被忽略。

Max Delay Datapath Only --用紫色框来表示:set_max_delay -datapath_only约束涵盖从源时钟到目标时钟的所有路径。

Report_clock_interaction呈现的报告并不是根据时序约束生成的,但是和时序约束有关,它反映出用户定义的伪路径。

以wavegen工程为示例,点击Report Clock Interaction,如下图所示:


ID: 正在显示的源/目标时钟对的数字ID。

Source Clock: 路径源时钟域。

Destination Clock: 路径终端的时钟域。

Edges (WNS):用于计算最大延迟分析(设置/恢复)的最差裕度的时钟边缘。

WNS (Worst Negative Slack):为跨越指定时钟域的各种路径计算的最差裕度时间。负裕量时间表示路径违反了所需的建立(或恢复)时间的问题。

TNS (Total Negative Slack):属于跨越指定时钟域的路径的所有端点的最差松弛违规的总和。

Failing Endpoints (TNS): 交叉路径中的端点数量无法满足时序要求。违规的总和对应于TNS。

Total Endpoints (TNS):交叉路径中端点的总数。

Path Req (WNS):定时路径要求对应于WNS列中报告的路径。如果两个时钟中的至少一个时钟的上升沿和下降沿都有效,则在任何时钟对之间可能存在若干路径要求,或者在两个时钟之间的路径上应用了一些时序异常。本专栏中报告的值并不总是最具挑战性的要求。

Clock Pair Classification: 提供有关公共节点和时钟对之间的公共周期的信息。从最高优先级到最低优先级:忽略,虚拟时钟,无公共时钟,无公共周期,部分公共节点,无公共节点和清除。

Inter-Clock Constraints: 显示源时钟和目标时钟之间所有路径的约束摘要。

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

    关注

    19

    文章

    835

    浏览量

    68995
  • 时序路径
    +关注

    关注

    0

    文章

    12

    浏览量

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Vivado无法选中开发板的常见原因及解决方法

    对应的器件信息和约束文件(XDC),大大简化工程初始化流程。然而,在某些情况下,我们可能会发现 Vivado 的界面中无法选中目标开发板,导致只能手动选择器件。那么,遇到这种情况该如何处理呢?
    的头像 发表于 07-15 10:19 ?542次阅读
    <b class='flag-5'>Vivado</b>无法选中开发板的常见原因及解决方法

    西门子再收购EDA公司 西门子宣布收购Excellicon公司 时序约束工具开发商

    精彩看点 此次收购将帮助系统级芯片 (SoC) 设计人员通过经市场检验的时序约束管理能力来加速设计,并提高功能约束和结构约束的正确性 ? 西门子宣布 收购 Excellicon 公司
    的头像 发表于 05-20 19:04 ?874次阅读
    西门子再收购EDA公司  西门子宣布收购Excellicon公司  <b class='flag-5'>时序</b><b class='flag-5'>约束</b>工具开发商

    FPGA时序约束之设置时钟组

    Vivado时序分析工具默认会分析设计中所有时钟相关的时序路径,除非
    的头像 发表于 04-23 09:50 ?539次阅读
    FPGA<b class='flag-5'>时序</b><b class='flag-5'>约束</b>之设置时钟组

    一文详解Vivado时序约束

    Vivado时序约束是保存在xdc文件中,添加或创建设计的工程源文件后,需要创建xdc文件设置时序约束
    的头像 发表于 03-24 09:44 ?3590次阅读
    一文详解<b class='flag-5'>Vivado</b><b class='flag-5'>时序</b><b class='flag-5'>约束</b>

    Techwiz LCD应用:LC透镜光线追迹

    TechWiz Ray 2D和3D计算光程差和焦距,并进行高级LC分析,包括通过施加电压进行LC指向矢分布。 (a)LC分布和光学路径分析(关状态) (b)LC分布和光学路径分析(开状态)
    发表于 03-18 08:49

    AMD Vivado Design Suite IDE中的设计分析简介

    本文档涵盖了如何驱动 AMD Vivado Design Suite 来分析和改善您的设计。
    的头像 发表于 02-19 11:22 ?631次阅读
    AMD <b class='flag-5'>Vivado</b> Design Suite IDE中的设计<b class='flag-5'>分析</b>简介

    集成电路设计中静态时序分析介绍

    Analysis,STA)是集成电路设计中的一项关键技术,它通过分析电路中的时序关系来验证电路是否满足设计的时序要求。与动态仿真不同,STA不需要模拟电路的实际运行过程,而是通过分析
    的头像 发表于 02-19 09:46 ?667次阅读

    Vivado Design Suite用户指南: 设计分析与收敛技巧

    电子发烧友网站提供《Vivado Design Suite用户指南: 设计分析与收敛技巧.pdf》资料免费下载
    发表于 01-15 15:28 ?0次下载
    <b class='flag-5'>Vivado</b> Design Suite用户指南: 设计<b class='flag-5'>分析</b>与收敛技巧

    时序约束一主时钟与生成时钟

    的输出,对于Ultrascale和Ultrascale+系列的器件,定时器会自动地接入到GT的输出。 1.2 约束设置格式 主时钟约束使用命令create_clock进行创建,进入Timing
    的头像 发表于 11-29 11:03 ?1501次阅读
    <b class='flag-5'>时序</b><b class='flag-5'>约束</b>一主时钟与生成时钟

    常用时序约束使用说明-v1

    的完整路径all_inputs/all_outputs 可以查看输入输出端口get_ports?*get_nets *get_pins *|*get cells
    的头像 发表于 11-01 11:06 ?607次阅读

    Vivado使用小技巧

    有时我们对时序约束进行了一些调整,希望能够快速看到对应的时序报告,而又不希望重新布局布线。这时,我们可以打开布线后的dcp,直接在Vivado Tcl Console里输入更新后的
    的头像 发表于 10-24 15:08 ?1082次阅读
    <b class='flag-5'>Vivado</b>使用小技巧

    使用IBIS模型进行时序分析

    电子发烧友网站提供《使用IBIS模型进行时序分析.pdf》资料免费下载
    发表于 10-21 10:00 ?1次下载
    使用IBIS模型进行<b class='flag-5'>时序</b><b class='flag-5'>分析</b>

    锁存器的基本输出时序

    在深入探讨锁存器的输出时序时,我们需要详细分析锁存器在不同控制信号下的行为表现,特别是控制信号(如使能信号E)的电平变化如何影响数据输入(D)到输出(Q)的传输过程。以下是对锁存器输出时序
    的头像 发表于 08-30 10:43 ?1216次阅读

    时序逻辑电路故障分析

    时序逻辑电路的主要故障分析是一个复杂而重要的课题,它涉及电路的稳定性、可靠性以及整体性能。以下是对时序逻辑电路主要故障的全面分析,旨在帮助理解和解决这些故障。
    的头像 发表于 08-29 11:13 ?1927次阅读

    深度解析FPGA中的时序约束

    建立时间和保持时间是FPGA时序约束中两个最基本的概念,同样在芯片电路时序分析中也存在。
    的头像 发表于 08-06 11:40 ?1465次阅读
    深度<b class='flag-5'>解析</b>FPGA中的<b class='flag-5'>时序</b><b class='flag-5'>约束</b>