前 言在当今的深亚微米世界中,对于设计人员而言,时序已经成为开发专用集成电路(ASIC)或片上系统(SoC)的重要挑战。设计工程师在设计流程的不同阶段之间进行多次循环迭代,以满足时序要求。时序不仅是芯片的响应时间,还是芯片功能的一个组成部分,可以确保其能够与系统上其他元器件无缝地通信。这就提出了问题,什么是时序?如何指定它?本书是一本实践指南,有助于读者编写和理解集成电路设计中的时序约束。通过本书读者将学习到如何有效和正确地编写约束,以便实现IC或FPGA设计的期望性能,包括关于约束重用的注意事项。其覆盖范围包括受时序约束影响的设计流程的关键方面,有综合、静态时序分析以及布局布线。本书详细说明了指定时序要求所需要的概念,然后将其应用于设计流程中的特定阶段,所有这些都包含在Synopsys设计约束(SDC)的上下文中,SDC是业界领先的用于指定约束的格式。
我们经常从许多设计工程师那里听到有一些书中介绍了综合和静态时序分析等概念,这些概念涵盖了时序约束,但从来没有详细描述过。根据我们多年在时序特性描述、延迟计算、时序分析以及创建和验证约束等领域的工作,本书介绍了指定时序要求所需的概念。
本书结构下面是本书的结构安排。
第1~3章介绍时序分析的主题,包括其在设计周期背景下的需求。这些章节中的描述是与供应商、语言和格式无关的。
第4章提供Tcl语言的概述,因为SDC(Synopsys设计约束)是Tcl的扩展。本章还介绍SDC的概念。
可以将前4章看作入门部分。
第5~8章一同构成讨论时钟的部分,介绍如何应用与时钟相关的约束。这些章介绍各种时钟及其关系,以及如何在SDC中指定它们。
第9章和第10章介绍如何对其余的(非时钟)端口应用约束。有了这部分内容,就覆盖了所有的主要端口。
第11~13章介绍对时序异常的需求。这些章介绍如何在SDC中正确地指定异常。
第14章和第15章涉及更专业的话题,这些概念较少论及个别的约束。相反,它们深入了解设计团队是如何管理大量的约束的,因为它们在跨流程时从前端到后端,将完整的设计划分成电路单元,然后再整合各个电路单元。
第16章介绍一些其他的SDC命令,这些命令可能会对时序分析产生影响。
本书还有一些命令没有涵盖。但是,通过本书可以对时序分析和SDC有基本了解,用户可以轻松理解其余的任何命令,包括SDC未来版本中可能出现的任何扩展。
支持SDC的大多数工具通常还允许对SDC进行一些扩展,以便使用特定工具实现更高的准确性或更好的易用性。第17章概述针对Xilinx Vivado扩展的SDC时序约束。
其他资源SDC是由Synopsys公司发布的开源版本。SDC文档和解析器可从Synopsys网站免费下载。
意见反馈我们已尽最大努力来提供准确的概念描述。也得到了业内一些专家的帮助,以检查素材的准确性。但是,如果你发现一些描述混乱或有错误的地方,请告知我们。
祝阅读愉快!
Sanjay Churiwala Sridhar Gangadharan 致 谢 一我要感谢Mark Aaldering,他首先告诉我需要一本关于SDC的书。他介绍说,越来越多的工具正在转向SDC,却没有关于这个主题的书籍。随着Xilinx接纳了SDC,将有更多Xilinx FPGA的用户需要学习SDC。
还要感谢我的朋友Sridhar Gangadharan,感谢他为编写本书所做的努力。
感谢Springer的Charles Glaser,因为他很容易地接受了我们对这本书的提议。
我想把这本书献给那些帮我理解SDC和时序约束的人,具体是我受益于他们在我职业生涯的不同阶段对于时序分析主题的大量讨论。这个列表并不详尽,一些著名的人包括Fred Revenu (Xilinx)、Greg Daughtry (Xilinx)、Nupur Gupta (ST Microelectronics)、Pankaj Jain (ST Microelectronics)、Olivia Riewer (ST Microelectronics)、K A Rajagopalan (Texas Instruments)、Subrangshu (Shubro) Das (Texas Instruments)、Satish Soman (Atrenta)、Manish Goel (Atrenta)、Shaker Sharwary (Atrenta) Pratyush Prasoon (Cadence)、Sneh Saurabh (Cadence), Girjesh Soni (Synopsys), Rohan Gaddh (目前,回到学校),等等。
我要感谢我所有的老师,但特别要提到印度理工学院的Swapna Banerjee教授,他在我即将毕业之时带领我进入了VLSI领域。在20世纪90年代初,Dhiraj Sogani(Red Pine)、Mithilesh Jha(Masamb)、Ashutosh Varma(Cadence)和Late Nalyder Jain博士带领我进入了时序领域。 然后, 2000年初,Sushil Gupta(Atrenta)和Vivek Gupta首先带领我进入了SDC领域。
感谢Girjesh Soni(Synopsys)、Subrangshu(Shubro)Das(Texas Instruments)、Satish Soman(Atrenta)、Shrinivasraj Muddey(Xilinx)、Olivier Florent、Ravi Balachandran和Russell Roan(Atrenta),因为他们帮助审阅了本书的部分内容,确保了素材的准确。也要感谢编写本书第17章的Fred Revenu(Xilinx)。还要感谢Charu Puri,他提供了本书中的所有插图。
我要感谢管理部门和Xilinx的法律团队鼓励我参与这项活动。这些人包括Mark Aaldering、Salil Raje、Vidya Rajagopalan、Scott Hover Smoot和Sue Lynn Neoh。Ramine Roane(Xilinx)也经常鼓励我。他唯一的抱怨是:为什么是在2013年中期?为什么不早一点?特别要感谢Mike Gianfagna(Atrenta),他参与和联系的此类任何活动几乎都是确保所有障碍得到解决的保证。
编写本书的信心来源于我以前出版的书得到的积极反响。我得到的最好的反响来自Ramesh Dewangan(Atrenta),他送给了他女儿一本,也来自Ahmed Hemani教授(瑞典皇家理工学院),他把这本书推荐给了学生。在印度,如果人们非常认可一本书,并且认为他的学生或孩子也应该学习这本书,这便是对这本书最佳的褒奖之一。感谢他们对我的这种信任。
最后很重要的一点是感谢我的家人和朋友。他们的通力配合和良好祝愿一直是我前进的的动力。而且,我的小女儿(Lubha Churiwala – Std. VI)还帮助我随机检查语法和一致性。
Sanjay Churiwala 印度海德拉巴