系统级芯片设计中的多领域集成策略
扫描二维码
随时随地手机看文章
大型多领域模拟混合信号(AMS)系统在电子行业中越来越常见,此类设计必须同时满足进度和准确度要求,从而给设计工程师带来了极大的挑战。本文介绍了一种结合自上而下和自下而上的方法来实现 “中间相遇”,可有效地克服这些挑战。
大型多领域AMS系统在电子行业中越来越常见,由于这些集成器件的设计中包括了RF器件、模拟器件、存储器、定制化数字电路以及数字标准单元IP,全球工程师在设计AMS系统时也面临着各种各样的问题。要想成功地完成这些设计必须结合自上而下和自下而上的方法,最后实现 “中间相遇”,并且需要采用多个领域的方法。Cadence的Virtuoso平台用高级定制化设计(ACD)方法来开发适用于基于领域的设计流程蓝图并解决这些挑战。
设计可预见性
可预见性是ACD方法的重要特性。可预测性主要包括两方面:从设计开始便一直满足进度要求从而尽快出带(tap-out);满足性能要求,实现一次性设计成功。
为满足设计进度,要求设计过程必须足够快,同时能支持彻底、全面的仿真和物理设计。设计过程包括多个任务,而且当前多数芯片都包含来自不同设计领域的多个模块。因此,必须在设计中纳入尽可能多的模块,并尽可能地并行地执行更多任务,并在设计过程中尽可能多地使用顶层IP。
在仿真和物理设计中均使用自上而下的设计方法可加快设计进程,它将从高级设计到具体的晶体管级设计的多个抽象层结合在一起,来支持一种混合层设计方案,完成测试前的所有细节设计。这种方法可利用顶层及相关信息进行模块设计,随后在顶层环境中对模块进行再验证。
另一方面,芯片必须具有足够的准确度以实现设计性能要求。芯片的准确度与某些基本设计数据有关,如支持精确仿真的器件模型和支持互连、物理验证和分析的技术文件。此外,这种方法还使用了灵敏度高、结构严谨的测试芯片,以验证设计工艺的可行性以及相应工艺设计套件(PDK)的准确度。为了支持某种特殊的设计风格,设计小组通常要在PDK中增加额外组件,同时还必须扩展器件模型,结合或增加临界条件、统计建模或设计团队所需的其它方法。
芯片准确度数据在整个设计过程和详细的晶体管级的分析中都起着作用,包括版图提取等详细的晶体管层分析。这些构成了抽象链(abstraction chain)的较低层,反过来又支持将这些结果定标到更高抽象层。这就是高级定制化方法中的自下而上设计部分。
自上而下和自下而上的设计进程可以并行展开,产生“中间相遇”的设计方法。正是这种“中间相遇”法同时满足了设计速度和芯片准确度要求,最后实现进度的可预测性并获得一次性设计成功。
集成流程中的任何小毛病都会影响可预见性。通常在规划进度时我们都假设集成过程中不会出现问题,但实际上如果我们不注意整体的设计方法,问题是必然会发生的,并且进而影响到进度,最终导致无法正确预估设计的进度或性能。
从整个设计项目来看,这些问题往往会使局面彻底失控。更糟糕的是,这种情况通常发生在出带前的最后三周内。设计流程中最难的一部分便是将芯片集成在一起进行验证。由于多数设计都十分庞大,因此不允许出现一丝错误,由不同团队独立负责的模块设计必须能迅速而准确地集成在一起。然而,这通常很难实现。更常见的情况是在即准备出带前,工程师在数据库上陷入永无止境的设计迭代循环中,进度被无限期地拖延。通常,芯片设计在未经正确验证便开始出带,然后不可避免地造成返工,从而进一步推迟产品推出时间,也将影响赢利预期。
此外,如果设计中使用了前几代设计中的IP,或从大型SoC设计中产生派生产品,情况将会更为复杂化。通常这样做的原因可能是为了满足额外的市场要求、使用了不同晶圆厂,或考虑到性能和成本的原因而换用了下一代工艺技术。在定制化设计领域中,“IP复用”一词往往会引发争议,因为IP移植/修改比纯粹的数字设计涉及到更为全面设计。不过,这种设计其本身具有高度可用性,且对IP移植或修改工作来说也是一个十分有意义开始。这突显了集成的问题:如果某个特殊模块在首次设计中难于集成,它会给下一个派生产品和再次集成增加设计困难。因此,下次集成时除了会碰到首次集成的同样问题外,这些增加的设计困难也会引发新的问题。因此,给这些支持未来在再利用和集成的设计选择恰当的设计过程十分关键。
多领域集成
整个设计过程包括针对各种特殊设计类及特殊用户群的所有工艺。对于任何工具,只有当它成为某个工程师使用环境中的自然组成部分时,它才能获得有效应用。在将模拟、数字和RF部分进行集成在一起时,应特别注意谁将做顶层仿真和顶层物理设计,以及设计相关信息(如网表和数据库等)的来源。采用与SoC设计相类似的方法来设计这些“设计系统”十分有用。
图2所示为一个包含多个设计领域的复杂系统。图中的每个方框可视为一个“芯片模块”,这些模块内部包括设计要求和用于集成的I/O要求。无论是从定制化的角度还是从数字电路的角度考虑,最终仿真系统都必须完全支持混合信号。此外,每个模块产生的网表、模型、仿真设置等都必须能够100%兼容集成。
因此,设计工程师除了要考虑某个特定设计领域的芯片准确度和详细工艺外,还必须考虑如何使用及使用何种设计网表、模型、仿真设置等来支持集成,并获得最快的设计流程,尤其在顶层时。每个设计领域(模拟、RF、数字等)都会产生这些设计网表、模型、仿真设置等。
设计工程师必须对各自设计环境中产生的网表、模型等进行全面调试,而如果他们来自其它设计环境则无需全面调试。如果这些输入网表、模型出现错误,则需要在原来的设计环境中重新进行仿真。如果确信数字电路部分出现错误,则由数字设计工程师来调试这些数字电路部分。而数字电路设计工程师则将模拟电路作为参考,在自己的环境内对数字电路部分进行全面调试。
这种观点性概念可以成为每个领域内目标设计流程背后的一种推动力。一个设计流程中产生的结果可用于其它设计流程,从而实现大规模集成。这要求每个设计流程都能够:A)解决自己领域中的特殊问题;B)自然地产生设计相关的网表、模型和仿真设置等以便集成。图3所示为各设计流程之间以及它们与数字平台(例如Cadence的Encounter和Incisive)的互操作。
流程的重要性
Virtuoso平台通过一系列设计流程来实现这点,包括系统/IC、AMS、芯片集成和RFIC参考流程。每个流程都可为其它流程输出设计相关的网表、模型等信息来实现IP验证,通过Open Access数据库(物理和仿真数据库)进行无缝的IP验证。设计团队则可以在自己熟悉的环境或流程中集成或验证各自的IP。这其中包括了若干流程,这些流程相互作用,形成平台下一层的细节。
系统/IC参考流程位于顶层,从而使IC验证能在系统级环境中进行。系统级IP来自客户使用的系统环境,可以是用SystemC、VerilogAMS、VHDL-AMS或C/C++语言描述的IP,或安捷伦的Ptolemy或CoWare的SPW等同步数据流仿真器。系统级IP将这些描述当作语境来混合设计IP抽象,以便在该语境中验证设计IP。系统/IC流程也促成了自下而上的设计方法,设计流程可经过这些验证套件中使用的抽象行为模型。
AMS参考流程在前端上整合了各种传统AMS设计。这一流程基于多个仿真引擎,从行为层、混合数字集成、fastspice性能到完全准确晶体管层准确度),通过创建模块来解决顶层和混合信号层的混合信号仿真和验证。其中也会碰到与自上而下/自下而上设计相关的困难,例如顶层验证、加速布局、压降和电子移注等芯片分析以及后布局寄生效应的验证。这一流程的输出被系统/IC流使用。此外,这一流程与基于物理设计的芯片集成参考设计流相互作用。
芯片集成参考流程是与AMS流程对应的基于物理设计的方法,它可完成多领域模块的设计和组装,从布局规划到出带。这种基于分层模块的方法允许一种不断发展的方法,采用这种方法每个模块在物理环境内更新和重验证(类似于仿真回归套件),并与不断变化的每个模块实现进度保持一致。满足各个模块的执行进度表。这意味着在出带前的最后几周内的工作已完成,实现了可预测的项目进度。
RF IC参考流程专门满足RF IC设计要求,可解决的版图设计后寄生电感分析的挑战,以及高频设计中最重要的螺旋电感建模等问题。采用了多种仿真类型,它还具有多领域仿真能力(带有谐波平衡和时域技术),可完成大规模RF IC从概念到出带的各种问题。同样,该流程中产生的设计附产品也可用于AMS、芯片集成和系统/IC流中。
结合在Open Access架构上相互作用的流程可方便多个设计团队前后传递信息。此外,Virtuoso平台与Cadence基于数字电路的平台相互作用,提供了全面的端到端解决方案。