马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
转发此篇文章可获EETOP创芯大讲堂最新就业畅销课《零基础学数字芯片设计》(连载)7折内购福利补贴。添加微信ssywtt留言获取芯片设计内购价即可。
零基础 就业转岗畅销课《数字IC设计就业课》
新书推荐《IC芯片设计中的静态时序分析实践》
译者的话
十几年前我刚入行时,数字IC设计远没有现在这么火爆,作为从半导体材料转行的我来说,需要恶补许多基础知识。有幸读到了本书的原版Static Timing Analysis for Nanometer Designs:A Practical Approach,让我职业生涯起步相对顺利。这些年国内数字IC设计的发展一直稳中有进,直到2018年因为众所周知的原因,突然进入了快车道,随着新公司的不断成立,薪水的节节攀升,越来越多零基础的新人入行,他们碰到了和我当年同样的困扰,希望本书可以帮助这些读者夯实基础。
本书用通俗易懂的语言,从基础开始,为初学者搭建了知识框架,适合常备案头,时时翻阅。开篇介绍了什么是STA(时序分析),为什么要进行STA?明确目标后,开始介绍标准单元库和互连寄生参数。有了这两样,就可以计算单元延迟和线延迟。在搭建好STA环境后,就进入了真正的时序检查:建立时间和保持时间。接着进一步介绍了如何处理接口时序,如何处理串扰,以及验证的鲁棒性。最后,介绍了SDC、SDF、SPEF这3种最常用的文件格式。至此,各位读者已经了解了STA的基础知识,剩下的就是在工作中实践了。至于STA更高阶的技术和知识,本书中并未涉及,目前市面上也并未有理想的书籍介绍,不得不说是种遗憾了。
本书在业内已经小有名气了,很多人都读过它,以前我还疑惑为什么一直没人翻译呢?知道翻译费后,我悟了!转念一想,读书人的事,怎么能这么功利?这“电”,我用爱“发”了!等到真正动手翻译才认识到“读得懂”和“写出来”之间的距离,认识到随便翻译几段和把将近600页英文书变成可出版的翻译稿之间的差距,自己挖的坑,含着泪也要填完。翻译时碰到最大的问题就是专业名词的翻译,其实日常工作中都是使用英文名词,有些词汇似乎从来没被翻译过,所以还请各位读者了解,要想工作中顺畅沟通,还是有必要掌握英文专业名词的。
另外,书中有些明显的错误,我估计是作者笔误,翻译时已经修改过了,并加了注释。虽经过仔细校对,但本人水平有限,难免错漏,望各位读者海涵。 最后要感谢这一年多来,家人在背后的默默付出,尤其是爱妻璐璐,是她的支持让本书的出版成为可能。
书籍预售期间67折扣扫码上方二维码即可进入 7月31号发货
刘斐然原书前言时序(Timing),时序,时序!这是数字电路工程师在设计一块半导体芯片时最需要关注的部分。时序是什么,它是怎么被描述的,它是怎么被验证(Verify)的?一个大型数字设计的设计团队可能会花费数月来设计架构,进行迭代,以达到要求的时序目标。除了功能验证外,时序收敛(Timing Closure)也是一个里程碑,它决定了一块芯片什么时候可以被交付给半导体工厂(Foundry)生产。本书介绍了如何用STA(Static Timing Analysis,静态时序分析)为纳米级芯片进行时序验证。
本书的内容来源于我们在复杂纳米级芯片时序验证方面多年的工作经验。我们咨询了很多工程师,尝试去了解STA的各个方面以及相应的背景。不幸的是,现在没有一本书可以让工程师马上了解STA的具体细节。芯片工程师缺少时序相关的参考指南,就是那种涵盖从基础知识到先进时序验证方法的资料。
本书的目的是为STA领域的初学者以及资深工程师提供一本参考书。本书既介绍了根本的理论背景,也深入介绍了如何用STA进行时序验证。本书涵盖的知识点包括:单元时序(Cell Timing)、互连线(Interconnect)、时序计算(Timing Calculation)以及串扰(Crosstalk),这些都能影响纳米级芯片的时序。本书介绍了时序信息是如何存储在单元库(Cell Libraries)中的,这些库又是如何被综合工具(Synthesis Tools)和 STA工具用来计算和验证时序的。 本书所讲述的主题包括了CMOS(Complementary Metal Oxide Semiconductor,互补金属氧化物半导体)逻辑门(Logic Gates)、单元库(Cell Library)、时序弧(Timing Arcs)、波形转换率(Waveform Slew)、单元电容(Cell Capacitance)、时序模型(Timing Modeling)、互连线寄生参数(Interconnect Parasitic)及耦合效应(Coupling)、布局前后(Pre-Layout and Post-Layout)的互连线模型、延迟计算(Delay Calculation)、用来分析内部时序路径和IO(Input/Output,输入输出)接口的时序约束规范(Specification),还包括了先进模型的概念,比如CCS(Composite Current Source,复合电流源)时序和噪声模型,包括动态功耗和漏电功耗的功耗模型,以及串扰效应对时序和噪声的影响。
STA从简单块(Block)的验证开始,这对刚进入本领域的新人很有用。然后会涉及复杂纳米级设计所用到的概念,比如OCV(On-Chip Variation,片上变化)的模型、门控时钟(Clock Gating)、半周期(Half-Cycle)和多周期(Multicycle)路径、伪路径(False Paths),以及源同步(Source Synchronous)IO接口时序,比如DDR(Double Data Rate,双倍数据速率)存储器接口。本书详细介绍了如何在不同工艺、环境以及互连线工艺角(Corner)下进行时序分析;层次化(Hierarchical)设计方法所需要的全局时序验证和层次化模块时序验证;如何建立时序分析环境以及多个具体的时序分析案例;时序检查是如何进行的,并提供了几个常用的场景(Scenarios)来帮助说明这一概念。也对MMMC(Multi-Mode Multi-Corner,多模式多工艺角)分析、功耗管理(Power Management),以及统计时序分析(Statistical Timing Analyses)进行了介绍。
本书在附录部分提供了一些背景参考资料。这些资料完整介绍了几种常用格式:SDC(Synopsys Design Constraints,新思设计约束)、SDF(Standard Delay Format,标准延迟格式),以及SPEF(Standard Parasitic Exchange Format,标准寄生交换格式原文中将SPEF解释为Standard Parasitic Extraction Format,但根据IEEE Std 1481-1999,应为Standard Parasitic Exchange Format。译文中将全部采用Standard Parasitic Exchange Format。——译者注)。本书也介绍了这些格式是如何为STA提供时序分析所需信息的。SDF提供了单元延迟和互连线延迟。SPEF提供寄生参数信息,也就是设计中所有线的电阻电容网络。SDF和SPEF都是行业标准,也都有详细介绍。SDC格式被用来提供时序规范或者待分析设计的约束。这包括进行分析的环境的规范。SDC是事实上的描述时序规范的行业标准。
IC芯片设计中的静态时序分析实践原 书 前 言本书的目标读者包括芯片设计以及ASIC(Application-Specific Integrated Circuit,专用集成电路)时序验证的专业人士,也包括在逻辑和芯片设计领域的学生。无论是刚接触STA的初学者,还是熟知STA的专业人士,都可以使用本书,因为本书涵盖了很广的知识范围。本书旨在用易读易懂的解释,搭配图表的详细时序报告,来介绍时序分析的方方面面。
本书可以作为具有数字逻辑设计背景知识的工程师的时序验证课程的教材,也可以作为高校数字逻辑设计课程的第2本教科书,学生可以从中学习STA的基础知识并把它运用到课程里的任意逻辑设计上。
本书特别强调并详细解释了所有相关的基础概念,我们相信这些基础概念是学习更复杂知识的基础。本书既介绍了理论背景,也用相关的纳米级设计的真实案例说明了STA的实际操作方法,希望为工程师和学生填补该领域的空白。 虽然本书主要介绍的是CMOS数字同步设计,但是,这些基本原理也可以应用到其他相关的设计上,比如FPGA和异步设计等。
本书架构
本书先介绍基础的概念,再引入更复杂的知识点:以基础的时序概念作为开始,然后是常用的库模型和延迟计算方法,接着是纳米级设计的噪声和串扰的处理方法;详细的背景介绍完之后,会介绍使用STA进行时序验证的几个关键知识点;最后两章会介绍更高阶的话题,包括特殊IO接口的验证、门控时钟、时序借用(Time Borrowing)、功耗管理、多工艺角时序验证,以及统计时序分析。
第1章介绍了什么是STA以及它是怎么用来时序验证的。功耗和可靠性也要在STA中考虑。第2章介绍了CMOS逻辑的基础知识以及STA相关的术语。
第3章介绍了时序相关信息是如何存储在常见的库单元(Library Cell)中的。虽然1个库单元包含很多属性,但本章只专注于那些和时序、串扰以及功耗分析相关的属性。在纳米级工艺中,互连线对时序的影响占支配地位。第4章概括介绍了互连寄生参数的各种建模技术和表示方法。
第5章解释了在布局前后的时序验证中,单元延迟(Cell Delay)和路径延迟(Path Delay)是如何计算的。它扩展了之前章节提到的概念以得到整个设计的时序。
在纳米级工艺中,串扰在设计的信号完整性(Signal Integrity)方面扮演了重要的角色。相关的噪声和串扰分析,也就是毛刺分析和串扰分析,这些内容在第6章有介绍。这些技术被用来确保ASIC在时序方面有足够的鲁棒性。
第7章是后续章节的必要准备。它介绍了时序分析的环境是如何配置的,以及如何指定时钟、IO特性、伪路径以及多周期路径。第8章介绍了时序检查,它是多种时序分析方法中的一部分。这包括了建立时间、保持时间、异步时钟恢复时间检查以及移除时间检查。这些时序检查是为了确保待分析设计的时序得到全面的验证。
第9章的重点在特殊接口的时序验证。比如源同步(Source Synchronous)和存储器接口(包括DDR接口)。其他进阶的且重要的知识点,如时序借用、层次化设计、功耗管理,以及统计时序分析都在第10章有介绍。
SDC格式在附录A中有介绍。该格式被用来指定设计的时序约束。附录B用一些实例详细描述了延迟是如何被反标(Back-annotated)的。该格式用ASCII(American Standard Code for Information Interchange,美国信息交换标准代码)的格式记录设计的延迟。该格式被很多工具支持。附录C介绍了SPEF格式,该格式用来描述设计的寄生电阻和寄生电容。
所有时序报告都是用PrimeTime生成的,这是来自Synopsys公司的STA工具。
致谢
我们要向eSilicon公司致以诚挚的感谢,给我们这个机会完成本书。 我们也要向那些在审查初稿时提供了大量宝贵建议的人们致以诚挚的感谢,他们是Kit-Lam Cheong,Ravi Kurlagunda,Johnson Limqueco,Pete Jarvis,Sanjana Nair,Gilbert Nguyen,Chris Papademetrious,Pierrick Pedron,Hai Phuong,Sachin Sapatnekar,Ravi Shankar,Chris Smirga,Bill Tuohy,Yeffi Vanatta,and Hormoz Yaghutiel。 他们珍贵的反馈意见极大地提高了本书的质量和有效性。 最后也是最重要的,我们要感谢我们的家庭,感谢他们对我们写作本书的支持。 Rakesh Chadha博士 J.Bhasker博士目录译者的话 书籍预售期间67折扣扫码上方二维码即可进入 7月31号发货 书籍目录
第1章引言 1.1纳米级设计 1.2什么是STA 1.3为什么要进行STA 1.4设计流程 1.4.1CMOS数字设计 1.4.2FPGA设计 1.4.3异步设计 1.5不同阶段的STA 1.6STA的局限性 1.7功耗考虑 1.8可靠性考虑 1.9本书概要 第2章STA概念 2.1CMOS逻辑设计 2.1.1基本MOS结构 2.1.2CMOS逻辑门 2.1.3标准单元 2.2CMOS单元建模 2.3电平翻转波形 2.4传播延迟 2.5波形的转换率 2.6信号之间的偏移 2.7时序弧和单调性 2.8最小和最大时序路径 2.9时钟域 2.10工作条件 第3章标准单元库 3.1引脚电容 3.2时序建模 3.2.1线性时序模型 3.2.2非线性延迟模型 3.2.3阈值规范和转换率减免 IC芯片设计中的静态时序分析实践目录3.3时序模型——组合逻辑单元 3.3.1延迟和转换率模型 3.3.2常用组合逻辑块 3.4时序模型——时序单元 3.4.1同步检查:建立时间和保持时间 3.4.2异步检查 3.4.3传播延迟 3.5状态相关的时序模型 3.6黑箱(Black Box)的接口时序模型 3.7先进时序建模 3.7.1接收引脚电容 3.7.2输出电流 3.7.3串扰噪声分析模型 3.7.4其他噪声模型 3.8功耗建模 3.8.1动态功耗 3.8.2漏电功耗 3.9单元库中的其他属性 3.9.1面积规范 3.9.2功能规范 3.9.3SDF条件 3.10特征化和工作条件 3.10.1用k系数来减免 3.10.2库单位 第4章互连寄生参数 4.1互连线电阻、电感和电容 4.2线负载模型 4.2.1互连树 4.2.2指定线负载模型 4.3提取的寄生参数的表示方法 4.3.1详细标准寄生参数格式 4.3.2精简标准寄生参数格式 4.3.3标准寄生参数交换格式 4.4耦合电容的表示方法 4.5层次化设计方法 4.6减少关键线的寄生参数 第5章延迟计算 5.1概述 5.1.1延迟计算的基础 5.1.2带有互连线的延迟计算 5.2使用有效电容的单元延迟 5.3互连线延迟 5.4转换率融合 5.5不同的转换率阈值 5.6不同的电压域 5.7路径延迟计算 5.7.1组合逻辑路径计算 5.7.2到触发器的路径 5.7.3多路径 5.8裕量计算 第6章串扰和噪声 6.1概述 6.2串扰毛刺分析 6.2.1基础 6.2.2毛刺的类型 6.2.3毛刺的阈值和传播 6.2.4多侵害者的噪声累积 6.2.5侵害者的时序相关性 6.2.6侵害者的功能相关性 6.3串扰延迟分析 6.3.1基础 6.3.2正向串扰和负向串扰 6.3.3多侵害者的累积 6.3.4侵害者和受害者的时序相关性 6.3.5侵害者和受害者的功能相关性 6.4考虑串扰延迟的时序分析 6.4.1建立时间分析 6.4.2保持时间分析 6.5计算复杂度 6.6避免噪声的技术 第7章配置STA环境 7.1什么是STA环境 7.2指定时钟 7.2.1时钟不确定性 7.2.2时钟延迟 7.3生成时钟 7.3.1时钟门控单元输出端上的主时钟实例 7.3.2使用invert选项生成时钟 7.3.3生成时钟的时钟延迟 7.3.4典型的时钟生成场景 7.4约束输入路径 7.5约束输出路径 7.6时序路径组 7.7外部属性建模 7.7.1驱动能力建模 7.7.2电容负载建模 7.8设计规则检查 7.9虚拟时钟 7.10完善时序分析 7.10.1指定无效信号 7.10.2中断单元内部的时序弧 7.11点对点约束 7.12路径分割 第8章时序验证 8.1建立时间检查 8.1.1触发器到触发器的路径 8.1.2输入到触发器的路径 8.1.3触发器到输出的路径 8.1.4输入到输出的路径 8.1.5频率直方图 8.2保持时间检查 8.2.1触发器到触发器的路径 8.2.2输入到触发器的路径 8.2.3触发器到输出的路径 8.2.4输入到输出的路径 8.3多周期路径 8.4伪路径 8.5半周期路径 8.6移除时间检查 8.7恢复时间检查 8.8跨时钟域的时序 8.8.1慢速时钟域到快速时钟域 8.8.2快速时钟域到慢速时钟域 8.9实例 8.9.1半周期——例1 8.9.2半周期——例2 8.9.3快速时钟域到慢速时钟域 8.9.4慢速时钟域到快速时钟域 8.10多倍时钟 8.10.1整数倍 8.10.2非整数倍 8.10.3相移 第9章接口分析 9.1IO接口 9.1.1输入接口 9.1.2输出接口 9.1.3时序窗口内的输出变化 9.2SRAM接口 9.3DDR SDRAM接口 9.3.1读周期 9.3.2写周期 9.4视频DAC接口 第10章鲁棒性验证 10.1片上变化(OCV) 10.1.1在最差PVT情况下带有OCV分析 10.1.2保持时间检查的OCV 10.2时序借用 10.2.1没有时序借用的例子 10.2.2有时序借用的例子 10.2.3有时序违例的例子 10.3数据到数据检查 10.4非时序路径检查 10.5时钟门控检查 10.5.1高电平有效时钟门控 10.5.2低电平有效时钟门控 10.5.3用多路复用器进行时钟门控 10.5.4带时钟反相的时钟门控 10.6功耗管理 10.6.1时钟门控 10.6.2电源门控 10.6.3多种阈值单元 10.6.4阱偏置 10.7反标(Backannotation) 10.7.1SPEF 10.7.2SDF 10.8签核(Sign-Off)方法 10.8.1工作模式 10.8.2PVT工艺角 10.8.3多模式多工艺角分析 10.9统计静态时序分析 10.9.1工艺和互连偏差 10.9.2统计分析 10.10违例路径的时序 10.11验证时序约束 附录 附录A新思设计约束(SDC) A.1基础命令 A.2对象访问命令 A.3时序约束 A.4环境命令 A.5多电压命令 附录B标准延迟格式(SDF) B.1SDF是什么 B.2格式 B.2.1例子 B.3反标过程 B.3.1Verilog HDL B.3.2VHDL B.4映射例子 B.4.1传播延迟 B.4.2输入建立时间 B.4.3输入保持时间 B.4.4输入建立时间和保持时间 B.4.5输入恢复时间 B.4.6输入移除时间 B.4.7周期 B.4.8脉冲宽度 B.4.9输入偏移时间 B.4.10不变化的建立时间 B.4.11不变化的保持时间 B.4.12端口延迟 B.4.13线延迟 B.4.14互连路径延迟 B.4.15器件延迟 B.5完整语法 附录C标准寄生参数交换格式(SPEF) C.1基础 C.2格式 C.3完整语法 参考文献
|