CN112580280B - 逻辑电路的优化方法、优化装置以及存储介质 - Google Patents

逻辑电路的优化方法、优化装置以及存储介质 Download PDF

Info

Publication number
CN112580280B
CN112580280B CN202011444751.4A CN202011444751A CN112580280B CN 112580280 B CN112580280 B CN 112580280B CN 202011444751 A CN202011444751 A CN 202011444751A CN 112580280 B CN112580280 B CN 112580280B
Authority
CN
China
Prior art keywords
clock
voltage drop
cycle
circuit
logic circuit
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
Application number
CN202011444751.4A
Other languages
English (en)
Other versions
CN112580280A (zh
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.)
Haiguang Information Technology Co Ltd
Original Assignee
Haiguang Information Technology 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 Haiguang Information Technology Co Ltd filed Critical Haiguang Information Technology Co Ltd
Priority to CN202011444751.4A priority Critical patent/CN112580280B/zh
Publication of CN112580280A publication Critical patent/CN112580280A/zh
Application granted granted Critical
Publication of CN112580280B publication Critical patent/CN112580280B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F30/00Computer-aided design [CAD]
    • G06F30/30Circuit design
    • G06F30/32Circuit design at the digital level
    • G06F30/327Logic synthesis; Behaviour synthesis, e.g. mapping logic, HDL to netlist, high-level language to RTL or netlist

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Geometry (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)
  • Semiconductor Integrated Circuits (AREA)

Abstract

一种逻辑电路的优化方法、优化装置和存储介质。该逻辑电路包括时钟单元电路,该时钟单元电路均配置为与时钟信号源连接,该优化方法包括:根据该时钟单元电路在第一时钟周期和第二时钟周期的周期间压降差对该逻辑电路进行优化。该优化方法可以有效降低电路风险。

Description

逻辑电路的优化方法、优化装置以及存储介质
技术领域
本公开的实施例涉及一种逻辑电路的优化方法、优化装置以及存储介质。
背景技术
近年来随着芯片工艺技术不断进步,高速度、高集成度、低功耗和低成本已成为集成电路产业的发展大方向。高性能高集成度导致物理实现的复杂程度不断上升,设计裕度的合理把控以及签核标准的准确制定显得尤为重要。
发明内容
本公开至少一实施例提供一种一种逻辑电路的优化方法,所述逻辑电路包括时钟单元电路,所述时钟单元电路配置为与时钟信号源连接,所述优化方法包括:根据所述时钟单元电路在第一时钟周期和第二时钟周期的周期间压降差对所述逻辑电路进行优化。
在一些示例中,所述时钟单元电路位于所述逻辑电路的时钟路径上,并配置为传递所述时钟信号源输出的时钟信号。
在一些示例中,所述时钟单元电路包括缓冲器、反相器中的至少之一。
在一些示例中,所述第一时钟周期和所述第二时钟周期为相邻的时钟周期。
在一些示例中,所述优化方法还包括:对所述逻辑电路进行仿真,其中,所述仿真时长包括N个时钟周期,N为大于2的正整数;对所述时钟单元电路在所述N个时钟周期中任意相邻的两个时钟周期计算周期间压降差,并选取最大值作为所述时钟单元电路的所述周期间压降差。
在一些示例中,所述优化方法还包括:分别获取所述时钟单元电路在所述第一时钟周期的第一压降以及在所述第二时钟周期的第二压降,以及根据所述第一压降和所述第二压降得到所述时钟单元在所述第一时钟周期和所述第二时钟周期的周期间压降差。
在一些示例中,所述第一压降和所述第二压降分别为所述时钟单元电路在所述第一时钟周期和所述第二时钟周期的压降的最大值、最小值或平均值。
在一些示例中,所述优化方法还包括:获取所述时钟单元电路在所述第一时钟周期的第一压降分布,获取所述时钟单元电路在所述第二时钟周期的第二压降分布,根据所述第一压降分布和所述第二压降分布获取所述时钟单元电路在一个时钟周期的周期间压降差分布。
在一些示例中,获取所述时钟单元电路在第一时钟周期和第二时钟周期的周期间压降差还包括:将所述时钟单元电路的周期间压降差分布在所述一个时钟周期内取最大值、最小值或平均值作为所述时钟单元电路的周期间压降差。
在一些示例中,根据所述时钟单元电路在第一时钟周期和第二时钟周期的周期间压降差对所述逻辑电路进行优化包括:当所述周期间压降差高于预设阈值时,对所述逻辑电路进行优化。
在一些示例中,所述逻辑电路包括多个所述时钟单元电路,根据所述时钟单元电路在第一时钟周期和第二时钟周期的周期间压降差对所述逻辑电路进行优化包括:根据所述多个时钟单元电路的周期间压降差对所述多个时钟单元电路的每个进行风险评级,并生成所述逻辑电路的压降差分布图,其中,所述压降差分布图包括所述每个时钟单元电路的风险等级和位置信息;根据所述压降差分布图对所述逻辑电路进行优化。
在一些示例中,根据所述压降差分布图对所述逻辑电路进行优化包括:根据所述压降差分布图检查所述多个时钟单元电路中位于关键路径上的时钟单元电路的风险等级,当所述风险等级高于参考风险等级时,对所述位于关键路径上的时钟单元电路进行优化。
本公开至少一实施例还提供一种逻辑电路的优化装置,包括处理器和存储器。所述存储器中存储有计算机可执行代码,当所述计算机可执行代码被执行时,执行上述任一实施例提供的优化方法。
本公开至少一实施例还提供一种计算机可读存储介质,其上存储有计算机可执行代码,所述计算机可执行代码在被处理器执行时,使得所述处理器执行上述任一实施例提供的优化方法。
本公开至少一实施例还提供一种逻辑电路的优化装置,所述逻辑电路包括时钟单元电路,所述时钟单元电路配置为与时钟信号源连接,所述优化装置包括优化单元,所述优化单元配置为根据所述时钟单元电路在第一时钟周期和第二时钟周期的周期间压降差对所述逻辑电路进行优化。
在一些示例中,所述优化装置还包括周期间压降差获取单元,所述周期间压降差获取单元配置为获取所述时钟单元电路在第一时钟周期和第二时钟周期的周期间压降差。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
图1A为一种逻辑电路的结构示意图;
图1B为图1A所示逻辑电路的时钟信号的波形图;
图1C和图1D为另一些逻辑电路的结构示意图;
图2为一种时钟树的结构示意图;
图3为本公开至少一实施例提供的逻辑电路的工作电压波形图;
图4A为本公开至少一实施例提供的逻辑电路的压降差分布图;
图4B为本公开另一实施例提供的逻辑电路的压降差分布图;
图5为本公开至少一实施例提供的一种逻辑电路的优化方法的示意图;
图6为本公开至少一实施例提供的逻辑电路的优化装置的示意图;
图7为本公开至少一实施例提供的一种存储介质的示意图;以及
图8为本公开另一些实施例提供的逻辑电路的优化装置的示意图。
具体实施方式
为使本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。同样,“一个”、“一”或者“该”等类似词语也不表示数量限制,而是表示存在至少一个。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。
逻辑电路的工作状态受到很多因素影响,其中一个重要的因素就是电路的工作电压。例如,一个逻辑电路(例如芯片)包括由时钟树管理的多个功能模块(例如寄存器等),电源电压从电源端通过传输网络传递至每个功能模块,由于电源电压在传输网络中出现电压损耗,导致每个功能模块接收到的电源电压低于理想值,也即存在电压降。
逻辑电路中的电压降分为静态压降和动态压降。静态压降现象产生的原因主要是电源网络的导线的分压,是由于导线的自身电阻分压造成的,电流经过内部电源连线的时候产生电源压降。动态压降是电源在电路开关切换或翻转的时候电流波动引起的电压压降。例如,动态压降产生在时钟的触发沿,时钟沿跳变不仅带来自身的大量晶体管开关,同时带来组合逻辑电路的跳变,往往在短时间内在整个芯片上产生很大的电流,这个瞬间的大电流引起了压降现象。例如,同时开关的晶体管数量越多,越容易触发动态压降现象。
电路的压降会导致各功能模块的工作电压下降,严重影响电路的工作状态。例如,动态压降会让电路的工作电压产生波动,可能引起电路的时序错误,并引起逻辑错误。
一种解决方法是通过压降分析工具分析电路中各单元电路的压降,并相应进行修复。例如,在一个时间窗口(timing window)内测量单元电路的压降,然后根据需要进行修复。
发明人发现,除了电路的压降本身会产生不利影响,电路在时钟周期间的压降差也会给电路设计带来风险。例如,由于各单元电路在不同时钟周期的工作环境可能不同,例如周围电路(例如晶体管)的翻转情况在不同时钟周期不同,造成该单元电路在不同时钟周期具有不同的压降,造成周期间的时钟抖动,当该压降差过大,会影响电路的时序,引起时序违反,影响电路性能。
图1A示出了一种逻辑电路的示意图,如图所示,该逻辑电路包括第一寄存器FF1和第二寄存器FF2以及连接与该第一寄存器FF1和第二寄存器FF2的逻辑电路COMB,时钟信号源CLK的时钟信号通过缓冲器BUF1分别传递至第一寄存器FF1的时钟端CK1和第二寄存器FF2的时钟信号端。
图1B分别示出了时钟信号源发出的时钟信号CLK、该第一寄存器FF1所接收的时钟信号CLK1和该第二寄存器FF2所接收的时钟信号CLK2在相邻两个时钟周期的波形图。由于缓冲器BUF1的存在,时钟信号CLK1和CLK2相对于时钟信号CLK存在延时。例如,时钟信号CLK1和CLK2相对于时钟信号CLK的延时相同。
该两个时钟周期构成了一组发射-捕获周期。如图1B所示,在发射周期,时钟信号CLK1的上升沿(发射沿)相对于时钟源信号CLK存在延时Δt1,该延时包括传输线上的延时以及缓冲器BUF1造成的延时,由于缓冲器BUF1上的压降会导致缓冲器BUF1的传输速度变慢,因此缓冲器BUF1上的压降会使得该延时Δt1增大。
例如,如果该缓冲器BUF1上的压降在捕获周期变小,则使得时钟信号CLK2的捕获沿提前到来(如图1B中虚线示出的左侧的上升沿),如果此时第二寄存器FF2所要接收的数据没有准备好,也即建立时间不够,引起建立时间约束的违反,这会导致数据无法被第二寄存器FF2正确捕获。
例如,如果该缓冲器BUF1上的压降在捕获周期变大,则使得时钟信号CLK2的捕获沿推迟到来(如图1B中虚线示出的右侧的上升沿),相当于对第二寄存器的保持时间进行了挤压,如果此时第二寄存器FF2所要接收的数据的保持时间不够,会引起保持时间约束的违反,同样会影响数据的正确传输。
在另一些示例中,如图1C所示,时钟信号源CLK的时钟信号分别通过缓冲器BUF1和缓冲器BUF2传递至第一寄存器FF1的时钟端CK1和第二寄存器FF2的时钟信号端。在这个示例中,缓冲器BUF2的周期间压降差影响着第二寄存器FF2对数据的捕获与传输。
在又一些示例中,如图1D所示,时钟信号源CLK的时钟信号通过缓冲器BUF1传输至第一寄存器FF1的时钟端CK1,并通过缓冲器BUF1和缓冲器BUF2传递至第二寄存器FF2的时钟信号端。在这个示例中,由于缓冲器BUF1和缓冲器BUF2均位于第二寄存器FF2的时钟路径上,缓冲器BUF1和缓冲器BUF2作为一个整体,其周期间压降差影响着第二寄存器FF2对数据的捕获与传输。
本公开至少一实施例提供一种逻辑电路的优化方法,该逻辑电路包括时钟单元电路,该时钟单元电路配置为与时钟信号源连接,该优化方法包括:根据该时钟单元电路在第一时钟周期和第二时钟周期的周期间压降差对该逻辑电路进行优化。
通过将时钟单元电路的周期间压降差作为优化电路的考虑因素,避免时钟单元电路的周期间压降差过大给电路造成的风险,提高了电路的性能。
例如,该时钟单元电路位于所述电路的时钟路径上,并配置为传递时钟信号。例如,该时钟单元电路连接在时钟信号源与功能模块的时钟信号端之间,将时钟信号源发出的时钟信号传递给逻辑电路中的功能模块。由于时钟单元电路用于传递时钟信号,其周期间压降差直接影响电路的时钟信号(如图1A-1B所示)。
例如,该时钟单元电路包括缓冲器、反相器中的至少之一,例如可以是图1A中的缓冲器。
例如,功能模块可以理解为包括但不限于芯片设计中的各个系统、子系统等,例如包括寄存器或者触发器。例如,逻辑子电路由多个单元电路构成,例如该单元电路可以是标准单元库中的各种标准单元电路,例如可以是各种门电路(例如与门、或门、非门等)、反相器、寄存器、寄存器、选择器、全加器、乘法器等多种基本单元电路。
在基于软件工具,例如Synopsys工具的芯片设计流程中,可以利用逻辑综合工具(例如Synopsys工具中的Design Compiler工具)解析定义芯片设计中的逻辑电路以及该逻辑电路中的多个功能模块的属性信息的属性设计文件以及寄存器传输级描述文件,结合标准单元库生成门级网表。例如,门级网表为寄存器传输级描述文件的下一级描述文件。例如,从寄存器传输级描述文件中获取芯片设计中的多个功能模块的对应于高级语言的描述(例如,C语言或寄存器传输级描述)。例如,属性设计文件包括约束设计文件(SynopsysDesign Constraints,SDC),约束设计文件定义了多个功能模块的时间约束,例如对电路的时序、面积、功耗进行约束。例如,标准单元库中包括芯片设计的标准单元(例如组成各个功能模块的单元器件)的标准参数。门级网表包括对应于寄存器传输级描述文件中的多个功能模块的时序信息。例如,门级网表的多个功能模块之间还可以插入逻辑子电路,逻辑子电路形成功能模块的组合逻辑,组合逻辑形成传递函数。例如,功能模块用来保存数据,逻辑子电路用于传输数据。
例如,该时钟单元电路为时钟树上的元件。在数字电路中,通常通过时钟树对时钟域中的时钟信号进行管理,对该时钟域中的所有寄存器之间的时钟进行平衡,以保证时序收敛。
一种时钟树结构如图2所示,例如,CLK表示时钟信号源,BUF表示该时钟单元电路,例如为缓冲器,与该时钟信号单元BUF连接的矩形框表示各功能模块。该时钟单元电路BUF将时钟信号传递至各功能模块。
例如,该第一时钟周期和第二时钟周期是相邻的时钟周期。结合参考图1A-1B,由于相邻的时钟周期构成两级功能模块之间的一组发射周期和捕获周期,时钟单元电路在该两个周期间的压降差直接影响后级功能模块对数据的正确捕获和传输,因此,对该时钟单元电路在相邻的两个时钟周期进行压降差的核查可以有效改善逻辑电路的时序问题。
例如,在另一些实例中,该时钟单元电路还可以包括由多个时钟单元构成的时钟单元组,该多个时钟单元例如彼此相连。例如,该时钟单元包括缓冲器、反相器中的至少之一。例如,该多个时钟单元位于同一时钟路径上。例如,该逻辑电路包括多个功能模块,时钟单元电路中的多个时钟单元位于同一功能模块的时钟路径上。例如,参考图1D,由于缓冲器BUF1和BUF2均位于第二寄存器FF2的时钟路径上,它们的压降差共同影响着第二寄存器FF2的建立时间或保持时间,在核查的时候,可以将该缓冲器BUF1和BUF2看成一个时钟单元组而作为一个整体进行压降差的计算。
例如,该优化方法还包括:获取该时钟单元电路在该第一时钟周期和该第二时钟周期的周期间压降差。
例如,获取该时钟单元电路在该第一时钟周期和该第二时钟周期的周期间压降差包括:对该逻辑电路进行仿真。例如,该仿真时长包括N个时钟周期,N为大于2的正整数。
例如,获取该时钟单元电路在该第一时钟周期和该第二时钟周期的周期间压降差还包括:对该时钟单元电路在N个时钟周期中任意相邻的两个时钟周期计算周期间压降差,并选取最大值作为该时钟单元电路的周期间压降差。
图3示出了本公开至少一实施例提供的逻辑电路的仿真波形图,该波形图示例性地示出了一个时钟单元电路在四个时钟周期(C1-C4)的工作电压波形图。如图所示,该时钟单元电路在每个时钟周期的工作电压均相对于理想电压存在压降,且不同时钟周期该压降表现为不同。
例如,可以分别计算该四个时钟周期任意相邻的两个时钟周期计算周期间压降差(绝对值)|P2-P1|、|P3-P2|、|P4-P3|,其中P1、P2、P3、P4分别是该时钟单元电路在四个时钟周期的压降;然后并选取其中的最大值作为该时钟单元电路的周期间压降差。由于压降差越大,对电路的风险越大,因此此处选取最大值作为参考。
例如,获取该时钟单元电路在该第一时钟周期和该第二时钟周期的周期间压降差包括:分别获取时钟单元电路在第一时钟周期的第一压降以及在第二时钟周期的第二压降,然后根据所述第一压降和所述第二压降得到所述时钟单元在所述第一时钟周期和所述第二时钟周期的周期间压降差(例如为绝对值)。
例如,该第一压降可以为时钟单元电路在第一时钟周期的平均压降、最大压降或最小压降;相应地,该第二压降可以为每个时钟单元电路在第二时钟周期的平均压降、最大压降或最小压降。
在另一些示例中,获取该时钟单元电路在该第一时钟周期和该第二时钟周期的周期间压降差包括:获取该时钟单元电路在第一周期的第一压降-时间分布,并获得该时钟单元电路在第二周期的第二压降-时间分布,然后根据该第一压降分布和第二压降分布获取该时钟单元电路在一个时钟周期的周期间压降差分布。
例如,由于第一时钟周期和第二时钟周期等长,将第一压降分布和第二压降在一个时钟周期长的时钟轴上对应计算差值(例如为绝对值),可以得到该时钟单元电路在一个时钟周期的周期间压降差分布。
例如,将该时钟单元电路的周期间压降差分布在一个时钟周期内取最大值、最小值或平均值作为该时钟单元电路的周期间压降差。
在又一些示例中,例如,由于时钟单元电路的理想工作电压在不同时钟周期是固定的,因此也可以直接将该时钟单元电路在两个时钟周期的工作电压进行求差得到周期间压降差。在这种方法中,类似地,可以先分别在两个时钟周期取到该时钟单元电路的第一工作电压值和第二工作电压值然后求差,也可以先分别在两个时钟周期分别得到第一工作电压-时间分布和第二工作电压-时间分布然后在一个时钟周期的时间轴上对应求差得到周期间压降差-时间分布,在再在该周期间压降差-时间分布中取到周期间压降差。
例如,根据该时钟单元电路在第一时钟周期和第二时钟周期的周期间压降差对该逻辑电路进行优化包括:当该周期间压降差高于预设阈值时,对该逻辑电路进行优化。
例如,该预设阈值可以根据经验设定,当时钟单元电路的周期间压降差高于该预设阈值时,将给电路造成风险,例如引起电路的时序问题。
例如,该逻辑电路包括多个时钟单元电路,根据该时钟单元电路在第一时钟周期和第二时钟周期的周期间压降差对该逻辑电路进行优化包括:根据所述多个时钟单元电路的周期间压降差对所述每个时钟单元电路进行风险评级,并生成所述逻辑电路的压降差分布图,其中,所述压降差分布图包括所述每个时钟单元电路的风险等级和位置信息。
图4A示出了本公开至少一实施例提供的逻辑电路的压降差分布示意图。如图4A所示,例如,逻辑电路包括多个时钟单元电路,各方块表示逻辑电路中的各时钟单元电路,每个时钟单元电路可以包括一个或多个时钟单元。例如,时钟单元电路之间的空白区域可以设置功能模块或者功能模块之间的逻辑子电路。
例如,每个时钟单元电路均连接到第一电源线VDD和第二电源线VSS。该第一电源线VDD配置为提供第一电源电压VDD(高电平),第二电源线VSS配置为提供第二电源电压VSS(低电平)。例如,该第一电源电压VDD和第二电源电压VSS的差值为该时钟单元电路的理想工作电压。
例如,该压降差分布图包括每个时钟单元电路的风险等级和位置信息。该压降分布图可以直观地示出存在风险需要进行优化的时钟单元电路的位置信息,便于工程师对逻辑电路进行修复优化。
例如,在该分布图中,各时钟单元电路所在区域按行排列,相邻两行的时钟单元电路共用一条电源线。
例如,根据上述任一实施例提供的方法计算各时钟单元电路的周期间压降差,根据获得的各时钟单元电路的周期间压降差得到多个时钟单元电路的压降差分布,并将该周期间压降差分布划分为几个等级。例如,在该周期间压降差分布中取最大周期间压降差值和最小周期间压降差值,根据该最大周期间压降差值和最小周期间压降差值划分等级。
例如,在该压降差分布中,最大周期间压降差为15mV,最小周期间压降差为0,可以据此划分三个等级:低风险等级、中风险等级和高风险等级。周期间压降差越大,对应的风险等级越高。例如,可以设置低风险等级压降差范围为0-5mV,中风险等级压降差范围为5-10mV,高风险等级压降差范围为10-15mV。如图4A所示,该分布图用不同的填充图案对不同风险等级的时钟单元电路进行了示意。
例如,可以根据该分布图选择性地对逻辑电路中的时钟单元电路进行优化。例如,可以将中风险时钟单元电路和高风险时钟单元电路列为待优化的风险时钟单元电路,也可以仅将高风险时钟单元电路列为待优化的风险时钟单元电路。
例如,根据所述压降差分布图检查所述多个时钟单元电路中位于关键路径(critical path)上的时钟单元电路的风险等级,当所述风险等级高于参考风险等级时,对所述位于关键路径上的时钟单元电路进行优化。
例如,对于位于关键路径上的时钟单元电路的参考风险等级可以相对于其它时钟单元电路定的较低,也即关键路径上的时钟单元电路对风险的容忍度较低。例如,可以将位于关键路径上时钟单元电路的参考风险等级设置为中风险等级,将不位于关键路径上的时钟单元电路的参考风险等级设置为高风险等级;换言之,如果一个时钟单元电路的风险等级为中风险等级,当它位于关键路径上时,它将列为待优化的风险时钟单元电路;当它不位于关键路径上时,不对它进行优化。
在另一些示例中,可以设定周期间压降差的风险阈值,例如可以根据经验确定该风险阈值。例如,如图4B所示,该分布图分别示出了超过该风险阈值的风险时钟单元电路以及未超过该风险阈值的非风险时钟单元电路。工程师可以直接根据该分布图中标注出的风险时钟单元电路对逻辑电路进行优化。
例如,可以通过对风险时钟单元电路的压降进行补偿从而相应地降低该风险时钟单元电路的周期间压降差。
例如,对逻辑电路进行优化的方法包括:加强风险时钟单元电路的供电从而对该时钟单元电路进行压降补偿。
例如,对逻辑电路进行优化的方法包括:对风险时钟单元电路的类型进行调整或替换。例如,时钟单元电路的周期间压降差跟该时钟单元电路本身的结构和特性有关,可以将该时钟单元电路替换为周期间压降差符合要求的电路。
例如,对逻辑电路进行优化的方法包括:将风险时钟单元电路与去耦单元(也称Decap)并联。该去耦单元可以对该风险时钟单元电路的压降进行补偿。
例如,当逻辑电路中大量电路单元同时翻转,会造成瞬间电流增大,使得逻辑电路动态供电电压(VDD)下降或地线电压(VSS)升高,引起动态电压降,去耦单元可以在电压降产生的时候向电路补充电流以使得电源和地线之间的电压稳定。
如图5所示,在风险时钟单元电路的第一电源电压线和第二电源电压线之间并联去耦单元,例如,该去耦单元可以包括晶体管,例如为NMOS晶体管,该晶体管的栅极与第一电源电压线连接,源极和漏极与第二电源电压线连接。
例如,可以在风险时钟单元电路周围设置多个与该风险时钟单元并联的去耦单元;例如,该多个去耦单元将该风险时钟单元包围,如图5所示,从而尽可能降低该风险时钟单元的周期间压降差造成的风险。
本公开至少一实施例还提供一种逻辑电路的优化装置,适用如上任一实施例提供的优化方法。
图6为本公开至少一实施例提供的一种逻辑电路的优化装置的结构示意图。该优化装置400可以是个人电脑、笔记本电脑、平板电脑、移动电话等终端设备也可以是工作站、服务器、云服务等。需要注意的是,图6示出的该优化装置400仅仅是一个示例,其不会对本公开实施例的功能和使用范围带来任何限制。
如图6所示,优化装置400可以包括处理器410(例如中央处理器、图形处理器等),其可以根据存储在只读存储器(ROM)420中的程序或者从存储装置480加载到随机访问存储器(RAM)430中的程序而执行各种适当的动作和处理。在RAM430中,还存储有优化装置400操作所需的各种程序和数据。处理器410、ROM 420以及RAM 430通过总线440彼此相连。输入/输出(I/O)接口450也连接至总线440。
通常,以下装置可以连接至I/O接口450:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置460;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置470;包括例如磁带、硬盘等的存储装置480;以及通信装置490。通信装置490可以允许优化装置400与其他电子设备进行无线或有线通信以交换数据。虽然图6示出了包括各种装置的优化装置400,但应理解的是,并不要求实施或具备所有示出的装置,优化装置400可以替代地实施或具备更多或更少的装置。
例如,根据本公开的实施例,上述优化方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包括用于执行上述优化方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置490从网络上被下载和安装,或者从存储装置480安装,或者从ROM420安装。在该计算机程序被处理器410执行时,可以执行本公开实施例提供的优化方法中限定的功能。
本公开至少一个实施例还提供一种存储介质,用于存储非暂时性计算机程序可执行代码(例如计算机可执行指令),当该非暂时性计算机程序可执行代码由计算机执行时可以实现本公开任一实施例所述的优化方法;或者,当该非暂时性计算机程序可执行代码由计算机执行时可以实现本公开任一实施例所述的优化方法。
图7为本公开一实施例提供的一种存储介质的示意图。如图7所示,存储介质700非暂时性地存储有计算机程序可执行代码701。例如,当计算机程序可执行代码701由计算机执行时可以执行根据上文所述的优化方法中的一个或多个步骤。
例如,该存储介质700可以应用于上述优化装置400中。例如,存储介质700可以为图6所示的优化装置400中的存储器420。例如,关于存储介质700的相关说明可以参考图6所示的优化装置400中的存储器420的相应描述,此处不再赘述。
图8为本公开另一些实施例提供的一种逻辑电路的优化装置,适用于上述任一实施例提供的优化方法。如图8所示,该优化装置600包括优化单元620,该优化单元620配置为根据该逻辑电路中的时钟单元电路在第一时钟周期和第二时钟周期的周期间压降差对该逻辑电路进行优化。
例如,如图8所示,该优化装置600还可以包括周期间压降差获取单元610,该周期间压降差获取单元610配置为获取该逻辑电路中的时钟单元电路在第一时钟周期和第二时钟周期的周期间压降差。
例如,如图8所示,该优化单元620还可以包括压降差分布图生成单元630,该压降差分布图生成单元630配置为根据逻辑电路中的多个时钟单元电路的周期间压降差对每个时钟单元电路进行风险评级,并生成该逻辑电路的压降差分布图。该述压降差分布图包括每个时钟单元电路的风险等级和位置信息。例如,该优化单元620配置为根据该压降差分布图对该逻辑电路进行优化。
例如,上述周期间压降差获取单元610、优化单元620、压降差分布图生成单元630可以为硬件、软件、固件以及它们的任意可行的组合。例如,上述各个单元可以为专用或通用的电路、芯片或装置等,也可以为处理器和存储器的结合。关于上述各个单元的具体实现形式,本公开的实施例对此不作限制。
以上所述仅是本公开的示范性实施方式,而非用于限制本公开的保护范围,本公开的保护范围由所附的权利要求确定。

Claims (16)

1.一种逻辑电路的优化方法,其中,所述逻辑电路包括时钟单元电路,所述时钟单元电路配置为与时钟信号源连接,所述优化方法包括:
根据所述时钟单元电路在第一时钟周期和第二时钟周期的周期间压降差对所述逻辑电路进行优化,
其中,所述逻辑电路包括多个所述时钟单元电路,
根据所述时钟单元电路在第一时钟周期和第二时钟周期的周期间压降差对所述逻辑电路进行优化包括:
根据多个所述 时钟单元电路的周期间压降差对多个所述 时钟单元电路的每个时钟单元电路进行风险评级,并生成所述逻辑电路的压降差分布图;以及
根据所述压降差分布图对所述逻辑电路进行优化。
2.如权利要求1所述的优化方法,其中,所述时钟单元电路位于所述逻辑电路的时钟路径上,并配置为传递所述时钟信号源输出的时钟信号。
3.如权利要求2所述的优化方法,其中,所述时钟单元电路包括缓冲器、反相器中的至少之一。
4.如权利要求1所述的优化方法,其中,所述第一时钟周期和所述第二时钟周期为相邻的时钟周期。
5.如权利要求1-4任一所述的优化方法,还包括:对所述逻辑电路进行仿真,其中,所述仿真时长包括N个时钟周期,N为大于2的正整数;
对所述时钟单元电路在所述N个时钟周期中任意相邻的两个时钟周期计算周期间压降差,并选取最大值作为所述时钟单元电路的所述周期间压降差。
6.如权利要求1-4任一所述的优化方法,还包括:
分别获取所述时钟单元电路在所述第一时钟周期的第一压降以及在所述第二时钟周期的第二压降,以及
根据所述第一压降和所述第二压降得到所述时钟单元在所述第一时钟周期和所述第二时钟周期的周期间压降差。
7.如权利要求6所述的优化方法,其中,所述第一压降和所述第二压降分别为所述时钟单元电路在所述第一时钟周期和所述第二时钟周期的压降的最大值、最小值或平均值。
8.如权利要求1-4任一所述的优化方法,其中,还包括:
获取所述时钟单元电路在所述第一时钟周期的第一压降分布,获取所述时钟单元电路在所述第二时钟周期的第二压降分布,
根据所述第一压降分布和所述第二压降分布获取所述时钟单元电路在一个时钟周期的周期间压降差分布。
9.如权利要求8所述的优化方法,还包括:
将所述时钟单元电路的周期间压降差分布在所述一个时钟周期内取最大值、最小值或平均值作为所述时钟单元电路的周期间压降差。
10.如权利要求1-4任一所述的优化方法,其中,根据所述时钟单元电路在第一时钟周期和第二时钟周期的周期间压降差对所述逻辑电路进行优化包括:
当所述周期间压降差高于预设阈值时,对所述逻辑电路进行优化。
11.如权利要求1-4任一所述的优化方法,其中,所述压降差分布图包括所述每个时钟单元电路的风险等级和位置信息。
12.如权利要求11所述的优化方法,其中,根据所述压降差分布图对所述逻辑电路进行优化包括:
根据所述压降差分布图检查多个所述 时钟单元电路中位于关键路径上的时钟单元电路的风险等级,
当所述风险等级高于参考风险等级时,对所述位于关键路径上的时钟单元电路进行优化。
13.一种逻辑电路的优化装置,包括:
处理器;和
存储器,其中,所述存储器中存储有计算机可执行代码,当所述计算机可执行代码被执行时,执行权利要求1-12任一所述的优化方法。
14.一种计算机可读存储介质,其上存储有计算机可执行代码,所述计算机可执行代码在被处理器执行时,使得所述处理器执行权利要求1-12任一所述的优化方法。
15.一种逻辑电路的优化装置,其中,所述逻辑电路包括时钟单元电路,所述时钟单元电路配置为与时钟信号源连接,所述优化装置包括:
优化单元,配置为根据所述时钟单元电路在第一时钟周期和第二时钟周期的周期间压降差对所述逻辑电路进行优化;
其中,所述逻辑电路包括多个所述时钟单元电路,所述优化单元包括压降差分布图生成单元,所述压降差分布图生成单元配置为根据多个所述 时钟单元电路的周期间压降差对多个所述 时钟单元电路的每个时钟单元电路进行风险评级,并生成所述逻辑电路的压降差分布图;
所述优化单元配置为根据所述压降差分布图对所述逻辑电路进行优化。
16.如权利要求15所述 的优化装置,还包括周期间压降差获取单元,其中,所述周期间压降差获取单元配置为获取所述时钟单元电路在第一时钟周期和第二时钟周期的周期间压降差。
CN202011444751.4A 2020-12-08 2020-12-08 逻辑电路的优化方法、优化装置以及存储介质 Active CN112580280B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011444751.4A CN112580280B (zh) 2020-12-08 2020-12-08 逻辑电路的优化方法、优化装置以及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011444751.4A CN112580280B (zh) 2020-12-08 2020-12-08 逻辑电路的优化方法、优化装置以及存储介质

Publications (2)

Publication Number Publication Date
CN112580280A CN112580280A (zh) 2021-03-30
CN112580280B true CN112580280B (zh) 2023-01-31

Family

ID=75131146

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011444751.4A Active CN112580280B (zh) 2020-12-08 2020-12-08 逻辑电路的优化方法、优化装置以及存储介质

Country Status (1)

Country Link
CN (1) CN112580280B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106249034A (zh) * 2016-08-15 2016-12-21 北京航空航天大学 一种用于协同动态电压频率调整系统的片上电压降报警器

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5154152B2 (ja) * 2007-07-04 2013-02-27 ルネサスエレクトロニクス株式会社 昇圧電源回路
US7971105B2 (en) * 2009-01-16 2011-06-28 Freescale Semiconductor, Inc. Device and method for detecting and correcting timing errors
US9903916B2 (en) * 2012-09-27 2018-02-27 Nxp Usa, Inc. Scan test system with a test interface having a clock control unit for stretching a power shift cycle
US9043620B2 (en) * 2013-03-13 2015-05-26 Freescale Semiconductor, Inc. Resolution programmable dynamic IR-drop sensor with peak IR-drop tracking abilities
US8975949B2 (en) * 2013-03-14 2015-03-10 Samsung Electronics Co., Ltd. Integrated clock gater (ICG) using clock cascode complimentary switch logic

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106249034A (zh) * 2016-08-15 2016-12-21 北京航空航天大学 一种用于协同动态电压频率调整系统的片上电压降报警器

Also Published As

Publication number Publication date
CN112580280A (zh) 2021-03-30

Similar Documents

Publication Publication Date Title
US7937256B2 (en) Systems and methods of efficient library characterization for integrated circuit cell libraries
US20050066297A1 (en) System and method for correlated process pessimism removal for static timing analysis
US20070136705A1 (en) Timing analysis method and device
US6651230B2 (en) Method for reducing design effect of wearout mechanisms on signal skew in integrated circuit design
CN109376467A (zh) 集成电路中时钟树布局流程方法和时钟树偏差补偿装置
JP2004102725A (ja) 半導体集積回路の設計方法
US10740520B2 (en) Pessimism in static timing analysis
JP2008140821A (ja) 半導体装置および半導体装置の設計方法
JP4554509B2 (ja) タイミング解析装置及びタイミング解析手法
US20090271747A1 (en) Logic circuit designing device, logic circuit designing method and logic circuit designing program for asynchronous logic circuit
CN112100950B (zh) 用于芯片设计的方法、系统、设备以及存储介质
US9449127B1 (en) System for verifying timing constraints of IC design
US10963610B1 (en) Analyzing clock jitter using delay calculation engine
CN103378849A (zh) 芯片输入输出设计的方法
CN112580280B (zh) 逻辑电路的优化方法、优化装置以及存储介质
US8458633B2 (en) Semiconductor integrated circuit design apparatus and method for analyzing a delay in a semiconductor integrated circuit
US10540464B1 (en) Critical path aware voltage drop analysis of an integrated circuit
US10372851B2 (en) Independently projecting a canonical clock
CN112580278B (zh) 逻辑电路的优化方法、优化装置以及存储介质
US11386251B2 (en) Logic simulation verification system, logic simulation verification method, and program
CN106503278B (zh) 数字电路设计的时序分析方法及其系统
US11068632B2 (en) Simulation apparatus, description conversion method and simulation method
US8464195B1 (en) Integrated circuit clock analysis with macro models
US20170011161A1 (en) Timing analysis method for digital circuit design and system thereof
US20160217239A1 (en) Method and system for selecting stimulation signals for power estimation

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