首页> 中国专利> 一种具有并行结构的大规模数字电路最大功耗估计方法

一种具有并行结构的大规模数字电路最大功耗估计方法

摘要

本发明涉及大规模集成电路,特别是涉及集成电路中具有并行结构的大规模数字电路最大功耗的快速估计方法。其步骤为:第一步电路RTL(寄存器传输级)网表的处理;第二步电路门级网表的处理;第三步确定第一步和第二步电路的对应关系,判断电路是否适合精简;第四步建立新的输入序列;第五步对输入向量序列进行最大功耗模拟。本发明可用于大规模集成电路的功耗估计,对电路设计提供重要的指导意义。

著录项

  • 公开/公告号CN1450627A

    专利类型发明专利

  • 公开/公告日2003-10-22

    原文格式PDF

  • 申请/专利权人 中国科学院计算技术研究所;

    申请/专利号CN03125126.9

  • 发明设计人 徐勇军;李晓维;

    申请日2003-05-21

  • 分类号H01L21/82;G06F17/50;

  • 代理机构11021 中科专利商标代理有限责任公司;

  • 代理人周国城

  • 地址 100080 北京市中关村科学院南路6号

  • 入库时间 2023-12-17 15:01:15

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2005-07-06

    授权

    授权

  • 2003-12-31

    实质审查的生效

    实质审查的生效

  • 2003-10-22

    公开

    公开

说明书

技术领域

本发明涉及大规模集成电路,特别是涉及集成电路中,具有并行结构的大规模数字电路最大功耗的快速估计方法。

背景技术

集成电路产业已成为当代高新技术产业群的核心和维护国家主权、保障国家安全的战略性产业,它也是国民经济信息化发展水平的重要标志之一。集成电路产业自20世纪60年代中期在工业发达国家形成以来,一直面临着如何减小芯片面积、提高系统性能、降低成本和上市时间等问题,现在芯片功耗已经成为一个新的不可回避的主题。

功耗问题已经受到了人们的普遍重视,在低功耗设计领域已经有大量的文献在从软件级、编译级、系统级到版图级都做了大量的研究。在芯片设计的不同层次给出准确的功耗分析并对设计以指导是低功耗领域研究的另一个重要的课题,现有的功耗估计的方法大体可以分为两种:基于模拟(Simulative Approach)的和非模拟的方法(Non-SimulativeApproach),后者包括如利用了电路的确定或随机的信息直接获得电路的功耗值(如:概率法、ATPG法、信息论法等),它省去了耗时的模拟过程但失去了准确性;基于模拟的方法可以反映出电路瞬态的信息,如时序偏移、竞争冒险的产生、扇出节点的重汇聚等现象,虽然速度比较慢,到现在仍然被广泛采用。通过模拟所有的输入来计算最大功耗显然是不现实的,现在虽然出现了很多加速收敛的方法,如Monte Carlo法、模拟退火法、遗传算法等,但对于输入较多的大规模电路,模拟法的速度仍然很难被接受。

发明人通过对大量的常用电路模块(如:加法器、乘法器、比较器、ALU等)的功耗进行研究发现:具有并行结构的大规模数字电路的并行总线,在进行最大功耗估计时可以精简为单根输入线,这样可以在很大程度上降低搜索空间,大大加速了模拟速度。对于输入数为n的电路(对组合电路n为原始输入数,对时序电路n为原始输入和时序单元总和),共有4n种不同的输入向量对,所以电路最大功耗搜索空间为4n,但随着电路规模不断增加,电路输入数也越来越多,搜索空间将会作爆炸式膨胀,按照我们的方法进行简化后输入端减少为n-△n(△n为压缩的输入端口数),搜索空间变为4n-△n,减小了4△n倍,从很大程度上降低了模拟时间,减小了问题复杂度。例如:A、B两总线各有8根线的8位比较器,其最大功耗的搜索空间为416,而按照我们的方法,A、B两总线当作单根总线看待,即8位比较器可以看作仅有2个有效输入端,这样搜索空间仅为42,压缩416-2=256M,约2.5亿倍,计算量可以得到巨大的降低。

发明内容

本发明的目的在于提供一种并行结构的大规模数字电路最大功耗的估计方法,这种方法可以很大程度地降低最大功耗估计的计算量,并且本方法以坚实的理论为依据,实施简单(见下文),具有广阔的商业应用前景。

为了能进一步阐明我们的创新之处,先介绍一些基本概念,在此基础上,说明本方法的原理和具体实施方案。对于CMOS(金属氧化物半导体)电路的功耗,由于逻辑门状态变化而造成充、放电所耗的功率称为动态功耗,它是电路功耗的主要来源,对于输入向量对V1/V2,可以用以下公式计算出电路动态功耗P: >>P>=>>(>>1>2>>·>>1>>T>cyc>>sup>>V>dd>2sup>>>C>unit>>)>>×>>Σ>>j>=>1>>ζ>>{>Trans>>(>j>)>>×>fanout>>(>j>)>>}>=>K>×>>P>O>>->->->>(>1>)>>>s>

式中Tcyc是电路的时钟周期,Vdd是电路的供电电压,Cunit为电路逻辑门的单位扇出负载,ζ提电路中逻辑门总数,j为电路中的一个逻辑门,fanout(j)为门j的扇出数,Trans(j)是门j在V1/V2输入下产生的跳变数。式1计算电路功耗的单位为瓦特,如果制造工艺一定,K为常数,电路在V1/V2输入下的功耗正比于PO,我们称之为加权跳变数,可以用来衡量功耗的大小。 >>>P>O>>=>>Σ>>j>=>1>>ζ>>{>Trans>>(>j>)>>×>fanout>>(>j>)>>}>->->->>(>2>)>>>s>

要计算出电路的功耗关键是要求出在特定输入下获得所有门的跳变情况,一般做法是先将电路进行分级处理,再根据输入向量对一直模拟到输出,从而确定每个门的跳变情况。如果电路没有延迟,则逻辑门的所有输入同时到达,一个门最多产生一个跳变,问题比较简单,实际上电路是有延迟的,而且由于输入到达的时间不同,可能会在输出产生冒险现象,这样电路的跳变情况就会变得十分复杂,所以如果能对输入向量进行有效的压缩,可以大大加速最大功耗的模拟过程。

通过对大量的电路进行分析可以看出,复杂电路往往是由若干个对称输入的多位功能模块再加上少量简单的控制单元构造而成,如果一个连续输入向量对能够使各个多位功能块产生最大功耗,则此向量对基本上能够使这个复杂电路产生近似最大功耗。发明人通过对多路选择器、分配器、比较器、加法器及乘法器等功能模块进行研究,发现并验证了以上这一结论,即这些多位功能块所涉及的并行数据总线如果加上相同的跳变,并辅以合适的控制信号,就能够使功能块中产生的跳变数达到峰值,从而获得电路的最大功耗。下面以多位选择器与比较器为例来说明以上现象。

由附图1(多位选择器结构示意图)可以看出,只要B总线和选择信号C取上跳变,A总线取低电平或下跳变,多位选择器就会在与门F和或门0处产生最多的跳变,即最大功耗。在附图2(多位比较器构成示意图)中,多位比较器模块是由多个一位比较器单元及简单的比较结果综合单元组成。假如A总线和B总线各自取相同而又合适的跳变形式,使得所有一位比较器单元均能在“等于”输出端产生完全相同的输出波形,则所有高位比较单元对于低位比较单元的“大于”和“小于”输出波形,产生相同的约束,使得“大于”和“小于”输出波形中可以包含最多的冒险跳变,由此又可以在多位比较器模块的三个输出端产生最多的跳变。

下面在单位延迟模型下以多位比较器模块来说明这一现象。当A总线和B总线各自在时刻0处取上跳变时,逻辑非门Ci,Di,Ci-1,Di-1(如附图2所示)均在1时刻产生下跳变,由于与门Ei,Fi,Ei-1,Fi-1均产生1时刻上跳变,2时刻下跳变的冒险,所以所有一位比较单元均在“等于”输出端产生2时刻下跳变,3时刻上跳变的冒险。同时相对于高位比较单元在图中标志为“i<”和“i>”与门输出端产生1时刻上跳变,2时刻下跳变的冒险,由于高位比较单元均在“等于”输出端产生2时刻下跳变,所以低位比较单元也能在标志为“i-1<”和“i-1>”的与门输出端产生1时刻上跳变,2时刻下跳变的冒险。最后在多位比较器模块的“<”和“>”输出端产生2时刻上跳变,3时刻下跳变的冒险,“=”输出端产生3时刻下跳变,4时刻上跳变的冒险。这样该模块便产生了最大功耗值。

根据以上对多位选择器与比较器功耗分析可知,只有多位数据总线上的所有信号采用相同的跳变形式,才能使具有这种并行结构的多位功能块产生最大功耗。也就是说,具有并行结构多位功能块消耗最大功耗的必要条件是,输入数据总线所包含的所有数据线上的状态相同,即可以将数据总线所包含的所有数据线等同于单根数据线。由于以上所说的具有这种并行结构的模块在大规模集成电路,特别是处理设计中使用相当普遍,所以我们所提出的通过采集数字电路RTL(寄存器传输级)信息,利用逻辑结构的对称性压缩数据线,加速最大功耗估计的方法,挑战了大规模电路中的最大功耗估计的难题,具有广阔的应用前景。下面讨论一下具体的实施方案。

附图说明;

图1是多位选择器示意图;

图2是多位比较器示意图;

图3是本发明的搜索空间压缩流程图;

图4是示例的基准电路C432结构图;

图5是总线精简前后所输入的向量时间图;(a)为精简后;(b)为精简前;

图6是开发的“用RTL信息对门级电路最大功耗估计的加速系统”人机界面;

图7是搜索空间压缩原理图。

具体实施方式

图1是多位选择器示意图;其最大功耗的产生是发生在数据总线同时跳变时,故可以精简成三位输入;

图2是多位比较器示意图;其最大功耗的产生是发生在数据总线同时跳变时,故可以精简成四位输入;

图3给出了本发明所涉及到的搜索空间压缩流程;

图4是示例的基准电路C432结构图,可以看出,它符合本发明所涉及到的具有并行总线结构的要求;

图5总线精简前后所输入的向量对。(a)为精简后,(b)为精简前;

图6给出了我们开发的“用RTL信息对门级电路最大功耗估计的加速系统”人机界面;

图7是搜索空间压缩原理图。原始模块具有并行结构,输入数为12,我们将具有相同结构的总线精简成单根后,输入数仅为3,故能很快地模拟出电路的最大功耗。

实施该方案的前提是我们已经具有了待估电路的RTL和门级网表,通过对电路RTL级网表进行分析,可以得到电路并行总线方面的信息,将并行总线精简成单根总线,在新的输入集上产生输入向量对并进行最大功耗估计。这种方法可以大幅度压缩输入向量空间,但并不总是能奏效的,下面给出一个判据:

输入并行总线可精简的判据:如果在一条总线精简的条件下计算出的平均功耗与极大功耗,均不比在此总线不精简的条件下计算出的结果小,则此总线可以精简;反之,则不能精简。实际上,本文所提供的方法对以上所提到的如比较器、加法器等模块单元都是有效的。下面详细地说明实施过程,如图3(搜索空间压缩流程)所示:

第1步:电路RTL网表的处理。对电路的RTL网表文件(使用硬件描述语言Verilog或VHDL等描述)进行处理,找出存在于电路中所有并行数据线,并将所有输入端口进行排序,建立一个名字列表,获得并行数据线的位置。

第2步:电路门级网表的处理。电路的门级网表文件可能具有不同的格式,其处理却是一样的,首先找出电路输入端的位置,建立输入端的名字列表,按照网表中电路的拓扑结构对电路进行分级,以加速下面的最大功耗模拟。

第3步:这个过程主要是为了确定第1步和第2步中电路的对应关系,保证了这两个文件所说明的是同一个电路,这是算法继续进行的必要条件,这里,不但要保证两个文件输入端口名字是一一对应的,还需要对电路功能以及网表进行一定的验证,以确定它们的对应关系。另外还需要根据相关判据判断该电路是否适合做搜索空间的压缩,判据如上文。

第4步:将第1步中的并行总线进行精简处理,这样在新的较小的向量空间上产生输入向量序列。

第5步:在第4步基础上,并对它们进行最大功耗模拟,在这里,可以采用普通的模拟加速方法(如遗传算法),我们可以得到新的向量集上电路的最大功耗。

第6步:利用第5步得到的电路最大功耗进行适当的优化,如果有必要可以根据工艺,将以加权跳变数表示的功耗表示以瓦特为单位表示的功耗值。

在并行结构的大规模数字电路最大功耗估计方法中,还包括:

I.根据电路RTL级描述,自动识别电路中所有输入端口的并行总线以及每条并行总线所包括的电路输入端口。

II.并行总线的最大功耗等效精简方法。即这些多位并行功能模块电路所涉及的多位数据总线如果加上相同的跳变,辅以合适的控制信号,用以代替以前电路的变换方法,附图7给出了这种精简方法的示意图,将图中的对称的并行数据线接到相同的输入,以新的输入作为电路的原始输入,这样,原电路输入有三组,每组4根,由于它们的对称性,在功耗上每组可以等效为1根,共3根。

III.输入数据总线可精简的判据。即如果在一条总线精简的条件下计算出的平均功耗与极大功耗,均比在此总线不精简的条件下计算出的结果大,则此总线可以精简;反之,则不能精简。

下面以ISCAS85(International Symposium on Circuits and Systems)基准电路集中的C432来说明以上过程。以C432是一个优先译码器(Priority Decoder),如图4(C432电路图)所示,可以看出该电路具有一些相似的模块,这也就是以上方法可行性的一个佐证。我们根据其RTL级信息可以得到:A总线为A[8:0]={in1,in11,in24,in37,in50,in63,in76,in89,in102},将所有输入端口进行排序可得PI={in1,in4,in8,in11,in14,in17,in21,in24,in27,in30,in34,in37,in40,in43,in47,in50,in53,in56,in60,in63,in66,in69,in73,in76,in79,in82,in86,in89,in92,in95,in99,in102,in105,in108,in112,in115},则A总线对应于门级电路的输入端为(PI1,PI4,PI8,PI12,PI16,PI20,PI24,PI28,PI32)。

在对并行总线进行识别和验证后,下一步需要确定这条输入数据总线是否可以精简,为了兼顾应用的通用性,我们采用模拟方法来识别每条输入数据总线是否可以精简,具体方法如下:

先在一条总线精简的条件下,产生N个输入向量对,计算出电路的平均功耗与极大功耗。其中每个向量对如图5(a)所示,此电路输入向量对中9位斜黑体表示一条数据总线的状态,可以看出此总线中所有数据线的状态一致。然后在此总线不精简的条件下,对以上产生的N个输入向量对进行变换,如图5(b)所示,输入向量对中其它位不变,只将9位数据总线中V1/V2的状态随机对换。用变换后产生的N个输入向量对计算出电路的平均功耗与极大功耗。建议取N为32或64。

对C432符合输入数据总线可精简的判据,于是将A总线等同于一个新的输入端PIA,而将A总线所包含的输入端{PI1,PI4,PI8,PI16,PI20,PI24,PI28,PI32}都连到PIA,PI+PIA-{PI1,PI4,PI8,PI12,PI16,PI20,PI24,PI28,PI32},即电路输入端数减少了8个,使得电路最大功耗搜索空间压缩了48=216=32k倍,约3.2万倍。在压缩后的搜索空间中,可以快速估计出电路的最大功耗。

按照以上的方法,我们开发了“用RTL信息对门级电路最大功耗估计的加速系统”,其人机界面如图6所示,其原理图如图7(搜索空间压缩原理图)所示。

我们将具有相同结构的总线精简成单根后,输入数仅为3,故能很快地模拟出电路的最大功耗。

本发明涉及大规模集成电路,特别是涉及集成电路中,具有并行结构的大规模数字电路最大功耗的快速估计方法。该方法利用了发明人发现的多位功能块电路并行数据线的可精简性,通过先采集电路RTL描述,找出被测电路的并行输入总线;再根据本发明所提出的输入数据总线精简判据,对某些满足精简判据的输入数据总线进行精简,从功耗上等效地减少被测电路的输入端口数,使电路最大功耗的搜索空间得到较大的压缩。最后使用传统的加速模拟的方法就可以快速估计出门级电路最大功耗。本发明可以用于大规模集成电路的功耗估计,尤其是最大功耗估计,对电路设计提供重要的指导意义。其突出的优点是对原电路功耗估计的搜索空间进行了很大程度上的等效压缩,从一定程度上克服现有方法速度过慢的缺点。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号