运算电路的制作方法

文档序号:6600924阅读:240来源:国知局
专利名称:运算电路的制作方法
技术领域
本发明,是关于由寄存器传送电平生成半导体集成电路的逻辑合成方法的改进,特别是关于在成低功耗半导体集成电路的逻辑合成方法的同时,得到低功耗半导体集成电路。
背景技术
现在半导体集成电路的设计,是把开发的半导体集成电路用寄存器传送电平(记为RTL)的功能描述来表示,用RTL描述进行逻辑合成,采用自顶向下设计,生成开发的半导体集成电路。
图29表示以前的RTL描述,图30表示利用前面RTL描述,通过逻辑合成生成的逻辑电路(半导体集成电路)。
图29的RTL描述,用明确规定的功能电平描述复数个寄存器间的数据传送。在图中RTL的描述中,r1、r2、r3、r4是寄存器,func1、func2、func3、func4是前述寄存器间的组合电路的功能描述,assigh表达式和always式是描述各个寄存器和各个组合之间的连接关系。
由图29的RTL描述合成逻辑时,还要看面积或速度的制约条件如何,用面积和速度的综合曲线决定电路。
在用前面RTL描述生成图30表示的逻辑电路中101,103,105及107是在前面RTL描述中指明的寄存器r1、r2、r3、r4通过逻辑合成变换的双稳电路,直接对应于在图29的RTL描述中指明的寄存器r1、r2、r3、r4。108是时钟脉冲缓冲器,100、102、104及106是对应在图29的RTL描述的func1、func2、func3及func4的组合电路。组合电路100、102、104及106是从图29的RTL功能描述,在面积和速度综合曲线上被变换的一个电路。
此处,半导体集成电路的功率消耗P是通过工作频率f、负载容量C和电压V间的表达[式1]表示。因此,降低半导体集成电路的消耗功率有降低工作频率、降低负载容量或电压的三种方法,降低电压源电压效果最大。P=f×C×V2可是,设定低电压源电压,使得构成逻辑电路的大多数路径具有最大延迟时间,也就增大了关键路径的延迟时间。
因此,例如在日本特许公报5~299624公布的技术,即是把多数逻辑门要中对低速动作逻辑门由低电压源电压驱动,对于其他高速动作的逻辑门用高电压源电压驱动,其他逻辑门用低电压源电压驱动,这样,可以因整个半导体集成电路大多数逻辑门使用低电压源电压引起的关键路径延迟时间增大,目的是降低功率消耗。可是这样考虑将产生如下缺点。
上述缺点下边详细叙述。在上述从用低电压源电压驱动低速动作的逻辑门,向用高电压源电压驱动的高速动作逻辑门传送数据的情况,必须设置电平变换电路,例如在日本特许公报5~67963中公开的那样,在那两个逻辑门之间设置把由低电压源电压驱动的逻辑门输出电平变高的电平变换电路。可是,在图30中表示的是各种组合电路,例如,在图31或图32表示的是由多数逻辑门构成的电路,假定在各图上的组合电路关键路径用粗线表示路径,各图中用符号0表示将关键路径用高电压源电压驱动的位置(在图31中8个位置,图32中有12个位置)判断这些位置是否必须配电平变换电路。在高度集成的半导体集成电路中,组合电路的数量极大,构成各个组合电路的逻辑门数极多。因此,在这样高度集成的半导体集成电路中,在一个组合电路上具有关键路径的每一个要求电平变换电路的位置数变多,还有,因为具有关键路径的组合电路数多,使得半导体集成电路的整体要求电平变换电路位置的数量骤增。其结果是在高度集成半导体集成电路的设计上,虽然可以用限定一部分组合电路判断要求电平变换的位置和配置,可是对半导体集成电路整体的电平变换电路配置位置的判断相当复杂,而且需要很长时间,缺点是设计困难。

发明内容
本发明的目的在于提供一种运算电路,是低功耗的半导体集成电路,并且是无增大关键路径延迟时间的低功耗半导体集成电路。
为了达到上述目的,本发明着眼以下几点。第一点,通过在图30中表示的半导体集成电路,因为由多个寄存器和在各个寄存器之间配置的多数个组合电路组成,在寄存器配置电平变换电路,则在复数个组合电路的内部各处,也就是当用高电压源电压驱动关键路径的场合需要有电平变换电路的多个位置上,不必分别配置电平变换电路,减少电平变换电路配置的位置数量。第二点,通过上述在寄存器配置电平变换电路,在传送电平变换电路数据的组合电路中,即使组合电路的全部用高电压源的电压驱动,在半导体集成电路中具有关键路径逻辑门的数量,根据统计占构成半导体集成电路逻辑门数的约5%左右,具有关键路径组合电路占全部组合电路的比例就更小,因此,把全部具有关键路径的组合电路用高电压源电压驱动也不会引起功耗增加。第三点,关键路径的最大延迟时间要限制在设计上限延迟时间以下是十分重要的,因为即使不是全部具有关键路径的组合电路用高电压源电压驱动,仅是其一部分用高电压源电压驱动,也可缩小了关键路径的最大延迟时间,可以限制在设计上限延迟时间值以下,可以着眼于抑制微小的功耗的增大。
从上述出发点,本发明的原则只在寄存器处配置电平变换电路,仅对具有关键路径的组合电路部分用高电压源电压驱动。
本发明运算电路特点,把配置在一排规定个数的运算元件作为一段,把在这一排运算元件分成复数段,最前段的运算元件是从外部接收信号,中间段运算元件接收前段的输出信号,最后段的运算元件是整个运算电路的运算结果输出部分,最后段运算元件用高电压源作电压源,除了最后段运算元件之外的运算元件用低电压源供电,在最后的运算元件段和它的前段的运算元件之间,配置由低电平信号到高电平信号的电平变换电路。
由以上特点构成的本发明主要作用,半导体集成电路由多数寄存器、并且在复数寄存器之间分别配置一个组合电路构成,组合电路里的一部分组合电路具有关键路径,在具有关键路径组合电路的前段的寄存器,也就是向这个组合电路传送数据的那个寄存器配置有电平变换电路,只对具有关键路径的组合电路的一部分用高电压源驱动,其余部分用低电压源驱动。没有关键路径的组合电路用低电压源驱动。
在此,因为具有关键路径组合电路的一部分用高电压源供电,所以就能控制关键路径的延迟时间不达到设计上允许的延迟上限值。还有,因为在具有关键路径组合电路的前段的寄存器配置一个电平变换电路,这与仅将关键路径用高电压源驱动情况相比,可以减少电平变换电路数量,简化了半导体集成电路设计。而且,在整个组合电路中具有关键路径组合电路只占有很少数量,因为只对很少组合电路的一部分采用高电压源驱动,所以就能抑制功耗的增大。又因为把具有关键路径组合电路的其余部分,以及没有关键路径的组合电路用低电压源驱动,所以功耗明显减少。其结果,使半导体集成电路整体低功耗化。
另外,本发明在一个组合电路中,因为是从信号输入侧顺序一个个地把组合部分进行第二组合电路合成,在一个组合电路中一部分与其余部分的界线,即一个组合电路中第一组合电路应该合成范围和第二次组合电路应该合成范围边界明确,高压电源供电的第二组合电路的个数限制在最小限度,这样一层层降低功耗。
本发明在一个组合电路中,把应该合成在第二组合电路一部分用窗口检索,把组合部分的总面积(个数)最小或延迟最小的部分设置为前述应该合成在第二组合电路的一部分,可以更进一步低功耗化或者提高处理速度。
本发明的运算电路是多输入少输出型的运算电路,因为只对最后的运算元件用高电压源驱动,这与在输入侧附近位置的复数个运算元件用高电压源驱动相比,降低了功耗。而且,因为电平变换电路只是在最后部分运算元件的前段配置,这与在输入侧附近位置的复数个运算元件的前段各自配置电平变换电路相比,使得电平变换电路个数减少。
本发明的上述目的及特征,参照附图通过以下说明将更为清楚,这些附图表示的是本发明的实施例。


图1是图象处理系统梗概构成图,图2是半导体芯片梗概构成图,图3表示在本发明的第一个实施例中的半导体集成电路的复数个寄存器及复数个组合电路的连接关系,图4表示没有电平变换电路的双稳电路构成图,图5表示有电平变换电路的双稳电路构成图,图6(a)表示电平变换电路的具体构成,图6(b)表示同类电平变换电路具体的构成图,图7是没有电平变换电路锁存电路的构成图,图8是有电平变换电路锁存电路的构成图,图9表示逻辑合成装置的全部梗概构成图,图10表示硬件描述语言图,图11表示主要清单,图12表示逻辑电路图,图13是表示本发明的第一个实施例的半导体集成电路的逻辑合成方法,图14表示单元程序库的表,图15表示半导体集成电路的一个部分,图16表示把半导体集成电路的一部分变更了的电路图,图17表示寄存器传送电平的描述,图18表示在没有进行逻辑合成情况下修正了的寄存器传送电平的描述,图19(a)表示用本发明的第一个实施例来说明逻辑合成方法的第一个顺序。图19(b)是说明第二个顺序,图19(c)是说明第三顺序,图19(d)表示实施到第三顺序的结果,图19(e)表示一个提案例子,图20表示在本发明的第二个实施例的逻辑合成方法,图21表示在本发明第三个实施例的逻辑合成方法,图22表示在本发明的第四个实施例的逻辑合成方法,图23表示成为本发明的逻辑合成方法的输入功能描述,图24表示过去的逻辑合成方法的输入功能描述,图25(a)表示基本的加法器构成图,图25(b)表示由本发明的逻辑合成方法生成加法器图,图25(c)表示由一个提案例子的逻辑合成方法生成的加法器,图26表示在本发明的第五个实施例的逻辑合成方法的前半部分,图27表示在本发明的第五个实施例子的逻辑合成方法的后半部分,图28(a)表示本发明的第五个实施例的逻辑合成方法的第一个窗口内的组合部分,图28(b)表示第二个窗口内的组合部分,图28(c)表示第三个窗口的组合部分,图29表示寄存器传送电平的描述,图30表示以前的半导体集成电路的逻辑电路,图31表示在任意半导体集成电路只对关键路径用高电压源驱动情况的电平变换电路位置配置图,图32表示在另一个任意半导体集成电路只对关键路径用高电压源驱动情况的电平变换电路位置配置图,图33表示成为本发明的第六个实施例的逻辑合成方法输入描述的例子,图34表示相同实施例用逻辑合成方法生成进位保持方式的并联乘法器电路,图35(a)表示在以前半导体集成电路的信号传送延迟时间和在那个有延迟时间组合电路的个数分布例子,图35(b)表示在本发明的上述个数分布,图36表示用本发明的第七个实施例的逻辑合成方法生成半导体集成电路的构成,图37表示相同实施例的逻辑合成方法流程图,图38表示相同实施例的其他逻辑合成方法流程图,图39表示相同实施例的逻辑合成方法的执行结果,图40表示相同实施例的逻辑合成方法的更新流程图,图41(a)表示在以前半导体集成电路的信号传送延迟时间和在那些有延迟时间的组合电路的个数分布图,图41(b)表示有本发明例组合电路个数的分布图。图42表示在寄存器内部备有倒相器的构成。
具体实施例方式
以下把关于本发明所希望的各实施例按照


第一实施例图1表示具备了本发明的半导体集成电路的图象处理装置A的整体构成。图中10是把从外部输入信号进行模拟/数字变换的A/D变换器;11是公用DRAM;12是本发明的半导体集成电路,它从11取出数据或者是一边进行图象处理一边存贮数据的第一个半导体集成电路;13是控制第一个半导体集成电路12的通用控制微计算机;14是从第一个半导体集成电路12接收信号进一步进行图象处理的第二个半导体集成电路。
另外,15是外部配置高压电源,例如3V;16是外部配置低压电源,例如2V。高压电源15接在图象处理装置A的高压配线17,低压电源16接在低压配线18。为了降低图象处理装置A功耗,低压电源作为第一和第二个半导体集成电路12、14使用,低压配线18仅供给第一和第二个半导体集成电路12、14。高压配线17供给公用电路10、11、13。10至14间的各电路接口为高电压,高压配线也供给图象处理用的两个半导体集成电路12、14。
上述低压电源16即使把高压配线17,用内部晶体管分压作为内部低压电源也很好。因为它的构成已被记载在特开平4~96369号公报,此处从略。这种情况,不要在外部配置低压电源16。
在图2表示图象处理用的第一个半导体集成电路12的内部构成。图中,在芯片20的外围配置复数个输入/输出焊接点21,除了输入/输出21的配置区域是内部芯片部分22,在内部芯片部分22设置了5个功能块A~E。功能块A~D是进行各自相异的运算处理的运算处理电路,功能块E是ROM、RAM等小容量的存贮单元。
在本发明在图象处理用的第一个半导体集成电路12内部芯片22内,由存储单元构成功能块E的方式,对功能块A~D也适用。
图3表示的是第一个半导体集成电路12的任意一个功能块(如A)的逻辑电路图。
图3的功能块(半导体集成电路的一部分)是由图29的RTL描述进行了逻辑合成的逻辑电路。图中2、4、6及8分别是用图29的RTL描述的寄存器r1、r2、r3、r4构成的双稳电路。寄存器r1~r4是构成计算机流水线处理的一个部分,它适用于各种寄存器。还有1、3、5及7是用图29的RTL描述构成组合电路func1、func2、func3及func4,这位于寄存器r1~r4之间或是在组合电路的前段。为了简化图3说明,虽然各个组合电路的输出只向下段的双稳电路输入,但是有时也将信号传送到其他组合电路。
上述双稳电路2、6及8的电源是由2V低压电源16供电属于2V系列电源,双稳电路4是用2V低压电源16及3V高压电源15作为电源属于2V/3V系列电源。2V/3V系列电源的双稳电路4有后面要叙述的电平变换电路,2V系列电源双稳电路2、6及8没有电平变换电路。另外,组合电路1、3及7用2V的低压电源16作电源是由2V系列组合电路(第一组合电路)构成,组合电路5因为要求高速动作,所以它的前部分以3V高压电源15作电源,由3V系列组合电路(第二组合电路)构成,那后半部分以2V低压电源16作电源,由2V系列组合电路(第一组合电路)构成。
再有,9以2V低压电源16作电源是2V系列的时钟缓冲器,把时钟供给2、4、6、8四个双稳电路(触发器)。
图4表示没有电平变换电路的2V系列双稳电路2、6、8的构成。图中30是一个接收外部信号D主锁存器,31是在主锁存器30的输出侧直接相接有两互补信号输出的从属锁存器,由主锁存器30及从属锁存器31构成数据暂时存贮36。锁存器30和31内部有各自的反相器34a、34b。32是接在从属锁存器输出侧的输出缓冲器,33是从外部输入时钟CLk生成互补的内部时钟Ck、NCk的内部时钟产生电路,30~33电路是以2V低压电源16作电源的2V系列电源。
图5表示有2V/3V系列电源电平变换电路的双稳电路4的构成。图中双稳电路4有在图4中表示的2V系列电源的主锁存器30、从属锁存器31、内部时钟产生电路33相同的结构,输出缓冲器34以3V高压电源15作电源,在从属锁存器31和输出缓冲器34之间插入电平变换电路35。电平变换电路35是2V/3V系列电源,虽然从属锁存器的互补信号间的电位差是2V低电压,但是,它有把互补低电压信号变换成互补的高电压信号(3V)输出信号功能。
把电平变换电路35的具体构成表示在图6(a)及图6(b)中。在图6(a)的电平变换电路35中,40及41是PMOS型晶体管,42及43是NMOS型晶体管,一边是PMOS型晶体管40和NMOS型晶体管42的串联,另一边是PMOS型晶体管41和NMOS型晶体管42的串联两边的串联电路分别配置在3V高压电源和地之间。一边的PMOS型晶体管41的栅极接到NMOS型晶体管42漏级。互补的输出分别从NMOS型晶体管42、43的漏极取出。
上述结构中PMOS型晶体管40和NMOS型晶体管42,PMOS型晶体管41和NMOS型晶体管43恰好是各自倒相功能。也就是说,由图5的从属锁存器31的互补输出一边的在NMOS型晶体管43的栅极,供给2V电压,相对的另一边NMOS型晶体管42的栅极,供给0V电压,使得一边NMOS型晶体管43导通,而另一边NMOS型晶体管42截止,伴随着PMOS型晶体管40变为导通和PMOS型晶体管41变为截止,所以使得一边的NMOS型晶体管42的漏极按到3V,而另一边的NMOS型晶体管43的漏极接地,得到3V高电位差的互补输出信号。
在图6(a)中,从3V高电压源15向2V低电压源16没有穿透电流,而从3V高电压源15向OV(接地)也没有穿透电流,这样就可以把图5的从属锁存器31的互补输出2V低电压电平变换到3V高电压。
图6(b)表示的是另一种具体的电平变换电路35’的构成,在电平变换电路35’中用两个CMOS型倒相器45、46,代替电平变换电路35中的两个NMOS型晶体管42、43。这两个倒相器45、46中一个由PMOS型晶体管47与NMOS型晶体管48串接,另一个由PMOS型晶体管49与NMOS型晶体管50串接来构成。图5的从属锁存器31的互补输出信号,接到两个CMOS型倒相器45、46的输入,就是接到串接的PMOS型和NMOS型两个晶体管47和48、49和50的两个栅极。CMOS型倒相器45的输出端,也就是从PMOS型晶体管47和NMOS型晶体管48的连接部分引出,而不是在CMOS倒相器45连接到PMOS型晶休管41的栅极引出,另一个CMOS倒相器46的输出端,也不是在PMOS型晶体4的栅极引出。两个CMOS倒相器45、46的输出是电平变换电路35’的互补输出信号。
以上结构电路使得没有从3V高压电源15向2V低压电源的穿透电流,也没有从3V高压电源向地的穿透电流,就可以把图5的从属锁存器31的互补的2V输出电平变换到3V高压电压输出。另外,还抑制构成CMOS型倒相器45、46的PMOS型晶体管在过渡状态,从3V高电压向地的穿透电流。
按照以上说明分析图3的半导体集成电路,在双稳电路2的输入端和输出端有2V系列电源的组合电路1、3,它是用2V系列电源构成;在双稳电路4的输入端有2V系列电源的组合电路3,在输出端有2V/3V系列电源的组合电路5,它是由2V/3V系列电源构成;在双稳电路6的输出端有2V/3V系列电源的组合电路5,在输出端有2V系列电源的组合电路7,它是用2V系列电源构成。
虽然以上说明了寄存器r1、r2、r3、r4是由双稳电路构成,但是,由锁存电路来代替这个双稳电路为宜。
图7及图8表示了锁存电路的具体构成。图7表示低电压的2V系列电源的锁存电路51。图7的锁存电路51是把一个输入信号D锁存并获得互补的输出锁存(数据暂存)52,在锁存部分输出侧接输出缓冲器53,由外部时钟G产生内部时钟NG的时钟产生电路54,与内部时钟NG输出到锁存部分52的同时,外部时钟G也到锁存部分52。电路52~54以2V的低电压16作电源;它是2V系列电源。
图8表示低电压/高电压(2V/3V)系列电源锁存电路51。图8的锁存电路51同样有以2V低电源16作电源的锁存部分52和内部时钟产生电路54,以3V高电压源15作电源的输出缓冲器55,在锁存部分52和输出缓冲器55之间插入电平变换电路56,它把2V低电压输入信号变换到3V高电压电路56,它把2V低电压输入信号变换到3V高电压电平信号。这个电平变换电路56的具体构成与图6(a)和(b)表示的相同。
接着,把图3所表示的半导体集成电路,作为基本的逻辑单元接续信息进行逻辑合成,参照图9的逻辑合成装置及图13的流程图说明逻辑合成的算法。
图9表示逻辑合成装置60的梗概构成。图中61是读取部分、62是解释部分、63是最优化处理部分、64是单元变换部分、65是定时检验部分、67是输出部分。
读取部分61的输入是图29或者图10所表示的RTL描述(硬件描述语言);在RTL描述基础上把寄存器间的信号传送关系,图11表示了用逻辑单元的接续信息电平明确规定的线路清单;还有如图12表示的把线路清单图形化了的逻辑电路图输入。
解释部分62把从读取部分61读入的RTL描述变换成状态迁移图、布尔代数表、定时图、存贮类型、比特数以及字数等存贮格式。
最优化处理部分63有把获得的状态迁移图最优化的状态迁移图最优化处理部分63a;对应被优化的状态迁移图,生成电路的状态机生成部分63b;编译获得的定时图的定时图编译部分63c;在获得的存贮格式基础上合成存贮的存贮合成部分63d;在被编译的定时图和被合成了的存贮器基础上,有合成接口部分63e。另外最优化处理部分63有生成最优化的逻辑连接信息的逻辑最优化部分63f,在向读取部分61输入RTL描述的情况时,在获得了上述的状态机、布尔代数表、和被合成的接口部分的基础上,进行逻辑最优化,生成最优化的逻辑单元的连接信息,在向读取部分61输入线路清单或逻辑电路的情况时,把这个输入线路清单或逻辑电路图的逻辑最优化。
输出部分67把线路清单或者把这个线路清单被图形化的逻辑电路图向外部输出,如图3表示的逻辑电路。
本发明在图9上还有单元变换部分64。由单元变换部分64进行单元变换处理,也就是从逻辑最优化部分63f得到单元连接信息基础上,逻辑合成如图3表示的半导体集成电路,结合图13的流程图说明它的算法。再者,图13是本发明的特征部分描述的主体。
起动图13的流程图,在步骤S1用HDL(硬件描述语言)进行功能设计后,在步骤S2输入上述HDL描述,在输入HDL描述基础上,从在图14表示逻辑单元程序单的表中,选择高电压(3V)的逻辑单元程序库(library)(以下记为lib),由3V程序库变换组合电路。
接下,在步骤S3用上述变换计算出组合电路的最大延迟时间后,判断这个最大延迟时间是否超过设计延迟的上限值,在超过延迟上限值时,在步骤S4修正上述输入的HDL描述或者重新功能设计,作成新的HDL描述。例如在图15表示的一部分电路中,组合电路f位于寄存器r1和r2之间,组合电路f的功能分成功能A和功能B的情况下,在这个组合电路f的最大延迟时间超过延迟时间上限时,象图16表示那样,把上述组合电路f分割成f1和f2,组合电路f1具有功能A,组合电路f2具有功能B,在组合电路f1和f2之间配置另一个用途的一个寄存器,合成r1~r3三个寄存器,图17表示HDL描述的功能描述,图18表示修正的功能描述。
此后,在步骤S5~S9(第一步骤)中,各组合电路的信号传送延迟时间,在设计的延迟时间上限值以下的组合电路,把2V低压电流16作电源在第一组合电路上合成,相反,信号传送延迟时间超过设计上限延迟时间的组合电路,把组合电路的前部用3V高压电源15作电源在第二组合电路上合成,把组合电路后部分用2V低压电源16作电源在第二组合电路上合成。
上述的第一步骤,在本实施例中实施步骤如下,开始在步骤S5把全部组合电路由2V的低电压系列组合电路合成(第一组合电路),其后,在步骤S6计算出上述合成的各组合电路每个信号传送延迟时间。然后,判断计算出的延迟时间是否超过设计上限值,超过设计上限值时,由步骤S8把超过设计上限延迟时间的全部组合电路取出,被取出的各个组合电路进行步骤S8、S9的合成操作。也就是说,把被取出的组合电路的每个规定成数个(m个)组合部分,在步骤S8把n个(开始=1)组合部分用高电压系列(3V)的组合电路(第二组合电路)再合成,在步骤S9把再合成的组合电路最大延迟时间与设计上限值比较,比较结果超过设计上限时,在信号传送方向的下个位置的组合部分(n=2的组合部分)用高电压系列(3V)的组合电路(第二组合电路)再合成。以上操作重复进行直到再合成后的组合电路最大延迟时间变成设计上限值以下。
接下,在步骤S10~S12(第二步骤)进行如下处理。在步骤S10,检查是否有2V系列组合电路的输出是3V系列组合电路输入的那种混合存在的组合电路,在有混合存在的组合电路情况,在步骤S11把有混合存在的2V系列组合电路全部取出后,在步骤S12。将取出的2V系列组合电路用3V程序库组合电路(第二组合电路)置换,重新变换。这个重新变换之后,根据步骤S10,再次重复步骤S11、S12的操作。这时要考虑在步骤S12状态下,因为向3V系列组合电路的重新变换,引起2V系列组合电路和3V组合电路又产生新的混合存在情况。
此后,在寄存器的输入侧和输出侧位置的组合电路的电压系列,因为是由上述的逻辑合成决定,所以在步骤S13~S15(第三步骤)进行如下处理。也就是说,在步骤S13对各个寄存器检查是否有由低压(2V)输入高压(3V)输出的电平变换电路,没有电平变换的情况,在步骤S14将没有电平变换的寄存器,变换成图4的2V系列双稳电路或图7的2V系列锁存电路,在有电平变换电路的情况,在步骤S15将那个电平变换寄存器(双稳电路或锁存电路),变换成图5的2V/3V系列的双稳电路或图8的2V/3V系列的锁存电路。
因此,如果图13所示的逻辑合成方法的算法,全部组合电路由低电压(2)组合电路(第一组合电路)变换情况,如图19(a)表示的那样,在所定的两个寄存器中间位置,一个组合电路70的信号传送延迟时间超过了设计延迟上限时,象图19(b)表示那样,在那个组合电路内部的前面部分位置,用阴影表示第一组合部分70a和第二组合部分70b,把70a和70b变换成3V组合电路后,形成2V系列组合部输出3V系列组合部分的输入,在2V系列组合部分和3V系列组合部分混合存在的情况,象图19(c)表示那样,把那个混合存在的2V系列组合电路71用图中的阴影表示组合部分71a,变换成3V系列组合部分上。继续重复上述变换,判断那里是否产生新的混合存在的2V系列组合部分和3V系列组合部分,虽然图19(c)那里没有产生新的混合存在,因为双稳电路由低电压(2V)输入,要在高电压(3V)上输出,所以必须要有电平变换电路,如图19(d)所示,图中用阴影表示了那个有电平变换的双稳电路,这种双稳电路变换在2V/3V系列双稳电路上。
因而,最终得到图19(d)表示的半导体集成电路,图19(e)表示信号传送延迟时间超过设计上限时,将组合电路70的全部组合部分由3V系列组合部分进行变换时,在变换3V系列组合部分可以减少组合部分的个数,因此,可以降低功耗。
第二个实施例用图20表示本发明的第二个实施例。本实施例是用二分法检索组合电路的前部和后部的边界,也就是用二分法检索,来判断应该在3V系列组合电路上合成的组合部分,还是应该在2V系列组合电路上合成的组合部分的那个边界。
也就是说,在步骤S18~S27(第一步骤),检查用二分法检索组合电路的前部和后部的边界,把前部用3V的高压电流15作电源合成在第二组合电路上,把后部用2V的低压电源16作电源合成在第一组合电路上。
第一步骤的详细说明,在步骤S18,开始把全部组合电路由低压电(2V)系列组合电路变换后,用步骤S19对各组合电路进行判断,是否有那个最大延迟时间超过设计限值,有超过设计上限的情况时,由步骤S20取出全部超过上限的组合电路后,对被取出的全部组合电路进行步骤S21~S27的操作。首先,在步骤S21应该由2V系列组合电路变换的数个组合部分的内部,从最初的最后位置的组合部分的序号分别为ks,ke,序号初始设定为ks=1、ke=m(m是构成组合电路的组合部分的个数)、其后,用步骤S22判断是否ke~ks=1,ke~ks=1时不能对分了,当ke~ks≠1时,要用步骤S23计算中值k,k=(ks+ke)/2在步骤S24将第1~第k序号的组合部分由3V系列程序库变换;将第k+1~第m序号的组合部分用2V系程序库变换。
此后,算出上述变换后的组合电路最大延迟时间,在步骤S25,计算的最大延迟时间和设计上限值进行比较,在超过设计上限值情况下,应该把第k+1~第m号码的组合部分再次对分,在步骤S26把开始的序号ks换成计算出的中间值k(ks=k);另外第1~第k序号的组合部分最大延迟时间在设计限值以下时还应再次对分,在步骤S27将ke序号换成中间值k(ke=k);各自返回到步骤S22。然后,在步骤S22假定ke~ks=1,就定为由二分法检索到组合电路的前部和后部的边界,前述到第二步骤。
因为第二步骤和第三步骤同是上述的第一个实施例,使用第一个实施例的图13的流程图,进行步骤和序号相同,所以说明从略。
因而,在本实施例假定在20个段逻辑门的组合电路中有关键路径情况,开始是沿信号流将前10段合成3V程序库,后10段合成2V程序库后,检查最大延迟时间>上限值的条件,如果是大于上限值,将后10段再次对分,连接到终点的5段再次合成在2V程序库上,其他再次合成在3V程序库上。但是,如果是小于上限值情况,要对前10段再次对分,把连接到起始点的前5段再次合成在3V程序库上,其他再次合成2V程序库上。重新检查最大延迟时间>上限值的条件,重复这个操作过程。使用二分法检索,因为用数次再合成处理就可以检索到上述边界,所以处理速度快。
第三个实施例图21表示本发明的第三个实施例。在本实施例大概的估算组合电路构成前部和后部的边界。
起动图21后,在步骤S1用DHL进行了功能设计后,在步骤S2,上述HDL描述的基础上由高电压(3V)程序库组合电路变换的情况,估算各组合电路的信号传送延迟时间,在步骤S3判断这个估算结果是否超过设计上限值,在超过设计上限值情况下,在步骤S4修正在图15或图18表示的那样输入的HDL描述,并把功能设计作成新的HDL描述。
此后,在步骤S30~S37(第一步骤)计算组合电路的前部和后部的大概边界,把那个前部用高电压(3V)15作电源,合成在第二组合电路上,它的后部用低电压16作电源,合成在第一组合电路上。
第一步骤的详细说明,首先在步骤S30,把全部组合电路由2V程序库变换的情况,估算各组合电路的信号传送延迟时间,在步骤S31将各延迟时间与设计上限延迟时间比较,在设计上限值以下时,在步骤S22把上限值以下的组合电路电2V程序库变换。
另一方面,在延迟时间超过上限值的情况,在步骤S33,取出全部超过上限值的组合电路,对各个组合电路进行步骤S22、S34~S37的操作。首先,在步骤S34,上限值除以延迟时间估算结果,由这个除的结果计算出存在3V程序库和2V程序库比值P,在构成组合电路的逻辑门(组合部分)段的数上乘以比值P,计算出3V程序库的变换范围,也就是计算出的各逻辑门是否有3V程序库的变换范围,如果有3V程序库变换的情况,在步骤S27将那个逻辑门用3V程序库变换,若是没有3V程序库变换情况,在步骤S22将那个逻辑门用2V程序库变换。
因为第二步骤和第三步骤与上述第一个实施例相同,所以附加了第一个实施例的图13的相同的步骤和序号,说明省略。
因为,在本实施例中,例如3V程序库的延迟为“1”时,2V程序库延迟是1.8,假定设计的延迟时间上限值是50ns,在关键路径的延迟是90ns情况下,全部关键路径作为3V程序库合成范围。在关键路径的延迟等于50ns情况下,关键路径不是3V程序库的合成范围,全部组合部分用2V程序库合成。但是,关键路径的延迟是60ns情况下,从关键路径起点到1/4的范围变成前部,这个前部是3V程序库的构成范围,若关键路径的延迟是70ns情况,从路径起点到1/2的范围变成前部,用3V程序库合成,关键路径的延迟是80ns情况,从关键路径起点到3/4的范围变成前部用3V程序库合成。
在本实施例中,因为可以概算出用3V程序库合成的组合部分和用2V程序库合成的组合部分的那个边界(前部和后部边界),所以逻辑合成的处理速度非常快。但是,算出的边界精度不高。通常在逻辑合成时,因为在一次逻辑合成后,还要在合成结果的基础上进行再合成,进一步电路的最优化,所以用来实施例最初的逻辑合成以后,用第一或第二实施例进行再次合成,以求提高逻辑合成的处理速度,提高边界的计算精度,限制由高电压(3V)程序库合成的组合部的个数最小限度,可以更进一步降低功耗。
第四个实施例图22表示本发明的第四个实施例。本实施例在构成组合电路的数个组合部分内,把确定用3V程序库变换的组合部分,用低功耗观点可以预先判断合成半导体集成电路优良情况,按照指定预先确定的组合部分由3V程序库进行变换。
图22的逻辑合成方法是在第一步骤(步骤S5~S9)的前面阶段增加步骤S40~S45步骤。这个增加的步骤,首先在步骤S40,判断是否有逻辑设计者指定所定的组合部分用3V程序库变换,属于有指定的情况,在步骤S41指定把所定的组合部分在HDL进行3V程序库变换。例如,图24表示的是对8个输入数据a,b,d,c,e,f,g,h相加的加法器的功能描述,图23表示的是指定在最后位置加法元件由3V程序库变换。图23的[//low-power-synthesis-high-voltage]是指定部。
此后,是输入功能描述,在步骤S42判断有无上述那样的组合部分指定,在没有指定的情况,全部组合部分由2V程序库变换,在有指定的情况;用步骤S43把被指定的组合部分由3V程序库变换。
其次,用步骤S44判断有没有2V系列组合部分的输出是3V系列组合部分的输入,在那种2V系列组合部分和3V系列组合部分混合存在情况,在有混合存在情况的范围内,用步骤S45,在那个混合存在的3V系列组合部分的前段插入电平变换电路。插入的电平变换电路使用图6(a)表示的电平变换电路35,或者是图6(b)表示的电平变换电路35’。
第一步骤(步骤S5-S9)、第二步骤(步骤S10-S12)以及第三步骤(步骤S13-S15),因为是上述第一个实施例相同的图13的流程图,所以带有相同的步骤和符号,它的说明从略。但是,在第二步骤的步骤S10时,没有混合存在情况下,用步骤S50判断3V系列组合部分和其他3V系列组合部分之间是否有电平变换电路,在有电平变换电路的情况,再用步骤S51删除那个电平变换电路。由第二步骤的再合成处理2V系列组合部分被3V系列组合部分置换时,因为假设含有电平变换电路。
因此,在本实施例,图24用通常(没有指定由3V程序库变换所定的组合部分)功能描述图13的逻辑合成方法(第一实施例),图25(a)表示有7个加法元件(运算元件)的加法器,图25(c)表示在前段位置由3V程序库合成的4个加法元件,把前段位置的8个寄存器由2V/3V系列双稳电路变换,在本实施例中,图25(b)附加了阴影表示,在最后段位置只有用3V程序库合成的加法元件,它的前段配置中电平变换电路,本实施例用3V程序库合成减少了组合部分的个数,目的是可以降低功耗。
第五个实施例图26至图28表示本发明的第五个实施例,在本实施例,信号传送延迟时间超过上限值的组合电路内,把3V高压电源15作电源合成在第二组合电路的部分,不限制在前部,而是从面积和处理速度的观点进行最佳选择。
图26表示第三个实施例的图21流程图的前半部分,图27表示同一流程图的后半部分,把流程图的步骤35变更在图2b的步骤S60-S69,在流程图的步骤S10和步骤S13之间增加图27的步骤S70和S71。
在图26中,步骤S34是在信号传送延迟时间的估算结果和设计上的延迟上的限值基础上,计算出一个组合电路中的高电压(3V)程序库和低电压(2V)程序库的比值P后,在步骤60把那个组合电路的全部门的段数乘以比值P,计算出那个组合电路中用高电压(3V)程序库变换的门的段数(高电压程序库变换范围)。继续用步骤S61,把上述高压电压(3V)程序库的变换范围(所定的尺寸)作为检索范围(窗口),计算出一个组合电路中窗口的个数n后,用步骤S62首先设定变量k的初始值(k=0)后,在步骤S63以后的步骤评价n个窗口中的每个窗口。也就是,由步骤S62设定k=k+1,步骤64设定第一个窗口内的组合部分,由步骤S65对于这个窗口内的组合部分的面积及延迟进行评价。此后,在步骤S66把变量k和窗口个数n进行评价。此后,在步骤S66把变量k和窗口个数n进行比较,在k<n时,返回到步骤S63,依次地对第2-第n个窗口内的组合部分的总面积和延迟进行评价。在步骤S67对所有的窗口进行选择,选择窗口内的组合部分的总面积最小或延迟最小的那个窗口,在步骤S68,对被选择的窗口不是第一个窗口情况,用步骤S69在被选择窗口的前段插入电平变换电路。
图27的步骤S10中,对于没有2V系列组合部分和3V系列组合部分混合存在的情况,在步骤S70判断在3V系列组合部分和其他3V系列组合部分之间,是否有电平变换电路,在有电平变换电路情况,按照第二步骤的再合成处理,因为在3V系列组合部分和其他3V系列组合部分之间含有电平变换电路,所以增加步骤S71来删除那个电平变换电路。
因此,本实施例具有如下效果,也就是在图28表示的组合电路(这是在图25表示的有7个加法元件的加法器)用图中的(a)、(b)及(c)表示分别用于变换第1个、第2个及第3个窗口,因为图28(c)的第3个窗口加法元件总面积(个数)最少,所以这个范围用3V程序库变换。因经,采用3V程序库变换可以使加法元件个数最少,可进一步降低功耗。
第六个实施例图33及图34表示本发明的第六个实施例。在第四个实施例中,在加法器的最后段位置,尽管把组合部分由3V程序库合成代替,在保留进位方式的并行乘法器的最后段位置组合部分是由3V程序库合成。
图33是在保留进位方式并行乘法器的最后段位置,表示含有指定的应该由3V程序库合成组合部分的功能描述,这个功能描述是逻辑合成装置60的读取部分61的输入。
图34表示用读取部分61输入的功能描述,被逻辑合成了的保留进位方式的并行乘法器。图中的并行乘法器是把复数个逻辑与电路90、复数个半加法器HA及全加法器FA配置成阵列状态,在最后段配置成多比特的加法器91,这个最后段的全加法器91由3V程序库合成,其他用2V程序库合成。但是,在最后段的全加法器91的前面配置了16个电平变换电路92。各个电平变换电路92把从前段输入信号电平(2V)变换成高电平(3V)输出。
因此,在本实施例,因为是保留进位方式的并行乘法器,所以在电路中大部分是加法器的阵列,就是普通的加法器,但是最后段的加法器91必须是高速的。为了提高速度,通常是在最后段的加法器使用先行进位加法器,所以这个最后段加法器91是高电压(3V)系列,由哪种在电路的规模和功率消耗上均优的电路来生成,可以生成比以前速度高的乘法器。
在本实施例中,虽然说明的是保留进位方式的并行乘法器,本发明的运算电路同样可以适用于减法器、除法器、累积加法器、累积减法器、累积乘法器以及累积除法器等。
再者,虽然以上说明适用于芯片20的内部芯片22内形成功能块A,同样也适用于功能块B-D,除了存储单元部分E以外,在功能块A-D的相互之间也同样适用本发明。
因此,根据本实施例的逻辑合成方法,在有关键路径构成组合电路的组合部分内,只对一部分组合用3V的高压电源,因为在位于组合电路前面的寄存器内配置了电平变换电路,所以在有关键路径组合电路内,只对关键路径用高电压源驱动的情况,就要在有关键路径组合电路内配置数个电平变换电路,就需对每个配置电平变换电路位置判断那个是一定不能共用的,可以减少必须的电平变换电路个数,使得半导体集成电路的设计变得非常容易。并且,有关键路径组合电路的个数与备置在半导体集成电路上的组合电路数量相比,有关键路径组合电路数量极少,而且对构成有关键路径组合电路的组合部分内,也仅仅是对一部分组合用3V的高压源15驱动,消耗电流只有极少的增加,另外,对没有关键路径的组合电路全部用2V低电压源16驱动,减少整个半导体集成电路消耗电流,降低功耗。
本实施例的半导体集成电路图3和以前的半导体集成电路图30相比较,在以前的半导体集成电路图30中,各个组合电路100、102、104及106的信号传送延迟时间,图中分别表示为6ns、12ns、14.4ns、8ns,从双稳电路的时钟输入时到数据输出时的延迟时间为2ns,因为组合电路最大延迟时间是104电路的14.4ns,所以,图30电路的最高工作频率为1000/(2+14.4)=60.98MHZ另外,在本实施例的半导体集成电路图3中,有关键路径组合电路5,因为它的前部用高电压(3V)系列,后部用低电压(2V)系列分别构成,所以它的延迟时间是设计上的上限值(例如20ns)。没有关键路径组合电路1、3和7的延迟时间,因为将3V的高电压降低到2V的低电压,使得逻辑单元的延迟随着变大。另外,假定图3的半导体集成电路,2V的低电压源是3V的高电压源的延迟时间的1.5倍。在没有关键路径的组合电路1、3、7中,延迟时间最大的是组合电路3,延迟时间为18ns。
备置2V低电压源16和3V高电压源15的结果,使有关键路径的组合电路5的延迟变成18ns(假定是相对3V高电压源15驱动的1.25倍)。从双稳电路时钟输入时到数据输出时各个信号传送延迟时间是2ns,本实施例的半导体集成电路的最高工作频率为1000/(2+18)=50MHZ最大延迟时间只要在设计上限值以下,就没有问题。也就是说,没有关键路径组合电路1、3和7用2V低电压流16驱动,有关键路径组合电路5用3V高电压源15和2V低电压源16驱动,可以满足设计上的最高工作频率的要求。
图35是表示把20ns作为设计上的上限延迟时间,在以前半导体集成电路和本发明的半导体集成电路,从双稳电路的时钟输入时到下一段的双稳电路的数据输入时的延迟,也就是表示寄存器和组合电路总的信号传送延迟时间的分布。图(a)是以前的3V系列半导体集成电路的延迟分布,图(b)是本实施例的2V系列及3V系列混合存在的半导体集成电路的延迟分布。对于以前的半导体集成电路只是把电源电压从3V系列变成2V系列,最大延迟时间从20ns变到30ns,关键路径的延迟时间尽管超过设计上限值20ns,可是在图3的本实施例的半导体集成电路中,对于在2V系列电压合成的组合电路的延迟时间超过20ns,有关键路径组合电路的每一个,因为只将关键路径的组合部分变更为3V的高电压源系列,其余组合部分和其他没有关键路径的组合电路用2V低电压源系列,就可以满足设计上限值20ns。图(b)表示这种情况延迟的分布。
然后,比较以前的半导体集成电路和本发明的半导体集成电路的电路规模。
把以前的半导体集成电路的电路规模作为S,在半导体集成电路中双稳电路的比例占20%,在全部双稳电路中有电平变换电路的双稳电路占比例的10%,由本发明的双稳电路构成的是2V/3V系列,和以前的双稳电路构成不同,面积增加作为10%,本发明的半导体集成电路的电路规模由下式表示S×0.8+S×0.8+S×1.1×0.02=S×1.002电路规模的增加限于0.2%。
另外,在上述条件下,在全部双稳电路中把有电平变换电路的双稳电路占比例的5%,本发明的半导体集成电路规模由下式表示S×0.8+S×0.19+S×1.1×0.01=S×1.001电路规模的增加限于0.1%。
第七个实施例图36到图39表示本发明的第七个实施例。在以上的各个实施例中,在用高电压(3V)系列的组合电路情况,在组合电路前面的寄存器有电平变换电路。设置这个电平变换的理由,例如,在图4表示构成的双稳电路(寄存器)2的输出缓冲器32的倒相器34c和34d,是为了防止贯穿电流的流通。下面还要详细说明这个贯穿电流,图42是表示上述倒数相器的内部结构。图中表示在高电压(3V)电源V0和接地电源Vss之间,串联配置P沟道型和N沟道型的晶体管Tp、Tn。在两个晶体管的栅极输入信号,连接点是倒相器输出端。输入信号的高电平(“H”)是低电压源16的低电压,即2V。在输入信号为高(“H”)电平时,因为N沟道型晶体管Tn导通,所以P沟道型晶体管Tp没有完全截止,其结果是因为从高电压源15在低电压流16源有贯穿电流。
可是,高电压源15与低电压源16的电位差是P沟道型晶体管Tp的阈值电压Vt以下的情况,P沟道型晶体管Tp一定截止,没有流通的贯穿电流。因此,把上述电位差设置在P沟道型晶体管Tp的阈值电压以下,例如阈值电压Vt=0.5V,高电压源15的高电压设定3V,低电压源16的低电压设定2.7V后,就变成没有必要设置电平变换电路。本实施例是表示这种情况的例子。
在图36中表示的功能块,是把组合电路1、3、7三个组合电路用2.7V低电压作电源,用2.7V系列组合电路(第一组合电路)构成,组合电路5用3V高电压作电源,用3V系列组合电路(第二组合电路)构成。双稳电路2、4、6、8由于用2.7V低电压作电源,构成2.7V系列。具体的2.7V系列双稳电路与图4表示的结构相同,只是电源电压的不同。
图37是表示构成图36的功能块,逻辑合成方法的一个示例。在图中,在步骤S1由低电压程序库(2.7V)变换各个组合电路的情况,估算各个组合电路的信号传送时间,在步骤S2判断这个估算结果是否超过设计上限延迟时间值,延迟时间在上限值以下的组合电路,在步骤S3,那个组合电路用2.7V低电压作电源,合成在第一组合电路上,对超过延迟上限值的组合电路;在步骤S4,把那个组合电路用3V高电压作电源,合成在第二组合电路上。此后,在步骤S5,把双稳电路变换在2.7V程序库的双稳电路上。
图38表示是它的逻辑合成方法的示例。图38和图36的不同点是在开始的步骤S1,要是把全部组合电路和双稳电路变换在2.7V程序库的组合电路和双稳电路上以后,在步骤S2,判断信号传送时间超过设计的延迟时间上限值的组合电路,在步骤S4,把超过上限值的组合电路变换在3V程序库的组合电路上。所以,它的构成从略。
因此,在本实施例,图39表示在两个寄存器之间的位置,有一个组合电路70的信号传送延迟时间超过设计上限值的情况,这个组合电路的全部用3V程序库变换,如图中用阴影线表示的那样,在它的前段位置的双稳电路用3V系列双稳电路变换,而且没有电平变换电路。这时,在用上述3V程序库变换的组合电路70中,虽然有从2.7V程序库变换的组合部分71a、71b的低电压(2.7V)信号输入,因为组合电路70接收低电压的信号也能正常工作,所以组合部分71a、71b不用在3V程序库上变换。
图40是表示本实施例的变相示例。在第七个实施例,在信号传送延迟时间超过设计延迟上限的组合电路,虽然把那个组合电路的全部变换在3V程序库上,但是,只是那个部分变换在3V程序库上,3其余部分是变换在2.7V程序库上。确定哪个部位变换在3V程序库上的方法,用第五个实施例的窗口,与在图26和图27表示的方法相同。在本变相示例的图40中,因为不要电平变换电路,与表示第五个实施例的图26和图27相比,省略电平变换电路的插入(图26的步骤S68和S69)、删除电平变换电路(S70和S11)的步骤。
图41是表示本实施例的效果。从图中可以判断,设计延迟上限值作为20ns时,图41(a)表示3V的电压系列半导体集成电路的延迟分布,把上述3V的电压系列变更在2.7V的低电压系列,在图41(b)上用点划线表示它的分布,最大延迟时间从20ns变到24ns,超过设计的延迟上限值,在同图中,用实线表示本实施例的2.7V系列和3V系列混合存在的半导体集成电路的延迟分布,可以满足设计的延迟上限值。
权利要求
1.一种运算电路,把配置在一排的运算元件规定个数运算元件作为一段,这一排运算元件被配置成多数个段,最前段的运算元件从外部接收信号,除去前述最前段的运算元件,各段的运算元件,从位于前段的运算元件接受输出信号,最后段的运算元件是把运算结果向外输出,前述最后段的运算元件以高电压源作电源,除去前述最后段运算元件的运算元件以低电压源作电源,在前述最后段运算元件和某前段运算元件之间,配置以前述高电压源作电源,并且把位于前述最后段运算元件的前段的运算元件输出的低电压输出信号,电平变换成具有前述高电压源的高电压的输出信号的电平变换电路。
2.根据权利要求1所述的运算电路,其特征在于,运算电路是具有多数个加法元件的加法器。
3.根据权利要求1所述的运算电路,其特征在于,运算电路是多数个逻辑与电路和多数个加法器配置成阵列状,在最下段被配置了多比特加法器的保留进位方式的并行乘法器。
全文摘要
本发明的运算电路是多输入少输出型的运算电路,因为只对最后的运算元件用高电压源驱动,这与在输入侧附近位置的复数个运算元件用高电压源驱动相比,降低了功耗。而且,因为电平变换电路只是在最后部分运算元件的前段配置,这与在输入侧附近位置的复数个运算元件的前段各自配置电平变换电路相比,使得电平变换电路个数减少。
文档编号G06F7/52GK1430331SQ02152829
公开日2003年7月16日 申请日期2002年11月25日 优先权日1995年5月26日
发明者小原一刚 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1