时序,时序,时序! 这是负责设计半导体芯片的数字设计工程师的主要关注点。 它是什么,它是如何被描述的,以及如何验证(Verify)
它? 大型数字设计的设计团队可能会花费数月的时间来设计架构,进行迭代,以达到要求的时序目标。 除了功能验证之外,时序收敛Timing Closure
也是一个重要的里程碑,它决定了何时可以在半导体代工厂(semiconductor foundry)
进行芯片制造(fabrication)
。 本书介绍了使用静态时序分析(static timing analysis)
进行纳米级设计(nanometer designs)
的时序验证(timing verification)
。
本书的内容来源于我们在复杂纳米级芯片时序验证方面多年的工作经验。我们咨询了很多工程师,尝试去了解STA的各个方面以及相应的背景。不幸的是,现在没有一本书可以让工程师马上了解STA的具体细节。芯片工程师缺少时序相关的参考指南,就是那种涵盖从基础知识到先进时序验证方法的资料。
本书的目的是为静态时序分析领域的初学者和专业人士提供参考。 本书旨在提供基础理论的背景介绍以及使用静态时序分析进行时序验证的深入介绍。 本书涵盖了单元时序(cell timing)
、互连(interconnect)
、时序计算(timing calculation)
和串扰(crosstalk)
等主题,这些都会影响纳米设计的时序。它描述了时序信息(timing information)
如何存储在单元库(cell libraries)
中,以及综合工具(synthesis tools )
和静态时序分析工具(static timing analysis tools)
使用这些单元库来计算和验证时序。
本书所讲述的主题包括了CMOS(Complementary Metal Oxide Semiconductor,互补金属氧化物半导体)
、逻辑门(Logic Gates)
、单元库(Cell Library)
、时序弧(Timing Arcs)
、波形转换率(Waveform Slew)
、单元电容(Cell Capacitance)
、时序模型(Timing Modeling)
、互连线寄生参数(Interconnect Parasitic)
及耦合效应(Coupling)
、布局前后(Pre-Layout andPost-Layout)
的互连线模型、延迟计算(Delay Calculation)
、用来分析内部时序路径和IO(Input/Output,输人输出)
接口的时序约束规范(specification of timing constraints)
,还包括了先进模型的概念,比如CCS(Composite Current Source,复合电流源)
时序和噪声模型,包括动态功耗和漏电功耗的功耗模型,以及串扰效应(Crosstalk)
对时序和噪声的影响。
静态时序分析所涵盖的主题从简单块(verification of simple blocks)
的验证开始,这对于这个领域的初学者特别有用。然后,这些主题扩展到复杂的纳米设计的概念,比如OCV(On-Chip Variation,片上变化)
的模型、门控时钟(Clock Gating)
、半周期(Half-Cycle)
和多周期(Multicycle)
路径、伪路径(False Paths)
,以及源同步(Source Synchronous)
IO接口时序,比如DDR(Double Data Rate,双倍数据速率)存储器接口。本书详细介绍了如何在不同工艺(various process)
、环境以及互连线工艺角(interconnect corners)
下进行时序分析;层次化(Hierarchical)设计方法所需要的全局时序验证和层次化模块时序验证;本书提供了设置时序分析环境(setting up the timing analysis environment)
和针对各种情况进行时序分析的详细说明。 它详细描述了如何执行时序检查,并提供了几个常用的示例场景以帮助说明这些概念,此外还描述了多模式多工艺角分析(MMMC,Multi-mode multi-corner analysis)
、功耗管理(power management)
以及统计时序分析(Statistical Timingg Analyses)
进行了介绍。
本书在附录部分提供了一些背景参考资料。这些资料完整介绍了几种常用格式:SDC(Synopsys Design Constraints,新思设计约束)
、SDF(Standard Delay Format,标准延迟格式)
,以及SPEF(Standard Parasitic Exchange Format,标准寄生交换格式)
。本书也介绍了这些格式是如何为STA提供时序分析所需信息的。SDF提供了单元延迟和互连线延迟(cell and interconnect delays)
。SPEF提供寄生参数信息,也就是设计中所有线的电阻电容网络。SDF和SPEF都是行业标准,也都有详细介绍。SDC格式被用来提供时序规范或者待分析设计的约束。这包括进行分析的环境的规范。SDC是事实上的描述时序规范的行业标准。
本书面向芯片设计、ASIC 时序验证领域的专业人士以及逻辑和芯片设计专业的研究生。 开始学习静态时序分析或已经精通静态时序分析的专业人士可以使用本书,因为本书涵盖的主题范围很广。 本书旨在提供对与时序分析相关的主题介绍,并提供易于阅读的解释和图表以及详细的时序报告。
这本书可以作为芯片设计研究生课程的参考书,也可以作为面向在职工程师的时序验证课程的教材。 本书假定读者具有数字逻辑设计的背景和知识。 它可以用作数字逻辑设计课程的辅助教材,学生可以在其中学习静态时序分析的基础知识,并将其应用于课程中涵盖的任何逻辑设计。
本书特别强调并详细解释了所有相关的基础概念,我们相信这些基础概念是学习更复杂知识的基础。本书既介绍了理论背景,也用相关的纳米级设计的真实案例说明了STA的实际操作方法,希望为工程师和学生填补该领域的空白。
虽然本书主要介绍的是CMOS数字同步设计,但是,这些基本原理也可以应用到其他相关的设计上,比如FPGA和异步设计等。
Book Organization
本书的组织方式是先描述基本的基础概念,然后再深入探讨更复杂的知识点。本书从基本的时序概念开始,然后是常用的库模型(library modeling)
和延迟计算方法(delay calculation approaches)
以及纳米设计中噪声和串扰的处理(the handling of noise and crosstalk for a nanometer design)
在详细的背景介绍之后,描述了使用静态时序分析进行时序验证的几个关键知识点。 最后两章侧重于高级主题,包括特殊IO接口的验证(verification of special IO interfaces)
、门控时钟(clock gating) 、时间借用(time borrowing)
、功耗管理(power management)
和多工艺角时序验证以及统计时序分析(multi-corner and statistical timing analysis)
。
第 1 章解释了什么是静态时序分析以及如何将其应用于时序验证,对功耗(Power)
和可靠性(reliability)
也进行了说明。 第 2 章介绍了 CMOS 逻辑的基础知识和与静态时序分析相关的术语。
第3章介绍了时序相关信息是如何存储在常见的库单元(commonly used library cell)
中的。尽管库单元包含多个属性(attributes)
,但本章只关注与时序、串扰(crosstalk)
和功耗分析(power analysis)
相关的属性。互连(Interconnect)
是纳米技术中时序的主要影响因素,第 4 章概述了用于建模和互连寄生(interconnect parasitics)
效应的各种技术。
第 5 章解释了如何为布局前和布局后(pre-layout and post-layout)
时序验证计算单元延迟(cell delays)
和路径延迟(paths delays)
,它扩展了前面章节中描述的概念,以获得整个设计的时序。
在纳米技术中,串扰的影响(the effect of crosstalk)
在设计的信号完整性(signal integrity)
中起着重要作用。 第 6 章介绍了相关的噪声和串扰分析(crosstalk analyses)
,即毛刺分析(glitch analysis)
和串扰分析(crosstalk analysis)
。这些技术确保ASIC在时序方面有足够的鲁棒性。
第 7 章是后续章节的先决条件。 它描述了如何配置时序分析的环境。指定时钟(specifying clocks)
、IO 特性(IO characteristics)
、错误路径(false paths)
和多周期路径(multicycle paths)
的方法。第 8 章描述了作为各种时序分析过程中的时序检查(timing checks)
。其中包括设置-建立时间、保持时间(setup, hold)
和异步恢复(asynchronous recovery)
和移除检查(removal checks)
。 这些时序检查旨在彻底验证所分析设计的时序。
第 9 章重点介绍特殊接口的时序验证(timing verification)
,例如源同步(source synchronous)
和存储器接口(memory interfaces)
,包括 DDR(Double Data Rate)
接口。 第 10 章介绍了其他进阶的且重要的知识点,例如片上变化(on-chip variation)
、时序借用(time borrowing)
、层次化设计、功耗管理(power management)
以及统计时序分析(statistical timing analysis)
。
SDC 格式在附录 A 中有介绍。该格式用于指定设计的时序约束(specify the timing constraints of a design)
。附录B用一些实例详细描述了延迟是如何被反标(Back-annotated)
的。该格式用ASCII(American StandardCode for Information Interchange,美国信息交换标准代码)的格式记录设计的延迟,该格式被很多工具支持。附录C介绍了SPEF格式,该格式用来描述设计的寄生电阻和寄生电容(parasitic resistance and capacitance values)
。
所有的时序报告都是用PrimeTime生成的,PrimeTime是Synopsys公司的一个静态时序分析工具。