专利名称:具有功率管理电路集成电路的快速仿真方法
技术领域:
本发明涉及集成电路(IC)的仿真,尤其是指一种快速仿真方法。
背景技术:
随着IC技术已缩小至90nm及以下,总功耗已变成系统芯片的芯片设计中的其中 一个最重要的考虑事项。已知的技术,如电源闸控、电压调节以及可变门坎值CMOS,已用来 减少静态漏电流及动态功率消耗。然而,如下所解释的,由于仿真所需的节点分析方程组的 极大矩阵,这种技术对布局前(pre-layout)及布局后(post-layout)的全芯片确认造成了 挑战。系统芯片(SoC)设计典型地包括至少一电源供应模块,其具有至少一输出节点, 所述输出节点作为其它模块的电压供应节点。示范性的电源供应模块可包含电荷帮浦、调 节器、电源开关及/或晶体管,以提供给所述设计一个或更多个电源供应。SPICE是一种熟知的通用电路仿真程序,其由加州柏克莱大学所研发。SPICE可仿 真电路,包含,例如,电阻器、电容器、诱导器、电压来源、电流来源、传输线以及一般的半导 体装置。相对于传统SPICE仿真器,快速SPICE仿真器使用不同的算法以增进性能。用于增进性能的示范性算法包含在理想电压来源节点及弱耦接节点的边界(例 如,在MOSFET装置的栅极)把电路分解处划分为小区块。例如,如图IA所示,传统的快速 SPICE仿真器把电路100划分为两个区块110和111,因为两个区块都直接连接至所述理想 电压来源。注意图IA中只有示出有限数目的示范性电路组件(例如晶体管及电阻器),而 实际的电路典型地包含许多其它的电路组件。特别是,当使用快速SPICE仿真器时,区块110及111可根据他们在仿真期间的 潜在因素而以不同速率仿真。因此,在可接受的准确度损失下,快速SPICE仿真器可提供 10-1000倍的速率增加。然而,因为电源供应模块的输出节点(图IA中,电源供应模块101 的功率节点102)不理想,快速SPICE仿真器对于SoC电路典型地没有效率,因此所述仿真 器必须在大量平坦的部位上操作。具体来说,所述快速SPICE仿真器必须同步地仿真区块 111中的电路。有些进阶的仿真器,例如HSIM,可进一步划分大区块成为第二级区块,而后利用同 构配对。例如,如图IB中所示〔为求简化,其忽略了小区块110 (图1A)〕,HSIM仿真器在功 率节点102切割所述电路100,并划分以产生多个通道连接区块(CCB) 101、103、104及105。 注意仿真工具通常定义CCB在晶体管等级。这些CCB是相对简单的电路(其中所示的反向 器为示例性的,而非限制性的)。因为电源供应模块101的所述输出节点,即功率节点102,是非理想的电压供应来 源,CCB 101、103、104和105必须同时地被评估(即同步地),以提供准确的功率节点102 仿真。因为其大小,CCB105可被HSIM仿真器进一步划分。在此范例中CCB 105可进一步被 划分为CCB 106、107及108。注意不同的仿真工具以不同的方式确定切割群组的内容(即 被划分所形成的区块)。例如,在具体实施例中,仿真工具可基于连接至所述切割的CCB数量而确定切割群组。特别是,再次地,CCB 106、107及108必须被同步地评估,即,这些CCB也形成平 坦的(flattened)部分。因此,CCB101、103、104和105的特征可为第一级切割群组,而 CCB106、107及108的特征可为第二级切割群组。注意来自CCB105的所述评估结果可用于 CCB103、104及105的同步评估。因此,仅管此等级制度的划分,当仿真具有非理想电源供应 模块的大电路时(例如SoC),HSIM仿真器典型地具有次理想的结果,即相对低的结果。因此,产生了一种具功率管理电路的IC的快速仿真方法的需要。
发明内容
根据快速仿真方法,所述集成电路的电源供应模块的所述输出节点(即,非理想 的功率节点)可被指定为理想的功率节点。所述电路可被划分为区块,其中所述电源供应 模块可被指定扇入(fan-in)区块,以及任何连接至所述功率节点的区块可被指定扇出区 块。在这时,可执行DC起始化。然后,每个时间步骤,可执行瞬时仿真(transient simluation)。例如,在瞬时仿 真的起始步骤,可确定任何扇出区块的交互关系。在具体实施例中,此交互关系可包含识别 每个扇出(fan-out)区块的仿真间隔以及外部触发事件。如果那个扇出区块的评估是发生在那个时间步骤,则可计算出那个扇出区块的敏 感度模型。此敏感度模型可包含那个扇出区块的传导性、电容以及电流负载。有利的是,因 为所述功率节点是被指定为理想的功率节点,每个扇出区块的所述敏感度模型结果可异步 地加至所述功率节点的总负载。在具体实施例中,可通过从最后的负载值减去现有的负载 值,并加上那个区块对总负载的差(即所述传导性、电容以及电流负载),而计算出所述贡 献,所述最后的负载值是在最后的仿真期间计算。能够异步地评估扇出区块让仿真器可有利地执行这种平行的评估(对于任何数 量的扇出区块)、任何顺序的评估及/或任何系统资源(甚至有限的系统资源)可用时的评 估。因此,可异步地评估这种扇出区块的能力可提供显著的时间节省,以及最佳化系统资源 的使用,藉此确保最大化系统的效率及弹性。在具体实施例中,异步地加入结果包含使用全球数据结构追踪所述总负载。在具 体实施例中,追踪所述总负载包含忽略任何闲置的扇出区块。在追踪之后,所述总负载可被 加载至矩阵〔例如雅克比(Jacobin)矩阵〕中,其用来计算每个扇入区块,以及可输出仿真 波形点。可对每个指定的时间步骤执行上述的瞬时仿真步骤。在此也描述了计算机可读取媒体。此计算机可读取媒体储存计算机指示,当在计 算机上执行时,所述计算机指示产生执行上述步骤的讯号,以摸拟集成电路。
图IA说明了传统仿真器如何评估连接至理想功率节点的电路区块,其中每个区块中的电路必须同步地被评估;图IB说明了电路的传统划分,其在非理想功率节点及弱耦接节点切割,藉此导致 等级制度的分区,所述分区仍需同步的评估;图2A说明了可将非理想功率节点指定为理想功率节点的示范性的划分,藉此让连接至那个功率节点的任何扇出区块可异步的评估;图2B说明了另一个示范性的划分,其可将多个非理想功率节点指定为理想功率节点,藉此让连接至那些功率节点的任何扇出区块可异步的评估;图3说明了 CCB的示范性的评估以产生敏感度模型,所述敏感度模型考虑那个CCB 的负载效应。此敏感度模型可包含传导性、电容和电流;图4说明了示范性的仿真技术,所述仿真技术指定电源供应模块的所述输出节点 (即所述非理想的功率节点)作为理想的功率节点,藉此允许连接至那个功率节点的扇出 区块的异步评估;图5说明了示范性的多重速率、事件驱动方法;图6说明了示范性的数字ASIC设计流程,所述数字ASIC设计流程可包含图4的 所述仿真技术。
具体实施例方式在快速仿真技术中,集成电路的电源供应模块的所述输出节点可被指定为理想的 功率节点。在这时,所述电源供应模块可被指定扇入区块,以及连接至所述功率节点的任何 区块可被指定扇出区块。如下述进一步细节的描述,因为非理想功率节点被指定为理想的 功率节点,所述扇出区块可被同步地评估,藉此确保在仿真期间节省最多时间以及确保系 统的弹性。图2A说明了简化的电路200,所述简化电路200展示了快速仿真方法的观点。在 仿真期间,电路200可被划分成区块201、203、204以及205。具体来说,电路200可被划分 成多个通道连接区块(CCB) 203、204以及205,所述多个通道连接区块203、204以及205是 从电源供应模块201切割出。注意电源供应模块201的输出(功率)节点202事实上非理 想的功率节点。然而,根据所描述的快速仿真方法的构想,功率节点202却可以被指定为理 想的功率节点。因此,CCB203、204以及205可有利地在仿真期间被异步地评估。注意在典型的IC电路中,连接至功率节点的所述CCB的数量可为数百或甚至数千 个。可以异步地评估CCB让仿真器可有利地行这种平行的评估(对任何数量的CCB)、任何 顺序的评估以及/或任何系统资源(甚至有限的系统资源)可用时的评估。因此,可以异 步地评估这种CCB的能力可提供显著的时间节省以及最佳化系统资源的使用,藉此确保最 大化系统效率以及弹性。注意CCB 205,其特征可为被仿真器切割的切割群组,所述CCB 205可进一步被分 成CCB 206、207及208。在具体实施例中,可使用等级制度的解答器而同步地仿真CCB 206、 207及208。在另一具体实施例中,如图2B中所示,可通过指定节点209为理想功率节点 (以及CCB 206的特征为电源来源模块)而异步地仿真CCB 207及208,藉此提供进一步的 系统效率。可基于所述扇出区块的大小而确定在所述扇出区块执行同步/异步仿真。可使 用来自不同仿真的经验结果以及之后基于成本函数而确定适当大小门坎值,进而设定此大 小。注意虽然在电路200中提供两个被指定的理想节点202和209节点,其它的电路可包 含任何数量的指定理想节点。此外,任何数量层级的非理想节点指定为理想节点可以递归 的方法完成。在任何案例中,如本仿真领域的技术人员所知,CCB 206,207及208的评估需要在可执行CCB 205的评估之前。图3说明了 CCB 300的示范性评估,在所述CCB 300中可产生敏感度模型301〔诺顿等效电路(NortonEquivalent circuit)〕,其中敏感度模型301可 包含传导性G(电阻的倒数)、电容C以及电流I。图4说明了示范性的快速仿真方法400,所述快速仿真方法400包含指定非理想功 率节点作为理想功率节点。在步骤401中,可存取电路的设计。在典型的具体实施例中,此 设计可被存取为网络表(netlist)。注意可使用任何传统方案进入系统而产生网络表,且所 述网络表可采用与快速SPICE所使用的相同语法格式。在此时,电源供应模块(即所述功率节点)的输出节点在设计上可被指定为理想 功率节点。然后步骤402可以将所述IC电路划分为区块,其中所述电源供应模块可被指定 为那个功率节点的驱动器(即扇入区块),且其它的区块可被指定为那个功率节点的负载 (即所述扇出区块或CCB)。在步骤403中,可执行DC起始化以获得在起始时间t = 0的所 述IC电路的动态电压状态。在步骤404中,所述扇出区块的交互关系可通过,例如,检验所述区块的仿真间隔 (称为多重速率)以及所述区块是否为事件驱动的而确定。图5说明了示范性的多重速率 事件驱动系统500,所述系统500包含扇入区块501以及扇出区块502-504。在系统500中, 在起始时间Ttl(由黑色圆圈所指)评估所有的区块501-504(即仿真)。随后,以不同的间 隔评估区块501-504,即在时间T2及T4评估区块501,在时间T1和T2评估区块502,在时间 T2和T3评估区块503,以及在时间T3评估区块504。以多个因素确定每个区块501-504的仿真间隔,所述多个因素的特征在于关于所 述区块的内部潜在因素或外部触发事件。所述区块的所述内部潜在因素包含各种因素,例 如电压改变的速率、每个节点电容的充电电流等等。考虑所述区块的所述内部潜在因素以 避免在步骤中突然的电压或电流充电。图5说明了系统500具有3个外部触发事件510、511及512。注意在传统仿真器 中,事件是由扇入区块所产生,以触发扇出区块的仿真。根据较佳具体实施例,所述事件可 由所述扇出区块所产生。例如,在系统500中,区块502产生事件510,其触发了区块503的 仿真;区块503产生事件511,其触发了区块504的仿真;以及区块504产生事件512,其触 发了区块501的仿真。注意事件可导因于所述区块的实体连接。例如,回头参见图2A,CCB 203提供输出至CCB 204。因此,CCB 203的特征可为产生事件,其触发了 COB 204(相似于 区块502及503)的仿真。回头参见图4,在第405图中,每个扇出区块的敏感度模型可被计算。在具体实施 例中,此敏感度模型可包含计算那个扇出区块在功率节点的所述传导性G、电容C以及电流 I。在较佳具体实施例中,可使用等级制度的解答器以计算每个切割群组的所述敏感度模 型,以及传统的解答器可用于任何其它的扇出区块。在具体实施例中,当多重扇出区块分享 相同的拓扑学,并具有相同的端电压及电流时,只有一个扇出区块被计算,因为其它的扇出 区块可以有利地重新使用第一个计算的扇出区块的结果(此重新使用也称为同构配对)。 在1999年5月17日发布给Tcherniaev的美国专利号6,577,992提供了示范性的等级制 度解答器以及同构配对(isomorphicmatching)的更细节描述,且其于此并入以作为参考。步骤406可将所有扇出区块的贡献加至与所述电源供应模块相关的所述功率节 点的总负载。这些总负载包含于步骤5中所计算的所述电流I、传导性G以及电容C。注意如图5中所描述的,每个扇出区块具有其自己的仿真间隔。在具体实施例中,当计算那个扇 出区块的所述总负载时,所述结果与先前的仿真间隔的结果比较,即AI = I-Ilast, AG = G-Glast, AC = C-Clast。然后把这些delta值加至所述指定的理想功率节点的总负载。因为 所执行的所述第一仿真(例如在图5中的时间步骤Ttl时所执行的仿真)没有比较,那些区 块的总负载包含步骤405中所计算的所述电流、传导性以及电容。在具体实施例中,所述功率节点(例如图2A/2B中的功率节点202)的总负载可通 过全球数据结果而追踪。注意因为所述异步的评估,来自每个扇出区块的结果当他们变成 可用时(即以增加的方式),可加至所述全球数据结构。因此,所述全球数据结构可追踪来 自所有扇出区块的所有结果。在具体实施例中,当扇出区块在特定的时间步骤是闲置时,那 个扇出区块在追踪期间可被忽略。换句话说,所述全球数据结构可追踪来自所有扇出区块 的所有结果。在步骤407中,当所述总负载被评估时,其可加载所述扇入区块(例如图2A/2B中 的电源供应模块201)的矩阵中。用来计算电流的示范性的雅可比(Jacobin)矩阵为[I] = [G]x[V]其中[G]是传导性的矩阵,[V]是电压的矩阵,以及[I]是电流的矩阵。此计算为 本仿真领域的技术人员所知,因此在此没有细节地解释。一般而言,此等式可提供对非线性 解答的线性化。步骤408可产生仿真波形点。注意波形包含多个个别的点,其中在瞬时仿真期间的每个时间步骤计算每个点 (在此称为仿真波形点)。在快速仿真方法400,步骤404-408提供所述IC电路的瞬时仿 真。因此,步骤409可确定是否有任何额外的时间步骤被指定用来所述仿真。(注意所述总 仿真时间,即时间步骤的数量,在所述输入档案中具体指定,其为本仿真领域的技术人员所 知。)如果如此,则方法400回到步骤404。若否,则方法400结束。图6显示了示范性数字ASIC设计流程的简化展示。在高等级,所述程序以所述产 品想法开始(步骤600),以及所述程序在EDA软件设计程序(步骤610)中实现。当所述 设计完成时,其可被下线(taped-out)(事件640)。在下线之后,所述制造程序(步骤650) 以及包装与组装程序(步骤660)发生,最后导致完成的芯片(结果670)。所述EDA软件设计程序(步骤610)实际上是由一些步骤612-630所组成,为求简 化以线性方式呈现。在实际的ASIC设计程序中,特定的设计可能必须回到从头到尾的步 骤,直到某些测试通过为止。相似地,在任何实际的设计程序中,这些步骤可能以不同的顺 序以及组合发生。因此此描述以上下文及一般的解释来提供,而非以针对特定ASIC的特定 或建议设计流程来提供。现在将提供所述EDA软件设计程序(步骤610)的组件步骤的简短描述系统设计(步骤612)所述设计师描述了他们想要实施的功能性,他们可以执行 假若计划以提供功能性、核对成本,等等。硬件-软件构造划分可发生在此阶段。在此步 骤可使用的来自Synopsys有限公司的示范性EDA软件产品包含Model Architect,Saber, System Studio DesignWare /^[Pn。逻辑设计以及功能确认(步骤614)在此阶段,写入所述系统中模块的所述VHDL 或Verilog码,并核对所述设计的功能准确度。更具体而言,确认所述设计以确保其产生正确的输出。在此步骤可使用的来自Synopsys有限公司的示范性EDA软件产品包含VCS、ERA、DesignffareMage 11 an> Formality、ESP \)JsR LEDA /^ηππ。合成及测试的设计(步骤616)这里,所述VHDL/Verilog被译为网络表。所述网络表可被最佳化以用于所述标靶技术。此外,发生了用来准许最终芯片核对的测试的设 计及完成。在此步骤可使用的来自Synopsys有限公司的示范性EDA软件产品包含Design Compiler 、Power Compiler、Tetramax 以及 DesignWare 产品。网络表确认(步骤618)在此步骤,核对所述网络表以顺从时机限制,以及以符合 VHDL/Verilog来源码。在此步骤可使用的来自Synopsys有限公司的示范性EDA软件产品 包含Formality、PrimeTime, VCS以及HSIM+产品。在具体实施例中,所述HSIM+产品可包 含上述快速仿真方法400 (图4)。在具体实施例中,所述仿真可包含如参照图2A中所描述 的所述划分以及所述异步的仿真。设计计划(步骤620)这里,建构并分析所述芯片的全面的场地布置图以用来时 机及顶层的路由安排。在此步骤可使用的来自Synopsys有限公司的示范性EDA软件产品 包含Astro以及IC Compiler产品。实体的完成(步骤622)所述布置(电路组件的定位)以及路由安排(相同对象 的连接)在此步骤中发生。在此步骤可使用的来自Synopsys有限公司的示范性EDA软件 产品包含Astro以及IC Compiler产品。分析及萃取(步骤624)在此步骤,在晶体管层级确认所述电路功能,此依次准许 了假若的提升(what-if refinement)。在此步骤可使用的来自Synopsys有限公司的示范 性 EDA 软件产品包含 AstroRai 1、PrimeRai 1、Primetime 以及 Star RC/XT 产品。实体的确认(步骤626)在此步骤,执行不同的核对功能以确保制造、电问题、平 版印刷问题以及电路系统的正确性。在此步骤可使用的来自Synopsys有限公司的示范性 EDA软件产品包含所述Hercules以及HSIM+产品。在具体实施例中,所述HSIM+产品可包 含上述快速仿真方法400 (图4)。注意布局后仿真可包含如参照图2A中所描述的所述划分 以及所述异步的仿真,所述布局后仿真典型地在实体确认期间执行。分辨率的增强(步骤628)此步骤牵涉所述布局的几何学操控,以提升所述设 计的可制造性。在此步骤可使用的来自Synopsys有限公司的示范性EDA软件产品包含 Proteus、ProteusAF 以及 PSMGen 产品。屏蔽资料准备(步骤630)此步骤提供用于平版印刷用途的屏蔽产生的「下线」数 据,以产生最终的芯片。在此步骤可使用的来自Synopsys有限公司的示范性EDA软件产品 包含所述CATS(R)家族的产品。虽然此处以参照伴随着图式细节地描述了本发明的示例性具体实施例,可了解的 是,本发明并不被那些精确的具体实施例所限制。他们并非详尽无疑的或用来限制所揭露 之本发明的精确形式。就其本身而论,许多修饰及改变将是明显的。例如,上述所描述的快速仿真技术可在一个或更多个计算机程序中被有利地执 行,所述计算机程序在可编程的系统中执行,所述可编程的系统包含至少一可编程的处理 器,所述至少一可编程的处理器耦接以接受来自数据储存系统、至少一输入装置以及至少 一输出装置的数据及指示,以及将数据及指示传输至所述数据储存系统、所述至少一输入 装置以及所述至少一输出装置。每个计算机程序可在高层级程序或以物体为导向的计算机 程序设计语言中执行,或想要的话可在组合或电算机语言中执行;在任何案例中,所述语言可为编译或翻译语言。适合的处理器包含,例如,通用或特殊用途的微处理器,以及其它类 型的微控制器。一般而言,处理器将接收来自只读存储器及/或随机存取内存的指示及数 据。一般而言,计算机将包含一个或更多个大量储存装置以储存数据文件;这种装置包含磁 盘,如内部硬盘及可移除式磁盘、磁光盘片以及光盘片。适合用来明白地收录计算机程序指 示及数据的储存装置包含所有形式的非挥发性内存、包含例如半导体内存装置,如EPROM、 EEPROM及闪存装置,磁盘,如内部硬盘及可移除式磁盘、磁光盘片以及⑶ROM盘片。任何上 述内容可被专用集成电路(ASIC)所执行或并入其中。
以上所述仅为本发明的较佳实施例而已,本领域技术人员根据本发明所作的任何 修饰和变更,均在本发明的保护范围内,因此,本发明的范围将由下述权利要求及其均等物 所定义。
权利要求
一种快速仿真方法,包含存取电路的网络表;将所述电路的电源供应模块的输出节点识别为功率节点;指定所述功率节点为理想的功率节点;将所述电路划分为区块,其中所述电源供应模块被指定为扇入区块,且连接至所述功率节点的任何区块被指定为扇出区块;对所述电路执行DC起始化;以及对每个指定的时间步骤确定所述扇出区块的任何交互关系;计算每个扇出区块的敏感度模型;把每个扇出区块的敏感度模型的结果异步地加入所述功率节点的总负载;把所述总负载加载至用来计算所述扇入区块的矩阵中;以及输出仿真波形点。
2.根据权利要求1所述的方法,其中把每个扇出区块的敏感度模型的结果异步地加入 所述功率节点的总负载的所述步骤包含使用全球数据结构追踪所述总负载。
3.根据权利要求2所述的方法,其中追踪所述总负载的所述步骤包含忽略任何闲置的 扇出区块。
4.根据权利要求1所述的方法,其中所述矩阵是雅可比Jacobin矩阵。
5.根据权利要求1所述的方法,其中在每个扇出区块中的电路被同步地仿真。
6.根据权利要求1所述的方法,还包含划分至少一扇出区块,在所划分出的扇出区块中指定另一个理想节点,且异步地仿真 由另一个所述理想节点所提供的电路。
7. 一种储存计算机指示的计算机可读取媒体,当在计算机中执行时,所述计算机指示 产生执行步骤的讯号,以仿真集成电路,所述步骤包含存取电路的网络表;将所述电路的电源供应模块的输出节点识别为功率节点; 指定所述功率节点为理想的功率节点;将所述电路划分为区块,其中所述电源供应模块被指定为扇入区块,且连接至所述功 率节点的任何区块被指定为扇出区块; 对所述电路执行DC起始化;以及 对每个指定的时间步骤 确定所述扇出区块的任何交互关系; 计算每个扇出区块的敏感度模型;把每个扇出区块的敏感度模型的结果异步地加入所述功率节点的总负载; 把所述总负载加载至用来计算所述扇入区块的矩阵中;以及 输出仿真波形点。
8.根据权利要求7所述的计算机可读取媒体,其中把每个扇出区块的敏感度模型的结 果异步地加入所述功率节点的总负载的所述步骤包含使用全球数据结构追踪所述总负载。
9.根据权利要求8所述的计算机可读取媒体,其中追踪所述总负载的所述步骤包含忽略任何闲置的扇出区块。
10.根据权利要求7所述的计算机可读取媒体,其中所述矩阵是雅可比矩阵。
11.根据权利要求7所述的计算机可读取媒体,其中在每个扇出区块中的电路被同步 地仿真。
12.根据权利要求7所述的计算机可读取媒体,其中,所述步骤还包含划分至少一扇出区块,在所划分出的扇出区块中指定另一个理想节点,且异步地仿真 由另一个所述理想节点所提供的电路。
全文摘要
在快速仿真技术中,集成电路的电源供应模块的输出节点可被指定为理想的功率节点。在此时,所述电源供应模块可被指定为扇入区块,且连接至所述功率节点的任何区块可被指定为扇出区块。随后,可执行所述电路的DC起始化以及每个时间步骤的瞬时仿真。在所述瞬时仿真期间,可确定所述扇出区块的任何交互关系,且可计算每个扇出区块的敏感度模型。因为所述功率节点被指定为理想的功率节点,每个扇出区块的所述敏感度模型结果可异步地被加至所述功率节点的总负载。所述总负载可被加载至矩阵中,其用来计算所述扇入区块,且仿真波形点可被输出。
文档编号G06F9/455GK101802785SQ200980000263
公开日2010年8月11日 申请日期2009年9月1日 优先权日2008年10月27日
发明者安德里·Y·塔拉撒维其, 董和, 麦可·Z·徐 申请人:新诺普系统公司