一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

低功耗综合方法及其装置与流程

2022-02-20 12:50:12 来源:中国专利 TAG:


1.本技术涉及集成电路综合技术,尤其涉及通过综合产生低功耗电路的综合方法及其装置与计算机系统。


背景技术:

2.集成电路设计中,通常使用诸如veriloghdl、vhdl等硬件描述语言表达所设计的集成电路,通过eda(电子设计自动化,electronic design automation)技术的综合工具将由硬件描述语言表达的电路转换为网表或门级电路。综合工具是数字芯片设计或fpga(现场可编程门阵列,fieldprogrammablegatearray)中将rtl级代码转换城门级电路或网表的工具。
3.图1a展示了由硬件描述语言表达的电路。
4.图1a中“always”与“@”硬件描述语言的保留字。所描述的电路,响应“clk”信号的上跳沿,根据信号a与信号b的逻辑与操作的结果,设置信号c。
5.图1b是同图1a对应的电路框图。
6.综合工具使用d触发器(dff 120)和与门(&150)表达图1a的电路。与门150对信号a与b实施与操作,与门150的输出耦合d触发器120的d输入端。clk信号耦合d触发器150的时钟输入端。


技术实现要素:

7.综合工具依据静态的硬件语言所表达的含义生成电路,而通常无法针对电路的输入信号的特征,生成优化的电路。然而,电路在工作中,其面对的输入信号可能满足一些条件,而输入信号的一些组合或序列可能在实际工作中不会出现。这使得综合工具生成的电路存在优化的空间。
8.希望降低所设计的电路的功耗。数字信号的翻转(例如,从高电平变为低电平,或从低电平变为高电平)是电路消耗能量的原因之一。在信号翻转中,虽然是数字电路,但为使相关的信号达到所需的电平,需要电荷的积累或释放,从而产生电流并产生功耗。在图1b的例子中,“clk”信号耦合dff 120。在“clk”信号翻转时,即使dff 120的输出不改变,也消耗能量。而数字电路中,“clk”信号通常来源于时钟信号,并且以一定周期持续翻转。
9.为了降低时钟信号引入的额外功耗,为时钟信号增加门控,以减少不必要的信号翻转。然而,对于图1a的例子,由于硬件表述语言并未对clk信号的门控提供额外信息,综合工具不知道如何为clk信号设置门控来优化生成的电路。
10.而在电路设计中,开发人员知晓有关输入信号的额外信息。希望综合过程利用此类额外信息,并生成功耗更优的电路。
11.根据本技术的第一方面,提供了根据本技术第一方面的第一电路综合方法,包括:根据硬件描述语言表达的第一电路生成由网表表达的第二电路,其中第二电路包括触发器;获取在指定的仿真波形激励下所述触发器的数据输入信号的翻转率;响应于所述触发
器的数据输入信号的翻转率小于阈值,在第二电路添加门控单元,用于门控所述触发器的时钟输入信号。
12.根据本技术第一方面的第一电路综合方法,提供了根据本技术第一方面的第二电路综合方法,其中第二电路包括组合逻辑电路,所述组合逻辑电路的输入耦合所述触发器的数据输入信号;所述方法还包括:获取所述指定的仿真波形激励下所述组合逻辑电路的输入信号的波形,以根据所述指定的仿真波形激励下的所述组合逻辑电路输入信号的波形选择第一输入信号;将第一输入信号耦合所述门控单元的控制端。
13.根据本技术第一方面的第二电路综合方法,提供了根据本技术第一方面的第三电路综合方法,其中:所述根据所述指定的仿真波形激励下的所述组合逻辑电路输入信号的波形选择第一输入信号,包括识别所述组合逻辑电路的输入信号的翻转率,选择翻转率最低的输入信号得到所述第一输入信号。
14.根据本技术第一方面的第二或第三电路综合方法,提供了根据本技术第一方面的第四电路综合方法,其中:所述根据所述指定的仿真波形激励下的所述组合逻辑电路输入信号的波形选择第一输入信号,包括,搜索其保持不翻转的时间区间覆盖所述数据输入信号发生翻转的时间区间的第一输入信号。
15.根据本技术第一方面的第二至第四电路综合方法之一,提供了根据本技术第一方面的第五电路综合方法,其中:所述根据所述指定的仿真波形激励下的所述组合逻辑电路输入信号的波形选择第一输入信号,包括,所述第一输入信号在所述数据输入信号的翻转与不翻转的各时间区间内的翻转情况同所述数据输入信号的翻转情况相似。
16.根据本技术第一方面的第二至第五电路综合方法之一,提供了根据本技术第一方面的第六电路综合方法,其中:所述根据所述指定的仿真波形激励下的所述组合逻辑电路输入信号的波形选择第一输入信号,包括,所述数据输入信号翻转的时间区间,所述第一输入信号在保持不翻转。
17.根据本技术第一方面的第二至第六电路综合方法之一,提供了根据本技术第一方面的第七电路综合方法,还包括:在第二电路添加第二组合逻辑电路,第一输入信号耦合所述第二组合逻辑电路的输入端;第二组合逻辑的输出端耦合所述门控单元的控制端;第二组合逻辑电路用于适配第一输入信号与所述门控单元的控制信号的逻辑值。
18.根据本技术第一方面的第七电路综合方法,提供了根据本技术第一方面的第八电路综合方法,其中所述第二逻辑电路在所述组合逻辑电路输入信号发生翻转的时间区间使所述门控单元开启,从而所述触发器的时钟输入信号被提供给所述触发器的时钟输入端,以及在其他的时间区间使所述门控单元关闭,从而所述触发器的时钟输入信号不被提供给所述触发器的时钟输入端。
19.根据本技术第一方面的第七或第八电路综合方法,提供了根据本技术第一方面的第九电路综合方法,其中所述根据所述指定的仿真波形激励下的所述组合逻辑电路输入信号的波形选择第一输入信号,包括选择多个第一输入信号,所述多个第一输入信号耦合所述第二组合逻辑的输入端。
20.根据本技术第一方面的第一至第九电路综合方法之一,提供了根据本技术第一方面的第十电路综合方法,其中所述指定的仿真波形是所述第一电路工作时将经历的波形。
21.根据本技术第一方面的第一至第十电路综合方法之一,提供了根据本技术第一方
面的第十一电路综合方法,还包括:响应于所述触发器的数据输入信号的翻转率不小于阈值,不在第二电路添加门控单元。
22.根据本技术第一方面的第一至第十一电路综合方法之一,提供了根据本技术第一方面的第十二电路综合方法,其中所述触发器的时钟输入信号是所述第一电路的敏感信号;所述门控单元被设置在所述第一电路的敏感信号与所述触发器的时钟输入端之间。
23.根据本技术第一方面的第一至第十二电路综合方法之一,提供了根据本技术第一方面的第十三电路综合方法,其中所述第二电路包括多个触发器;响应于一个或多个第一触发器的数据输入信号的翻转率小于阈值,在第二电路为每个所述第一触发器添加门控单元,用于门控每个触发器的时钟输入信号。
24.根据本技术第一方面的第一至第十三电路综合方法之一,提供了根据本技术第一方面的第十四电路综合方法,其中在所述组合逻辑电路输入信号发生翻转的时间区间,所述门控单元开启,从而所述触发器的时钟输入信号被提供给所述触发器的时钟输入端,以及在其他的时间区间使所述门控单元关闭,从而所述触发器的时钟输入信号不被提供给所述触发器的时钟输入端。
25.根据本技术第一方面的第一至第十四电路综合方法之一,提供了根据本技术第一方面的第十五电路综合方法,还包括:向所述第二电路施加所述指定的仿真波形;在所述指定的仿真波形激励下仿真所述第二电路;以及记录所述第二电路在仿真过程中各信号的波形。
26.根据本技术的第二方面,提供了根据本技术第二方面的第一信息处理设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的程序,其特征在于,所述处理器执行所述程序时实现根据本技术第一方面的第一至第十五电路综合方法之一。
27.根据本技术的第三方面,提供了根据本技术第三方面的第一电路综合装置,包括:网表生成模块,用于根据硬件描述语言表达的第一电路生成由网表表达的第二电路,其中第二电路包括触发器;翻转率获取模块,用于获取在指定的仿真波形激励下所述触发器的数据输入信号的翻转率;门控添加模块,用于响应于所述触发器的数据输入信号的翻转率小于阈值,在第二电路添加门控单元,用于门控所述触发器的时钟输入信号。
附图说明
28.为了更清楚地说明本技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本技术中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其他的附图。
29.图1a展示了由硬件描述语言表达的电路;
30.图1b是同图1a对应的电路框图;
31.图2a展示了根据本技术实施例的波形图;
32.图2b展示了根据本技术实施例的综合工具生成的电路;
33.图3a展示了根据本技术又一实施例的由硬件描述语言表达的电路;
34.图3b展示了同图3a对应的根据本技术的又一实施例的工作时的典型波形图;
35.图3c是同图3a对应的根据本技术又一实施例的电路框图;
240的功耗。进一步地,将门控单元240设置在电路的临近clk信号输入端的位置,以进一步降低由于clk信号引起翻转的引线的长度,以降低在引线上电平翻转引起的功耗。
52.根据本技术的实施例,综合工具根据专门提供的输入信号工作期间的典型波形,识别出输入信号和/或输入信号逻辑运算后得到的信号的翻转情况,来设置对时钟信号的门控,以降低生成电路的功耗。作为举例,综合工具识别典型波形中各输入信号的翻转次数,选择翻转次数的输入信号作为门控信号。
53.图3a展示了根据本技术又一实施例的由硬件描述语言表达的电路。
54.图3a所描述的电路,响应“clk”信号的上跳沿,根据信号a与信号b的逻辑或操作的结果,翻转信号c。
55.图3b展示了同图3a对应的根据本技术的又一实施例的工作时的典型波形图。
56.图3b展示了信号a与信号b的波形图。信号a与信号b应用于图3a所表达电路的输入信号。信号f(=a|b)代表信号a与信号b逻辑或操作的结果。
57.在图3b展示的波形中,信号f在较多时间处于有效。换句话说,信号f处于无效的时间,没有明显多于其处于有效的时间。因而,在图3a所表达的电路中,在clk的上跳沿,信号c需要被翻转的机会较大。在此情况下,虽然图3b展示的波形中,信号a的翻转次数较少,但门控输入时钟信号clk带来的降低功耗的收益不明显,而引入门控单元则使得电路所使用的器件增加,而门控单元本身也引入了额外的功耗。
58.因此,在图3b作为典型波形的情况下,综合工具在生成的电路中不产生额外的clk信号的门控单元。
59.图3c是同图3a对应的根据本技术又一实施例的电路框图。
60.综合工具使用d触发器(dff320)和逻辑电路370表达图3a的电路。信号a、信号b与dff 320的反向输出/q是逻辑电路的输入信号,在信号a与信号进行或运算的结果为真时,逻辑电路370将/q信号代表的电平提供给dff 320。clk信号耦合dff 320的时钟输入端,在clk信号上跳沿时,dff 320的采集d输入端的信号,并作为q端输出信号。
61.由于综合工具根据图3b展示的典型波形,判断出引入额外门控单元带来的功耗降低收益不明显,因而在生成的图3c展示的电路中,clk信号直接耦合到dff 320的时钟输入端。作为举例,综合工具尝试生成包括门控单元与不包括门控单元的两种或多种电路,估计其功耗并比较,以得到优选的生成电路。
62.图4a展示了根据本技术再一实施例的由硬件描述语言表达的电路。
63.图4a所描述的电路,“always@”描述了该电路的敏感表,其中的“clk”信号是该电路的敏感信号。响应“clk”信号的上跳沿,根据对信号a、b、c与d进行由函数f()所代表的逻辑操作的结果,将output信号设置为“0”或者“1”。
64.图4b展示了同图4a对应的根据本技术的再一实施例的工作时的典型波形图。
65.图4b展示了信号a、b、c、d与逻辑计算结果信号f(a,b,c,d)的波形图。信号a、b、c与d应用于图4a所表达电路的输入信号。信号f(a,b,c,d)代表信号a、b、c与d进行逻辑操作的结果。
66.在图4b展示的波形中,信号f(a,b,c,d)在较多时间处于低电平(处于低电平的时间明显多于处于高电平的时间),并且较少发生状态变化。因而,在图4a所表达的电路中,在clk的上跳沿,信号output的状态需要改变的机会不大。在此情况下,如果能在信号output
不会发生状态改变的时间段内,关闭clk信号,能有效减少所生成电路中的电平翻转,进而降低功耗。
67.因此,在图4b作为典型波形的情况下,综合工具在生成的电路中为敏感信号clk信号产生额外的门控单元。
68.可选地,综合工具响应于识别出信号f(a,b,c,d)在图4b提供的波形中的翻转次数较少,还进一步识别输入信号a、b、c和/或d中,能有效反应信号f(a,b,c,d)的翻转的输入信号。例如,图4b的例子中,仅在信号a处于高电平期间,信号f(a,b,c,d)发生翻转,因而可以用信号a作为clk信号的门控电路的使能信号。依然可选地,综合工具识别信号f(a,b,c,d)翻转与不翻转的时间区间,并统计各输入信号在信号f(a,b,c,d)翻转与不翻转的各时间区间内的翻转情况,从而寻找出在信号f(a,b,c,d)翻转与不翻转的各时间区间内的翻转情况同信号f(a,b,c,d)最相似的信号,作为clk信号的门控信号。例如,在图4b的例子中,输入信号a、b、c与d中,信号a的翻转情况同信号f(a,b,c,d)最接近。依然可选地,综合工具识别各信号的各状态变化时间点所形成的时间区间,并从中寻找能覆盖信号f(a,b,c,d)的所有翻转的时间区间,具有此类时间区间的信号,作为clk信号的门控单元使能信号的候选。以及进一步从候选信号中选择使门控单元开启的时间最短的输入信号,作为门控时间的使能信号。依然可选地,由于信号f(a,b,c,d)是对信号a、b、c与d做逻辑运算得到的,因而信号a、b、c与d的每个的翻转同信号f(a,b,c,d)的翻转直接对应。从而选择信号a、b、c与d在典型波形中翻转少的信号,有很大机会得到能有效反应信号f(a,b,c,d)的翻转的输入信号。依然可选地,识别输入信号a、b、c和/或d中,在信号f(a,b,c,d)发生翻转期间,保持不反转的信号,作为clk信号的门控单元使能信号的候选。
69.图4c是同图4a对应的根据本技术再一实施例的电路框图。
70.综合工具使用d触发器(dff420)、逻辑电路430、选择器460和门控单元450表达图4a的电路。输入信号a、b、c与d都耦合到逻辑电路430。逻辑电路430实现f(a,b,c,d)所指示的逻辑运算,并输出计算结果。逻辑电路430输出的计算结果耦合到选择器460的控制端,使选择器460输出待选择的两路信号“0”或“1”之一。选择器460的输出耦合到d触发器(dff 420)的d输入端。敏感信号clk通过门控单元450耦合到dff 420的时钟上输入端。输入信号a耦合到门控单元450的控制端。在信号a为高电平时,门控单元450使信号clk通过并传输到dff 420的时钟输入端。在信号a为低电平时,门控单元450切断信号clk的传播,以降低功耗。
71.返回参看图4a与图4b,图4a的电路工作时,信号a的翻转机会较少,且仅在信号为高电平时,图4a的电路的输出信号output才可能改变状态。因而综合选择用信号a来门控敏感信号clk,有助于降低电路的功耗。
72.图4d是同图4a对应的根据本技术再一实施例的又一电路框图。
73.根据本技术的实施例,综合工具根据硬件描述语言所表达的电路,可生成可选地多种电路。也参看图4b,信号c处于低电平的时间段,也覆盖了信号f(a,b,c,d)翻转的时间段。因而用信号c作为敏感信号clk的门控信号也有助于降低电路的功耗。
74.在生成的图4d所代表的电路中,综合工具使用d触发器(dff 422)、逻辑电路42、选择器462和门控单元452表达图4a的电路。同图4c的电路项目,图4d的电路还包括非门482。信号c耦合到非门482的输入,非门482的输出耦合门控单元452的控制端。从而信号c替代了
信号a来对敏感信号clk实施门控。
75.根据可选的实施例,综合工具使用两个或更多输入信号来生成控制门控单元的信号。例如,综合工具识别任意两个或多个信号通过常规逻辑运算后得到的信号的状态变化的时间段是否能充分覆盖电路的输出信号的状态变化的时间段,并用识别出的两个或多个信号的指定逻辑运算得到的信号作为敏感信号clk的门控。进一步地,综合工具还从识别出的多种信号组合中,获取优选的信号的组合与优选的逻辑运算,以获得对敏感信号clk的更短或最短的通过门控单元的时间,以最大程度降低生成电路的功耗。
76.图5展示了根据本技术实施例的生成电路的流程图。
77.图5展示的流程由例如综合工具实施。除了获取由硬件描述语言所代表的电路,还获取应用于该电路的典型仿真波形(510)。典型仿真波形代表了该电路工作中输入信号的主要波形或通常的波形。可选地,典型仿真波形代表了该电路的输入信号的所有可能波形。对此情形,综合工具可以仅针对典型仿真波形生成仅适用于典型仿真波形的电路,而无需使生成的电路支持输入信号的其他波形。依然可选地,典型仿真波形不代表电路输入信号的所有可能波形,从而,综合工具生成的电路需要支持典型仿真波形之外的输入信号的其他可能波形,但依据典型仿真波形优化生成电路的功耗是合理的。
78.可以理解地,典型仿真波形的获取不阻碍综合工具为生成电路所进行的其他操作。即使未获得典型仿真波形,综合工具依然能生成电路。获取典型仿真波形的时机也不限于在获取由硬件描述语言所代表的电路之前或之后。
79.综合工具根据硬件描述语言生成电路。生成的电路包括一个或多个触发器与为触发器提供数据输入信号的组合逻辑电路,生成的电路还包括为触发器提供诸如时钟输入信号的敏感信号。
80.综合工具用获取的典型仿真波形对生成的电路实施仿真过程,并获取电路的一个或多个触发器的数据输入信号的翻转率(520)。作为举例,翻转率是信号在指定的仿真过程中的翻转次数。从一个或多个触发器的数据输入信号中,获取翻转率小于指定阈值的一个或多个数据输入信号(530),以及可选地,也获取这些一个或多个数据输入信号所施加到的一个或多个触发器。
81.对于获取的翻转率小于指定阈值的一个或多个数据输入信号,综合工具还获取生成这些一个或多个数据输入信号的组合逻辑电路的一个或多个输入信号(为了清楚地区分,将其称为条件信号)。进一步地,综合工具从一个或多个条件信号中,选择能有效反应数据输入信号的翻转的条件信号(540)。前面已经结合图2a-图4d的多个实施例公开了选择能有效反应数据输入信号的翻转的条件信号的多个例子。
82.响应于存在其数据输入信号的翻转率小于指定阈值的触发器,还为这类触发器生成门控单元(550)。生成的门控单元的输出被耦合到触发器的时钟信号输入端,而门控单元的输入被耦合到敏感信号。门控单元的控制端被耦合到前面选择出的能有效反应数据输入信号的翻转的条件信号(560)。可选地,综合工具还为选择出的条件信号生成组合逻辑电路,组合逻辑电路的输出作为门控单元的控制信号,而组合逻辑的输入为前面选择出的能有效反应数据输入信号的翻转的条件信号。
83.从而,在生成的电路工作期间,选择出的条件信号在大部分时间控制门控单元切断敏感信号到触发器的时钟信号输入端的连接,从而降低敏感信号的翻转产生的功耗。而
在少数时间,选择出的信号控制门控单元导通敏感信号到触发器的时钟信号输入端的连接,使得触发器响应于敏感信号而工作。
84.从而,根据本身申请实施例的综合工具,通过分析额外获取的典型仿真波形,为生成的电路中的触发器提供门控单元,以减少生成的电路工作期间,触发器的时钟输入端的信号翻转,进而降低所生成的电路的功耗。
85.图6展示了运行综合工具的计算设备的框图。
86.计算设备是例如通用计算机、服务器或其他能执行软件来运行综合工具的信息处理设备。计算设备包括直接或间接耦合以下设备的总线:存储器、一个或多个处理器、可选的一个或多个呈现组件、输入/输出(i/o)端口、输入/输出组件120、以及电源。总线表示可以是一条或多条总线(诸如地址总线、数据总线、或其组合)。虽然为了清楚起见,利用线条示出了图6的各框,但是实际上,各组件的边界并不是那样清楚。例如,可以将诸如显示设备等呈现组件认为是i/o组件。而且,处理器可集成存储器。发明人认识到这是本领域的特性,并重申,图6的图示只是例示可以结合本技术的一个或多个实施方式来使用的示例性计算设备。诸如“工作站”、“服务器”、“膝上型计算机”、“手持式设备”等分类之间没有区别,它们全部都被认为是在图6的范围之内的并且被称为“计算设备”。
87.计算设备100通常包括各种计算机可读介质。计算机可读介质可以是可由计算设备100访问的任何可用介质,而且包含易失性和非易失性介质、可移动和不可移动介质。作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据的信息的任何方法和技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于,ram、rom、eeprom、闪存或其他存储器技术、cd-rom、数字多功能盘(dvd)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁存储设备、或能用于存储所需信息且可以由计算设备100访问的任何其他介质。通信介质通常以诸如载波或其他传输机制之类的已调制数据信号来体现计算机可读指令、数据结构、程序模块或其他数据,并且包括任何信息传送介质。术语“已调制数据信号”是指使得以在信号中编码信息的方式来设定或改变其一个或多个特征的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、rf、红外及其他无线介质之类的无线介质。上述的任意组合也应包含在计算机可读介质的范围内。
88.存储器112包括易失性和/或非易失性存储器形式的计算机存储介质。存储器可以是可移动的,不可移动的,或两者的组合。示例性硬件设备包括固态存储器、硬盘驱动器、光盘驱动器等。计算设备100包括从诸如存储器112或i/o组件120等各种实体读取数据的一个或多个处理器。呈现组件116向用户或其他设备呈现数据指示。示例性呈现组件包括显示设备、扬声器、打印组件、振动组件等等。
89.i/o端口118允许计算设备100逻辑上耦合至包括i/o组件120的其他设备,其中某些设备可以是内置的。说明性组件包括话筒、操纵杆、游戏手柄、圆盘式卫星天线、扫描仪、打印机、无线设备等等。
90.尽管已描述了本技术的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本技术范围的所有变更和修改。显然,本领域的技术人员可以对本技术
进行各种改动和变型而不脱离本技术的精神和范围。这样,倘若本技术的这些修改和变型属于本技术权利要求及其等同技术的范围之内,则本技术也意图包含这些改动和变型在内。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献