CN110442884B - 一种亚阈值数字时序电路的优化方法及装置 - Google Patents
一种亚阈值数字时序电路的优化方法及装置 Download PDFInfo
- Publication number
- CN110442884B CN110442884B CN201810410992.3A CN201810410992A CN110442884B CN 110442884 B CN110442884 B CN 110442884B CN 201810410992 A CN201810410992 A CN 201810410992A CN 110442884 B CN110442884 B CN 110442884B
- Authority
- CN
- China
- Prior art keywords
- circuit
- sub
- submodule
- optimization
- trigger
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
本发明实施例公开了亚阈值数字时序电路的优化方法及装置,先将数字时序电路划分为多个子模块,每个子模块中由触发器及其前端组合逻辑电路组成,而后,根据子模块的时钟信号频率,确定所述子模块的延时约束条件,确定出所述子模块的延时约束条件,而后以子模块的延时约束条件为约束,进行相应子模块的优化,从而完成整个数字时序电路的优化。在该方法中,根据各子模块中具体电路的要求,确定各自的延时约束条件,在进行优化时,可以以子模块各自的延时约束条件为约束,进行该部分子模块的优化,这样,将约束条件精确化,进而缩小优化规模,通过局部快速优化实现亚阈值数字时序电路的优化,从而加快优化速度。
Description
技术领域
本发明涉及集成电路设计自动化(EDA)领域,尤其涉及一种亚阈值时序电路的优化方法及装置。
背景技术
亚阈值数字电路是指工作电压低于晶体管器件阈值电压的数字逻辑电路,由于电路工作在亚阈值区域,可以大幅降低电路的动态功耗和静态功耗。
正是由于器件工作在亚阈值区,器件的电流和电压成指数关系,器件尺寸的变化会导致明显的电流变化和寄生电容变化,进而明显地改变电路的电学性能。此外电路性能随PVT(Process Voltage Temperature,工艺温度电压)变化的波动较大,为了使得所设计的亚阈值数字电路具有较高的鲁棒性,亚阈值数字电路的设计优化过程中需要采用考虑PVT偏差的统计分析和优化。这会指数式地增大亚阈值数字电路的器件尺寸优化的复杂性,使得器件优化速度过程变得极为缓慢。随着亚阈值数字电路规模的加大,考虑PVT偏差的统计分析和优化与传统的随机优化算法和启发式优化算法结合在一起,无法直接应用于规模较大的亚阈值数字电路的优化,特别是无法直接应用于规模较大的亚阈值数字时序电路的优化。
发明内容
本发明提供了一种亚阈值数字时序电路的优化方法及装置,缩小亚阈值数字时序电路的优化空间,加快优化速度。
根据本发明的一个方面,一种亚阈值数字时序电路的优化方法,其特征在于,包括:
将数字时序电路划分为多个子模块,每个所述子模块由触发器及其前端组合逻辑电路组成;
根据子模块的时钟信号频率,确定所述子模块的延时约束条件,所述延时约束条件包括所述子模块中前端组合逻辑电路的延时约束条件以及触发器电路的延时约束条件;
以子模块的延时约束条件为约束,进行所述子模块的优化,以获得优化的数字时序电路。
可选地,所述以子模块的延时约束条件为约束,进行所述子模块的优化,以获得优化的数字时序电路,包括:
按照子模块在信号流路径上的流向确定各子模块的优化顺序;
按照所述优化顺序,依次对各子模块进行优化,以获得优化的数字时序电路,其中,每个所述子模块的优化包括:以子模块的延时约束条件为约束,进行所述子模块的优化。
可选地,以子模块的延时约束条件为约束,进行所述子模块的优化,以获得优化的数字时序电路,包括:
将时钟频率在预设范围内、输出驱动在预设范围内以及电路结构相同的触发器所在的子模块归属为同类子模块;
从所述同类子模块中选择一个子模块作为优化对象,其他子模块为替换模块,以所述同类子模块中最高时钟信号频率的子模块所对应的延时条件为约束,进行所述优化对象的子模块的优化;
进行所述同类子模块中的各替换模块的电路替换,每个替换模块的电路替换包括:确定所述替换模块与所述优化对象的相同电路部分,将所述替换模块中的相同电路部分替换为优化后的所述优化对象的相同电路部分;
进行所述同类子模块中各替换模块的其他电路优化,每个替换模块的其他电路优化包括:以各替换模块的延时约束条件为约束,对所述替换模块中相同电路部分之外的其他电路进行优化。
可选地,单个子模块的优化,包括:
以子模块中前端组合逻辑电路的延时约束条件为约束,进行所述子模块中前端组合逻辑电路的优化;以及,以所述子模块中触发器电路的延时约束条件为约束,进行所述子模块中触发器电路的优化。
可选地,单个子模块的优化,包括:
以所述子模块中触发器电路的延时约束条件为约束,进行所述子模块中触发器电路的优化,之后,以子模块中前端组合逻辑电路的延时约束条件为约束,进行所述子模块中前端组合逻辑电路的优化。
可选地,所述子模块中前端组合逻辑电路的延时约束条件的确定方法包括:
根据所述子模块中前端组合逻辑电路输出信号到达触发器输入端的时间的最大值需满足触发器的建立时间的要求,以及前端组合逻辑电路输出信号到达触发器输入端的时间的最小值需满足触发器的保持时间的要求,确定出所述子模块的前端组合逻辑电路延时约束条件;
所述触发器电路的延时约束条件的确定方法包括:
根据所述触发器电路的输出最大延时时间和输出最小延时时间之和与前端组合逻辑的逻辑深度、触发器电路的逻辑深度以及时序电路工作的时钟信号周期之间的关系,确定所述触发器电路的延时约束条件。
可选地,所述将数字时序电路划分为多个子模块,包括:
从亚阈值数字时序电路的逻辑门网表中确定触发器;
确定与所述触发器的数据输入端连接的组合逻辑电路;
将触发器与其对应的组合逻辑电路组成子模块,以将数字时序电路划分为多个子模块。
可选地,所述从亚阈值数字时序电路的逻辑门网表中确定触发器,包括:
在逻辑门单元库中指定触发器为特定的基本单元,亚阈值逻辑门网表中引用所述特定的基本单元的逻辑单元为触发器;或者,
根据逻辑描述,从逻辑门网表所用的单元库中确定出触发器的基本单元,在所述逻辑门网表中引用所述基本单元的逻辑单元为触发器。
可选地,所述确定与所述触发器的数据输入端连接的组合逻辑电路,包括:
根据亚阈值逻辑门网表构造有向图,从各触发器的数据输出端按照信号流方向遍历有向图直至信号流到达另一触发器的数据输入端,获得各触发器的数据输出端到另一触发器的数据输入端的所有信号通路,在所述信号通路上的逻辑门为另一触发器前的组合逻辑电路。
一种亚阈值时序电路的优化装置,包括:
子模块划分单元,用于将数字时序电路划分为多个子模块,每个所述子模块由触发器及其前端组合逻辑电路组成;
延时约束确定单元,用于根据子模块的时钟信号频率,确定所述子模块的延时约束条件,所述延时约束条件包括所述子模块中前端组合逻辑电路的延时约束条件以及触发器电路的延时约束条件;
优化单元,用于以子模块的延时约束条件为约束,进行所述子模块的优化,以获得优化的数字时序电路。
本发明实施例提供的亚阈值数字时序电路的优化方法及装置,先将数字时序电路划分为多个子模块,每个子模块中由触发器及其前端组合逻辑电路组成,而后,根据子模块的时钟信号频率确定子模块中前端组合逻辑电路的延时约束条件以及所述子模块中触发器电路的延时约束条件;以子模块中前端组合逻辑电路延时约束条件和触发器电路的延时约束条件为约束,进行相应子模块的优化,从而完成整个数字时序电路的优化。在该方法中,根据各子模块中具体电路的要求,确定各自的延时约束条件,在进行优化时,可以以子模块各自的延时约束条件为约束,进行该部分子模块的优化,这样,将约束条件精确化,进而缩小优化规模,通过局部快速优化实现亚阈值数字时序电路的优化,使得考虑PVT偏差的统计分析和优化与传统的随机优化算法和非随机优化算法结合在一起,直接应用于亚阈值数字时序电路的优化成为可能,从而加快优化速度,提高优化性能。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。
图1为根据本发明实施例提供的亚阈值时序电路的优化方法流程示意图;
图2为根据本发明实施例的亚阈值时序电路中子模块的信号时序示意图;
图3为根据本发明实施例提供的亚阈值时序电路的优化装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
亚阈值电路,是指工作电压在晶体管器件的阈值附近或以下的电路,由于在数字电路中,电路功耗与电压的平方成正比,所以亚阈值电路可以有效地降低电路的功耗。在电子设计自动化中,逻辑门网表,是指用基础的逻辑门来描述数字电路连接情况的描述方式,其传递了电路连接方面的信息,通常使用硬件描述语言进行描述,利用逻辑门网表可以生成集成电路的版图。亚阈值数字时序电路的逻辑门网表,是指用于设计亚阈值时序电路的逻辑门网表,其中的逻辑门是针对器件亚阈值工作而设计的。
为了加快亚阈值时序电路的优化速度,本申请提出了一种亚阈值时序电路的优化方法,先将数字时序电路划分为多个子模块,每个子模块中由触发器及其前端组合逻辑电路组成,而后,根据子模块的时钟信号频率确定子模块中前端组合逻辑电路延时约束条件以及确定出子模块中触发器电路的延时约束条件,以子模块中前端组合逻辑电路延时约束条件和子模块中触发器电路的延时约束条件为约束,进行相应子模块的优化,从而完成整个数字时序电路的优化。
为了更好地理解本发明的技术方案和技术效果,以下将结合具体的实施例进行详细的说明。
参考图1所示,在步骤S01,将数字时序电路划分为多个子模块,每个所述子模块由触发器及其前端组合逻辑电路组成。
该优化方法可以在电子设计自动化软件中进行,首先,可以将需要优化的亚阈值数字时序电路的逻辑门网表载入到软件中。
在将数字时序电路划分为多个子模块时,可以通过以下步骤来实现。
S011,从亚阈值数字时序电路的逻辑门网表中确定触发器。
在亚阈值逻辑门网表中确定触发器时,可以采用多种方法来实现。在一些实施例中,可以在逻辑门单元库中指定触发器为特定的基本单元,亚阈值逻辑门网表中引用所述特定的基本单元的逻辑单元为触发器。
逻辑门单元库为网表设计所用的单元库,单元库中有各种基本单元,在设计电路时,根据设计需要从单元库中引用各基本单元,并确定单元之间的连接关系,以此来生成网表。因此,可以在生成网表之前,在单元库中对所用的触发器进行指定,指定时,可以以特定的命名描述该基本单元,也可以是在特定的查询列表中列出该基本单元所使用的命名,在查找时,使用这些命名的基本单元都为触发器,这样,在生成网表时,会引用该指定的触发器,通过查找具体的引用,可以从网表中确定出触发器。该方法较为简单,执行效率高,能够快速的从亚阈值逻辑门网表中确定出触发器。
在另一些实施例中,可以根据逻辑描述,从亚阈值逻辑门网表所用的单元库中确定出触发器的基本单元,在所述亚阈值逻辑门网表中引用所述基本单元的逻辑单元为触发器。
可以遍历该网表所使用到的单元库中的所有基本单元,通过基本单元的逻辑描述来判断是否为所需确定的触发器,从而,在单元库中确定出这些触发器的基本单元,而后,从逻辑门网表中确定出引用这些基本单元的逻辑单元为触发器。该方法也从单元库中确定触发器的基本单元,实现较为简单,执行效率高,能够快速的从亚阈值逻辑门网表中确定出触发器。
当然,在其他实施例中,也可以通过遍历亚阈值逻辑门网表,根据逻辑描述从网表中确定出触发器,这种方式需要遍历整个网表进行判断,执行效率较低。
S012,确定与所述触发器的数据输入端连接的组合逻辑电路。
组合逻辑电路是指没有时序控制的电路,在确定出网表中的触发器之后,再确定那些与触发器的数据输入端有连接的组合逻辑电路。
可以有多种方式来确定与所述触发器的数据输入端连接的组合逻辑电路,具体的,在优选的实施例中,可以包括:根据亚阈值逻辑门网表构造有向图,从各触发器的数据输出端按照信号流方向遍历有向图直至信号流到达另一触发器的数据输入端,获得各触发器的数据输出端到另一触发器的数据输入端的所有信号通路,在所述信号通路上逻辑门为触发器前的组合逻辑电路。
根据电路的逻辑门网表可以构造出有向图,在有向图中,顶点代表逻辑门,边为有向边,从一个顶点指向另一个顶点,也就是从一个逻辑门的输出指向另一个逻辑门的输入。基于有向图,从确定出的为触发器的逻辑门输出端开始,按照信号流的方向,即有向边的方向,遍历有向图直至指向到另一个触发器的数据输入端,获得各触发器的数据输出端到另一触发器的数据输入端的所有信号通路,在所述信号通路上的所有的逻辑门为指向另一触发器的组合逻辑电路,对所有确定出的触发器做上述基于有向图的分析,可以确定出与确定出的触发器的数据输入端连接的组合逻辑电路。
S013,将触发器与其对应的组合逻辑电路组成子模块,以将数字时序电路划分为多个子模块。
将确定出的触发器以及该触发器数据输入端连接的组合逻辑电路组成子模块,从而,可以将整个数字时序电路划分为多个子模块,整个数字时序电路的优化可以转化为各子模块的优化。
在步骤S02,根据子模块的时钟信号频率,确定所述子模块的延时约束条件,所述延时约束条件包括所述子模块中前端组合逻辑电路的延时约束条件以及触发器电路的延时约束条件。
对于不同的子模块,其时钟信号频率可以是相同或不同的,在各子模块所需的时钟信号频率下,每个子模块对应各自的延时约束条件,即在该时钟信号频率下,子模块的电路的延时应该满足的延时时间范围。
对于不同的子模块可以根据该子模块中前端组合逻辑电路输出到达触发器的时间要求,确定出属于该子模块的延时约束条件,将约束条件精确化。具体的,可以根据子模块中前端组合逻辑电路输出信号到达触发器的时间最大值满足触发器的建立时间要求,以及前端组合逻辑电路输出信号到达触发器的时间最小值满足触发器的保持时间要求,确定出该子模块的延时约束条件。
参考图2所示,为一个子模块的触发器的时钟及数据输入、输出信号的时序图,其中时钟信号为CLK,数据输入信号为DI,数据输出信号为DO,可以知道:
触发器的数据输入建立时间tFF-setup=t2-t1;
触发器的数据输入保持时间tFF-hold=t4–t2;
触发器的数据输出的延时时间tFF-Pdelay=t3–t2;
触发器的数据输入最小建立时间和最大建立时间分别为tFF-setup,min和tFF-setup,max;
触发器的数据输入最小保持时间和最大保持时间分别为tFF-hold,min和tFF-hold,max;
触发器的数据输出的最小延时时间和最大延时时间分别为tFF-Pdelay,min和tFF-Pdelay,max.
这样,前端组合逻辑电路的输出信号到达触发器的时间最大值tCML-Pdelay,max应满足触发器的建立时间要求为:
TPrev_FF-Pdelay,max+tCML-Pdelay,max<Tclock–tFF-setup,max;
也即,tCML-Pdelay,max<Tclock–tFF-setup,max–tPrev_FF-Pdelay,max。
其中,tPrev_FF-Pdelay,max是前级触发器输出延时时间的最大值,Tclock是时序电路工作的时钟信号周期,即时钟信号频率的倒数值。
同样,前端组合逻辑的输出到达触发器的时间最小值tCML-Pdelay,min应满足触发器的保持时间要求为:
TPrev_FF-Pdelay,min+tCML-Pdelay,min>tFF-hold,max;
也即,tCML-Pdelay,min>tFF-hold,max-–tPrev_FF-Pdelay,min。
其中,tFF-Pdelay,min是前级触发器数据输出延时时间的最小值,。
这样,就可以确定出该子模块的前端组合逻辑电路的延时约束条件为:(tFF-hold,max-–tPrev_FF-Pdelay,min,Tclock–tFF-setup,max-–tPrev_FF-Pdelay,max),为了确保设计的可靠性和成品率,可进一步限制该子模块的前端组合逻辑电路的延时约束条件为:(tFF-hold,max-–tPrev_FF-Pdelay,min,η*Tclock–tFF-setup,max-–tPrev_FF-Pdelay,max),其中η是(0,1)之间的系数。
可以通过计算,确定出子模块中前端组合逻辑电路的逻辑深度LDCML、触发器电路的逻辑深度LDFF,以此确定触发器电路的延时约束条件,具体为:tFF-setup,max+tFF-Pdelay,max<η*Tclock*[LDFF/(LDFF+LDCML)],其中η是(0,1)之间的系数。
子模块的前端组合逻辑电路的延时约束条件和子模块的触发器电路的延时约束条件一起构成该子模块的延时约束条件。
既可以分别为各子模块确定出其相应的延时约束条件,也可以先将相同的子模块进行归类,对于相同的子模块,仅确定一个子模块的延时约束条件即可。
在步骤S03,以所述子模块的延时约束条件为约束,进行相应的子模块的优化,以获得优化的数字时序电路。
在该步骤中,通过对子模块分别按照其延时约束条件进行子模块的优化,从而,实现整个时序电路的优化。以延时约束条件为约束,进行子模块的器件尺寸的优化是指,通过子模块中器件尺寸参数以及其他相关参数的不断调整,使得子模块的延时能够符合该延时约束条件。
在优化过程中,可以根据需要选择合适的方式进行子模块的优化,在一些实施例中,可以依次对各子模块分别进行子模块的优化,每个子模块的优化中,以其对应的延时约束条件为约束,也就是逐个进行各子模块的优化。更优地,在进行优化时,可以采用并行的方式,同时进行各相应的子模块的优化,提高优化效率和速度。
需要说明的是,在本申请中,子模块的优化主要是指对子模块中的器件尺寸的优化,器件尺寸是指与器件尺寸相关的参数,例如器件的长、宽以及数量等,进一步地,除器件尺寸的优化之外,还可以结合其他的优化内容,例如在器件尺寸优化之前进行电路结构的调整、衬底偏置的调整和/或逻辑深度的调整等,在电路结构的调整中,可以通过采用不同的亚阈值逻辑电路或并行、异步、反馈均衡、GDI(栅控数据输入)等方式。
在通过子模块的优化实现整个时序电路优化的过程中,可以对部分或全部的子模块进行优化,来实现整个时序电路的优化。
在一些实施例中,可以通过对全部子模块逐一进行优化,从而,实现整个时序电路的优化。在逐一进行优化时,考虑到相邻的子模块之间,靠后的子模块的延时约束条件依赖于靠前的子模块的延时约束条件,更优地,优化过程可以包括:按照子模块在信号流路径上的流向确定各子模块的优化顺序;按照所述优化顺序,依次对各子模块进行优化,以获得优化的数字时序电路,其中,每个所述子模块的优化包括:以子模块的延时约束条件为约束,进行所述子模块的优化。
信号流路径是指整个时序电路中从输入端开始,数据按照输入至输出的流向,可以通过构造有向图的方式来获得各子模块在信号流路径上方向,将该方向作为各子模块优化顺序,在信号流路径上靠前的子模块先进行优化,靠后的子模块后进行优化,通过依次进行各子模块的优化,完成整个时序电路的优化。
在另一些实施例中,只对部分的子模块进行完全优化,通过复用该部分优化结果,来进一步提高优化效率。具体的,优化过程可以包括:将时钟频率在预设范围内、输出驱动在预设范围内以及电路结构相同的触发器所在的子模块归属为同类子模块;从所述同类子模块中选择一个子模块作为优化对象,其他子模块为替换模块,以所述同类子模块中最高时钟信号频率的子模块所对应的延时条件为约束,进行所述优化对象的子模块的优化;进行所述同类子模块中的各替换模块的电路替换,每个替换模块的电路替换包括:确定所述替换模块与所述优化对象的相同电路部分,将所述替换模块中的相同电路部分替换为优化后的所述优化对象的相同电路部分;进行所述同类子模块中各替换模块的其他电路优化,每个替换模块的其他电路优化包括:以各替换模块的延时约束条件为约束,对所述替换模块中相同电路部分之外的其他电路进行优化。
该实施例中,先将子模块进行归类,获得同类子模块,同类子模块中的各子模块的触发器的时钟频率都在一个预设范围内且输出驱动也在预设范围内,同时触发器的电路结构也相同,时钟频率的预设范围可以为某个的时钟频率或者与某个时钟频率相接近的频率范围,输出驱动的预设范围可以为某个输出驱动或者与某个输出驱动相接近的输出驱动范围,输出驱动是指触发器的输出数据的能力,通常可以以输出的电容负载或逻辑门的数量来表示。在具体应用中,可以根据数字时序电路的具体情况,确定出一个或多个的时钟频率范围和输出驱动范围,从而,获得一个或多个的同类子模块。
同类子模块中包含有多个子模块,从中选择一个最高时钟信号频率的子模块所对应的延时条件作为约束,最高时钟频率对应最严苛的约束条件,这样可以获得一个基本可以满足同类子模块中所有子模块的延时条件,优化后的结果可以适用于其他的子模块。对于其他的子模块,每个子模块可能存在与该优化对象相同的电路部分,称作相同电路部分,这部分可以直接利用优化对象优化后的相同电路部分进行替换,而无需进行再次优化。对于其他的子模块中其他与优化对象不同的电路部分,则可以继续以该子模块的约束条件为约束,进行该不同的电路部分的优化。在完成各同类子模块的优化之后,则完成了整个时序电路的优化。
在上述时序电路的优化的各实施例中,单个子模块的优化中,可以以子模块中前端组合逻辑电路的延时约束条件为约束,进行所述子模块中前端组合逻辑电路的优化;以及,以所述子模块中触发器电路的延时约束条件为约束,进行所述子模块中触发器电路的优化。在子模块的优化中,分别以前端组合逻辑电路的延时约束条件为约束、触发器电路的延时约束条件为约束,进行子模块中前端组合逻辑电路的优化以及子模块中触发器电路的优化,也就是将子模块的前端组合逻辑电路以及触发器电路这两部分以各自的延时约束条件为约束,分别进行优化,这两部分优化的顺序可以不限定。更优地,可以先进行以所述子模块中触发器电路的延时约束条件为约束,进行所述子模块中触发器电路的优化,之后,以子模块中前端组合逻辑电路的延时约束条件为约束,进行所述子模块中前端组合逻辑电路的优化。
通过以上对子模块的优化,将各优化结果更新至亚阈值数字时序电路中,可以完成整个亚阈值数字时序电路优化。
对于每次优化的过程中,可以采用模拟退火算法、遗传算法、粒子群算法等随机优化算法或其他非随机优化算法进行。具体的,对于每次子模块的优化,可以包括以下步骤:
S031,构建子模块的测试电路。
S032,确定该子模块的器件尺寸参数。
S033,进行电路仿真,获得子模块的测试电路的延迟时间,进一步还可以获得其他性能参数,例如功耗。
S034,判断延时时间是否满足延时约束条件,若是,则结束优化,上述器件参数则为优化后的器件参数,若否,则返回步骤S032,继续器件参数的调整。
在判断延时时间是否满足延时约束条件时,可以进一步判断其他的性能是否满足条件,例如延时时间与功耗之积是否满足条件,如是否为延时功耗积的最小值,以确保电路性能能够满足延时及功耗的要求。
以上对本申请实施例的亚阈值时序电路的优化方法进行了详细的描述,此外,本申请还提出了相应的亚阈值时序电路的优化装置,参考图3所示,包括:
子模块划分单元300,用于将数字时序电路划分为多个子模块,每个所述子模块由触发器及其前端组合逻辑电路组成;
延时约束确定单元310,用于根据子模块的时钟信号频率,确定所述子模块的延时约束条件,所述延时约束条件包括所述子模块中前端组合逻辑电路的延时约束条件以及触发器电路的延时约束条件;
优化单元320,用于以子模块的延时约束条件为约束,进行所述子模块的优化,以获得优化的数字时序电路。
进一步地,所述优化单元320中,所述以子模块的延时约束条件为约束,进行所述子模块的优化,以获得优化的数字时序电路,包括:
按照子模块在信号流路径上的流向确定各子模块的优化顺序;
按照所述优化顺序,依次对各子模块进行优化,以获得优化的数字时序电路,其中,每个所述子模块的优化包括:以子模块的延时约束条件为约束,进行所述子模块的优化。
进一步地,所述优化单元320中,所述以子模块的延时约束条件为约束,进行所述子模块的优化,以获得优化的数字时序电路,包括:以子模块的延时约束条件为约束,进行所述子模块的优化,以获得优化的数字时序电路,包括:
将时钟频率在预设范围内、输出驱动在预设范围内以及电路结构相同的触发器所在的子模块归属为同类子模块;
从所述同类子模块中选择一个子模块作为优化对象,其他子模块为替换模块,以所述同类子模块中最高时钟信号频率的子模块所对应的延时条件为约束,进行所述优化对象的子模块的优化;
进行所述同类子模块中的各替换模块的电路替换,每个替换模块的电路替换包括:确定所述替换模块与所述优化对象的相同电路部分,将所述替换模块中的相同电路部分替换为优化后的所述优化对象的相同电路部分;
进行所述同类子模块中各替换模块的其他电路优化,每个替换模块的其他电路优化包括:以各替换模块的延时约束条件为约束,对所述替换模块中相同电路部分之外的其他电路进行优化。
上述实施例中,单个子模块的优化,包括:
以子模块中前端组合逻辑电路的延时约束条件为约束,进行所述子模块中前端组合逻辑电路的优化;以及,以所述子模块中触发器电路的延时约束条件为约束,进行所述子模块中触发器电路的优化。
更优地,单个子模块的优化,包括:
以所述子模块中触发器电路的延时约束条件为约束,进行所述子模块中触发器电路的优化,之后,以子模块中前端组合逻辑电路的延时约束条件为约束,进行所述子模块中前端组合逻辑电路的优化。
进一步地,所述延时约束确定单元310中,所述子模块中前端组合逻辑电路的延时约束条件的确定方法包括:
根据所述子模块中前端组合逻辑电路输出信号到达触发器输入端的时间的最大值需满足触发器的建立时间的要求,以及前端组合逻辑电路输出信号到达触发器输入端的时间的最小值需满足触发器的保持时间的要求,确定出所述子模块的前端组合逻辑电路延时约束条件;
所述触发器电路的延时约束条件的确定方法包括:
根据所述触发器电路的输出最大延时时间和输出最小延时时间之和与前端组合逻辑的逻辑深度、触发器电路的逻辑深度以及时序电路工作的时钟信号周期之间的关系,确定所述触发器电路的延时约束条件。
进一步地,所述子模块划分单元300中,所述将数字时序电路划分为多个子模块,包括:
从亚阈值数字时序电路的逻辑门网表中确定触发器;
确定与所述触发器的数据输入端连接的组合逻辑电路;
将触发器与其对应的组合逻辑电路组成子模块,以将数字时序电路划分为多个子模块。
进一步地,所述从亚阈值数字时序电路的逻辑门网表中确定触发器,包括:
在逻辑门单元库中指定触发器为特定的基本单元,亚阈值逻辑门网表中引用所述特定的基本单元的逻辑单元为触发器;或者,
根据逻辑描述,从逻辑门网表所用的单元库中确定出触发器的基本单元,在所述逻辑门网表中引用所述基本单元的逻辑单元为触发器。
进一步地,所述确定与所述触发器的数据输入端连接的组合逻辑电路,包括:
根据亚阈值逻辑门网表构造有向图,从各触发器的数据输出端按照信号流方向遍历有向图直至信号流到达另一触发器的数据输入端,获得各触发器的数据输出端到另一触发器的数据输入端的所有信号通路,在所述信号通路上的逻辑门为另一触发器前的组合逻辑电路。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制。虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明。任何熟悉本领域的技术人员,在不脱离本发明技术方案范围情况下,都可利用上述揭示的方法和技术内容对本发明技术方案做出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围内。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于系统实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的系统实施例仅仅是示意性的,其中所述作为分离部件说明的模块或单元可以是或者也可以不是物理上分开的,作为模块或单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
Claims (9)
1.一种亚阈值数字时序电路的优化方法,其特征在于,包括:
将数字时序电路划分为多个子模块,每个所述子模块由触发器及其前端组合逻辑电路组成;
根据子模块的时钟信号频率,确定所述子模块的延时约束条件,所述延时约束条件包括所述子模块中前端组合逻辑电路的延时约束条件以及触发器电路的延时约束条件;
以子模块的延时约束条件为约束,进行所述子模块的优化,以获得优化的数字时序电路;
以子模块的延时约束条件为约束,进行所述子模块的优化,以获得优化的数字时序电路,包括:
将时钟频率在预设范围内、输出驱动在预设范围内以及电路结构相同的触发器所在的子模块归属为同类子模块;
从所述同类子模块中选择一个子模块作为优化对象,其他子模块为替换模块,以所述同类子模块中最高时钟信号频率的子模块所对应的延时条件为约束,进行所述优化对象的子模块的优化;
进行所述同类子模块中的各替换模块的电路替换,每个替换模块的电路替换包括:确定所述替换模块与所述优化对象的相同电路部分,将所述替换模块中的相同电路部分替换为优化后的所述优化对象的相同电路部分;
进行所述同类子模块中各替换模块的其他电路优化,每个替换模块的其他电路优化包括:以各替换模块的延时约束条件为约束,对所述替换模块中相同电路部分之外的其他电路进行优化。
2.根据权利要求1所述的优化方法,其特征在于,所述以子模块的延时约束条件为约束,进行所述子模块的优化,以获得优化的数字时序电路,包括:
按照子模块在信号流路径上的流向确定各子模块的优化顺序;
按照所述优化顺序,依次对各子模块进行优化,以获得优化的数字时序电路,其中,每个所述子模块的优化包括:以子模块的延时约束条件为约束,进行所述子模块的优化。
3.根据权利要求1-2中任一项所述的优化方法,其特征在于,单个子模块的优化,包括:
以子模块中前端组合逻辑电路的延时约束条件为约束,进行所述子模块中前端组合逻辑电路的优化;以及,以所述子模块中触发器电路的延时约束条件为约束,进行所述子模块中触发器电路的优化。
4.根据权利要求3所述的优化方法,其特征在于,单个子模块的优化,包括:
以所述子模块中触发器电路的延时约束条件为约束,进行所述子模块中触发器电路的优化,之后,以子模块中前端组合逻辑电路的延时约束条件为约束,进行所述子模块中前端组合逻辑电路的优化。
5.根据权利要求1所述的优化方法,其特征在于,所述子模块中前端组合逻辑电路的延时约束条件的确定方法包括:
根据所述子模块中前端组合逻辑电路输出信号到达触发器输入端的时间的最大值需满足触发器的建立时间的要求,以及前端组合逻辑电路输出信号到达触发器输入端的时间的最小值需满足触发器的保持时间的要求,确定出所述子模块的前端组合逻辑电路延时约束条件;
所述触发器电路的延时约束条件的确定方法包括:
根据所述触发器电路的输出最大延时时间和输出最小延时时间之和与前端组合逻辑的逻辑深度、触发器电路的逻辑深度以及时序电路工作的时钟信号周期之间的关系,确定所述触发器电路的延时约束条件。
6.根据权利要求1所述的优化方法,其特征在于,所述将数字时序电路划分为多个子模块,包括:
从亚阈值数字时序电路的逻辑门网表中确定触发器;
确定与所述触发器的数据输入端连接的组合逻辑电路;
将触发器与其对应的组合逻辑电路组成子模块,以将数字时序电路划分为多个子模块。
7.根据权利要求6所述的优化方法,其特征在于,所述从亚阈值数字时序电路的逻辑门网表中确定触发器,包括:
在逻辑门单元库中指定触发器为特定的基本单元,亚阈值逻辑门网表中引用所述特定的基本单元的逻辑单元为触发器;或者,
根据逻辑描述,从逻辑门网表所用的单元库中确定出触发器的基本单元,在所述逻辑门网表中引用所述基本单元的逻辑单元为触发器。
8.根据权利要求6或7所述的优化方法,其特征在于,所述确定与所述触发器的数据输入端连接的组合逻辑电路,包括:
根据亚阈值逻辑门网表构造有向图,从各触发器的数据输出端按照信号流方向遍历有向图直至信号流到达另一触发器的数据输入端,获得各触发器的数据输出端到另一触发器的数据输入端的所有信号通路,在所述信号通路上的逻辑门为另一触发器前的组合逻辑电路。
9.一种亚阈值时序电路的优化装置,其特征在于,包括:
子模块划分单元,用于将数字时序电路划分为多个子模块,每个所述子模块由触发器及其前端组合逻辑电路组成;
延时约束确定单元,用于根据子模块的时钟信号频率,确定所述子模块的延时约束条件,所述延时约束条件包括所述子模块中前端组合逻辑电路的延时约束条件以及触发器电路的延时约束条件;
优化单元,用于以子模块的延时约束条件为约束,进行所述子模块的优化,以获得优化的数字时序电路;所述优化单元中,所述以子模块的延时约束条件为约束,进行所述子模块的优化,以获得优化的数字时序电路,包括:以子模块的延时约束条件为约束,进行所述子模块的优化,以获得优化的数字时序电路,包括:
将时钟频率在预设范围内、输出驱动在预设范围内以及电路结构相同的触发器所在的子模块归属为同类子模块;
从所述同类子模块中选择一个子模块作为优化对象,其他子模块为替换模块,以所述同类子模块中最高时钟信号频率的子模块所对应的延时条件为约束,进行所述优化对象的子模块的优化;
进行所述同类子模块中的各替换模块的电路替换,每个替换模块的电路替换包括:确定所述替换模块与所述优化对象的相同电路部分,将所述替换模块中的相同电路部分替换为优化后的所述优化对象的相同电路部分;
进行所述同类子模块中各替换模块的其他电路优化,每个替换模块的其他电路优化包括:以各替换模块的延时约束条件为约束,对所述替换模块中相同电路部分之外的其他电路进行优化。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810410992.3A CN110442884B (zh) | 2018-05-02 | 2018-05-02 | 一种亚阈值数字时序电路的优化方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810410992.3A CN110442884B (zh) | 2018-05-02 | 2018-05-02 | 一种亚阈值数字时序电路的优化方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110442884A CN110442884A (zh) | 2019-11-12 |
CN110442884B true CN110442884B (zh) | 2023-04-07 |
Family
ID=68427923
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810410992.3A Active CN110442884B (zh) | 2018-05-02 | 2018-05-02 | 一种亚阈值数字时序电路的优化方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110442884B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112926281B (zh) * | 2019-12-06 | 2022-06-03 | 杭州起盈科技有限公司 | 一种数字集成电路的智能模块分析方法 |
CN112131810B (zh) * | 2020-09-29 | 2024-03-22 | 飞腾信息技术有限公司 | 建立时间违例修复方法、装置、电子设备及可读存储介质 |
CN113343622B (zh) * | 2021-06-23 | 2023-06-13 | 海光信息技术股份有限公司 | 一种电路优化方法、装置、电子设备和可读存储介质 |
CN115270674B (zh) * | 2022-06-21 | 2023-10-20 | 上海为旌科技有限公司 | 一种基于自动化的带时序裕量的lib提取方法和装置 |
CN115238619B (zh) * | 2022-09-20 | 2023-06-27 | 北京数字光芯集成电路设计有限公司 | 数字芯片的子模块后仿真方法和系统 |
CN116341441B (zh) * | 2023-05-22 | 2023-08-08 | 芯行纪科技有限公司 | 对数字逻辑电路进行优化的方法及相关设备 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06231204A (ja) * | 1993-02-03 | 1994-08-19 | Nec Corp | 論理回路遅延時間最適化方法 |
CN102314525A (zh) * | 2010-06-30 | 2012-01-11 | 中国科学院微电子研究所 | 一种低功耗电路设计优化方法 |
CN104036090A (zh) * | 2014-06-25 | 2014-09-10 | 龙芯中科技术有限公司 | 电路优化方法及装置 |
CN106066919A (zh) * | 2016-06-13 | 2016-11-02 | 中国科学院微电子研究所 | 应用于近/亚阈值数字电路的统计静态时序分析方法 |
CN107707246A (zh) * | 2017-08-23 | 2018-02-16 | 大家传承网络科技(深圳)有限公司 | 面向物联网的亚阈值cmos电平转换电路及实现方法 |
-
2018
- 2018-05-02 CN CN201810410992.3A patent/CN110442884B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH06231204A (ja) * | 1993-02-03 | 1994-08-19 | Nec Corp | 論理回路遅延時間最適化方法 |
CN102314525A (zh) * | 2010-06-30 | 2012-01-11 | 中国科学院微电子研究所 | 一种低功耗电路设计优化方法 |
CN104036090A (zh) * | 2014-06-25 | 2014-09-10 | 龙芯中科技术有限公司 | 电路优化方法及装置 |
CN106066919A (zh) * | 2016-06-13 | 2016-11-02 | 中国科学院微电子研究所 | 应用于近/亚阈值数字电路的统计静态时序分析方法 |
CN107707246A (zh) * | 2017-08-23 | 2018-02-16 | 大家传承网络科技(深圳)有限公司 | 面向物联网的亚阈值cmos电平转换电路及实现方法 |
Non-Patent Citations (1)
Title |
---|
《超大规模数字集成电路的时序分析与优化》;张佾;《中国优秀硕士学位论文全文数据库信息科技辑》;20090815;正文第一、五章 * |
Also Published As
Publication number | Publication date |
---|---|
CN110442884A (zh) | 2019-11-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110442884B (zh) | 一种亚阈值数字时序电路的优化方法及装置 | |
CN101206686B (zh) | 设计时钟域中锁存器的布图的方法和系统 | |
US8122396B1 (en) | Local searching techniques for technology mapping | |
US6769098B2 (en) | Method of physical design for integrated circuit | |
US10162918B1 (en) | Integrated circuit retiming with selective modeling of flip-flop secondary signals | |
Possani et al. | Graph-based transistor network generation method for supergate design | |
CN108092660B (zh) | 一种亚阈值电路的优化方法及系统 | |
CN106250577B (zh) | 用于执行有关位于与不同的时钟域关联的电路之间的同步区域的寄存器重定时操作的方法 | |
KR20220034781A (ko) | 초전도 회로 설계에서의 타이밍 경로 결정 및 토폴로지 조정 | |
EP3324317A1 (en) | Methods for verifying retimed circuits with delayed initialization | |
US7831945B2 (en) | Manufacturing a clock distribution network in an integrated circuit | |
CN111898335B (zh) | 一种电路可靠性分析方法 | |
CN104036090A (zh) | 电路优化方法及装置 | |
Farooq et al. | Efficient FPGA routing using reinforcement learning | |
US10417377B2 (en) | Layouting of interconnect lines in integrated circuits | |
KR101337186B1 (ko) | 프로그램가능한 지연 회로 및 이를 포함하는 집적 회로 | |
US10169527B2 (en) | Accurate statistical timing for boundary gates of hierarchical timing models | |
US10169518B1 (en) | Methods for delaying register reset for retimed circuits | |
KR20220034794A (ko) | 초전도 회로 설계에서 임계 타이밍 경로 결정 | |
US10452801B2 (en) | Routing of nets of an integrated circuit | |
CN108809292B (zh) | 一种亚阈值电路的优化方法及系统 | |
US7725855B1 (en) | Symmetry-based optimization for the physical synthesis of programmable logic devices | |
CN107742051B (zh) | Fpga电路晶体管尺寸的快速优化方法 | |
US20180349544A1 (en) | Methods for performing register retiming with hybrid initial states | |
CN111241767B (zh) | 一种亚阈值电路信号平衡路径的延时优化方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |