专利名称:基于分区的漏电功率优化的制作方法
技术领域:
本公开内容主要地涉及电子设计自动化。更具体而言,本公开内容涉及用于基于分区(zone)的漏电功率优化的方法和装置
背景技术:
半导体技术的发展目前使得有可能向单个半导体芯片上集成大规模系统。半导体集成密度的这一巨大增加已经使得高效执行漏电功率优化明显更有挑战性。电路的漏电功率是电路在电路的金属氧化物半导体(MOS)晶体管未接通或者关断时耗散的功率数量。注意,存在在晶体管的速度与漏电功率之间的折衷。具体而言,具有更低阈值电压(Vth)的晶体管可以比具有高Vth的晶体管更快接通和关断,这是因为需要附加时间以朝着Vth斜升这些晶体管的输入电压。然而,具有高Vth的晶体管具有比具有低Vth的晶体管更少的漏电功率。遗憾的是,常规漏电功率优化技术效率低和/或生成不良结果质量(QoR)。如果变换未违背任何设计要求,则可以通过将逻辑门替换为耗散更低漏电功率的另一功能等效逻辑门来改进电路设计的漏电功率。具体而言,对于每个变换,常规技术通常执行大量计算以确定变换是否违背任何定时度量。另外,常规漏电功率优化技术在搜寻用于改进电路设计的漏电功率的每个机会时尝试变换电路设计的每个逻辑门。
发明内容
一些实施例提供用于优化包括一组逻辑门的电路设计的漏电功率的技术和系统。该系统选择用于逻辑门的漏电功率减少变换并且确定在逻辑门周围的分区。这一分区包括逻辑门的扇出中的在第一预定级数内、逻辑门的扇入以及逻辑门的扇入的扇出中的在第二预定级数内的逻辑门。该系统在分区内传播到达时间以获得在分区的终点的更新松弛值。然后,响应于确定在分区的终点的更新松弛值未降低一个或者多个电路定时度量,该系统将漏电功率减少变换应用于逻辑门。另一方面,如果一个或者多个定时度量降低,则该系统可以拒绝变换。在分区的终点的电路定时度量可以包括但不限于最坏消极松弛(WNS)度量和/或总消极松弛(TNS)度量。该系统可以保持对哪些所需时间为过时的跟踪并且在需要的基础上更新它们。具体而言,在计算在分区的终点的电路定时度量之前,如果终点的所需时间为过时,则该系统可以更新它们。另外,在应用所选变换之后,该系统可以确定从分区的终点向后延伸的逻辑锥形并且将与逻辑锥形中的逻辑门的端子关联的所需时间标记为过时。在一些实施例中,该系统确定用于处理逻辑门的反向分级处理顺序并且根据处理顺序选择用于优化的逻辑门。为了确定处理顺序,该系统可以将级别与每个逻辑门关联,使得每个逻辑门的级别大于与电耦合到逻辑门的扇入的逻辑门关联的最高级别。然后,该系统可以按照关联的级别的降序对逻辑门排序。该系统也可以使用与逻辑门关联的漏电潜力以确定处理顺序。注意逻辑门的漏电、潜力指示逻辑门的漏电功率可减少的数量或者程度。在一些实施例中,该系统可以基于漏电潜力将逻辑门与漏电潜力仓(bin)关联。注意漏电潜力仓与漏电潜力值范围关联。
图I图示了在集成电路的设计和制作工艺中的各种阶段。图2图示了如何在电路设计中传播定时信息。图3呈现如下流程图,该流程示了根据本发明一些实施例的用于优化电路设计的漏电功率的过程。图4图示了根据本发明一些实施例的在逻辑门周围的分区。图5呈现如下流程图,该流程示了根据本发明一些实施例的用于确定用于处理电路设计的逻辑门的处理顺序的过程。
图6图示了根据本发明一些实施例的与电路设计的逻辑门关联的拓扑级别。图7呈现如下流程图,该流程示了根据本发明一些实施例的用于确定用于处理电路设计的逻辑门的处理顺序的过程。图8图示了根据本发明一些实施例的一组漏电潜力仓和示例处理顺序。图9图示了根据本发明一些实施例的计算机系统。图10图示了根据本发明一些实施例的装置。
具体实施例方式呈现下文描述以使本领域技术人员能够实现和运用实施例,并且在特定应用及其要求的背景中提供该描述。对公开的实施例的各种修改将容易为本领域技术人员所清楚,并且这里限定的一般原理可以应用于其它实施例和应用而不脱离本公开内容的精神实质和范围。因此,本发明不限于所示实施例,而是将被赋予以与这里公开的原理和特征一致的最广范围。在这一具体描述中描述的数据结构和代码通常存储于计算机可读存储介质上,该存储介质可以是可以存储代码和/或数据以供计算机系统使用的任何设备或者介质。计算机可读存储介质包括但不限于易失性存储器、非易失性存储器、磁和光学存储设备(比如盘驱动、磁带、CD(光盘)、DVD(数字万用盘或者数字视频盘)或者现在已知或者以后开发的能够存储计算机可读介质的其它介质。在具体实施方式
章节中描述的方法和过程可以具体化为可以在如上文描述的计算机可读存储介质中存储的代码和/或数据。当计算机系统读取和执行在计算机可读存储介质上存储的代码和/或数据时,计算机系统执行具体化为数据结构和代码并且存储于计算机可读存储介质内的方法和过程。另外,可以在硬件模块或者装置中包括这里描述的方法和过程。这些模块或者装置可以包括但不限于专用集成电路(ASIC)芯片、现场可编程门阵列(FPGA)、在特定时间执行特定软件模块或者一段代码的专用或者共享处理器和/或现在已知或者以后开发的其它可编程逻辑器件。当激活硬件模块或者装置时,它们执行在它们内包括的方法和过程。集成电路(IC)设计流稈图I图示了在集成电路的设计和制作中的各种阶段。该过程始于使用电子设计自动化(EDA)软件110来实现的产品理念100。可以通过执行制作步骤150以及封装和组装步骤160根据定稿设计来生产出芯片170。下文描述使用EDA软件110的设计流程。注意设计流程描述仅出于示例目的而并非旨在于限制本发明。例如,实际集成电路设计可能要求设计者在与下文描述的序列不同的序列中执行设计流程步骤。
在系统设计步骤112中,设计者可以描述待实施的功能。他们也可以执行what-if规划以精化功能并且校验成本。另外,硬件-软件架构分割可以出现于这一步骤。在逻辑设计和功能验证步骤114中,可以创建VHDL或者Verlog设计并且校验该设计的功能准确性。在综合和设计步骤116中,可以将VHDL/Verlog代码转译成可以针对目标技术而优化的网表。另外,在这一步骤中,可以设计和实施测试以校验成品芯片。在网表验证步骤118中,可以校验网表与定时约束相符并且与VHDL/Verilog代码对应。在设计计划步骤120中,可以构造用于芯片的总体平面规划和分析定时和顶级布线。接着,在物理实施步骤122中,可以执行布局和布线。在分析和提取步骤124中,可以在晶体管级验证电路功能。在物理验证步骤126中,可以校验设计以保证用于制造、电气问题、光刻问题和电路的正确性。在分辨率增强步骤128中,可以对布局执行几何操纵以改进设计的可制造性。最后,在掩模数据制备步骤130中,可以流片(taped-out)设计以产生用于产生成品芯片的掩模。可以在上文描述的步骤中的一个或者多个步骤中使用本发明的实施例。漏电功率优化问题电路设计的表示由逻辑门实例化组成,从而每个逻辑门与漏电功率关联。如果使用MOS晶体管,则漏电功率依赖于用于逻辑门中的MOS晶体管的阈值电压。如上文所言,逻辑门的性能(例如MOS晶体管的最大切换频率)也依赖于阈值电压。电路设计者的目标在于使电路的漏电功率最小而不违背针对电路设计的任何设计要求(例如定时、电容或者转变要求)。可以通过向电路设计的逻辑门应用变换来执行漏电功率优化。逻辑门的变换一般是逻辑门的任何修改。例如,变换可以涉及到将逻辑门替换为来自技术库的不同逻辑门,从而维持电路的功能。在向逻辑门应用变换之前,系统可以确定变换是否违背电路设计的任何性能或者设计要求。如果变换不违背任何性能或者设计要求,则系统可以应用变换。否贝U,系统可以尝试不同变换。存在至少两类定时要求设置时间要求和保持时间要求。如果信号比假设它到达的时间更晚到达管脚,则违背设置时间要求,例如设置时间违背可以出现于信号在时钟转变之后到达寄存器输入。如果信号未保持稳定持续充分时间量则违背保持时间要求,例如在寄存器的输入的信号可能在寄存器可以捕获信号的值之前改变。信号在逻辑门经历的延迟可以依赖于多个因素。例如,延迟可以对于不同输入/输出端子对而言不同。另外,延迟可以依赖于输出端子上的电容负载和/或输入信号的转变时间。注意转变时间是信号从一个状态向另一状态切换所需要的时间量。到达时间和所需时间用来确定设计是否满足定时要求。与逻辑门的端子关联的到达时间指示预计信号何时到达端子。与端子关联的所需时间指示要求信号何时到达端子。与端子关联的松弛(slack)是所需时间与到达时间之差。通常,端子的松弛如果它少于预定阈值时间则视为违背。常规系统对电路设计执行定时分析以确定特定漏电减少变换是否将将违背定时要求。例如,在典型常规系统中,系统首先向逻辑门应用变换。接着,常规系统朝着电路设计的终点向前传播到达时间和转变时间。常规系统然后使用设计的定时终点上的所需时间来计算用于整个设计的一个或者多个定时度量。
注意尽管用于逻辑门的漏电功率改进总是将造成全局设计中的漏电改进,但是这对于定时度量而言可能不成立。如果常规系统确定设计的全局定时由于变换而降低,则常规系统拒绝变换。如果接受变换,则到达时间和转变时间一般由于为了计算全局定时度量而执行的向前传播而为最新。然而由于设计中的各种单元和网状物的延迟可能在这一向前定时传播期间已经改变,所以设计的所需时间实际上过时。因此,常规系统然后通过向设计的定时起点一路向后传播所需时间来更新所需时间以便针对用于下一逻辑门的漏电恢复优化而获得有效上下文(context)。图2图示了如何在电路设计中传播定时信息。电路设计200包括优化的逻辑门202。向逻辑门202应用变换可以改变逻辑门204上的电容负载,这可以改变在逻辑门204的输出、逻辑门202的输入和逻辑门206的输入的到达和转变时间。这一定时信息改变可以经过区域208和210向电路设计200的定时终点波动(ripple)。注意终点可以是寄存器或者主要(primary)输出或者在电路设计中的实行定时要求的任何点。改变在设计的定时终点的定时信息使所有这些定时终点的整个扇入锥形中的所需时间过时。因此,在向前方向上传播定时信息之后,常规系统通常向后传播所需时间(例如沿着区域212 —路向后到起点)。可以在Luciano Lavagno (编辑)、LouisScheffer (编辑)、Grant Mart in (编辑)的 EDA for IC Implementation, Circuit Design,and Process Technology(Electronic Design Automation for Integrated CircuitsHandbook) (CRC Press,第I版,2006年3月)中发现关于静态定时信息分析和定时信息传播的一般信息。概括而言,常规方式通过无论何时接受改变都强制整个设计的定时更新来保证有效局部上下文。由于更新所有定时,所以这确保用于下一逻辑门或者单元的局部上下文无论逻辑门或者单元的位置如何都将有效。注意大多数计算都被浪费,这是因为访问的下一逻辑门将最可能再次改变定时。更新用于整个电路的到达时间和所需时间可能计算成本高。完全定时更新的最坏情况复杂度可能相对于电路设计的尺寸而言为指数。因而定时更新操作可能变成常规综合优化系统(例如逻辑综合和物理综合)中的运行时瓶颈。另外,用于漏电功率优化的常规技术尝试优化电路设计中的所有逻辑门。如果电路设计大,则尝试优化所有逻辑门的漏电功率可能造成不合理长的计算时间。因此,常规技术通常施加用于执行漏电功率优化的时间限制。换而言之,系统尝试优化所有逻辑门的漏电功率,但是在预定时间量之后终止该过程。虽然这一方式保证优化过程被确保成在预定时间量内终止,但是它可能造成不良QoR。因此,需要的是产生良好Q0R的用于优化电路设计的漏电功率的高效方式。漏电功率优化漏电功率优化通常要求系统访问电路设计中的每个逻辑门并且在每个逻辑门尝试若干漏电功率减少变换。本发明的一些实施例明显减少为了执行漏电功率优化而需要的计算量。具体而言,一些实施例以如下顺序处理逻辑门,该顺序使系统能够明显减少需要的定时更新数量以保证变换未降低定时度量。与常规技术对照,本发明的一些实施例允许定时信息在设计的部分中过时。具体而言,本发明的一些实施例使用以下三个特征以改进性能(a)处理单元的反向分级顺序,用于从定时终点到定时起点的漏电恢复;(b)用于延迟、到达时间和转变时间的级别受限(例如在被优化的逻辑门周围的分区内)的向前递增式定时更新,用于使用局部变换来评估漏电恢复改变;以及(C) “恰好及时”(例如在选择单元用于漏电恢复之后、但是在处理它用于漏电恢复之前)执行的惰性和受限的递增式所需时间更新。图3呈现如下流程图,该流程示了根据本发明一些实施例的用于优化电路设计的漏电功率的过程。该过程可以由存储指令并且使用处理器来执行这些指令的计算机系统执行。该系统可以通过选择用于逻辑门的漏电功率减少变换(操作302)来开始。该系统然后可以确定在逻辑门周围的分区(操作304)。一般而言,分区可以包括电路设计的如下任意部分,该部分包括逻辑门。在一些实施例中,分区包括逻辑门的扇出中的在第一预定级数内、逻辑门的扇入以及逻辑门的扇入的扇出中的在第二预定级数内的逻辑门。 接着,系统在分区内传播到达时间以获得在分区的终点的更新松弛值(操作306)。除了到达时间之外,系统也可以传播其它类型的定时信息(例如延迟和转变时间)。然后,响应于确定在分区的终点的更新松弛值未降低一个或者多个电路定时度量,该系统向逻辑门应用漏电功率减少变换(操作308)。定时度量可以包括但不限于最坏消极松弛(WNS)度量和总消极松弛(TNS)度量。图4图示了根据本发明一些实施例的在逻辑门周围的分区。 电路设计400包括逻辑门402-428。假设将优化逻辑门408。如上文提到的那样,在逻辑门408周围的分区一般可以包括电路设计的任何如下任意部分,该部分包括逻辑门408。在图4中所示例子中,分区436包括在逻辑门408的扇出的三级内(包括逻辑门418-422的区域432)的逻辑门、逻辑门408的扇入(逻辑门402和404)以及在逻辑门408的扇入的扇出的两级内(包括逻辑门408-416的区域434)的逻辑门。分区436的终点是逻辑门412、422和416的输出端子。如果在分区的终点的所需时间过时,则系统可以向后传播所需时间直至在终点的所需时间过时。例如,如果在分区436的终点的所需时间过时,则系统可以更新它们如下。假设在逻辑门426和428的输出端子的所需时间为最新。然后,系统可以从逻辑门426的输出端子向逻辑门426的输入端子传播所需时间。接着,系统可以从逻辑门424的输出端子向逻辑门424的输入端子传播更新的所需时间。在向逻辑门408应用变换之后,系统可以在分区436内传播定时信息。由于到达时间和转变时间仅在分区内传播(如与在整个网络内传播对比),所以它明显减少为了传播定时信息而需要的计算量。
—旦在分区的终点的到达时间和所需时间为最新,系统就可以使用最新的到达时间和所需时间来计算一个或者多个定时度量。如果变换未降低定时度量,则系统可以接受该变换。注意向逻辑门应用漏电功率减少变换使所需时间过时。常规方式通常在尝试优化下一逻辑门的漏电功率之前更新整个电路内的所需时间。与常规方式对照,本发明的实施例将受影响的逻辑门的所需时间标记为过时。具体而言,本发明的一些实施例沿着从分区的终点向后延伸的逻辑锥形将所需时间标记为过时。注意将所需时间标记为过时需要比传播所需时间明显更少的计算。例如,在图4中,在接受用于逻辑门408的变换之后,系统可以将用于分区436中的所有逻辑门的所需时间标记为过时。另外,也可以将逻辑门402、404、406和在这些逻辑门的扇入锥形内的任何其它逻辑门的所需时间标记为过时。注意过时的所需时间的标记仅在处理定时终点附近的第一逻辑级上的单元时一路向定时起点行进。由于以反向分级顺序(inverse levelized order)处理逻辑门,所以对后续逻辑级的标记过程一旦到达已经标记为过时的门就停止。通常,这将是从处理的逻辑门向后仅一个逻辑级。图5呈现如下流程图,该流程示了根据本发明一些实施例的用于确定用于处理电路设计的逻辑门的处理顺序的过程。如上文提到的那样,系统以反向分级顺序优化逻辑门。具体而言,系统可以通过将级别与每个逻辑门关联,使得每个逻辑门的级别大于与电耦合到逻辑门的扇入的逻辑门关联的最高级别(操作502)来开始。接着,系统可以按照关联的级别的降序对逻辑门排序(操作504)。图6图示了根据本发明一些实施例的与电路设计的逻辑门关联的拓扑级别。在该图中,符号表示“L = n “,其中n是如下数,该数指示与逻辑门关联的级别等于n。具体而言,电路设计600包括跨越零级至三级的逻辑门602-614。可以向逻辑门602-614分配0级,这些逻辑门的扇入耦合到电路设计的主要输入。可以向所有其它逻辑门分配比与电耦合到逻辑门的扇入的逻辑门关联的最高级别更大的级别。例如可以向逻辑门606分配I级,可以向逻辑门608-610分配2级,并且可以向逻辑门612-614分配3级。以反向分级处理顺序,系统以关联的级别的降序处理逻辑门。例如系统将在优化逻辑门608和610之前优化逻辑门612和614并且以此类推。为了优化逻辑门,系统可以使用如下技术库,该技术库包括用于逻辑门的多种物理实施方式并且包括用于每个物理实施方式的漏电功率值。用来实施这些物理实施方式的MOS晶体管可以按照晶体管尺度、阈值电压、栅极电容等变化。注意逻辑门的漏电功率通常随着逻辑门中的晶体管的阈值电压呈指数增加。电路设计中的逻辑门的漏电潜力是可以通过将逻辑门替换为具有最低漏电功率的功能等效逻辑门而实现的最大漏电改进。例如假设技术库具有用于缓冲器的100个物理实施方式并且这些缓冲器的漏电功率在范围[10,1000] i! W内。此外,假设电路设计中的缓冲器具有500 i! W的漏电功率。这一缓冲器的漏电潜力是(500-10) Uff = 490 uff O因此,可以通过替换这一缓冲器而实现的最大漏电改进是490 u W。该系统可以将漏电功率预算用于电路设计以使在优化电路设计的漏电功率时投入的计算努力最小。漏电功率预算是电路设计者的用于允许芯片耗散多少漏电功率的预算。漏电功率预算使系统能够降低具有很低漏电潜力的逻辑门的优先级。例如,假设电路、设计的漏电功率是500 u W并且假设漏电功率预算为300 u W。现在,一旦系统通过对更高高漏电潜力的逻辑门工作而将电路设计的漏电功率优化至300 u W,则系统可以通过终止优化过程来牺牲漏电功率的附加减少。图7呈现如下流程图,该流程示了根据本发明一些实施例的用于确定用于处理电路设计的逻辑门的处理顺序的过程。系统可以通过确定用于逻辑门的漏电潜力来开始,其中逻辑门的漏电潜力指示逻辑门的漏电功率可减少的数量或者程度(操作702)。然后,系 统至少基于关联的漏电潜力对逻辑门排序(操作704)。在操作704期间,系统可以将电路设计的逻辑门与漏电潜力仓关联,从而每个漏电潜力关键与漏电潜力值范围关联。另外,系统可以基于它们的关联的漏电潜力仓对逻辑门排序。在这样做时,系统基于逻辑门的漏电潜力值将它们分类或者“入仓”成多组。例如第一仓可以与具有最高漏电潜力的逻辑门关联而最后仓可以与具有最低漏电潜力的逻辑门关联。与特定仓关联的逻辑门无需具有相同漏电潜力,而是实际上与已经向该仓分配的漏电潜力值的范围关联。将电路设计的逻辑门入仓成预定一组仓有助于评估用于成组逻辑门的漏电潜力。例如用于特定仓的一组逻辑门的漏电潜力值之和可以用来确定仓的潜力。可以将仓潜力比定义为特定仓中的逻辑门的漏电潜力之和除以电路的漏电功率。可以将用于仓的仓潜力比(BPR)表示为BPRi=逆~,
L其中BPRi是用于仓匕的仓潜力比,I是逻辑门,P1是逻辑门I的漏电潜力,而L是电路设计的漏电功率。注意BPRi指示如果系统将把与仓匕关联的所有逻辑门变换成它们在技术库中的最低漏电功率实施方式则可以实现的漏电功率最大改进。仓\的BPRi可以用来确定是否处理仓匕中的逻辑门。例如,如果仓匕的BPRi低于预定阈值,则系统可以跳过处理仓匕中的逻辑门。在一些实施例中,系统可以按照关联级的降序对漏电潜力仓中关联的逻辑门排序。这允许系统以反向分级顺序对与每个仓关联的逻辑门排序。图8图示了根据本发明一些实施例的一组漏电潜力仓和示例处理顺序。电路设计802包括一组逻辑门实例804,并且漏电潜力仓806可以包括预定一组仓。例如漏电潜力仓806可以包括四个仓类别高潜力(HP)仓807、中潜力(MP)仓808、低潜力(LP)仓809和超低潜力(ULP)仓810。另外,与更高仓类别关联的仓(例如仓807)可以与比具有更低仓类别的其它仓(例如仓808-810)更高的漏电潜力值范围关联。在操作期间,系统可以将电路设计802的每个逻辑门实例与对应漏电潜力仓关联,然后至少部分基于处理顺序812处理逻辑门实例804。例如,系统可以在处理与任何其它仓关联的逻辑门之前处理与仓807关联的逻辑门。然后,系统可以使用处理顺序812来处理与其它仓关联的逻辑门直至已经满足用于电路设计802的性能目标或者直至每个处理操作的回报质量(QoR)降至阈值以下。可以按照反向分级顺序处理每个仓中的逻辑门。也就是说,首先通过以反向分级顺序访问HP仓807中的逻辑门来优化它们,然后通过以反向分级顺序访问MP仓808中的逻辑门来优化它们,等等。在一些实施例中,系统可以通过首先部分基于电路设计的逻辑门的漏电潜力值对它们排序、然后跨越漏电潜力仓806均匀分割排序的一组逻辑门(即使得所有仓与相似数目的逻辑门关联)来将逻辑门与漏电潜力仓关联。在一些其它实施例中,系统可以通过首先跨越漏电潜力仓806划分完全漏电潜力值范围、然后将每个逻辑门与对应漏电潜力仓关联来关联逻辑门与漏电潜力仓。在一些实施例中,系统通过在电路设计内执行至少两次迭代使得每次迭代以反向分级顺序对电路设计的逻辑门执行漏电功率减少操作序列来优化电路设计的漏电功率。具体而言,系统使用具有最高关联的漏电潜力的漏电潜力仓(例如HP仓807)来执行第一漏电功率减少操作序列。然后,系统使用其余漏电潜力仓(例如仓808-810)来执行第二漏电 功率减少操作序列。图9图示了根据本发明一些实施例的计算机系统。计算机系统902包括处理器904、存储器906和存储设备908。另外,计算机系统902可以耦合到显示器设备910、键盘912和定点设备913。存储设备908可以存储操作系统914、应用916和数据918。应用916可以包括如下指令,这些指令在由计算机系统902执行时可以使计算机系统902执行在本公开内容中描述的方法和/或过程。具体而言,应用916可以包括如下指令,这些指令用于接收电路设计中的一组逻辑门;确定用于该组逻辑门的漏电潜力;确定用于处理逻辑门的处理顺序;选择用于逻辑门的漏电功率减少变换;确定在逻辑门周围的分区;在分区内传播到达时间以获得在分区的终点的更新松弛值;并且响应于确定在分区的终点的更新松弛值未降低一个或者多个电路定时度量而将漏电功率减少变换应用于逻辑门。另外,应用916可以包括如下指令,这些指令用于在接受变换之后将所需时间标记为过时;并且在拾取逻辑门、创建分区之后并且在应用任何变换之前执行所需时间的惰性更新。数据918可以包括在本公开内容中描述的方法和/或过程需要作为输入的或者作为输出而生成的任何数据。具体而言,数据918可以包括用于电路设计的表示、用于电路设计中的逻辑门的定时信息(例如到达时间、所需时间、松弛值)和漏电潜力值、漏电潜力仓、技术库以及用于电路设计的设计要求。图10图示了根据本发明一些实施例的装置。装置1002可以包括可以经由有线或者无线通信信道相互通信的多个机制。可以使用一个或者多个集成电路来实现装置1002,并且装置1002可以包括比图10中所示机制更少或者更多的机制。另外,装置1002可以集成于计算机系统中,或者它可以实现为能够与其它计算机系统和/或设备通信的单独设备。具体而言,装置1002可以包括选择机制1004、确定机制1006、传播机制1008、标记机制1010和更新机制1012。选择机制1004可以被配置成选择用于逻辑门的漏电功率减少变换。确定机制1006可以被配置成确定在逻辑门周围的分区,其中分区包括逻辑门的扇出中的在第一预定级数内、逻辑门的扇入以及逻辑门的扇入的扇出中的在第二预定级数内的逻辑门。确定机制1006也可以被配置成确定反向分级处理顺序并且确定排序的仓处理顺序。传播机制1008可以被配置成在分区内传播到达时间以获得在分区的终点的更新松弛值。应用机制1010可以被配置成如果在分区的终点的更新松弛值未降低一个或者多个电路定时度量则将漏电功率减少变换应用于逻辑门。标记机制1012可以被配置成确定从分区的终点向后延伸的逻辑锥形并且将逻辑锥形中的逻辑门的所需时间标记为过时。更新机制1014可以被配置成更新所需时间直至至少与终点关联的所需时间为最新。已经仅出于示例和描述的目的而呈现各种实施例的前文描述。它们并非旨在于穷 举本发明或者使本发明限于公开的形式。因而许多修改和变化将为本领域技术人员所清楚。此外,上述公开内容并非旨在于限制本发明。
权利要求
1.一种用于优化包括逻辑门的电路设计的漏电功率的计算机实施的方法,所述方法包括 选择用于逻辑门的漏电功率减少变换; 确定在所述逻辑门周围的分区,其中所述分区包括所述逻辑门的扇出中的在第一预定级数内的逻辑门、所述逻辑门的扇入内的逻辑门以及所述逻辑门的扇入的扇出中的在第二预定级数内的逻辑门; 在所述分区内传播到达时间以获得在所述分区的终点的更新松弛值;以及响应于确定在所述分区的所述终点的所述更新松弛值未降低一个或者多个电路定时度量,而将所述漏电功率减少变换应用于所述逻辑门。
2.根据权利要求I所述的计算机实施的方法,其中所述方法还包括 确定从所述分区的所述终点向后延伸的逻辑锥形;以及 将所述逻辑锥形中的逻辑门的所需时间标记为过时。
3.根据权利要求I所述的计算机实施的方法,其中所述方法还包括更新所需时间直至至少与所述分区的所述终点关联的所述所需时间为最新。
4.根据权利要求I所述的计算机实施的方法,其中所述方法还包括 确定用于处理所述逻辑门的处理顺序;以及 根据所述处理顺序选择所述逻辑门。
5.根据权利要求4所述的计算机实施的方法,其中确定用于处理所述逻辑门的所述处理顺序包括 将级别与每个逻辑门关联,使得每个逻辑门的级别大于与电耦合到所述逻辑门的扇入的逻辑门关联的最高级别;以及 以关联的级别的降序对所述逻辑门排序。
6.根据权利要求4所述的计算机实施的方法,其中确定用于处理所述逻辑门的所述处理顺序包括 确定用于所述逻辑门的漏电潜力,其中逻辑门的漏电潜力指示所述逻辑门的漏电功率可减少的数量或者程度;以及 至少基于关联的漏电潜力对所述逻辑门排序。
7.根据权利要求6所述的计算机实施的方法,其中至少部分基于关联的漏电潜力对所述逻辑门排序包括 将所述逻辑门与漏电潜力仓关联,其中每个漏电潜力仓与漏电潜力值范围关联;以及基于关联的漏电潜力仓对所述逻辑门排序,使得在以反向分级顺序处理低漏电潜力仓中的逻辑门之前以反向分级顺序处理高漏电潜力仓中的逻辑门。
8.根据权利要求I所述的计算机实施的方法,其中所述一个或者多个电路定时度量包括最坏消极松弛度量。
9.根据权利要求I所述的计算机实施的方法,其中所述一个或者多个电路定时度量包括总消极松弛度量。
10.一种存储指令的计算机可读存储介质,所述指令在由计算机执行时使所述计算机执行用于优化包括逻辑门的电路设计的漏电功率的方法,所述方法包括 选择用于逻辑门的漏电功率减少变换;确定在所述逻辑门周围的分区,其中所述分区包括所述逻辑门的扇出中的在第一预定级数内的逻辑门、所述逻辑门的扇入内的逻辑门以及所述逻辑门的扇入的扇出中的在第二预定级数内的逻辑门; 在所述分区内传播到达时间以获得在所述分区的终点的更新松弛值;以及响应于确定在所述分区的所述终点的所述更新松弛值未降低一个或者多个电路定时度量,而将所述漏电功率减少变换应用于所述逻辑门。
11.根据权利要求10所述的计算机可读存储介质,其中所述方法还包括 确定从所述分区的所述终点向后延伸的逻辑锥形;以及 将所述逻辑锥形中的逻辑门的所需时间标记为过时。
12.根据权利要求10所述的计算机可读存储介质,其中所述方法还包括更新所需时间直至至少与所述分区的所述终点关联的所述所需时间为最新。
13.根据权利要求10所述的计算机可读存储介质,其中所述方法还包括 确定用于处理所述逻辑门的处理顺序;以及 根据所述处理顺序选择所述逻辑门。
14.根据权利要求13所述的计算机可读存储介质,其中确定用于处理所述逻辑门的所述处理顺序包括 将级别与每个逻辑门关联,使得每个逻辑门的级别大于与电耦合到所述逻辑门的扇入的逻辑门关联的最高级别;以及 以关联的级别的降序对所述逻辑门排序,从而在以反向分级顺序处理低漏电潜力仓中的逻辑门之前以反向分级顺序处理高漏电潜力仓中的逻辑门。
15.根据权利要求13所述的计算机可读存储介质,其中确定用于处理所述逻辑门的所述处理顺序包括 确定用于所述逻辑门的漏电潜力,其中逻辑门的漏电潜力指示所述逻辑门的漏电功率可减少的数量或者程度;以及 至少基于关联的漏电潜力对所述逻辑门排序。
16.根据权利要求15所述的计算机可读存储介质,其中至少部分基于关联的漏电潜力对所述逻辑门排序包括 关联所述逻辑门与漏电潜力仓,其中每个漏电潜力仓与漏电潜力值范围关联;以及 基于关联的漏电潜力仓对所述逻辑门排序。
17.根据权利要求10所述的计算机可读存储介质,其中所述一个或者多个电路定时度量包括最坏消极松弛度量。
18.根据权利要求10所述的计算机可读存储介质,其中所述一个或者多个电路定时度量包括总消极松弛度量。
19.一种装置,用于优化包括逻辑门的电路设计的漏电功率,包括 选择机制,配置成选择用于逻辑门的漏电功率减少变换; 确定机制,配置成确定在所述逻辑门周围的分区,其中所述分区包括所述逻辑门的扇出中的在第一预定级数内的逻辑门、所述逻辑门的扇入内的逻辑门以及所述逻辑门的扇入的扇出中的在第二预定级数内的逻辑门; 传播机制,配置成在所述分区内传播到达时间以获得在所述分区的终点的更新松弛值;以及 应用机制,配置成响应于确定在所述分区的所述终点的所述更新松弛值未降低一个或者多个电路定时度量,而将所述漏电功率减少变换应用于所述逻辑门。
20.根据权利要求19所述的装置,还包括标记机制,配置成 确定从所述分区的所述终点向后延伸的逻辑锥形;以及 将所述逻辑锥形中的逻辑门的所需时间标记为过时。
21.根据权利要求19所述的装置,还包括更新机制,配置成更新所需时间直至至少与所述终点关联的所述所需时间为最新。
全文摘要
一种漏电功率优化系统,其优化包括一组逻辑门的电路设计的漏电功率。该系统选择用于逻辑门的漏电功率减少变换并且确定在逻辑门周围的分区。这一分区包括逻辑门的扇出中的在第一预定级数内、逻辑门的扇入以及逻辑门的扇入的扇出中的在第二预定级数内的逻辑门。该系统在分区内传播到达时间以获得在分区的终点的更新松弛值。然后,响应于确定在分区的终点的更新松弛值未降低一个或者多个电路定时度量,该系统将漏电功率减少变换应用于逻辑门。
文档编号G06F1/32GK102741777SQ201180007640
公开日2012年10月17日 申请日期2011年1月4日 优先权日2010年1月28日
发明者M·A·伊耶, S·昆杜 申请人:新思科技有限公司