半导体行业正在经历一个技术进步和创新浪潮的复兴时期。人工智能、5G、自动驾驶等新兴领域技术的不断发展给芯片设计带来全新的挑战:算力提升、功耗降低、周期加快等等。EDA 工具进入 2.0 时代,EDA 需要变得更加 AI 化,它能帮助客户设计达到最优化的 PPA 目标(性能、功耗、面积),开发性能更高的终端产品,并进一步减少设计迭代,缩短设计周期,加快上市速度。最终,具备 AI 特性的 EDA 工具将助力客户设计出更好的芯片,并快速推向市场。
数字前端逻辑综合的演进
芯片设计是一个巨大且复杂的工程,包括数字与模拟电路设计、物理后端设计、封装设计、可测性设计等。作为世界上最复杂精密的制造业,IC 设计无疑是最顶端、技术密度含量最高的产业。
作为整个 IC 行业的最前端,数字电路设计关系到后面每一步的状况。数字前端是在 RTL 级做的设计。数字电路实际上就是基于逻辑的设计,逻辑上等效的单元,完全可以替换。
工欲善其事,必先利其器。在没有诞生 EDA 工具(电子设计自动化,Electronic Design Automation)前,开发者只能以人工画图的方式进行电路设计。以设计一块具有 4 万个晶体管的集成电路为例,其共有 36 个输入输出的端口,用来处理 16 位(也就是 16 个 1、0 组成的信号)或者 8 位的信号,还需要考虑各种不同组织的相关标准要求 。
随着芯片集成度的提高和性能的多元化,设计要求变得越来越复杂,开发者拿到设计要求之后的工作便是将一个较为复杂的设计划分成若干个模块,比如一个负责存储的模块,一个负责分析数据的模块……随后,开发者开始设计每个模块,通过硬件描述语言表达清楚每个模块的设计逻辑,接下来的工作就交给了 EDA 工具。EDA 所扮演的角色主要在于提供开发者工具,而其最重要的功能是自动化减少晶片设计的时间及制造的周期。
值得一提的是,1986 年新思科技(Synopsys)创始人 Aart de Geus 博士发明了逻辑综合工具,使原本用单个门来手动设计芯片电路的工程师可以用电脑语言来“写”电路,提高了芯片设计的抽象层次,极大提升了集成电路设计的效率,从而让工程师将更多精力集中在创造性设计上,让人类有机会在今天设计出包含超百亿个晶体管的复杂芯片。
观看视频,倾听来自合作伙伴的声音
逻辑综合对于 EDA 设计领域来说是一个伟大的成就,逻辑综合的行为是将数字电路的寄存器传输级描述(RTL,Register Transfer Level)的 Verilog HDL/VHDL 文件“综合”为描述设计结构的门级(Gate-Level Netlist)Verilog HDL/VHDL 文件。将 RTL 和根据设计需求编写的约束文件以及半导体厂商的库文件作为输入综合出门级网表,在性能、面积和功耗之间进行 trade-offs。后端布局布线工具将门级网表作为输入生成 GDSII 文件用于芯片制造。
简单说,逻辑综合 = 翻译 + 映射+ 优化;就是首先把描述 RTL 级的 HDL 语言翻译成 GTECH,然后再映射和优化成工艺相关的门级网表。逻辑综合工具主要就是新思科技的 Design Compiler,自 1987 年以来在全球范围内使用,几乎所有的芯片供应商、IP 供应商和库供应商都在使用,是目前 90%以上 ASIC 设计人员广泛使用的工具。该工具大幅提高了 ASIC 设计效率的自动化,在这一创新的逻辑综合工具推出并得到应用之前,所有 IC 设计都停留在门级或晶体管级别。
2004 年后,芯片工艺尺寸不断向 65nm 甚至 40nm 迈进,一块芯片上可以集成几百万、几千万乃至上亿个晶体管,这对 EDA 工具提出了更高的要求,也促进了 EDA 技术的大发展。Design Compiler 升级迭代成 Design Compiler Graphical,加入物理综合,即在综合前加入版图的布局规划信息(floorplan),然后调用库信息和约束条件,生成带有布局信息的门级设计结果,进一步提高了综合与布局布线结果的相关一致性,这不仅可以更精准地估算连线延时,还可以预测布线拥堵情况并进行相应优化。
21 世纪,人工智能、5G、自动驾驶等新兴领域技术的不断发展对芯片设计带来全新的挑战,所有 EDA 方法都要在非常庞大的数据集上执行复杂的算法,需要花费大量计算时间。随着技术的快速扩张,加强并行运算来加速 EDA 算法执行的吸引力也越来越大。新思科技也随之推出支持 5nm 以下工艺的 Design Compiler NXT,建立于行业标准 Design Compiler®Graphical 之上,可提供基于云计算的分布式综合技术,相比以往版本显著加快了运行速度。并且通过平台化的通用库以及与布局布线工具校准的 RC 寄生参数提取,实现在 5nm 以及更先进工艺节点下极为紧密的相关一致性。该工具的意义还在于其验证了下一代晶体管技术 GAA 架构的可用性,解决了先进工艺技术包括更高晶体管密度和利用率、设计规格和更高可变性引起的复杂性问题。
数字后端布局布线的演进
综合获得了门级设计,即有了各种元件以及元件间的逻辑连接关系之后,怎么建立元件之间的物理连接,就像在 PCB 上,把元件放在哪儿,元件之间的连接走线又是怎样安排的,这就需要布局布线。
布局完成=自动布局+自动布线。布局布线应该细分为单元的 Placement(布局)和信号线的 Route(布线)两个环节,在实际设计中 Placement(布局)的质量会影响到 Route(布线)结果,因而有时需要花费额外时间做更多调整。和 PCB 上的 Placement 类似,芯片设计的 Placement 也是基于一系列的需求和规则来完成的,只是复杂度高出了许多而且需要摆放的单元数多了好几个数量级,尤其是在大型的项目中,一定要等单元的布局及优化满足要求并完成时钟树综合及优化后,再开始信号线的连接,也就是布线的过程,在这里我们只看 IC Compiler 这个工具是如何实现布局和布线整个流程的。
在芯片工艺尺寸还是 0.18μm 时,Astro 是新思科技第一代布局布线系统。由于布局、时钟树和布线独立运行,有其局限性,所以新思科技继此之后推出了 IC Compiler,扩展物理综合(XPS)技术突破了这一局限,将物理综合扩展到了整个布局和布线过程。
在不断发展的芯片技术的推动下,设计上的难题成倍涌现。面对集中于消费类产品的全球市场的动态变化情况,芯片设计对开发者工作效率提升的要求也达到了前所未有的高度。当时物理设计的复杂度已经远远超出了前几代芯片技术的难度。几年前才开始占据主导地位的互连方面的难题,变得愈发复杂。设计规模较之前大幅度增加,使得总布线长度也在急剧上升。在各个布线层之间的电阻变化程度比先前大了 2 到 3 倍。以宏单元的形式出现的布线阻挡区域的数量增长了 10 倍。过孔阻抗可以达到线路阻抗的 2 至 3 倍。复杂的时钟广泛存在,并且使得整体互连管理更加不稳定。先进的芯片工艺和设计上的变化也要求在精确时序 sign-off 与实现过程之间达成紧密的结合。芯片成品率的问题也不再当成设计后续事项来考虑,必须在设计流程中结合进来。
这些挑战都迫切需要新的物理设计解决方案。作为下一代物理设计系统,IC Compiler 的推出,解决了不断出现的设计难题,并通过实现并发式的物理设计,真正超越了上一代布局布线设计工具。该工具针对 RTL 一直到硅片工艺,提供时序、区域、耗电量、测试性与良率共同一致的最佳化;与 sign-off 相互关联性整合,避免潜在风险,减少 Design ECO 的次数。此外,随着设计限制条件数量大幅成长,复杂度也越来越高,开发者需花费大量时间来确认限制条件,将 SDC 验证功能变成标准的作业流程,前端开发者将 gate-level 的 netlist 交给后端进行布局及绕线前,做最后确认动作。
2014 年后,适用于新兴的、更成熟的芯片工艺技术节点 IC Compiler 的继任产品 IC Compiler II 问世,其核心是一种全新的多线程基础架构,能够处理例化单元数量大于 5 亿的设计。该工具基于行业标准的输入和输出格式,以及熟悉的界面和工艺技术文件,同时引进了创新设计存储功能,并从开发之初就关注全芯片级设计,部署新颖的设计规划功能,并使其性能提升了 10 倍,内存占用减少了 5 倍。这使开发者能够快速地评估多种可选芯片布局方案,以确定设计实现的最佳起点。与这些芯片级功能互补的是单元模块级的功能,它得到了一个新的 global-analytical 优化引擎、一个全新的时钟发生器以及独特的布线后优化算法功能所支持, 它们结合在一起共同提高了时序、功耗和面积的结果质量。
IC Compiler II 还包含了 IC Compiler 中所采用的先进技术,例如共轭梯度布局器和 ZRoute 布线器。与原有的解决方案相比,它使运行时间平均提高 5 倍,所需内存平均降低 2 倍。通过将运行时间加速、高超的芯片布局、可实现的 QoR 以及高效的轻量级环境相结合,能够减少设计迭代次数,进一步提高设计产能。
数字电路静态时序分析
静态时序分析(Static Timing Analysis,STA)是对数字电路所有关注的时序路径进行提取,然后计算和预计信号在路径上的延迟是否存在违背时序约束的错误,主要是检查建立时间和保持时间是否满足要求。静态时序分析的特点是不依赖于测试激励,且可以穷举所有路径。
传统上,人们常常将工作时钟频率作为高性能的集成电路的特性之一。为了测试电路在指定速率下运行的能力,人们需要在设计过程中测量电路在不同工作阶段的延迟。此外,在不同的设计阶段(例如逻辑综合、布局布线以及一些后续阶段)需要对时间优化程序内部进行延迟计算(Delay calculation)。尽管可以通过严格的 SPICE 电路仿真来进行此类时间测量,但是这种方法在实用中耗费大量时间。静态时序分析在电路时序快速、准确的测量中扮演了重要角色。静态时序分析能够更快速地完成任务,是因为它使用了简化的模型,而且有限地考虑了信号之间的逻辑互动。
静态时序分析工具可以识别的时序故障要比仿真多得多,包括:建立 / 保持和恢复 / 移除检查(包括反向建立 / 保持);最小和最大跳变;时钟脉冲宽度和时钟畸变;门级时钟的瞬时脉冲检测;总线竞争与总线悬浮错误;不受约束的逻辑通道等。有一些静态时序工具还能计算经过导通晶体管、传输门和双向锁存的延时,并能够自动对关键路径、约束性冲突、异步时钟域和某些瓶颈逻辑进行识别与分类。
静态时序分析在最近几十年中,成为了相关设计领域的主要技术方法。新思科技 PrimeTime 自推出以来,成为深受开发者广泛使用的工具,在静态时序分析工具领域占有垄断地位。
PrimeTime 简称 PT,被用来分析大规模、同步、数字 ASIC。其主要功能是对芯片进行静态时序分析,工作在电路设计的门级网表层次,可以和其它 EDA 软件非常好的结合在一起使用。该工具提供高准确度的延迟分析,以 Spice 的精度来计算单元和连线延迟,减少设计冗余并迅速的发现时序问题和减少 ECO(Engineering Change Order)修复的时间;针对设计时序签核需要考虑不同操作模式、电压、温度和工艺角的单独场景,提供了分布多场景分析(DMSA),简化了分析和管理这些场景的分析。
随着纳米级设计的工艺尺寸的缩小和时钟频率的提升,信号完整性效应如串扰延迟和噪声(或者毛刺)传递能够导致功能失效或者时序失效。PrimeTime SI 是 PrimeTime 的信号完整性解决方案,在上一代工具中加入准确的串扰延迟、噪声(毛刺)和电压降(IR)延迟分析,来应对 90 纳米及以下的信号完整性分析。
为了支持 14/16nm 及以下工艺的设计特点,新思科技继续推出了 PrimeTime ADV,支持识别物理信息的 ECO,避免 ECO 对当前版图的影响,加速时序收敛;提供功耗 ECO 修复,利用正向时序,寻找漏电流功耗降低机会;提供参数化片上变异(POCV)分析方法,尽可能的消除悲观的时序估计,加速时序和 ECO 收敛。