用于智能地交换电路单元的方法和智能单元交换器与流程

文档序号:11864031阅读:123来源:国知局
用于智能地交换电路单元的方法和智能单元交换器与流程

技术领域

本发明构思涉及电路中的单元设计,更具体地讲,涉及基于上限确定、下限确定和单元属性权重标准的单元交换技术、装置和系统。



背景技术:

计算机电路中的标准单元设计被连续地推出以满足更高的频率目标和/或更低的功率损耗。越高的漏电单元具有越高的频率性能,但是这以增大功率损耗为代价。尽管具有降低功率损耗的优点,但是越低的漏电单元具有越低的频率性能。传统的工具不足以在高漏电单元和低漏电单元之间获得有利的平衡,从而引起最终的电路设计遭受性能不佳和高功率损耗二者。此外,传统的技术导致处理不当的或浪费的单元漏电。换言之,传统设计中使用的每个最高的漏电单元不一定提高可实现的最大频率。本发明构思的实施例解决现有技术中的这些和其他限制。



技术实现要素:

本发明构思的实施例可包括一种用于智能地交换电路单元的计算机实现方法。所述方法可包括:通过智能单元交换器逻辑部分接收包括多个单元的设计的合成门级网表,每个单元具有初始单元等级。所述方法可包括:通过单元等级排序器以漏电的顺序对多个单元等级进行排序。所述方法可包括:通过上限探测器将所述多个单元中的每个单元的初始单元等级交换为多个单元等级中的最高单元漏电等级。所述方法可包括:确定包含多个单元的所述设计的上限频率。所述方法可包括:通过下限探测器将所述设计中的所述多个单元中的每个单元的最高单元漏电等级交换为多个单元等级中的最低单元 漏电等级。所述方法可包括:确定所述设计的下限频率。

本发明构思的实施例可包括一种智能单元交换器。所述智能单元交换器可包括:智能单元交换器逻辑部分,被配置为接收包括多个单元的设计的合成门级网表,每个单元具有初始单元等级;单元等级排序器,被配置为以漏电的顺序对多个单元等级进行排序;上限探测器,被配置为将所述多个单元中的每个单元的初始单元等级交换为多个单元等级中的最高单元漏电等级,其中,上限探测器被配置为确定包含多个单元的所述设计的上限频率;下限探测器,被配置为将所述多个单元中的每个单元的最高单元漏电等级交换为多个单元等级中的最低单元漏电等级,其中,下限探测器被配置为确定所述设计的下限频率。

一种有效交换权重计算器部分可基于单元属性加权标准确定单元的子集的有效交换权重。加权可在不需要使用高漏电单元的情况下用来优化时序路径,以满足上限频率。

附图说明

通过以下参考附图进行的详细描述,本发明原理的前述及另外的特点和优点将变得更加清楚,在附图中:

图1是根据本发明构思的实施例的智能单元交换器逻辑部分的示例框图;

图2A和图2B包括示出根据本发明构思的实施例的在电路设计中智能地交换单元的示例技术的流程图;

图3A至图3F是示出根据本发明构思的实施例的在电路设计中智能地交换单元的示例技术的状态图;

图4是包括图1的智能单元交换器逻辑部分的计算系统的框图。

具体实施方式

现在详细地参考本发明构思的实施例,本发明构思的实施例的示例在附图中示出。在以下详细描述中,许多具体细节被阐述,以实现对本发明构思的彻底理解。然而,应该注意,本领域普通技术人员可在没有这些具体细节的情况下实践本发明构思。在其他情况下,公知的方法、程序、组件、电路和网络没有被详细地描述,以避免不必要地模糊实施例的各方面。

将理解,虽然术语“第一”、“第二”等在这里可被用于描述各种元件,但是这些元件不应该被这些术语所限制。这些术语仅用于将一个元件与另一元件进行区分。例如,在不脱离本发明构思的范围的情况下,第一单元可被称为第二单元,相似地,第二单元可被称为第一单元。

在这里,本发明构思的描述中使用的术语仅是为了描述特定实施例的目的,而不意图对本发明构思进行限制。如在本发明构思的描述和权利要求书中所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式。还将理解,术语“和/或”在这里用于标识和包含一个或多个相关所列项的任何和所有可能的组合。还将理解,当在本说明书中使用时,术语“包括”和/或“包含”说明存在所陈述的特征、整体、步骤、操作、元件和/或组件,但是不排除存在或添加一个或多个其他特征、整体、步骤、操作、元件、组件和/或它们的组。附图中的组件和特征不需要按比例绘制。

本发明构思的实施例能够优化基于标准单元的设计,以实现比仅使用低漏电单元(即,标准或高Vt单元)另外实现的频率高的频率。此外,这里公开的本发明构思的实施例能够实现在不必使用高漏电单元的情况下可实现的最高频率。此外,本发明构思的实施例能够减少用于达到优化的电路设计的处理时间。

通过实现高漏电单元的更加严格的使用,只要高漏电单元提高实现的最大频率,本发明构思的实施例就将高漏电单元包含到设计中。可使用任意数量的不同漏电种类的单元。在一些实施例中,不在任何关键时序路径中以实现最大频率的任何单元可以被交换为可用的最低漏电单元。

在一些实施例中,通过减少最高漏电单元计数(即,最低Vt),与不同Vt类型的使用被不当管理相比,目标处理调整能够更容易地实现。目标处理调整还能够提高实现的最大频率。因为这里公开的本发明构思的实施例可以以对电路设计最小破坏的方式在设计构造的任何阶段被配置,所以这里公开的本发明构思的实施例是友好的实施方式。

图1是根据本发明构思的实施例的智能单元交换器逻辑部分105的示例框图。智能单元交换器逻辑部分105可接收设计的合成门级网表180,处理合成门级网表180,并产生优化的门级设计185。合成门级网表180可包括具有多个单元漏电等级184的多个单元182。

在一些实施例中,单元漏电等级可以通过特定的阈值电压、沟道长度、 氧化层厚度等来彼此区分。例如,高阈值电压(HVt)漏电等级和规则阈值电压(regular threshold voltage,RVt)漏电等级可以被定义为不同的等级。作为另一示例,具有最小沟道长度的库和具有大于最小沟道长度的库可以被定义为不同的单元漏电等级。作为另一示例,低功率工艺氧化层厚度(LP)漏电等级和普通工艺氧化层厚度(GP)漏电等级可以被定义为不同的漏电等级。换句话说,不同的漏电等级可根据高和低的漏电等而彼此间具有顺序。对于相同的单元,Hvt库比Rvt库具有更低的漏电。例如,对于相同的单元,最小沟道长度库比大于最小沟道长度库具有更高的漏电。类似地,对于相同的单元,LP漏电等级通常比GP漏电等级具有更低的漏电。将会理解,任何适当种类的等级可以被定义在漏电等级层次中。

智能单元交换器逻辑部分105可包括上限探测器110和下限探测器115,如以下参照图2A和图2B的流程图以及图3A至图3F的状态图详细描述,上限探测器110和下限探测器115可分别确定设计的上限频率和下限频率。智能单元交换器逻辑部分105可包括时序路径列表创建器120和迭代部分125,将在下面对它们进行详细描述。

在一些实施例中,智能单元交换器逻辑部分105可包括有效交换权重逻辑部分130。有效交换权重逻辑部分130可包括基于有效交换权重的计算器部分135以及基于有效交换权重的重新排序器部分140,将在下面对它们进行详细描述。

在一些实施例中,智能单元交换器逻辑部分105可包括单元逻辑部分145。单元逻辑部分145可包括单元列表创建器150、单元等级排序器155、单元交换器152、交换单元列表初始化器160、单元更新器162,将在下面对它们进行详细描述。

在一些实施例中,智能单元交换器逻辑部分105可包括时序裕量(slack)逻辑部分165。时序裕量逻辑部分165可包括松驰值排序部分170和时序裕量更新器175,将在下面对它们进行详细描述。

24在一些实施例中,用于达到优化的电路设计的处理时间可以被减少。这可包括使用快速计时器来更快速地获得时序更新。例如,智能单元交换器逻辑部分105可包括单元时序逻辑部分190,单元时序逻辑部分190可基于单元时序信息查找表195中的不同单元漏电等级之间的单元的时序的标准库格式表示来解析并计算单元延迟的改变。这种信息可被反馈给时序裕量更新 器175,以准确地更新路径的时序。通过访问位于传统布局和布线工具之外的这种信息,可以在相当短的时间段中准确地执行大量的交换,从而在优化期间节省机器处理循环,将在以下对此进行描述。

图2A和图2B包括示出根据本发明构思的实施例的在电路设计中智能地交换单元的示例技术的流程图200。图3A至图3F示出根据本发明构思的实施例的在基于标准单元的电路设计中智能地交换单元的示例技术的状态图300。现在参考图1、图2A、图2B以及图3A至图3F。

技术可以在图2A的流程图的205和图3A的状态图的305开始,其中,设计的合成门级网表180可以由智能单元交换器逻辑部分105接收。合成门级网表180可从设计流程的任何点获得,包括但不限于:合成、布局或最终布线数据库。合成门级网表180可包括多个单元182,每个单元182具有多个单元漏电等级184中的初始单元漏电等级,或者以其他方式能够被分类到特定漏电等级中,如图1和图3A的310所示。例如,单元漏电等级184可包括规则阈值电压长沟道长度晶体管(Rvt-LLP)单元漏电等级、规则阈值电压(Rvt)单元漏电等级、低阈值电压长沟道长度晶体管(Lvt-LLP)单元漏电等级、低阈值电压(Lvt)单元漏电等级等。将理解,任何适当的单元漏电等级可被包括在单元漏电等级184中。Rvt-LLP、Rvt、Lvt-LLP和Lvt单元漏电等级可分别由Vt[1]、Vt[2]、Vt[3]和Vt[N]标签来表示,如310所示。将理解,单元可包括一个或多个晶体管。所述一个或多个晶体管可被配置为AND门、NAND门、OR门、NOR门、触发器和/或任何其他适当的门或单元。

在图2A的流程图的210,单元等级排序器155可以以漏电的顺序对多个单元漏电等级进行排序,例如,如图3A的状态图的310所示。例如,单元等级排序器155可以以漏电的升序(例如,Vt[1]、Vt[2]、Vt[3]至Vt[N])对单元漏电等级进行排序。在这个示例实施例中,最低的漏电等级是Vt[1],最高的漏电等级是Vt[N],其中,N是定义的漏电等级的数量。

在图2A的流程图的215,可确定设计的上限频率。更具体地讲,例如,如图3A的状态图的315所示,上限探测器110可将每个单元182的初始单元漏电等级184交换为最高单元漏电等级(例如,Vt[N])。换句话说,上限探测器110可将设计的合成门级网表180的所有单元182映射到最高漏电等级(在该示例中为LVt)的所有单元。当所有单元被映射到最大漏电的单元时,这些单元将是可用的最快的单元。以这种方式,可测量最大可获得的频率。 这基于具有最差时序裕量的路径的时序。使用给定的合成实现方式,这是在没有重建、调整大小等的情况下电路设计可运行的最快的程度。一旦确定上限频率,就可以保持测量或者另外地存储测量,以用于稍后进行参考。

在图2的流程图的220,可确定设计的下限频率。更具体地讲,例如,如图3A的状态图的320所示,下限探测器115可将每个单元182的现在最高的单元漏电等级(例如,Vt[N])交换为最低的单元漏电等级(例如,Vt[1])。换句话说,下限探测器115可将设计的合成门级网表180的所有单元182映射到最低单元漏电等级(在该示例中为Rvt-LLP)的所有单元。这是设计可以实现的最低漏电。在这种状态下,仅使用最低的漏电单元可能无法“满足”或者另外实现最大频率上限。然而,从下限基线开始,可逐渐地添加更高的漏电等级单元,以满足最大频率上限目标,而不包括不必要的更高的漏电等级单元。一旦将更高的漏电等级单元添加到设计,就可以将该单元保持在设计中。以这种方式,可应用严格方法,在该方法中,只有更高的漏电等级单元提高电路设计的整体频率,才使用该单元。

在图2A的流程图的225,可以是任何传统的静态时序分析工具的时序路径列表创建器120可产生与门级设计相关的时序路径的列表(例如,P[1]、P[2]至P[M]),所述时序路径不满足上限频率。换句话说,不满足上限频率的时序路径可被产生并被存储在时序路径的列表中。时序路径的列表(例如,P[1]、P[2]至P[M])在图3A的状态图的325中示出。

在图2的流程图的230,松驰值排序部分170可以以松驰值的顺序对时序路径的列表(例如,P[1]、P[2]至P[M])进行排序,其中,M是不满足上限频率的列表中的时序路径的总数。例如,如图3A的状态图的330所示,时序路径可以以负时序裕量的升序(即,最关键到最不关键)被排序。例如,如图3A的330所示,时序路径P[1]具有最关键的时序裕量,时序路径P[2]具有中等关键的时序裕量,时序路径P[M]具有最不关键的时序裕量。换句话说,不满足上限频率的时序路径可以从低时序裕量到高时序裕量排序。如图3A的330所示,在这种示例状态下,时序路径P[1]、P[2]和P[M]中没有任何一个当前满足上限频率。换句话说,这些时序路径中的每个时序路径可以可靠地运行的频率低于上限频率。每个时序路径可以被评价和调整,例如,时序路径P[1]可以被首先评价。

在图2A的流程图的235,交换单元列表初始化器160可初始化交换单元 列表。状态图的335示出示例交换单元列表(例如,S(1)、S(2)、S(3)、S(4)、S(5)、S(6)至S(Q)),虽然在初始化状态下,但是单元漏电等级(CLC)状态将是空白,并且列表将显示没有单元已经被交换。然而,为了本示例的原因,335的交换单元列表被示出为具有到现在为止已经被交换的三个单元。具体地讲,在交换单元列表(例如,S(1)、S(2)、S(3)、S(4)、S(5)、S(6)至S(Q))中分别在位置S(2)、S(4)和S(5)的具有标识符(ID)2、4和5的单元被示出为已经被交换。ID可以各自是全局唯一的单元实例名或任何其他适当的唯一标识符。交换单元列表可以跟踪所有先前交换的单元以及它们相应的CLC状态(例如,Vt[1]、Vt[2]、Vt[3]或Vt[N])。

在图2A的流程图的240,单元列表创建器150可创建包括特定时序路径(例如,P[1])的单元182的子集的单元列表。图3B的状态图的340示出P[1]的单元列表的示例。例如,P[1]的单元列表可包括时序路径P[1]中的所有单元以及它们当前的CLC状态(例如,Vt[1]、Vt[2]、Vt[3]或Vt[N])。单元列表可包括列表条目C(1)、C(2)、C(3)、C(4)、C(5)至C(L),其中,L是特定路径(例如,P[1])中的单元的总数。单元列表中的每个单元可具有ID。所述ID可以是全局唯一的单元实例名或任何其他适当的唯一标识符。

在图2A的流程图的245,可针对存在于交换单元列表(例如,S(1)、S(2)、S(3)、S(4)、S(5)、S(6)至S(Q))中的任何单元,检查特定时序路径(例如,P[1])的单元列表(例如,C(1)、C(2)、C(3)、C(4)、C(5)至C(L))。例如,可通过单元更新器162将与单元列表(例如,C(1)、C(2)、C(3)、C(4)、C(5)至C(L))相关的任何先前交换的单元的当前的单元漏电等级更新为更新的单元漏电等级,所述任何先前交换的单元在单元的与特定时序路径(例如,P[1])相关的子集中。例如,如图3B的状态图的345所示,P[1]的单元列表可具有被更新的两个单元。具体地讲,因为位置C(2)的具有ID 2的单元也存在于如图3A的状态图的335所示的交换单元列表中,所以位置C(2)的具有ID 2的单元具有从Vt[1]更新为Vt[2]的自身的CLC状态。类似地,因为位置C(4)的具有ID 4的单元也存在于如图3A的状态图的335所示的交换单元列表中,所以位置C(4)的具有ID 4的单元具有从Vt[1]更新为Vt[3]的自身的CLC状态。在这样的更新之后,因为在单元列表中具有ID 2和ID 4的单元存在于交换单元列表中,所以具有ID 2和ID 4的单元可具有相同的CLC状态。在这一点上,P[1]的单元列表可 以处于相对于交换单元列表的更新状态中。

在图2A的流程图的250,时序裕量更新器175可更新特定时序路径(例如,P[1])上的松驰值。图3B的状态图的350示出P[1]的更新的松驰值。流程图通过圆圈A继续进行到图2B。在图2B的255,确定第一标准是否被满足。第一标准可以为特定路径(例如,P[1])的松驰值是否满足设计的上限频率。可选择地或者另外,第一标准可以为与特定路径(例如,P[1])相关的单元列表(例如,C(1)、C(2)、C(3)、C(4)、C(5)至C(L))中的每个单元的任何单元漏电等级(例如,Vt[1]、Vt[2]、Vt[3]、Vt[N])的索引i(例如,1、2、3、N)是否小于N。换句话说,如果时序裕量满足上限频率,或者对于特定时序路径中的所有单元,索引i等于N,则第一标准未被满足。相反地,如果时序裕量不满足上限频率,并且如果对于特定时序路径中的任何单元,索引i小于N,则第一标准被满足。

响应于确定第一标准被满足,时序裕量可被提高。在这种情况下,在图2B的流程图的270,基于有效交换权重的计算器部分135可确定每个单元的有效交换权重(ESW),所述每个单元是与特定时序路径(例如,P[1])相关的单元的子集(例如,C(1)、C(2)、C(3)、C(4)、C(5)至C(L))的一部分。例如,如图3B的状态图的370所示,在位置C(1)的具有ID 1的单元被确定为具有ESW 6的ESW。将理解,每个ESW(诸如ESW 6)是权重值的代表,例如,权重值可以是分数权重或小数权重。类似地,在位置C(2)的具有ID 2的单元被确定为具有ESW 2的ESW,在位置C(3)的具有ID 7的单元被确定为具有ESW 10的ESW,在位置C(4)的具有ID 4的单元被确定为具有ESW 8的ESW,在位置C(5)的具有ID 3的单元被确定为具有ESW 12的ESW,在位置C(L)的具有ID 6的单元被确定为具有ESW 4的ESW。

ESW可以与特定路径相关的单元属性的加权组合。ESW可以被用户定义。例如,单元属性可包括单元的面积、不同CLC之间的延迟差、不同CLC之间的漏电差、从单元的扇出、到单元的扇入、单元的时序裕量、晶体管构造等。根据电路设计的要求,用户可通过改变每个可用的单元属性的权重来调整ESW功能。

ESW可以由以下等式1定义。

等式1:ESW=a(i)w(i)*...*a(n)w(n),其中,a表示单元属性,i表示索 引,w表示可变权重,n表示上标。

将理解,在不脱离本发明构思的范围的情况下,可使用其他适当的ESW公式和/或等式。

在图2B的流程图的275,基于有效交换权重的重新排序器部分140可以以有效交换权重的顺序对与特定时序路径(例如,P[1])相关的单元的子集(例如,C(1)、C(2)、C(3)、C(4)、C(5)至C(L))进行重新排序。例如,可以以ESW值的降序对单元进行排序。更具体地讲,如图3B的状态图的375所示,可对单元进行排序,以使具有ID 3和ESW 12的单元位于位置C(1),具有ID 7和ESW 10的单元位于位置C(2),具有ID 4和ESW 8的单元位于位置C(3),具有ID 1和ESW 6的单元位于位置C(4),具有ID 6和ESW 4的单元位于位置C(5),具有ID 2和ESW 2的单元位于位置C(L)。

在图2B的流程图的280,单元交换器152可将单元的重新排序的子集(例如,C(1)、C(2)、C(3)、C(4)、C(5)至C(L))中具有最高有效交换权重(例如,ESW 12)的单元(例如,在位置C(1)的具有ID 3的单元)的单元等级(例如,Vt[1])交换为新的单元等级(例如,Vt[2])。例如,如图3C的状态图的380所示,在位置C(1)的具有ID 3的单元被更新为具有新的单元等级Vt[2],单元等级Vt[2]是比Vt[1]更高的执行和更高的漏电等级。

在图2B的流程图的282,新的单元漏电等级(例如,Vt[2])可以被存储在交换单元列表(例如,S(1)、S(2)、S(3)、S(4)、S(5)、S(6)、S(Q))中。例如,如图3C的状态图的382所示,具有ID 3和CLC状态Vt[2]的单元可以被存储在交换单元列表的位置S(3)中。与S(3)位置相关的交换指示符(SW)可从否(N)改变为是(Y),表示与S(3)位置相关的具有ID 3的单元已经被交换至少一次。

在图2B的流程图的285,在交换和存储之后,时序裕量更新器175可更新特定时序路径(例如,P[1])上的时序裕量。例如,如图3C的状态图的385所示,P[1]的更新的松驰值被更新。虽然特定路径P[1]在这一阶段仍然不满足上限频率,但是特定路径P[1]更接近于满足上限频率。换句话说,特定路径P[1]具有比以上交换具有单元ID 3的单元的单元漏电等级之前更高的松驰值。

在图2B的流程图的290,可确定第二标准是否被满足。第二标准可包括 特定路径(例如,P[1])的时序裕量是否满足上限频率。可选择地或者另外,第二标准可以为与特定路径(例如,P[1])相关的单元列表(例如,C(1)、C(2)、C(3)、C(4)、C(5)至C(L))中的每个单元的单元漏电等级(例如,Vt[1]、Vt[2]、Vt[3]、Vt[N])的索引i(例如,1、2、3、N)是否小于N。换句话说,如果时序裕量满足上限频率,或者对于特定时序路径中的所有单元,索引i等于N,则第二标准未被满足。相反地,如果时序裕量不满足上限频率,并且如果对于特定时序路径中的任何单元,索引i小于N,则第二标准被满足。

响应于在290确定第二标准被满足,在292可确定第三标准是否被满足。第三标准可包括:对于单元列表的位置C(1)的单元,i是否小于N。例如,在这一阶段,在位置C(1)的具有ID 3的单元具有索引2,表示单元漏电等级状态当前为Vt[2]。因为在这种情况下i小于N,所以第三标准被满足,并且流程随后可进行到图2B的流程图的296。

在图2B的流程图的296,基于有效交换权重的计算器部分135可重新计算具有新的单元等级(例如,Vt[2])的单元(例如,在位置C(1)的具有ID 3的单元)的有效交换权重。例如,如图3C的状态图的396所示,单元列表的位置C(1)的具有ID 3的单元可具有从ESW 12重新计算为和/或更新为ESW 5的有效交换权重。

流程可返回图2B的流程图的275,其中,基于有效交换权重的重新排序器部分140可以以有效交换权重的顺序对与特定时序路径(例如,P[1])相关的单元的子集(例如,C(1)、C(2)、C(3)、C(4)、C(5)至C(L))再次进行重新排序。更具体地讲,如图3C的状态图的375所示,可对单元进行排序,以使具有ID 7和ESW 10的单元位于位置C(1),具有ID 4和ESW 8的单元位于位置C(2),具有ID 1和ESW 6的单元位于位置C(3),具有ID 3和ESW 5的单元位于位置C(4),具有ID 6和ESW 4的单元位于位置C(5),具有ID 2和ESW 2的单元位于位置C(L)。

流程可进行到图2B的流程图的280,其中,单元交换器152可将单元的重新排序的子集(例如,C(1)、C(2)、C(3)、C(4)、C(5)至C(L))中具有最高有效交换权重(例如,ESW 10)的单元(例如,在位置C(1)的具有单元ID 7的单元)的单元等级(例如,Vt[1])交换为新的单元等级(例如,Vt[2])。例如,如图3D的状态图的380所示,在位置C(1)的具有ID 7 的单元可被更新为具有新的单元等级Vt[2],单元等级Vt[2]是比Vt[1]更高的执行和更高的漏电等级。

流程可进行到图2B的流程图的282,其中,新的单元漏电等级(例如,Vt[2])可以被存储在交换单元列表(例如,S(1)、S(2)、S(3)、S(4)、S(5)、S(6)、S(Q))中。例如,如图3D的状态图的382所示,具有ID 7和CLC状态Vt[2]的单元可以被存储在交换单元列表的位置S(Q)中。与S(Q)位置相关的交换指示符(SW)可从否(N)改变为是(Y),表示与S(Q)位置相关的具有ID 7的单元已经被交换至少一次。

流程可进行到图2B的流程图的285,其中,在第二次交换和存储之后,时序裕量更新器175可更新特定时序路径(例如,P[1])上的时序裕量。例如,如图3D的状态图的385所示,P[1]的更新的松驰值可被更新。虽然特定路径P[1]在这一阶段仍然不满足上限频率,但是特定路径P[1]更接近于满足上限频率。换句话说,特定路径P[1]具有比以上交换具有单元ID 7的单元的单元漏电等级之前更高的松驰值。

流程可进行到图2B的流程图的290,其中,可另一次确定第二标准是否被满足。如以上所解释,如果时序裕量满足上限频率,或者对于特定时序路径中的所有单元,索引i等于N,则第二标准未被满足。相反地,如果时序裕量不满足上限频率,并且如果对于特定时序路径中的任何单元,索引i小于N,则第二标准被满足。

响应于在290确定第二标准被满足,在292可确定第三标准是否被满足。如以上所解释,第三标准可包括:对于单元列表的位置C(1)的单元,i是否小于N。例如,在这一阶段,在位置C(1)的具有ID 7的单元具有索引2,表示单元漏电等级状态当前为Vt[2]。因为在这种情况下i小于N,所以第三标准被满足,并且流程进行到流程图的296。

在图2B的流程图的296,基于有效交换权重的计算器部分135可重新计算具有新的单元等级(例如,Vt[2])的单元(例如,在位置C(1)的具有ID 7的单元)的有效交换权重。例如,如图3D的状态图的396所示,单元列表的位置C(1)的具有ID 7的单元可具有从ESW 10重新计算为和更新为ESW 3的有效交换权重。

流程可返回图2B的流程图的275,其中,基于有效交换权重的重新排序器部分140可以以有效交换权重的顺序对与特定时序路径(例如,P[1])相 关的单元的子集(例如,C(1)、C(2)、C(3)、C(4)、C(5)至C(L))再次进行重新排序。更具体地讲,如图3D的状态图的375所示,可对单元进行排序,以使具有ID 4和ESW 8的单元位于位置C(1),具有ID 1和ESW 6的单元位于位置C(2),具有ID 3和ESW 5的单元位于位置C(3),具有ID 6和ESW 4的单元位于位置C(4),具有ID 7和ESW 3的单元位于位置C(5),具有ID 2和ESW 2的单元位于位置C(L)。

流程可进行到图2B的流程图的280,其中,单元交换器152可将单元的重新排序的子集(例如,C(1)、C(2)、C(3)、C(4)、C(5)至C(L))中具有最高有效交换权重(例如,ESW 8)的单元(例如,在位置C(1)的具有ID 4的单元)的单元等级(例如,Vt[3])交换为新的单元等级(例如,Vt[N])。例如,如图3E的状态图的380所示,在位置C(1)的具有ID 4的单元可被更新为具有新的单元等级Vt[N],单元等级Vt[N]是比Vt[3]更高的执行和更高的漏电等级。

流程可进行到图2B的流程图的282,其中,新的单元漏电等级(例如,Vt[N])可以被存储在交换单元列表(例如,S(1)、S(2)、S(3)、S(4)、S(5)、S(6)、S(Q))中。例如,如图3E的状态图的382所示,具有ID 4和CLC状态Vt[N]的单元可以被存储在交换单元列表的位置S(4)中。与S(4)位置相关的交换指示符(SW)可从否(N)改变为是(Y)(或者另外地保持为是),表示与S(4)位置相关的具有单元ID 4的单元已经被交换至少一次。

流程可进行到图2B的流程图的285,其中,在第三次交换和存储之后,时序裕量更新器175可更新特定时序路径(例如,P[1])上的时序裕量。例如,如图3E的状态图的385所示,P[1]的更新的松驰值被更新。虽然特定路径P[1]在这一阶段仍然不满足上限频率,但是特定路径P[1]更接近于满足上限频率。换句话说,特定路径P[1]具有比以上交换具有单元ID 4的单元的单元漏电等级之前更高的松驰值。

在图2B的流程图的294,响应于在图2B的流程图的292确定第三标准未被满足,具有新的等级(例如,Vt[N])的单元(例如,在位置C(1)的具有ID 4的单元)可从考虑中移除。换句话说,如果特定单元具有单元漏电等级Vt[N],则索引不会小于N,并且对于该特定单元,没有进一步的优化是可行的。因此,这样的单元可从优化技术中移除,并且可关注单元列表中仍 然可被优化的其他单元。例如,如图3E的状态图的394所示,具有ID 4和单元漏电等级Vt[N]的单元可从考虑中移除。

流程可返回图2B的流程图的275,其中,基于有效交换权重的重新排序器部分140可以以有效交换权重的顺序对与特定时序路径(例如,P[1])相关的单元的子集(例如,C(1)、C(2)、C(3)、C(4)、C(5)至C(L))再次进行重新排序。更具体地讲,如图3E的状态图的375所示,可对单元进行排序,以使具有ID 1和ESW 6的单元位于位置C(1),具有ID 3和ESW 5的单元位于位置C(2),具有ID 6和ESW 4的单元位于位置C(3),具有ID 7和ESW 3的单元位于位置C(4),具有ID 2和ESW 2的单元位于位置C(L)。

流程可进行到图2B的流程图的280,其中,单元交换器152可将单元的重新排序的子集(例如,C(1)、C(2)、C(3)、C(4)、C(5)至C(L))中具有最高有效交换权重(例如,ESW 6)的单元(例如,在位置C(1)的具有ID 1的单元)的单元等级(例如,Vt[1])交换为新的单元等级(例如,Vt[2])。例如,如图3F的状态图的380所示,在位置C(1)的具有ID 1的单元被更新为具有新的单元等级Vt[2],单元等级Vt[2]是比Vt[1]更高的执行和更高的漏电等级。

流程可进行到图2B的流程图的282,其中,新的单元漏电等级(例如,Vt[2])可以被存储在交换单元列表(例如,S(1)、S(2)、S(3)、S(4)、S(5)、S(6)、S(Q))中。例如,如图3F的状态图的382所示,具有ID 1和CLC状态Vt[2]的单元可以被存储在交换单元列表的位置S(1)中。与S(1)位置相关的交换指示符(SW)可从否(N)改变为是(Y)(或者另外地保持为是),表示与S(1)位置相关的具有单元ID 1的单元已经被交换至少一次。

流程可进行到图2B的流程图的285,其中,在又一次交换和存储之后,时序裕量更新器175可更新特定时序路径(例如,P[1])上的时序裕量。例如,如图3F的状态图的385所示,P[1]的更新的松驰值可被更新。在这一阶段,特定路径P[1]满足上限频率。换句话说,在使用满足上限所需的最少数量的高漏电单元的同时,特定路径P[1]可以以基本上与上限频率相等的频率可靠地运行。

在特定路径P[1]被优化,从而特定路径P[1]可以以基本上与上限频率相 等的频率可靠地运行之后,这里公开的类似的技术可应用到路径P[2]到P[M],从而所有时序路径可被优化为在使用满足上限所需的最少数量的高漏电单元的同时,以基本上与上限频率相等的频率可靠地运行。

返回在图2B的流程图的255和290所做的确定,响应于分别在255确定第一标准未被满足或者在290确定第二标准未被满足,流程可进行到260,其中,时序路径的列表(例如,P[1]、P[2]、P[M])的索引j可被增加。换句话说,评价可从P[1]转移到P[2],然后从P[2]转移到P[M]等等。换句话说,一旦确定对于特定路径,时序裕量不再能够被提高,流程就可以进行到下一路径,以进一步进行优化。

在图2B中示出的流程图的265,可确定第四标准是否被满足。第四标准可包括:时序路径的列表(例如,P[1]、P[2]、P[M])的索引j是否小于将被评价的时序路径的总数M。换句话说,如果仍然存在将被评价和优化的时序路径,则流程可通过圆圈B返回图2A。具体地讲,流程可返回图2A的流程图的240,其中,可针对下一时序路径基本上重复处理。换句话说,可通过单元列表创建器150创建另一单元列表,所述另一单元列表包括特定时序路径(例如,P[2])的单元182的第二子集。这种处理可重复进行,直到所有时序路径已经被固定、分析和/或完成。

图2A和图2B的步骤和元素不需要按照示出的顺序发生,而是可以以不同的顺序发生或者具有各种中间步骤。

与和可用的商业合成工具相关的结果相比,本发明构思的实施例可实现更高的最大频率和/或高漏电单元的更低的使用量。此外,本发明构思的实施例可提高产品的市场性和/或可用性。此外,本发明构思的实施例可提高产品的电池寿命。

本发明构思的实施例可在确保每个高漏电单元被有效地使用的同时,通过实验方式发现使用单元交换可实现的最大频率。当对单元进行用于交换的分析时,可应用智能的加权标准。本发明构思的实施例可提供最大频率对高漏电单元使用(总漏电功率的指示)的分析,以允许系统折中。因为本发明构思的实施例可以以对电路设计最小破坏的方式在设计构造的任何阶段被配置,所以本发明构思的实施例是友好的实施方式。

图4是包括图1的智能单元交换器逻辑部分的计算系统400的框图。计算系统400可包括时钟410、随机存取存储器(RAM)415、用户接口420、 调制解调器425(诸如基带芯片组)、固态驱动器/盘(SSD)400和/或处理器435,以上组件中的任何组件或所有组件可电连接到系统总线405。计算系统400可包括图1的智能单元交换器逻辑部分105,智能单元交换器逻辑部分105也可电连接到系统总线405。智能单元交换器逻辑部分105可包括或者另外接口连接到时钟410、随机存取存储器(RAM)415、用户接口420、调制解调器425、固态驱动器/盘(SSD)400和/或处理器435。

以下讨论意图提供适当的机器的简要的一般描述,在所述机器中可实现本发明构思的特定方面。通常,所述机器包括系统总线,处理器、存储器(例如,随机存取存储器(RAM)、只读存储器(ROM)或其他状态的保存介质)、存储装置、视频接口和输入/输出接口连接到系统总线。可通过来自传统输入装置(诸如键盘、鼠标等)的输入以及通过从另一机器接收的指示、与虚拟现实(VR)环境的交互、生物计量反馈或其他输入信号至少部分地控制所述机器。如这里所使用的,术语“机器”意图广义地包含单个机器、虚拟机器、或者一起操作的可通信地连接的机器、虚拟机器或装置的系统。示例性机器包括计算装置,诸如个人计算机、工作站、服务器、便携式计算机、手持装置、电话、平板等以及诸如私人交通工具或公共交通工具(例如,汽车、火车、出租汽车等)的交通装置。

机器可包括嵌入式控制器,诸如可编程或不可编程的逻辑器件或阵列、专用集成电路(ASIC)、嵌入式计算机、智能卡等。机器可利用诸如通过网络接口、调制解调器或其他可通信连接与一个或多个远程机器的一个或多个连接。机器可以通过物理和/或逻辑网络(诸如内联网、互联网、局域网、广域网等)互相连接。本领域技术人员将理解,网络通信可利用各种有线和/或无线短距离或长距离载波和协议,包括射频(RF)、卫星、微波、电气电子工程师协会(IEEE)545.11、光纤、红外、线缆、激光等。

本发明构思的实施例可参考或结合包括函数、程序、数据结构、应用程序等的相关数据来描述,当通过机器访问所述相关数据时,导致机器执行任务或定义抽象数据类型或低级硬件上下文。相关数据可存储在例如易失性和/或非易失性存储器(例如,RAM或ROM等)中,或者存储在其他存储装置以及与它们相关联的存储介质(包括硬盘驱动器、软盘、光学存储器、磁带、闪存、记忆棒、数字视频盘、生物存储器等)中。相关数据可以以包、串行数据、并行数据、传播信号等的形式通过传输环境(包括物理和/或逻辑网络) 来传送,并且可以以压缩或加密格式来使用。相关数据可在分布式环境中使用,并且可以本地和/或远程存储,以便机器访问。

已经参照示出的实施例描述和示出了本发明构思的原理,将理解,在不脱离这样的原理的情况下,可在排列和细节上对示出的实施例进行修改,并且可以以任何期望的方式组合示出的实施例。虽然以上论述集中于特定实施例,但是可以预期其他配置。具体地讲,即使在这里使用诸如“根据本发明构思的实施例”等的表述,这些短语通常表示参考实施例的可能性,而不意图将本发明构思限制于特定实施例的配置。如这里所使用的,这些术语可参考相同或不同的实施例,所述相同或不同的实施例可与其他实施例组合。

本发明构思的实施例可包括包含可由一个或多个处理器执行的指令的非暂时性机器可读介质,所述指令包括用于执行如这里所描述的本发明构思的元件的指令。

上述示意性实施例不被解释为限制本发明构思。虽然已经描述了若干实施例,但是本领域技术人员将理解,在不实质上脱离本公开的新颖教导和优点的情况下,可对这些实施例进行许多修改。因此,所有这样的修改意图被包括在如权利要求限定的本发明构思的范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1