《静态时序分析实用方法》 第一章翻译

第1章 引言

        解释了什么是静态时序分析以及它如何用于时序验证。还描述了功率和可靠性方面的考虑。

        概述了纳米设计的静态时序分析程序。本章解决了诸如什么是静态时序分析、噪声和串扰的影响是什么、如何使用这些分析以及这些分析适用于整个设计过程的哪个阶段等问题。

1.1纳米设计

        在半导体器件中,金属互连走线通常用于在电路的各个部分之间建立连接以实现设计。众所周知,随着工艺技术的缩小,这些互连走线会影响设计的性能。对于深亚微米或纳米工艺技术,互连中的耦合会引起噪声和串扰——这两种情况都会限制设计的运行速度。虽然噪声和耦合效应在老一代技术中可以忽略不计,但它们在纳米技术中发挥着重要作用。因此,物理设计应考虑串扰和噪声的影响,然后设计验证应包括串扰和噪声的影响。

1.2什么是静态时序分析?

        静态时序分析(也称为 STA)是可用于验证数字设计时序的众多技术之一。用于验证时序的另一种方法是时序仿真,它可以验证设计的功能和时序。术语时序分析用于指代这两种方法之一 - 静态时序分析或时序仿真。因此,时序分析只是指对时序问题的设计进行分析。

        STA 是静态的,因为设计分析是静态执行的,不依赖于施加到输入引脚的数据值。这与基于仿真的时序分析形成对比,在基于仿真的时序分析中,对输入信号应用刺激,观察并验证结果行为,然后随着新输入刺激的应用而推进时间,并观察和验证新行为,依此类推。

        给定一个设计以及一组输入时钟定义和设计外部环境的定义,静态时序分析的目的是验证设计是否可以以额定速度运行。也就是说,设计可以在指定的时钟频率下安全运行,而不会出现任何时序违规。图 1-1 展示了静态时序分析的基本功能 。DUA 是被分析的设计。一些时序检查的例子是建立和保持检查。建立检查确保数据可以在给定的时钟周期内到达触发器。保持检查确保数据至少保持最短时间,从而不会出现意外的数据通过触发器:也就是说,它确保触发器正确捕获预期数据。这些检查确保正确的数据已准备就绪并可用于捕获并锁定新状态。       

        

          静态时序分析更重要的方面是对整个设计进行一次分析,并对设计的所有可能路径和场景执行所需的时序检查。因此,STA 是一种用于验证设计时序的完整而详尽的方法。

         分析中的设计通常使用指定的硬件描述语言(例如 VHDL 或 Verilog HDL)。外部环境(包括时钟定义)通常使用 SDC或等效格式指定。 SDC 是一种时序约束规范语言。时序报告采用 ASCII 格式,通常有多列,每一列显示路径延迟的一个属性。 

1.3为什么是静态时序分析?

        静态时序分析是对设计的所有时序检查的完整而详尽的验证。其他时序分析方法(例如仿真)只能验证设计中受激励影响的部分。通过时序仿真进行验证与所使用的测试向量一样详尽。模拟和验证具有 10-1亿个门的设计的所有时序条件非常缓慢,并且无法完全验证时序。因此,很难通过模拟进行详尽的验证。

        另一方面,静态时序分析提供了一种更快、更简单的方法来检查和分析设计中的所有时序路径是否存在任何时序违规。考虑到当今 ASIC 的复杂性,其中可能包含 10 到 1 亿个门,静态时序分析已成为详尽验证设计时序的必要条件。

串扰和噪声(Crosstalk and Noise)

        设计功能及其性能可能会受到噪声的限制。噪声是由于与其他信号的串扰或主输入或电源上的噪声而产生的。噪声影响可以限制设计运作频率,并且也可能导致功能故障。因此,一个设计实现必须经过验证证明它的稳健性,这意味着它可以在不影响设计的额定性能情况下承受噪声。

        基于逻辑仿真的验证无法处理串扰、噪声和片上变化的影响。

        本书中描述的分析方法不仅涵盖了传统的时序分析技术,还涵盖了噪声分析,以验证包括噪声影响在内的设计。

1.4设计流程

        本节主要描述本书其余部分使用的上下文中的 CMOS数字设计流程。还简要描述了它对 FPGA 和异步设计的适用性。

1.4.1CMOS数字设计

        在 CMOS 数字设计流程中,静态时序分析可以在实现的许多不同阶段执行。图 1-2 显示了一个典型的流程。

        STA 很少在 RTL 级别完成,因为此时验证设计的功能性比验证时序更为重要。也不是所有的时序信息都可用,因为块的描述在行为级。一旦 RTL 级的设计被综合到门级,STA 用于验证设计的时序。STA 也可以在执行逻辑优化之前运行 - 目标是识别最差或关键的时序路径。 STA可以在逻辑优化后重新运行来查看是否仍有需要优化的失败路径,或确定关键路径。

        在物理设计开始时,时钟树被认为是理想的,即它们具有零延迟。一旦物理设计开始并且在时钟树构建之后,就可以执行 STA 来再次检查时序。实际上,在物理设计期间,可以在每一步执行 STA 以识别最差路径。

        在物理实现中,逻辑单元通过互连金属走线连接。金属走线的寄生 RC(电阻和电容)会影响通过这些走线的信号路径延迟。在典型的纳米设计中,互连的寄生效应可以解释设计中的大部分延迟和功耗。因此,任何设计分析都应评估互连对性能特征(速度、功率等)的影响。如前所述,信号走线之间的耦合会产生噪声,设计验证必须包括噪声对性能的影响。

        在逻辑设计阶段,由于没有与布局相关的物理信息,因此可以假设为理想互连;可能更有兴趣查看导致最坏路径的逻辑。此阶段使用的另一种技术是使用线载模型估算互连的长度。线载模型根据单元的扇出提供估计的 RC。

        在最终确定走线的布线( routing)之前,实施工具使用布线距离的估计来获得布线的 RC 寄生效应。由于布线还没有最终确定,所以这个阶段称为全局布线阶段(global route),以区别于最终布线阶段(final route)。在物理设计的全局布线阶段,简化布线用于估计布线长度,布线估计用于确定计算布线延迟所需的电阻和电容。在这个阶段,不能包括耦合的影响。详细布线完成后,使用提取工具得到的实际 RC 值,可以分析耦合的影响。但是,物理设计工具可能仍会使用近似值来帮助改善计算 RC 值的运行时间。

        提取工具用于从布线设计中提取详细的寄生参数(RC 值)。这样的提取工具可以选择在迭代优化期间以较小的运行时间和较不精确的RC值获得寄生参数,也可以选择在最终验证过程中以较大的运行时间提取非常精确的RC值。

        总而言之,静态时序分析可以在门级网表上执行,具体取决于:

  1. 互连(interconnect)是怎么建模的-——理想互连、线载模型、具有近似 RC 的全局布线或具有准确 RC 的真实布线。
  2. 时钟是怎么建模 的-——时钟是理想的(零延迟)还是传播的(实际延迟)。
  3. 是否包括信号之间的耦合——是否分析了任何串扰噪声。

        图 1-2 似乎暗示 STA 是在实现步骤之外完成的,也就是说,STA 是在每个综合、逻辑优化和物理设计步骤之后完成的。实际上,这些步骤中的每一个都在其功能范围内执行集成(和增量)STA。例如,逻辑优化步骤中的时序分析引擎( timing analysis engine),它是用于识别优化器需要处理的关键路径。同样,布局工具中的集成时序分析引擎用于在布局逐步进行时保持设计的时序。

1.4.2FPGA设计

        STA 的基本流程在 FPGA 中仍然有效。尽管 FPGA 中的布线受限于通道,但提取寄生效应和执行 STA 的机制与 CMOS 数字设计流程相同。例如,STA执行时,可以假设互联是理想的,或者使用线载模型,假设时钟树是理想的或真实的,假设全局布线,或者使用真实布线进行寄生。

1.4.3异步设计

        STA 的原理也适用于异步设计。人们可能对从设计中的一个信号到另一个信号的时序更感兴趣,而不是对可能不存在的情况进行建立和保持检查。因此,大多数检查可能是点对点时序检查,或偏斜 (skew)STA 检查。用于分析耦合引起的毛刺的噪声分析适用于任何设计——异步或同步。此外,噪声分析对时序的影响,包括耦合的影响,也适用于异步设计。

1.5不同设计阶段的STA

        在逻辑级(门级,还没有物理设计),STA可以使用:

  1. 理想互连或基于线载模型的互连。
  2. 具有延迟和抖动估计值的理想时钟。

        在物理设计阶段,除了上述模式外,STA 还可以使用:

  1. 互连 -——范围可以从全局布线估计、具有近似提取的真实布线或具有准确signoff提取的真实布线。
  2. 时钟树 -——真正的时钟树。
  3. 包括和不包括串扰的影响

1.6静态时序分析的局限性

        虽然时序和噪声分析在分析所有可能情况下的时序问题方面做得非常出色,但最先进的技术仍然不允许 STA 完全取代仿真。 这是因为在时序验证的一些方面不能被STA 完全捕获和验证。

        STA的一些局限性:

  1. 复位顺序:检查在异步或同步复位后,所有触发器是否复位到其所需的逻辑值。这是无法使用静态时序分析进行检查的。芯片可能无法复位。这是因为某些声明(如信号的初始值)不会被合成,只能在模拟过程中进行验证。
  2. X处理:STA技术只处理逻辑0和逻辑1(或者高和低)、上升和下降的逻辑域。设计中的未知值X会导致不确定值在设计中传播,这无法通过STA进行检查。尽管STA中的噪声分析可以通过设计分析和传播 glitches,但 glitches分析和传播的范围与作为基于模拟的纳米设计时序验证一部分的X处理非常不同。
  3. PLL设置:PLL配置可能未正确加载或设置。
  4. 异步时钟域交叉:STA不检查是否使用了正确的时钟同步器。需要其他工具来确保在存在异步时钟域交叉的地方存在正确的时钟同步器。
  5. IO接口时序:可能无法仅根据STA约束指定IO接口要求。例如,设计者可以使用SDRAM仿真模型为双数据速率(Double Data Rate,DDR)接口选择详细的电路级仿真。模拟的目的是确保可以以足够的余量读取和写入存储器,而且,如果有延迟锁相环(Delay Locked Loop,DLL),可以控制DLL以便在必要时对齐信号。
  6. 模拟和数字块之间的接口:由于STA不处理模拟块,验证方法需要确保这两种块之间的连接正确。
  7. 错误路径(False paths):静态时序分析验证通过逻辑路径的时序是否满足所有约束,如果通过逻辑路径的时序不符合要求的规范,则标记违规。在许多情况下,STA 可能会将逻辑路径标记为失败路径,即使逻辑可能永远无法通过该路径传播。当系统应用程序从不使用这样的路径或者在故障路径的敏感化期间使用相互矛盾的条件时,就会发生这种情况。这种时序路径被称为虚假路径,因为它们永远无法实现。在设计中指定适当的时序约束(包括错误路径和多周期路径约束)时,STA 结果的质量会更好。在大多数情况下,设计人员可以利用设计的固有知识并指定约束条件,以便在 STA 期间消除错误路径。
  8. FIFO 指针不同步:当两个期望同步的有限状态机实际上不同步时,STA 无法检测到问题。在功能仿真期间,两个有限状态机可能始终同步并同步变化。然而,在考虑延迟之后,有限状态机中的一个可能与另一个不同步,很可能是因为一个有限状态机比另一个更早退出复位。这种情况是STA无法检测到的。
  9. 时钟同步逻辑:STA无法检测时钟生成逻辑与时钟定义不匹配的问题。 STA 假设时钟发生器将提供时钟定义中指定的波形。可能对时钟发生器逻辑执行了错误的优化,例如导致在其中一条可能没有受到适当的约束路径上插入大延迟。或者,添加的逻辑可能会改变时钟的占空比。 STA 无法检测到这些潜在条件中的任何一个。
  10. 跨时钟周期的功能行为:静态时序分析无法建模或模拟跨时钟周期变化的功能行为。

        尽管存在这些问题,STA 被广泛用于验证设计的时序,并且带有时序或带有单位延迟的仿真用于检查极端情况的备份,更简单地用于验证设计的正常功能模式。

1.7功率考虑

        功耗是设计实施中的一个重要考虑因素。大多数设计需要在电路板和系统的功率预算内运行。由于符合标准和/或由于芯片必须在其中运行的电路板或系统上的热预算,也可能引起功率考虑。总功率和待机功率通常有单独的限制。待机功率限制通常适用于手持设备或电池供电设备。

        在大多数实际设计中,功率和时序通常是齐头并进的。设计人员希望使用更快(或更高速度)的单元来满足速度考虑,但可能会遇到可用功耗的限制。在为设计选择工艺技术和单元库时,功耗是一个重要的考虑因素。

1.8可靠性考虑

        设计实现必须满足可靠性要求。如第 1.4.1 节所述,金属互连走线具有限制设计性能的寄生 RC。除了寄生效应之外,还需要设计金属走线宽度,同时考虑可靠性因素。例如,高速时钟信号需要足够宽才能满足可靠性考虑,例如电迁移。

1.9书的大纲

        虽然静态时序分析从表面上看可能是一个非常简单的概念,但这种分析背后有很多背景知识。基本概念范围从单元延迟的准确表示到以最小的悲观计算最坏的路径延迟。计算单元延迟、组合块计时、时钟关系、多个时钟域和门控时钟的概念构成了静态时序分析的重要基础。为设计编写正确的 SDC 确实是一个挑战。

        这本书是按照自下而上的顺序编写的——首先介绍简单的概念,然后在后面的章节中介绍更高级的主题。本书首先介绍了准确的单元延迟(第 3 章)。以有效的方式估计或计算精确的互连延迟及其表示是第 4 章的主题。计算由单元和互连组成的路径的延迟是第 5 章的主题。信号完整性,即信号切换对相邻网络的影响以及它如何影响沿路径的延迟,是第 6 章的主题。准确地表示具有时钟定义和路径异常的 DUA 环境是第 7 章的主题。STA 中执行的时序检查的详细信息在第 6 章中描述8. 跨各种接口的 IO 时序建模是第 9 章的主题。最后,第 10 章详细介绍高级时序检查,例如片上变化、时钟门控检查、电源管理和统计时序分析。附录提供了 SDC(用于表示时序约束)、SDF(用于表示单元和网络的延迟)和 SPEF(用于表示寄生)的详细描述。

        第 7 章到第 10 章提供了 STA 验证的核心。前面的章节为更好地理解STA所需的nuts
and bolts 知识提供了坚实的基础和详细描述。

你可能感兴趣的:(读书笔记,数字后端)