CN112564682A - 一种修正建立时间违反的方法、装置及系统 - Google Patents

一种修正建立时间违反的方法、装置及系统 Download PDF

Info

Publication number
CN112564682A
CN112564682A CN202011531396.4A CN202011531396A CN112564682A CN 112564682 A CN112564682 A CN 112564682A CN 202011531396 A CN202011531396 A CN 202011531396A CN 112564682 A CN112564682 A CN 112564682A
Authority
CN
China
Prior art keywords
logic device
power consumption
delay
replacement
path
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.)
Pending
Application number
CN202011531396.4A
Other languages
English (en)
Inventor
韦秋初
黄运新
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shenzhen Dapu Microelectronics Co Ltd
Original Assignee
Shenzhen Dapu Microelectronics Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Shenzhen Dapu Microelectronics Co Ltd filed Critical Shenzhen Dapu Microelectronics Co Ltd
Priority to CN202011531396.4A priority Critical patent/CN112564682A/zh
Publication of CN112564682A publication Critical patent/CN112564682A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03KPULSE TECHNIQUE
    • H03K17/00Electronic switching or gating, i.e. not by contact-making and –breaking
    • H03K17/28Modifications for introducing a time delay before switching

Landscapes

  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明公开了一种修正建立时间违反的方法、装置及系统,在对建立时间违反路径上的逻辑器件进行替换时,按照延迟功耗权重比从大到小的顺序依次将逻辑器件替换为替换逻辑器件,并在每次替换后将路径余量更新为路径余量与本次替换的替换逻辑器件的延迟减小量的和,直至更新后的路径余量大于0或者所有逻辑器件均被替换完。可见,该方法替换同类型逻辑器件的技术上,还考虑了替换逻辑器件的功耗,由于延迟功耗权重比越大,说明替换逻辑器件后获得的延迟收益大而增加的漏电功耗少,可见,按照延迟功耗权重比从大到小的顺序进行器件替换能够在较快修正建立时间的基础上还减少漏电功耗的增加,提高了修正建立时间违反的效率。

Description

一种修正建立时间违反的方法、装置及系统
技术领域
本发明涉及芯片时序技术领域,特别是涉及一种修正建立时间违反的方法、装置及系统。
背景技术
随着市场对芯片功耗的要求越来越高,芯片低功耗设计中划分出来的电压域就越来越多。低功耗设计中,信号在不同电压域之间传递,不可避免地存在跨越多电压域的时序违例路径,建立时间违反就是其中之一。建立时间是器件采样时钟沿到来之前数据必须保持稳定的时间。以同步电路为例,请参照图1,图1为一种同步电路的结构简图。
静态时序分析中,时钟控制触发器到触发器的时序路径要满足以下两个表达式:
表达式1:Tclk1+T1_cq+Tdelay_sk,max+T2_setup<=Tperiod+Tclk2;
表达式2:Tclk1+Tdelay_sk,min-T2_hold>=Tclk2。
其中,表达式1中左边部分定义为data arrival time,右边定义为data requiredtime。表达式2中左边部分定义为data arrival time,右边部分定义为data requiredtime。Tclk1代表时钟控制触发器FF1的时钟信号延时,Tclk2代表时钟控制触发器FF2的时钟信号延时,T1_cq代表触发器FF1的时钟端CK到其信号输出端Q的时序弧长度,Tdelay_sk,max代表组合逻辑起始点s点到k点组合逻辑路径最大延迟,Tdelay_sk,min代表s点到k点组合逻辑路径最小延时。T2_setup代表触发器FF2的器件建立时间,T2_hold代表触发器FF2的器件保持时间,可以通过查表获取。Tperiod代表同步电路的时钟周期。同步电路的时序关系要满足这两个表达式才能正常工作,电路设计中必须对其进行时序分析,检查任意两个触发器之间是否满足建立时间和保持时间的关系。
当建立时间违反的时候,Tclk1+T1_cq+Tdelay_sk,max+T2_setup>Tperiod+Tclk2,路径余量Tslack=Tperiod+Tclk2-(Tclk1+T1_cq+Tdelay_sk,max+T2_setup)<0。现有技术中修复建立时间违反的通用方法是减小任意两个触发器之间的组合逻辑路径延迟或者调整路径上两个触发器的时钟延迟。而替换组合逻辑路径上的逻辑器件的类型就是减小组合逻辑路径延迟一种常用方式。
具体地,器件的工作电压越高,其漏电功耗就越大。器件的阈值电压越高,其延迟越大,但是漏电功耗小。因此,为了减小组合逻辑路径的延迟,通常把高阈值电压的器件直接替换为超低阈值电压的器件。该种方式虽然能有效减小器件延迟,从而减小路径延时,但是会增加漏电功耗。
发明内容
本发明的目的是提供一种修正建立时间违反的方法、装置及系统,在较快修正建立时间的基础上还减少漏电功耗的增加,提高了修正建立时间违反的效率。
为解决上述技术问题,本发明提供了一种修正建立时间违反的方法,包括:
S11:获取同一时钟域中触发器到触发器之间的建立时间违反路径及路径余量;
S12:计算所述建立时间违反路径上的逻辑器件与和所述逻辑器件同类型的替换逻辑器件的延迟功耗权重比;
S13:按照所述延迟功耗权重比从大到小的顺序依次将逻辑器件替换为替换逻辑器件,并在每次替换后将所述路径余量更新为所述路径余量与本次替换的替换逻辑器件的延迟减小量的和,直至更新后的路径余量大于0或者所有所述逻辑器件均被替换完;
其中,所述逻辑器件的阈值电压大于所述替换逻辑器件的阈值电压,所述延迟功耗权重比与所述逻辑器件减去同类型的替换逻辑器件的功耗差呈负相关,与所述同类型的替换逻辑器件减去逻辑器件的延迟差呈正相关。
优选地,S12包括:
基于延迟功耗权重比关系式计算所述建立时间违反路径上的逻辑器件与和所述逻辑器件同类型的替换逻辑器件的延迟功耗权重比;
所述延迟功耗权重比关系式为:
Ri=Di/Pi
其中,Ri为第i个逻辑器件及与其同类型的替换逻辑器件的延迟功耗权重比,Di为第i个逻辑器件的延迟减去与第i个逻辑器件同类型的替换逻辑器件的延迟得到的延迟差,Pi为与第i个逻辑器件同类型的替换逻辑器件的功耗减去第i个逻辑器件的功耗得到的功耗差,i为所述建立时间违反路径上任意一个具有同类型的替换逻辑器件的逻辑器件。
优选地,S12包括:
基于延迟功耗权重比关系式计算所述建立时间违反路径上的逻辑器件与和所述逻辑器件同类型的替换逻辑器件的延迟功耗权重比;
所述延迟功耗权重比关系式为:
Ri=Di/Pi*Fi
其中,Ri为第i个逻辑器件及与其同类型的替换逻辑器件的延迟功耗权重比,Di为第i个逻辑器件的延迟减去与第i个逻辑器件同类型的替换逻辑器件的延迟得到的延迟差,Pi为与第i个逻辑器件同类型的替换逻辑器件的功耗减去第i个逻辑器件的功耗得到的功耗差,Fi为第i个逻辑器件的扇出值,i为所述建立时间违反路径上任意一个具有同类型的替换逻辑器件的逻辑器件。
优选地,S13之前,还包括:
S14:判断所述建立时间违反路径中是否存在缓冲器,若是,进入S15,否则,进入S13;
S15:删除缓冲器,并将所述路径余量更新为所述路径余量与所述缓冲器的延迟的和;
S16:判断更新后的路径余量是否大于0,若是,则判定建立时间违反修正成功,否则,进入S13。
优选地,所述逻辑器件所属类型中的器件按照阈值电压从大到小的顺序依次分为高阈值电压器件、标准阈值电压器件、低阈值电压器件及超低阈值电压器件;
S12包括:
S121:选择所述建立时间违反路径上的逻辑器件,其中,所述逻辑器件为其所属类型中的非超低阈值电压器件;
S122:确定所述逻辑器件所属类型中的相邻级阈值电压器件为所述替换逻辑器件,所述相邻级阈值电压器件的阈值电压小于所述逻辑器件的阈值电压;
S123:计算所述逻辑器件与所述替换逻辑器件的延迟功耗权重比。
优选地,S13包括:
S1301:对所述建立时间违反路径上计算得到的所有延迟功耗权重比进行从大到小排序,得到优化序列;
S1302:选取延迟功耗权重比最大的逻辑器件作为当前优化器件;
S1303:将所述当前优化器件替换为与其同类型的替换逻辑器件,并将所述路径余量更新为所述路径余量与所述替换逻辑器件的延迟减小量的和;所述延迟减小量=所述当前优化器件的延迟-所述替换逻辑器件的延迟;
S1304:判断更新后的路径余量是否大于0,若是,进入S1307;否则,进入S1305;
S1305:判断所述优化序列中的所有逻辑器件是否全部被优化完,若是,进入S1308,否则,进入S1306;
S1306:按照所述优化序列的顺序将所述当前优化器件的下一个逻辑器件作为新的当前优化器件,返回S1303;
S1307:判定建立时间违反修正成功,并基于所有优化的逻辑器件更新所述建立时间违反路径;
S1308:判定建立时间违反修正失败。
优选地,在判定所述优化序列中的所有逻辑器件全部被优化完之后,还包括:
S1309:判断是否所有优化完的逻辑器件均为超低阈值电压器件,若是,进入S1308,否则,进入S1310;
S1310:将本轮优化中所述优化序列中所有逻辑器件的替换类型操作写入时序修复命令;
S1311:基于所述时序修复命令更新所述建立时间违反路径,并返回S11。
优选地,S1304中,在判定更新后的路径余量大于0之后,还包括:
S1312:判断所述优化序列中优化的逻辑器件的数量N是否小于所述优化序列中所有逻辑器件的数量M,若是,进入S1313,否则,进入S1307;
S1313:按照所述优化序列的顺序从未优化的逻辑器件中选取与最后一个已优化器件相邻的连续K个逻辑器件,形成
Figure BDA0002852193060000051
的逻辑器件组合,0<k≤3,M+K≤N;
S1314:计算各个所述逻辑器件组合的延迟减小量总和及漏电功耗总量;
S1315:从满足所述路径余量与自身对应地延迟减小量总和大于零的逻辑器件组合中确定漏电功耗总量最小的逻辑器件组合,并作为最终选择的优化逻辑器件组合,进入S1307。
为解决上述技术问题,本发明还提供了一种修正建立时间违反的系统,包括:
获取单元,用于获取同一时钟域中触发器到触发器之间的建立时间违反路径及路径余量;
计算单元,用于计算所述建立时间违反路径上的逻辑器件与和所述逻辑器件同类型的替换逻辑器件的延迟功耗权重比;
优化单元,用于按照所述延迟功耗权重比从大到小的顺序依次将逻辑器件替换为替换逻辑器件,并在每次替换后将所述路径余量更新为所述路径余量与本次替换的替换逻辑器件的延迟减小量的和,直至更新后的路径余量大于0或者所有所述逻辑器件均被替换完;
其中,所述逻辑器件的阈值电压大于所述替换逻辑器件的阈值电压,所述延迟功耗权重比与所述逻辑器件减去同类型的替换逻辑器件的功耗差呈负相关,与所述同类型的替换逻辑器件减去逻辑器件的延迟差呈正相关。
为解决上述技术问题,本发明还提供了一种修正建立时间违反的装置,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述所述修正建立时间违反的方法的步骤。
本发明提供了一种修正建立时间违反的方法,在对建立时间违反路径上的逻辑器件进行替换时,按照延迟功耗权重比从大到小的顺序依次将逻辑器件替换为替换逻辑器件,并在每次替换后将路径余量更新为路径余量与本次替换的替换逻辑器件的延迟减小量的和,直至更新后的路径余量大于0或者所有逻辑器件均被替换完。可见,该方法替换同类型逻辑器件的技术上,还考虑了替换逻辑器件的功耗,由于延迟功耗权重比越大,说明替换逻辑器件后获得的延迟收益大而增加的漏电功耗少,可见,按照延迟功耗权重比从大到小的顺序进行器件替换能够在较快修正建立时间的基础上还减少漏电功耗的增加,提高了修正建立时间违反的效率。
本发明还提供了一种修正建立时间违反的装置及系统,具有与上述修正建立时间违反的方法相同的有益效果。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对现有技术和实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一种同步电路的结构简图;
图2为本发明提供的一种修正建立时间违反的方法的过程流程图;
图3为本发明提供的一种修正建立时间违反的系统的结构示意图;
图4为本发明提供的一种修正建立时间违反的装置的结构示意图。
具体实施方式
本发明的核心是提供一种修正建立时间违反的方法、装置及系统,在较快修正建立时间的基础上还减少漏电功耗的增加,提高了修正建立时间违反的效率。
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参照图2,图2为本发明提供的一种修正建立时间违反的方法的过程流程图。
该方法包括:
S11:获取同一时钟域中触发器到触发器之间的建立时间违反路径及路径余量;
S12:计算建立时间违反路径上的逻辑器件与和逻辑器件同类型的替换逻辑器件的延迟功耗权重比;
S13:按照延迟功耗权重比从大到小的顺序依次将逻辑器件替换为替换逻辑器件,并在每次替换后将路径余量更新为路径余量与本次替换的替换逻辑器件的延迟减小量的和,直至更新后的路径余量大于0或者所有逻辑器件均被替换完;
其中,逻辑器件的阈值电压大于替换逻辑器件的阈值电压,延迟功耗权重比与逻辑器件减去同类型的替换逻辑器件的功耗差呈负相关,与同类型的替换逻辑器件减去逻辑器件的延迟差呈正相关。
首先需要说明的是,在对电路进行静态时序分析时,可能会得到该电路中的一个或者多个时钟域中的触发器到触发器之间的建立时间违反路径,同一时钟域指的是两个或者多个触发器的时钟是相同的,均来自同一时钟单元。当任一同一时钟域中的相邻两个触发器之间的建立时间违反时均可以采用本申请提供的修正方案,用户可以根据需求来指定一个同一时钟域中触发器到触发器之间的建立时间违反路径。
在确定同一时钟域中触发器到触发器之间的建立时间违反路径时,其路径余量也便确定了,且此时路径余量一定是小于零的,修正建立时间违反的目的便是使得最后的路径余量大于零。
同一时钟域中的相邻两个触发器之间为组合逻辑电路,组合逻辑电路通常由一些不同类型的逻辑器件构成,例如与门、反相器、缓冲器等。同一类型的逻辑器件通常包括很多型号,例如与门包括很多型号。本申请中,为了使得路径余量大于零,也采用同类型的替换逻辑器件替换的方式来减小同一时钟域中相邻两个触发器之间的路径延迟。其中,同类型的替换逻辑器件要求:与待替换的逻辑器件类型相同且工作电压是相同的,也即所属电压域是相同的,但是阈值电压比待替换的逻辑器件小,这样,替换后不改变原电路的电压域设计,但建立时间违反路径的延迟会减小。
具体地,在确定同一时钟域中的相邻两个触发器之间的建立时间违反路径后,可以进一步确定建立时间违反路径上待替换的逻辑器件及与其同类型的替换逻辑器件,其中,这里的逻辑器件可以是一个,也可以是多个。然后计算待替换的逻辑器件与和逻辑器件同类型的替换逻辑器件的延迟功耗权重比,其中,延迟功耗权重比与逻辑器件减去同类型的替换逻辑器件的功耗差呈负相关,与同类型的替换逻辑器件减去逻辑器件的延迟差呈正相关。可见,延迟功耗权重比越大则说明替换逻辑器件后获得的延迟收益大而增加的漏电功耗少。基于此,为了提高修正建立时间违反的效率,按照延迟功耗权重比从大到小的顺序依次将逻辑器件替换为替换逻辑器件,且每替换完一个逻辑器件便将路径余量更新为路径余量与本次替换的替换逻辑器件的延迟减小量的和,并判断更新后的路径余量是否小于零,若仍小于零则继续按照延迟功耗权重比从大到小的顺序替换下一个逻辑器件,直至更新后的路径余量大于0或者所有逻辑器件均被替换完。
综上,该方法替换同类型逻辑器件的技术上,还考虑了替换逻辑器件的功耗,由于延迟功耗权重比越大,说明替换逻辑器件后获得的延迟收益大而增加的漏电功耗少,可见,按照延迟功耗权重比从大到小的顺序进行器件替换能够在较快修正建立时间的基础上还减少漏电功耗的增加,提高了修正建立时间违反的效率。
在上述实施例的基础上:
作为一种优选地实施例,S12包括:
基于延迟功耗权重比关系式计算建立时间违反路径上的逻辑器件与和逻辑器件同类型的替换逻辑器件的延迟功耗权重比;
延迟功耗权重比关系式为:
Ri=Di/Pi
其中,Ri为第i个逻辑器件及与其同类型的替换逻辑器件的延迟功耗权重比,Di为第i个逻辑器件的延迟减去与第i个逻辑器件同类型的替换逻辑器件的延迟得到的延迟差,Pi为与第i个逻辑器件同类型的替换逻辑器件的功耗减去第i个逻辑器件的功耗得到的功耗差,i为建立时间违反路径上任意一个具有同类型的替换逻辑器件的逻辑器件。
具体地,首先获取建立时间违反路径上的逻辑器件与和逻辑器件同类型的替换逻辑器件的延迟和功耗,得到各个逻辑器件及其替换逻辑器件的功耗差及延迟差。以第i个逻辑器件为例,则Di=第i个逻辑器件的延迟减去与第i个逻辑器件同类型的替换逻辑器件的延迟,Pi=与第i个逻辑器件同类型的替换逻辑器件的功耗减去第i个逻辑器件的功耗。然后Pi与Di的比值便为第i个逻辑器件与和逻辑器件同类型的替换逻辑器件的延迟功耗权重比。
可见,延迟功耗权重比越大则说明替换逻辑器件后获得的延迟收益大而增加的漏电功耗少,便于后续选择延迟功耗权重比大的器件进行替换,提高修正建立时间违反的效率。
作为一种优选地实施例,S12包括:
基于延迟功耗权重比关系式计算建立时间违反路径上的逻辑器件与和逻辑器件同类型的替换逻辑器件的延迟功耗权重比;
延迟功耗权重比关系式为:
Ri=Di/Pi*Fi
其中,Ri为第i个逻辑器件及与其同类型的替换逻辑器件的延迟功耗权重比,Di为第i个逻辑器件的延迟减去与第i个逻辑器件同类型的替换逻辑器件的延迟得到的延迟差,Pi为与第i个逻辑器件同类型的替换逻辑器件的功耗减去第i个逻辑器件的功耗得到的功耗差,Fi为第i个逻辑器件的扇出值,i为建立时间违反路径上任意一个具有同类型的替换逻辑器件的逻辑器件。
具体地,本实施例中,除了获取建立时间违反路径上的逻辑器件与和逻辑器件同类型的替换逻辑器件的延迟和功耗,还获取各个逻辑器件的扇出值,以基于延迟、功耗及扇出值确定逻辑器件与和逻辑器件同类型的替换逻辑器件的延迟功耗权重比。其中,逻辑器件的扇出值越大,说明经过该逻辑器件的路径就越多,修改该逻辑器件能改善经过该逻辑器件的所有路径的延迟,降低该逻辑器件的延迟对电路整体的建立时间均有好处。
请参照表1,表1为本发明提供的一种建立时间违反路径上的几个逻辑器件的属性值。
表1逻辑器件的属性值表
Figure BDA0002852193060000101
需要说明的是,在实际应用中,可以通过查询该逻辑器件在电路物理信息中的坐标判断该逻辑器件所属的电压域。
以第i个逻辑器件为例,则Di=第i个逻辑器件的延迟减去与第i个逻辑器件同类型的替换逻辑器件的延迟,Pi=与第i个逻辑器件同类型的替换逻辑器件的功耗减去第i个逻辑器件的功耗,Fi为第i个逻辑器件的扇出值。然后Pi与Di的比值乘以Fi便为第i个逻辑器件与和逻辑器件同类型的替换逻辑器件的延迟功耗权重比。
可见,本实施例中,延迟功耗权重比越大则说明替换逻辑器件后获得的延迟收益大而增加的漏电功耗少,和/或改善经过该逻辑器件的所有路径的延迟的能力越强,便于后续选择延迟功耗权重比大的器件进行替换,提高修正建立时间违反的效率。
作为一种优选地实施例,S13之前,还包括:
S14:判断建立时间违反路径中是否存在缓冲器,若是,进入S15,否则,进入S13;
S15:删除缓冲器,并将路径余量更新为路径余量与缓冲器的延迟的和;
S16:判断更新后的路径余量是否大于0,若是,则判定建立时间违反修正成功,否则,进入S13。
具体地,申请人考虑到建立时间违反路径中可能会存在缓冲器,缓冲器不改变信号的属性,仅改变信号的传递下个器件的时间,删除缓冲器仅对建立时间违反路径中的延迟产生影响。因此,本申请中,在对逻辑器件进行替换之前,还判断建立时间违反路径中是否存在缓冲器,若存在,则将缓冲器删除,将此删除操作以Tcl语言的格式写入时序修复命令文件中,并将路径余量更新为路径余量与缓冲器的延迟的和,并判断更新后的路径余量是否大于0,若大于0,则判定建立时间违反路径修正成功,若不存在缓冲器或者不大于0,则进入后续逻辑器件替换的步骤。
可见,本申请中,在建立时间违反路径中存在缓冲器时,通过删除缓冲器来减小建立时间违反路径的延迟,提高了修正建立时间违反的效率。
作为一种优选地实施例,逻辑器件所属类型中的器件按照阈值电压从大到小的顺序依次分为高阈值电压器件、标准阈值电压器件、低阈值电压器件及超低阈值电压器件;
S12包括:
S121:选择建立时间违反路径上的逻辑器件,其中,逻辑器件为其所属类型中的非超低阈值电压器件;
S122:确定逻辑器件所属类型中的相邻级阈值电压器件为替换逻辑器件,相邻级阈值电压器件的阈值电压小于逻辑器件的阈值电压;
S123:计算逻辑器件与替换逻辑器件的延迟功耗权重比。
具体地,逻辑器件所属类型中的器件按照阈值电压从大到小通常依次包括高阈值电压器件、标准阈值电压器件、低阈值电压器件及超低阈值电压器件。由于要求替换逻辑器件的阈值电压要小于待替换的逻辑器件的阈值电压,因此,待替换的逻辑器件不可以是超低阈值电压器件,因此,此时不存在比超低阈值电压器件的阈值电压还小的逻辑器件。
此外,考虑到对于同类型的逻辑器件,阈值电压越高,延迟越大,但漏电功耗越小,阈值电压越小,延迟越小,但漏电功耗越大。为了尽可能实现延迟和功耗的平衡,本申请中,在确定待替换的逻辑器件的替换逻辑器件时,要求选择待替换的逻辑器件的相邻级阈值电压器件为替换逻辑器件,且相邻级阈值电压器件的阈值电压小于逻辑器件的阈值电压。例如若待替换的逻辑器件为高阈值电压器件,则其替换逻辑器件为标准阈值电压器件;若待替换的逻辑器件为标准阈值电压器件,则其替换逻辑器件为低阈值电压器件;若待替换的逻辑器件为低阈值电压器件,则其替换逻辑器件为超低阈值电压器件。
还需要说明的是,由于超低阈值电压器件的功耗较大,在实际应用中,用户可以根据需求决定是否使用。
可见,通过该种方式选择替换逻辑器件,能够较好地实现延迟和功耗的平衡,在减小建立时间违反路径的延迟的同时不会过分增大功耗。
作为一种优选地实施例,S13包括:
S1301:对建立时间违反路径上计算得到的所有延迟功耗权重比进行从大到小排序,得到优化序列;
S1302:选取延迟功耗权重比最大的逻辑器件作为当前优化器件;
S1303:将当前优化器件替换为与其同类型的替换逻辑器件,并将路径余量更新为路径余量与替换逻辑器件的延迟减小量的和;延迟减小量=当前优化器件的延迟-替换逻辑器件的延迟;
S1304:判断更新后的路径余量是否大于0,若是,进入S1307;否则,进入S1305;
S1305:判断优化序列中的所有逻辑器件是否全部被优化完,若是,进入S1308,否则,进入S1306;
S1306:按照优化序列的顺序将当前优化器件的下一个逻辑器件作为新的当前优化器件,返回S1303;
S1307:判定建立时间违反修正成功,并基于所有优化的逻辑器件更新建立时间违反路径;
S1308:判定建立时间违反修正失败。
具体地,在得到建立时间违反路径上计算得到的所有延迟功耗权重比后,考虑到延迟功耗权重比越大则说明替换逻辑器件后获得的延迟收益大而增加的漏电功耗少,因此,为了提高修正建立时间违反的效率,首先对建立时间违反路径上计算得到的所有延迟功耗权重比进行从大到小排序,得到优化序列。然后选择延迟功耗权重比最大的逻辑器件作为当前优化器件,并将当前优化器件替换为与其同类型的替换逻辑器件,并更新路径余量。然后判断更新后的路径余量是否大于0,若大于0,则判定建立时间违反修正成功,并基于所有优化的逻辑器件更新建立时间违反路径。若不大于0,则说明要继续优化,先判断优化序列中的所有逻辑器件是否全部被优化完,如果全部被优化完,则判定本轮建立时间违反修正失败。如果没有全部被优化完,则按照优化序列的顺序将当前优化器件的下一个逻辑器件作为新的当前优化器件,并返回S1303。
可见,按照延迟功耗权重比从大到小的顺序依次进行器件替换能够在较快修正建立时间的基础上还减少漏电功耗的增加,提高了修正建立时间违反的效率。
作为一种优选地实施例,在判定优化序列中的所有逻辑器件全部被优化完之后,还包括:
S1309:判断是否所有优化完的逻辑器件均为超低阈值电压器件,若是,进入S1308,否则,进入S1310;
S1310:将本轮优化中优化序列中所有逻辑器件的替换类型操作写入时序修复命令;
S1311:基于时序修复命令更新建立时间违反路径,并返回S11。
上述提到,由于要求替换逻辑器件的阈值电压要小于待替换的逻辑器件的阈值电压,因此,待替换的逻辑器件不可以是超低阈值电压器件。因此,在判定优化序列中的所有逻辑器件全部被优化完之后,再判断是否所有优化完的逻辑器件均为超低阈值电压器件,若是,则说明该建立时间违反路径已经无法通过替换逻辑器件来使其路径余量大于0,判定建立时间违反修正失败。否则,说明替换逻辑器件还存在相邻级逻辑器件,可以继续进行下一轮建立时间违反的修正。具体地,此时将本轮优化中优化序列中所有逻辑器件的替换类型操作写入时序修复命令,并基于时序修复命令更新建立时间违反路径,最后返回S11,实现下一轮的建立时间违反的修正。
可见,通过该种方式能够在较好地平衡延迟和功耗的基础上,实现对建立时间违反的修正。
作为一种优选地实施例,S1304中,在判定更新后的路径余量大于0之后,还包括:
S1312:判断优化序列中优化的逻辑器件的数量N是否小于优化序列中所有逻辑器件的数量M,若是,进入S1313,否则,进入S1307;
S1313:按照优化序列的顺序从未优化的逻辑器件中选取与最后一个已优化器件相邻的连续K个逻辑器件,形成
Figure BDA0002852193060000142
的逻辑器件组合,0<k≤3,M+K≤N;
S1314:计算各个逻辑器件组合的延迟减小量总和及漏电功耗总量;
S1315:从满足路径余量与自身对应地延迟减小量总和大于零的逻辑器件组合中确定漏电功耗总量最小的逻辑器件组合,并作为最终选择的优化逻辑器件组合,进入S1307。
具体地,假设在按照延迟功耗权重比从大到小的顺序进行器件替换时,在替换完第N个逻辑器件后的路径余量大于0,此时直接将这N个替换逻辑器件作为优化逻辑器件组合也是可以的,但考虑到延迟功耗权重比是相对值,按照延迟功耗权重比从大到小的顺序进行器件替换能够在整体上较快修正建立时间的基础上还减少漏电功耗的增加,但第N个逻辑器件后的相邻几个逻辑器件也即第N+1、第N+2、第N+3个逻辑器件的延迟功耗权重比可能和第N个逻辑器件的延迟功耗权重比相差不大,且有可能存在替换第N+1个或者第N+2个或者第N+3个逻辑器件时也能满足路径余量大于0但是功耗更小的情况。
因此,为了进一步在整体上较快修正建立时间的基础上还减少漏电功耗的增加,在判定更新后的路径余量大于0之后,还判断优化序列中优化的逻辑器件的数量N是否小于优化序列中所有逻辑器件的数量M,若N小于M,则按照优化序列的顺序从未优化的逻辑器件中选取与最后一个已优化器件相邻的连续K个逻辑器件,形成
Figure BDA0002852193060000141
的逻辑器件组合,然后计算各个逻辑器件组合的延迟减小量总和及漏电功耗总量,最后从满足路径余量与自身对应地延迟减小量总和大于零的逻辑器件组合中确定漏电功耗总量最小的逻辑器件组合,并作为最终选择的优化逻辑器件组合。若N=M,则直接判定建立时间违反修正成功,并基于所有优化的逻辑器件更新建立时间违反路径。
需要说明的是,这里要求0<k≤3是为了在减小漏电功耗的基础上尽快修正建立时间,当然,在实际应用中,k还可以选取其他数值,本申请在此不作特别的限定。
可见,本申请对优化序列中的逻辑器件进行替换满足路径建立时间要求后,对优化序列中的已优化逻辑器件进行二阶分组排序,选择既能修复时序又最小程度增加功耗的组合,通过该种方式能够在较快修正建立时间的基础上进一步减少漏电功耗的增加。
请参照图3,图3为本发明提供的一种修正建立时间违反的系统的结构示意图。
该系统包括:
获取单元31,用于获取同一时钟域中触发器到触发器之间的建立时间违反路径及路径余量;
计算单元32,用于计算建立时间违反路径上的逻辑器件与和逻辑器件同类型的替换逻辑器件的延迟功耗权重比;
优化单元33,用于按照延迟功耗权重比从大到小的顺序依次将逻辑器件替换为替换逻辑器件,并在每次替换后将路径余量更新为路径余量与本次替换的替换逻辑器件的延迟减小量的和,直至更新后的路径余量大于0或者所有逻辑器件均被替换完;
其中,逻辑器件的阈值电压大于替换逻辑器件的阈值电压,延迟功耗权重比与逻辑器件减去同类型的替换逻辑器件的功耗差呈负相关,与同类型的替换逻辑器件减去逻辑器件的延迟差呈正相关。
对于本发明提供的一种修正建立时间违反的系统的介绍请参照上述方法实施例,本发明在此不再赘述。
请参照图4,图4为本发明提供的一种修正建立时间违反的装置的结构示意图。
该装置包括:
存储器41,用于存储计算机程序;
处理器42,用于执行计算机程序时实现如上述修正建立时间违反的方法的步骤。
对于本发明提供的一种修正建立时间违反的装置的介绍请参照上述方法实施例,本发明在此不再赘述。
需要说明的是,在本说明书中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其他实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。

Claims (10)

1.一种修正建立时间违反的方法,其特征在于,包括:
S11:获取同一时钟域中触发器到触发器之间的建立时间违反路径及路径余量;
S12:计算所述建立时间违反路径上的逻辑器件与和所述逻辑器件同类型的替换逻辑器件的延迟功耗权重比;
S13:按照所述延迟功耗权重比从大到小的顺序依次将逻辑器件替换为替换逻辑器件,并在每次替换后将所述路径余量更新为所述路径余量与本次替换的替换逻辑器件的延迟减小量的和,直至更新后的路径余量大于0或者所有所述逻辑器件均被替换完;
其中,所述逻辑器件的阈值电压大于所述替换逻辑器件的阈值电压,所述延迟功耗权重比与所述逻辑器件减去同类型的替换逻辑器件的功耗差呈负相关,与所述同类型的替换逻辑器件减去逻辑器件的延迟差呈正相关。
2.如权利要求1所述的修正建立时间违反的方法,其特征在于,S12包括:
基于延迟功耗权重比关系式计算所述建立时间违反路径上的逻辑器件与和所述逻辑器件同类型的替换逻辑器件的延迟功耗权重比;
所述延迟功耗权重比关系式为:
Ri=Di/Pi
其中,Ri为第i个逻辑器件及与其同类型的替换逻辑器件的延迟功耗权重比,Di为第i个逻辑器件的延迟减去与第i个逻辑器件同类型的替换逻辑器件的延迟得到的延迟差,Pi为与第i个逻辑器件同类型的替换逻辑器件的功耗减去第i个逻辑器件的功耗得到的功耗差,i为所述建立时间违反路径上任意一个具有同类型的替换逻辑器件的逻辑器件。
3.如权利要求1所述的修正建立时间违反的方法,其特征在于,S12包括:
基于延迟功耗权重比关系式计算所述建立时间违反路径上的逻辑器件与和所述逻辑器件同类型的替换逻辑器件的延迟功耗权重比;
所述延迟功耗权重比关系式为:
Ri=Di/Pi*Fi
其中,Ri为第i个逻辑器件及与其同类型的替换逻辑器件的延迟功耗权重比,Di为第i个逻辑器件的延迟减去与第i个逻辑器件同类型的替换逻辑器件的延迟得到的延迟差,Pi为与第i个逻辑器件同类型的替换逻辑器件的功耗减去第i个逻辑器件的功耗得到的功耗差,Fi为第i个逻辑器件的扇出值,i为所述建立时间违反路径上任意一个具有同类型的替换逻辑器件的逻辑器件。
4.如权利要求1所述的修正建立时间违反的方法,其特征在于,S13之前,还包括:
S14:判断所述建立时间违反路径中是否存在缓冲器,若是,进入S15,否则,进入S13;
S15:删除缓冲器,并将所述路径余量更新为所述路径余量与所述缓冲器的延迟的和;
S16:判断更新后的路径余量是否大于0,若是,则判定建立时间违反修正成功,否则,进入S13。
5.如权利要求1至4任一项所述的修正建立时间违反的方法,其特征在于,所述逻辑器件所属类型中的器件按照阈值电压从大到小的顺序依次分为高阈值电压器件、标准阈值电压器件、低阈值电压器件及超低阈值电压器件;
S12包括:
S121:选择所述建立时间违反路径上的逻辑器件,其中,所述逻辑器件为其所属类型中的非超低阈值电压器件;
S122:确定所述逻辑器件所属类型中的相邻级阈值电压器件为所述替换逻辑器件,所述相邻级阈值电压器件的阈值电压小于所述逻辑器件的阈值电压;
S123:计算所述逻辑器件与所述替换逻辑器件的延迟功耗权重比。
6.如权利要求5所述的修正建立时间违反的方法,其特征在于,S13包括:
S1301:对所述建立时间违反路径上计算得到的所有延迟功耗权重比进行从大到小排序,得到优化序列;
S1302:选取延迟功耗权重比最大的逻辑器件作为当前优化器件;
S1303:将所述当前优化器件替换为与其同类型的替换逻辑器件,并将所述路径余量更新为所述路径余量与所述替换逻辑器件的延迟减小量的和;所述延迟减小量=所述当前优化器件的延迟-所述替换逻辑器件的延迟;
S1304:判断更新后的路径余量是否大于0,若是,进入S1307;否则,进入S1305;
S1305:判断所述优化序列中的所有逻辑器件是否全部被优化完,若是,进入S1308,否则,进入S1306;
S1306:按照所述优化序列的顺序将所述当前优化器件的下一个逻辑器件作为新的当前优化器件,返回S1303;
S1307:判定建立时间违反修正成功,并基于所有优化的逻辑器件更新所述建立时间违反路径;
S1308:判定建立时间违反修正失败。
7.如权利要求6所述的修正建立时间违反的方法,其特征在于,在判定所述优化序列中的所有逻辑器件全部被优化完之后,还包括:
S1309:判断是否所有优化完的逻辑器件均为超低阈值电压器件,若是,进入S1308,否则,进入S1310;
S1310:将本轮优化中所述优化序列中所有逻辑器件的替换类型操作写入时序修复命令;
S1311:基于所述时序修复命令更新所述建立时间违反路径,并返回S11。
8.如权利要求6所述的修正建立时间违反的方法,其特征在于,S1304中,在判定更新后的路径余量大于0之后,还包括:
S1312:判断所述优化序列中优化的逻辑器件的数量N是否小于所述优化序列中所有逻辑器件的数量M,若是,进入S1313,否则,进入S1307;
S1313:按照所述优化序列的顺序从未优化的逻辑器件中选取与最后一个已优化器件相邻的连续K个逻辑器件,形成
Figure FDA0002852193050000031
的逻辑器件组合,0<k≤3,M+K≤N;
S1314:计算各个所述逻辑器件组合的延迟减小量总和及漏电功耗总量;
S1315:从满足所述路径余量与自身对应地延迟减小量总和大于零的逻辑器件组合中确定漏电功耗总量最小的逻辑器件组合,并作为最终选择的优化逻辑器件组合,进入S1307。
9.一种修正建立时间违反的系统,其特征在于,包括:
获取单元,用于获取同一时钟域中触发器到触发器之间的建立时间违反路径及路径余量;
计算单元,用于计算所述建立时间违反路径上的逻辑器件与和所述逻辑器件同类型的替换逻辑器件的延迟功耗权重比;
优化单元,用于按照所述延迟功耗权重比从大到小的顺序依次将逻辑器件替换为替换逻辑器件,并在每次替换后将所述路径余量更新为所述路径余量与本次替换的替换逻辑器件的延迟减小量的和,直至更新后的路径余量大于0或者所有所述逻辑器件均被替换完;
其中,所述逻辑器件的阈值电压大于所述替换逻辑器件的阈值电压,所述延迟功耗权重比与所述逻辑器件减去同类型的替换逻辑器件的功耗差呈负相关,与所述同类型的替换逻辑器件减去逻辑器件的延迟差呈正相关。
10.一种修正建立时间违反的装置,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至8任一项所述修正建立时间违反的方法的步骤。
CN202011531396.4A 2020-12-22 2020-12-22 一种修正建立时间违反的方法、装置及系统 Pending CN112564682A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011531396.4A CN112564682A (zh) 2020-12-22 2020-12-22 一种修正建立时间违反的方法、装置及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011531396.4A CN112564682A (zh) 2020-12-22 2020-12-22 一种修正建立时间违反的方法、装置及系统

Publications (1)

Publication Number Publication Date
CN112564682A true CN112564682A (zh) 2021-03-26

Family

ID=75031687

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011531396.4A Pending CN112564682A (zh) 2020-12-22 2020-12-22 一种修正建立时间违反的方法、装置及系统

Country Status (1)

Country Link
CN (1) CN112564682A (zh)

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030014724A1 (en) * 2001-07-03 2003-01-16 Naohito Kojima Method for distributing clock signals to flip-flop circuits
CN104992032A (zh) * 2015-07-22 2015-10-21 杭州宙其科技有限公司 一种多电压域设计中保持时间的修正方法
CN109800511A (zh) * 2019-01-23 2019-05-24 中国人民解放军国防科技大学 一种寻找最优公共点的保持时间违反修正方法及系统
CN110111020A (zh) * 2019-05-16 2019-08-09 天津飞腾信息技术有限公司 基于自动评估建立时间余量的保持时间修复方法、系统及介质
CN110738019A (zh) * 2019-09-26 2020-01-31 北京华大九天软件有限公司 一种利用负载单元自动结群修复时序违反的方法及装置
CN112069763A (zh) * 2020-09-29 2020-12-11 上海兆芯集成电路有限公司 修正电路的方法

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030014724A1 (en) * 2001-07-03 2003-01-16 Naohito Kojima Method for distributing clock signals to flip-flop circuits
CN104992032A (zh) * 2015-07-22 2015-10-21 杭州宙其科技有限公司 一种多电压域设计中保持时间的修正方法
CN109800511A (zh) * 2019-01-23 2019-05-24 中国人民解放军国防科技大学 一种寻找最优公共点的保持时间违反修正方法及系统
CN110111020A (zh) * 2019-05-16 2019-08-09 天津飞腾信息技术有限公司 基于自动评估建立时间余量的保持时间修复方法、系统及介质
CN110738019A (zh) * 2019-09-26 2020-01-31 北京华大九天软件有限公司 一种利用负载单元自动结群修复时序违反的方法及装置
CN112069763A (zh) * 2020-09-29 2020-12-11 上海兆芯集成电路有限公司 修正电路的方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
TOSHINORI SATO等: "Tolerating Aging-Induced Timing Violations Via Configurable Approximations", 《 2019 IEEE 8TH GLOBAL CONFERENCE ON CONSUMER ELECTRONICS (GCCE)》 *
路卢;彭思龙;: "使用扩展逻辑效力的逻辑路径尺寸优化方法", 计算机辅助设计与图形学学报, no. 11 *

Similar Documents

Publication Publication Date Title
US8539424B2 (en) System and method for designing integrated circuits that employ adaptive voltage scaling optimization
CN112597739B (zh) 修复电路中的保持时间违例的方法和装置
US20110041114A1 (en) Circuit design support apparatus, circuit design support method, and circuit design support program
CN115796116B (zh) 一种集成电路优化方法、装置、存储介质及电子设备
CN115796093B (zh) 电路时序优化方法、装置、电子设备及存储介质
US20130238916A1 (en) Method for implementing isolation gates during low-power modes
US7747971B1 (en) State retention for formal verification
US8843873B1 (en) Capacitive cell load estimation using electromigration analysis
CN114785647A (zh) 信号沿相位分别可调的均衡电路及均衡方法
CN112564682A (zh) 一种修正建立时间违反的方法、装置及系统
US20030212972A1 (en) Unconventional clocked circuit components having multiple timing models
CN107301031B (zh) 一种规格化浮点数据筛选电路
US20220327269A1 (en) Computing device and method for detecting clock domain crossing violation in design of memory device
TW202034454A (zh) 電路設計方法及相關的電腦程式產品
US8473887B2 (en) Event scheduler for an electrical circuit design to account for hold time violations
WO2020166397A1 (ja) 校閲方法、情報処理装置および校閲プログラム
US8010932B2 (en) Structure for automated transistor tuning in an integrated circuit design
US20150269304A1 (en) System and method for employing signoff-quality timing analysis information concurrently in multiple scenarios to reduce total power within a circuit design
Stefanidis et al. Design optimization by fine-grained interleaving of local netlist transformations in Lagrangian relaxation
US7080335B2 (en) Methods for modeling latch transparency
CN116681011B (zh) 时间违例修复方法、装置、计算机设备及存储介质
US7853907B2 (en) Over approximation of integrated circuit based clock gating logic
US20050102546A1 (en) System and method for handling state change conditions by a program status register
KR102618335B1 (ko) 머신러닝 기반 챗봇에 대한 학습 데이터를 생성하기 위한 장치, 방법, 시스템 및 컴퓨터 판독가능 저장 매체
US7613944B2 (en) Programmable local clock buffer capable of varying initial settings

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