目录
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)的传递路径。
- 路径起点:时序单元 的【时钟引脚 或 数据输入端口(port)】。
- 路径终点:时序单元 的【数据输入 或 输出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. 角落,拐角处;地区,偏僻处;困境,窘境,是不是指制造和环境的边界条件呢?
根据所执行的检查,将使用表示最差情况的延时。这就是为什么下面的检查和延时类型总是相关联:
- 最大延时 和 建立(setup)及恢复(recovery)检查
- 给定corner的最差情况延时(最慢的延时)用于源时钟路径和数据/复位路径累积延时。
- 相同corner的最好情况延时(最快的延时)用于目的时钟路径积累延时。
这就是建立及恢复时间达到最差的情况。

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

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

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

被折叠的 条评论
为什么被折叠?



