【vivado UG学习】UG906学习笔记:Xilinx官方时序分析教程,时序分析基础知识,Vivado时序分析方法,时序报告查看

本文深入探讨了数字设计中的时序分析,包括术语、时序路径、建立/保持关系、最小和最大延时分析以及时钟偏斜和不确定性。时序分析确保设计在各种条件下满足时序要求,确保电路的正确运行。了解这些概念对于验证FPGA或ASIC设计至关重要。

5 执行时序分析

5.1 时序分析的介绍

Report Timing Summary展示了设计是否符合时序,或者缺少了某些约束,可以在报告中各章节看到详细的内容。其他的时序报告提供更多的关于特殊情况的细节。

在给设计添加时序约束之前,必须理解时序分析的基础,以及相关的术语。

5.1.1 术语

launch edge:前一级时序单元产生数据时【源时钟source clock】的有效沿。
capture edge:后一级时序单元捕获数据时【目的时钟destination clock】的有效沿。
source clock:也称为launch clock。
destination clock:也称为capture clock。
setup requirement:launch edge和capture edge之间最严格的setup约束关系。
setup relationship:经时序分析工具验证的setup 检查。
hold requirement:launch edge和capture edge之间最严格的hold约束关系。
hold relationship:经时序分析工具验证的hold 检查。

//*launch:不知道怎么翻,就是与源时钟同步的数据输出,准确来说不是“产生”,暂且翻译为产生吧。

5.1.2 时序路径

时序路径为设计实例间的连接。在数字设计中,时序路径由一对【由同一时钟或两个不同时钟控制】的时序元素组成。

1. 常见的时序路径

在这里插入图片描述

  • 从输入端口到到内部时序单元的路径(Path from Input Port to Internal Sequential Cell)
  • 从一个时序单元到另一个时序单元的内部路径(Internal Path from Sequential Cell to Sequential Cell)
  • 从一个时序单元到输出端口的路径(Path from Internal Sequential Cell to Output Port)
  • 从输入端口到输出端口的路径(Path from Input Port to Output Port)

从输入端口到到内部时序单元的路径,数据:

  • 由板上的时钟驱动,在器件外产生。
  • 经过输入延时到达器件端口。
  • 到达目的时钟驱动的时序单元之前经过一些内部逻辑的传递。

从一个时序单元到另一个时序单元的内部路径,数据:

  • 源时钟(source clock)驱动,器件内部的时序单元产生的。
  • 到达目的时钟驱动的时序单元之前经过一些内部逻辑的传递。

从一个时序单元到输出端口的路径,数据:

  • 源时钟(source clock)驱动,器件内部的时序单元产生的。
  • 在到达输出端口前经过了一些内部逻辑的传递。
  • 经过一些额外的输出延时后被板子上的时钟捕获。

从输入端口到输出端口的路径,数据:

  • 数据通过器件而不被锁存。这种类型的路径通常也称为in-to-out路径。输入和输出延时参考时钟可以是虚拟时钟或设计时钟。

2. 时序路径分段

每个时序路径分为三段:

  • 源时钟路径(source clock path)
  • 数据路径(data path)
  • 目的时钟路径(destination clock path)

在这里插入图片描述

源时钟路径
源时钟路径:源时钟 从【源点(通常是输入端口)】到 【启动时序单元的时钟引脚】的路径。
对于一个从输入端口(port)开始的时序路径,没有源时钟路径。

数据路径
数据路径:数据从路径起点(path startpoint)到路径终点(path endpoint)的传递路径。

  1. 路径起点:时序单元 的【时钟引脚 或 数据输入端口(port)】。
  2. 路径终点:时序单元 的【数据输入 或 输出port】。

目的时钟路径
目的时钟路径:目的时钟 从 【源点(通常是输入port)】 到 【捕获时序单元的时钟引脚】的路径。
对于一个在输出port结束的时序路径,没有目的时钟路径。

3. 产生(Launch)和捕获(Capture)边沿

当数据在时序单元或端口间传递时,数据:

  • 在源时钟的一个边沿产生,这个时钟边沿就叫做【launch edge】
  • 在目的时钟的一个边沿捕获,这个时钟边沿就叫做【capture edges】

在典型的时序路径中,数据在一个时钟周期内在两个时序单元之间传递,所以:

  • launch edge发生在0ns。
  • capture edge发生在一个时钟周期后。

下面解释launch edge和capture edge如何在时序分析中定义建立和保持关系。

5.2 了解时序分析的基础知识

5.2.1 最小和最大延时分析

时序分析是一种静态验证,一旦在硬件上加载和运行设计的时序行为将是可预测的。它考虑了一系列的制造和环境变化,这些变化被组合到延时模型中,并根据timing corner和corner变化进行分组。对所有推荐的corner进行时序分析就足够了,对每个corner在最悲观的情况下执行所有的检查。例如,针对Xilinx FPGA设备的设计必须通过以下四个分析:

  • 对slow corner进行最大延时分析。
  • 对slow corner进行最小延时分析。
  • 对fast corner进行最大延时分析。
  • 对fast corner进行最小延时分析。

//?corner:n. 角落,拐角处;地区,偏僻处;困境,窘境,是不是指制造和环境的边界条件呢?

根据所执行的检查,将使用表示最差情况的延时。这就是为什么下面的检查和延时类型总是相关联:

  1. 最大延时 和 建立(setup)及恢复(recovery)检查
  • 给定corner的最差情况延时(最慢的延时)用于源时钟路径和数据/复位路径累积延时。
  • 相同corner的最好情况延时(最快的延时)用于目的时钟路径积累延时。

这就是建立及恢复时间达到最差的情况。
在这里插入图片描述

  1. 最小延时 和 保持(hold)及移除(removal)检查
  • 给定corner的最好情况延时(最快的延时)用于源时钟路径和数据/复位路径累积延时。
  • 相同corner的差情况延时(最慢的延时)用于目的时钟路径积累延时。

这就是保持及移除时间达到最差的情况
在这里插入图片描述

////////////////////////////////////////////*
插一节

  1. 建立时间(setup time):指时序单元正常工作时,在功能上为了保证正确性,【输入信号需要在时钟信号有效沿前到达并保持的最小时间】。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ChipWeaver

觉得有用的话点个赞吧 :)

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值