CN114861579A - 集成电路中时序瓶颈节点分析和时序优化方法及系统 - Google Patents
集成电路中时序瓶颈节点分析和时序优化方法及系统 Download PDFInfo
- Publication number
- CN114861579A CN114861579A CN202210583553.9A CN202210583553A CN114861579A CN 114861579 A CN114861579 A CN 114861579A CN 202210583553 A CN202210583553 A CN 202210583553A CN 114861579 A CN114861579 A CN 114861579A
- Authority
- CN
- China
- Prior art keywords
- timing
- node
- time sequence
- criticality
- bottleneck
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 43
- 238000010586 diagram Methods 0.000 claims abstract description 39
- 238000005457 optimization Methods 0.000 claims abstract description 16
- 238000004364 calculation method Methods 0.000 claims abstract description 14
- 230000002441 reversible effect Effects 0.000 claims abstract description 13
- 230000006870 function Effects 0.000 claims description 7
- 238000012163 sequencing technique Methods 0.000 claims description 2
- 239000002131 composite material Substances 0.000 claims 1
- 238000004458 analytical method Methods 0.000 abstract description 22
- 230000009471 action Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 5
- 238000013461 design Methods 0.000 description 5
- 230000008569 process Effects 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000002829 reductive effect Effects 0.000 description 3
- 230000003068 static effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000036961 partial effect Effects 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/33—Design verification, e.g. functional simulation or model checking
- G06F30/3315—Design verification, e.g. functional simulation or model checking using static timing analysis [STA]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/32—Circuit design at the digital level
- G06F30/337—Design optimisation
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)
Abstract
本申请涉及集成电路,公开了一种集成电路中时序瓶颈节点分析和时序优化方法及系统,在保证时序瓶颈分析的准确性的前提下,大大降低了时序瓶颈分析的计算量。该方法包括:获取集成电路的时序图;从时序路径的起点正向广度优先遍历所述时序图,计算所述时序图中每个节点的前序时序关键度;从时序路径的终点反向广度优先遍历所述时序图,计算所述时序图中每个节点的后序时序关键度;对于每个节点,计算该节点的前序时序关键度和该节点的后续时序关键度的乘积作为该节点的综合时序关键度;根据各个节点的综合时序关键度确定时序瓶颈节点。
Description
技术领域
本申请涉及集成电路,特别涉及集成电路的时序优化技术。
背景技术
本部分旨在为权利要求书中陈述的本申请的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是已被公开的现有技术。
时序是集成电路(又可称为芯片)的一个关键要素。满足时序要求的集成电路才能正常工作,时序还决定了集成电路的工作频率,而工作频率是集成电路性能的一个决定性因素。
通过对集成电路的全面分析,识别集成电路的时序瓶颈,然后针对时序瓶颈进行时序优化,可以有效提高时序优化的收益和效率。对于电路时序瓶颈的分析,简单而直接的方法是穷举法,即穷举集成电路中的关键时序路径,统计电路中每个器件或线网上通过的关键时序路径的数目,该数目较多的器件或线网集合即为电路的时序瓶颈,应该在时序优化时优先处理。
然而,穷举集成电路中的关键时序路径是非常低效的;随着芯片的规模增大,穷举法所需要的运行时间会以指数方式增长。也就是说,当芯片规模大到一定程度,穷举法会因为计算量过大而无法在合理的时间内完成。
发明内容
本申请的目的在于提供一种集成电路中时序瓶颈节点分析和时序优化方法及系统,在保证时序瓶颈分析的准确性的前提下,大大降低了时序瓶颈分析的计算量,避免了时序优化时间随集成电路规模指数增长,使得超大规模的集成电路也可以在合理的时间内得到充分而有效的优化。
本申请公开了一种集成电路中时序瓶颈节点分析方法,包括:
获取集成电路的时序图;
从时序路径的起点正向广度优先遍历所述时序图,计算所述时序图中每个节点的前序时序关键度;
从时序路径的终点反向广度优先遍历所述时序图,计算所述时序图中每个节点的后序时序关键度;
对于每个节点,计算该节点的前序时序关键度和该节点的后续时序关键度的乘积作为该节点的综合时序关键度;
根据各个节点的综合时序关键度确定时序瓶颈节点。
优选地,可以通过以下方式计算所述时序图中每个节点的前序时序关键度:
其中,FW(t)是节点t的前序时序关键度,s代表起点节点,E代表所述时序图中的边,(s,t)∈E代表所有以任意节点s为起点以t为终点的边,W函数的定义为,代表对所有通过节点p的时序路径π做遍历,slack(π)是时序路径π的时序裕量,delay(s,t)是s到t的时序延迟,PI是所述时序图中所有时序路径起点的集合,max代表取最大值的函数。
优选地,可以通过以下方式计算所述时序图中每个节点的后序时序关键度:
其中,BW(s)是节点s的后序时序关键度,PO是所述时序图中所有时序路径终点的集合,T=maxt∈POARR(t)。
优选地,所述根据各个节点的综合时序关键度确定时序瓶颈节点,可以进一步包括:
将综合时序关键度大于预定阈值的各个节点确定为时序瓶颈节点。
优选地,对PI中的节点s,前序时序关键度FW(s)=1;对PO中的节点t,后序时序关键度BW(t)=1;所述预定阈值为1。
优选地,所述根据各个节点的综合时序关键度确定时序瓶颈节点,可以进一步包括:
按照综合时序关键度从大到小的顺序排序,将排序在前N位的节点确定为时序瓶颈节点,其中N为预先设定的正整数。
本申请还公开了一种集成电路中时序优化方法,包括以下步骤:
根据如上所述的集成电路中时序瓶颈节点分析方法获取集成电路的时序瓶颈节点;
对所述时序瓶颈节点进行时序优化。
本申请还公开了一种集成电路中时序瓶颈节点分析系统,包括:
输入模块,被配置为获取集成电路的时序图;
前序计算模块,被配置为从时序路径的起点正向广度优先遍历所述时序图,计算所述时序图中每个节点的前序时序关键度;
后序计算模块,被配置为从时序路径的终点反向广度优先遍历所述时序图,计算所述时序图中每个节点的后序时序关键度;
乘法器,被配置为对于每个节点,计算该节点的前序时序关键度和该节点的后续时序关键度的乘积作为该节点的综合时序关键度;
判定模块,被配置为根据各个节点的综合时序关键度确定时序瓶颈节点。
本申请还公开了一种集成电路中时序瓶颈节点分析系统,包括:
存储器,用于存储计算机可执行指令;以及,
处理器,与所述存储器耦合,用于在执行所述计算机可执行指令时实现上述方法中的步骤。
本申请还公开了一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现上述方法中的步骤。
本申请的实施方式提出了一种新型的时序瓶颈分析方法,不仅真正考虑了通过时序节点的所有时序路径,精确地统计分析了通过时序节点的所有时序路径的时序裕量和时序关键度,从而使时序瓶颈分析更加准确,提高了电路时序优化的效率,而且计算复杂度保持为线性。也就是说,本申请实施方式的计算量不会随着集成电路规模的增大而指数增加,从而使得计算在目前的计算能力下是可以实现的,而且保证了时序瓶颈分析的准确性。
现有技术中,覆盖时序图中通过所有时序节点的所有时序路径是可以做到的(例如背景技术中提到的穷举法),线性的计算复杂度也是可以做到的,但无法同时做到这两点,而本申请的实施方式恰巧同时做到了这两点。
上述发明内容中公开的各个技术特征、在下文各个实施方式和例子中公开的各技术特征、以及附图中公开的各个技术特征,都可以自由地互相组合,从而构成各种新的技术方案(这些技术方案均应该视为在本说明书中已经记载),除非这种技术特征的组合在技术上是不可行的。例如,在一个例子中公开了特征A+B+C,在另一个例子中公开了特征A+B+D+E,而特征C和D是起到相同作用的等同技术手段,技术上只要择一使用即可,不可能同时采用,特征E技术上可以与特征C相组合,则,A+B+C+D的方案因技术不可行而应当不被视为已经记载,而A+B+C+E的方案应当视为已经被记载。
附图说明
图1是根据本申请的第一实施方式的集成电路中时序瓶颈节点分析方法流程示意图。
具体实施方式
在以下的叙述中,为了使读者更好地理解本申请而提出了许多技术细节。但是,本领域的普通技术人员可以理解,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请所要求保护的技术方案。
部分概念的说明:
线网的源端和漏端:线网把集成电路中逻辑器件的输入和输出端口连接起来,表示一个数字信号的传输;线网的源端和漏端即为数字信号的输入端口和输出端口。
时序约束:为满足设计目标,对集成电路提出时序上的要求,在设计流程中尽量去满足这个要求,并且检验电路是否满足要求。一般来说其可以细分为内部时钟约束、IO(输入输出)口时序约束、偏移约束、静态路径约束和例外路径约束等等。例如,内部时钟约束就是对时钟的周期等提出设计要求:数字信号通过连线在器件中传输,必然产生延迟;数字电路中时钟的最小周期由信号的传输延迟来决定;电路设计流程中会尽量减少信号延迟以满足对时钟最小周期的设计要求。
时序图:时序分析工具通常把电路建模为一个有向无环图G(V,E),其中V代表节点,E代表边。电路中所有逻辑器件的输入和输出端口作为时序图的节点,端口之间的连接关系作为时序图中的边,并且图中的每个边对应了信号在该连接上的传输延迟。
时序路径:是时序图中的一个数字信号通路,数字信号沿着时序路径进行传递。每条时序路径有一个起点和一个终点,起点可以为电路输入端口或者触发器或寄存器的时钟引脚,终点可以为电路输出端口或者时序器件的除时钟引脚外的所有输入引脚。本申请用PI和PO来分别表示时序图中所有时序路径起点和终点的集合。
到达时间(Arrival Time):信号到达某个特定位置所消耗的时间。一般将时钟信号到达时序路径起点的时刻作为参考的0时刻,为了计算到达时间,需要对路径中的所有组件的延时都进行计算。时序节点t的到达时间Arr(t)的计算如下:
关键时序路径:时序分析工具会找到且分析集成电路中的所有时序路径。数字信号在时序路径上传输存在延时,延时最长的一条或多条时序路径称为关键时序路径。时序图中所有时序路径的最长延时T即为所有时序路径终点t的到达时间的最大值:T=maxt∈ POARR(t)。
需求时间(Required Time):所能容忍的路径最大延时,也就是信号到达的最晚的时间。如果路径上的延时再大一些,则必须降低时钟频率,否则会违反时序约束。时序节点s的需求时间Req(t)的计算如下:
时序裕量(Slack):时序裕量=需求时间-到达时间。时序路径π的时序裕量定义为Slack(π)=T-delay(π)。如果计算出某条路径的时序裕量是正数,说明这条路径的时延是满足要求的;如果计算出某条路径的时序裕量是负数,则表示路径上的延时太大了,必须做出修正,否则包含它的电路不能以预期的频率工作。
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请的实施方式作进一步地详细描述。
本申请的第一实施方式涉及一种集成电路中时序瓶颈节点分析方法,其流程如图1所示,该方法包括以下步骤:
在步骤101中,获取集成电路的时序图。
在步骤102中,从时序路径的起点以广度优先方式正向遍历时序图,计算时序图中每个节点的前序时序关键度。
优选的,在一个实施例中,通过以下方式计算时序图中每个节点的前序时序关键度:
其中,FW(t)是节点t的前序时序关键度,s代表起点节点,E代表时序图中的边,(s,t)∈E代表所有以任意节点s为起点以t为终点的边,W函数的定义为,代表对所有通过节点p的时序路径π做遍历,slack(π)是时序路径π的时序裕量,delay(s,t)是s到t的时序延迟,PI是时序图中所有时序路径起点的集合,max代表最大值。PI中每个节点都是一条或多条时序路径的起点,多条时序路径可能有共同的起点。
在步骤103中,从时序路径的终点以广度优先方式反向遍历时序图,计算时序图中每个节点的后序时序关键度。
优选的,在一个实施例中,通过以下方式计算时序图中每个节点的后序时序关键度:
BW(s)=∑(s,t)∈E BW(t)*W(REQ(t)-REQ(s)-delay(s,t))
其中,BW(s)是节点s的后序时序关键度,PO是时序图中所有时序路径终点的集合,T=maxt∈POARR(t)。PO中每个节点都是一条或多条时序路径的终点,多条时序路径可能有共同的终点。
正向广度优先遍历步骤102和反向广度优先遍历步骤103的顺序不作限定,可以先正向广度优先遍历再反向广度优先遍历,也可以先反向广度优先遍历再正向广度优先遍历,还可以正向广度优先遍历和反向广度优先遍历并行执行。
在步骤104中,对于每个节点,计算该节点的前序时序关键度和该节点的后续时序关键度的乘积作为该节点的综合时序关键度。
在步骤105中,根据各个节点的综合时序关键度确定时序瓶颈节点。
步骤105有多种实现方式。
可选的,在一个实施例中,在步骤105中,将综合时序关键度大于预定阈值的各个节点确定为时序瓶颈节点。在一个实施例汇总,对PI中的节点s,前序时序关键度FW(s)=1。对PO中的节点t,后序时序关键度BW(t)=1。预定阈值为1。在另一个实施例中,预定阈值也可以大于1,相应地,时序瓶颈节点的数量会减少。在另一个实施例中,预定阈值也可以小于1,相应地,时序瓶颈节点的数量会增加。在另一个实施例中,对PI中的节点s,FW(s)也可以是其他值,对PO中的节点t,BW(t)也可以是其他值,相应的,预定阈值也可以相应变化。
可选的,在一个实施例中,在步骤105中,按照综合时序关键度从大到小的顺序排序,将排序在前N位的节点确定为时序瓶颈节点,其中N为预先设定的正整数。
在本申请的实施例中,无论集成电路的规模有多大,整个时序图的正向广度优先遍历只需要做一次(可以从PI中的任意一个节点开始正向广度优先遍历),整个时序图的反向广度优先遍历也只需要做一次(可以从PO中的任一个节点开始反向广度优先遍历)。因为只需要一次正向广度优先遍历和一次反向广度优先遍历,所以算法复杂度是线性的(即计算量和集成电路的规模是线性关系),计算速度快,避免了现有技术中指数性质的算法复杂度;同时,本申请实施例真正考虑了通过所有时序节点的所有时序路径,精确地统计分析了通过时序节点的所有时序路径的时序裕量和时序关键度,从而使时序瓶颈分析更加准确,提高了电路时序优化的效率。
下面通过一个具体例子来帮助理解本申请实施例的创新之处,其中的细节并不能作为限制本申请保护范围的依据。
首先时序图中一条时序路径π的时序关键度W(π),按照时序路径π的时序裕量Slack(π)来定义。按照普遍的做法,当时序裕量越小时,时序关键度应该越大,并且时序关键度随着时序裕量的减小而指数型增长。这里采用了指数公式W(slack)=e-slack/α,式中α是一个经验常数。
时序图中节点p的时序关键度W(p)定义为通过节点p的所有时序路径π的时序关键度之和,即W(p)=∑π∈{π|p∈π}W(slack(π))。
在分析了集成电路的静态时序,开始优化集成电路的时序前,算法分析电路的时序瓶颈。时序图中所有节点的时序关键度W(p),通过两次遍历时序图,分别计算所有节点p的前序时序关键度FW(p)和后序时序关键度BW(p),然后乘积得来:W(p)=FW(p)*BW(p)。
(1)首先所有节点p的前序时序关键度FW(p)和后序时序关键度BW(p)初始值为0。
(2)第一次广度优先从时序路径的起点PI正向广度优先遍历时序图,计算所有节点的前序时序关键度:对PI中的节点s,前序时序关键度FW(s)=1;对遍历中的节点t,FW(t)=∑(s,t)∈E FW(s)*W(ARR(t)-ARR(s)-delay(s,t))。
(3)第二次广度优先从时序路径的终点P0反向广度优先遍历时序图,计算所有节点的后序时序关键度:对P0中的节点t,后序时序关键度BW(t)=1;对遍历中的节点s,BW(s)=∑(s,t)∈E BW(t)*W(REQ(t)-REQ(s)-delay(s,t))。
(4)最后,计算时序图中所有节点的时序关键度W(p)=FW(p)*BW(p),并选取出时序瓶颈。例如,时序瓶颈可以定义为时序关键度W(p)>1的所有时序节点的集合。
本申请的第二实施方式涉及一种集成电路中时序优化方法,包括以下步骤:
根据第一实施方式所述的集成电路中时序瓶颈节点分析方法获取集成电路的时序瓶颈节点。
对时序瓶颈节点进行时序优化。一旦找到时序瓶颈节点,就可以对这些时序瓶颈节点进行时序优化。在现有技术中已经存在多种对时序瓶颈节点进行时序优化的具体方式。如何对已知的时序瓶颈节点进行时序优化其本身并非本申请的创新,这里就不详细展开了。
本申请的第三实施方式涉及一种集成电路中时序瓶颈节点分析系统,包括:
输入模块,被配置为获取集成电路的时序图。
前序计算模块,被配置为从时序路径的起点以广度优先的方式正向遍历时序图,计算时序图中每个节点的前序时序关键度。
后序计算模块,被配置为从时序路径的终点以广度优先的方式反向遍历时序图,计算时序图中每个节点的后序时序关键度。
乘法器,被配置为对于每个节点,计算该节点的前序时序关键度和该节点的后续时序关键度的乘积作为该节点的综合时序关键度。
判定模块,被配置为根据各个节点的综合时序关键度确定时序瓶颈节点。
第一实施方式是与本实施方式相对应的方法实施方式,第一实施方式中的技术细节可以应用于本实施方式,本实施方式中的技术细节也可以应用于第一实施方式。
需要说明的是,本领域技术人员应当理解,上述集成电路中时序瓶颈节点分析系统的实施方式中所示的各模块的实现功能可参照前述集成电路中时序瓶颈节点分析方法的相关描述而理解。上述集成电路中时序瓶颈节点分析系统的实施方式中所示的各模块的功能可通过运行于处理器上的程序(可执行指令)而实现,也可通过具体的逻辑电路而实现。本申请的实施例上述集成电路中时序瓶颈节点分析系统如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的实施例的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机、服务器、或者网络设备等)执行本申请的各个实施例所述方法的全部或部分。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,ReadOnly Memory)、磁碟或者光盘等各种可以存储程序代码的介质。这样,本申请的实施例不限制于任何特定的硬件和软件结合。
相应地,本申请的实施方式还提供一种计算机可读存储介质,其中存储有计算机可执行指令,该计算机可执行指令被处理器执行时实现本申请的各方法实施方式。计算机可读存储介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括但不限于,相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读存储介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
此外,本申请的实施方式还提供一种集成电路中时序瓶颈节点分析系统,其中包括用于存储计算机可执行指令的存储器,以及,处理器;该处理器用于在执行该存储器中的计算机可执行指令时实现上述各方法实施方式中的步骤。其中,该处理器可以是中央处理单元(Central Processing Unit,简称“CPU”),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,简称“DSP”)、专用集成电路(Application SpecificIntegrated Circuit,简称“ASIC”)等。前述的存储器可以是只读存储器(read-onlymemory,简称“ROM”)、随机存取存储器(random access memory,简称“RAM”)、快闪存储器(Flash)、硬盘或者固态硬盘等。本发明各实施方式所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。
需要说明的是,在本申请中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本申请中,如果提到根据某要素执行某行为,则是指至少根据该要素执行该行为的意思,其中包括了两种情况:仅根据该要素执行该行为、和根据该要素和其它要素执行该行为。多个、多次、多种等表达包括2个、2次、2种以及2个以上、2次以上、2种以上。
在描述方法的步骤时使用的序号本身并不对这些步骤的顺序构成任何的限定。例如,序号大的步骤并非一定要在序号小的步骤之后执行,也可以是先执行序号大的步骤再执行序号小的步骤,还可以是并行执行,只要这种执行顺序对于本领域技术人员来说是合理的即可。又如,拥有连续编号序号的多个步骤(例如步骤101,步骤102,步骤103等)并不限制其他步骤可以在其间执行,例如步骤101和步骤102之间可以有其他的步骤。
本说明书包括本文所描述的各种实施例的组合。对实施例的单独提及(例如“一个实施例”或“一些实施例”或“优选实施例”);然而,除非指示为是互斥的或者本领域技术人员很清楚是互斥的,否则这些实施例并不互斥。应当注意的是,除非上下文另外明确指示或者要求,否则在本说明书中以非排他性的意义使用“或者”一词。
在本说明书提及的所有文献都被认为是整体性地包括在本申请的公开内容中,以便在必要时可以作为修改的依据。此外应理解,以上所述仅为本说明书的较佳实施例而已,并非用于限定本说明书的保护范围。凡在本说明书一个或多个实施例的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例的保护范围之内。
在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
Claims (10)
1.一种集成电路中时序瓶颈节点分析方法,其特征在于,包括:
获取集成电路的时序图;
从时序路径的起点正向广度优先遍历所述时序图,计算所述时序图中每个节点的前序时序关键度;
从时序路径的终点反向广度优先遍历所述时序图,计算所述时序图中每个节点的后序时序关键度;
对于每个节点,计算该节点的前序时序关键度和该节点的后续时序关键度的乘积作为该节点的综合时序关键度;
根据各个节点的综合时序关键度确定时序瓶颈节点。
2.如权利要求1所述的集成电路中时序瓶颈节点分析方法,其特征在于,通过以下方式计算所述时序图中每个节点的前序时序关键度:
FW(t)=∑(s,t)∈EFW(s)*W(ARR(t)-ARR(s)-delay(s,t))
其中,FW(t)是节点t的前序时序关键度,s代表起点节点,E代表所述时序图中的边,(s,t)∈E代表所有以任意节点s为起点以t为终点的边,W函数的定义为,W(p)=∑π∈{π|p∈π}W(slack(π)),π∈{π|p∈π}代表对所有通过节点p的时序路径π做遍历,slack(π)是时序路径π的时序裕量,delay(s,t)是s到t的时序延迟,PI是所述时序图中所有时序路径起点的集合,max代表取最大值的函数。
4.如权利要求3所述的集成电路中时序瓶颈节点分析方法,其特征在于,所述根据各个节点的综合时序关键度确定时序瓶颈节点,进一步包括:
将综合时序关键度大于预定阈值的各个节点确定为时序瓶颈节点。
5.如权利要求4所述的集成电路中时序瓶颈节点分析方法,其特征在于,
对PI中的节点s,前序时序关键度FW(s)=1;
对PO中的节点t,后序时序关键度BW(t)=1;
所述预定阈值为1。
6.如权利要求3所述的集成电路中时序瓶颈节点分析方法,其特征在于,所述根据各个节点的综合时序关键度确定时序瓶颈节点,进一步包括:
按照综合时序关键度从大到小的顺序排序,将排序在前N位的节点确定为时序瓶颈节点,其中N为预先设定的正整数。
7.一种集成电路中时序优化方法,其特征在于,包括:
根据权利要求1所述的集成电路中时序瓶颈节点分析方法获取集成电路的时序瓶颈节点;
对所述时序瓶颈节点进行时序优化。
8.一种集成电路中时序瓶颈节点分析系统,其特征在于,包括:
输入模块,被配置为获取集成电路的时序图;
前序计算模块,被配置为从时序路径的起点正向广度优先遍历所述时序图,计算所述时序图中每个节点的前序时序关键度;
后序计算模块,被配置为从时序路径的终点反向广度优先遍历所述时序图,计算所述时序图中每个节点的后序时序关键度;
乘法器,被配置为对于每个节点,计算该节点的前序时序关键度和该节点的后续时序关键度的乘积作为该节点的综合时序关键度;
判定模块,被配置为根据各个节点的综合时序关键度确定时序瓶颈节点。
9.一种集成电路中时序瓶颈节点分析系统,其特征在于,包括:
存储器,用于存储计算机可执行指令;以及,
处理器,与所述存储器耦合,用于在执行所述计算机可执行指令时实现如权利要求1至6中任意一项所述的方法中的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有计算机可执行指令,所述计算机可执行指令被处理器执行时实现如权利要求1至7中任意一项所述的方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210583553.9A CN114861579A (zh) | 2022-05-25 | 2022-05-25 | 集成电路中时序瓶颈节点分析和时序优化方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210583553.9A CN114861579A (zh) | 2022-05-25 | 2022-05-25 | 集成电路中时序瓶颈节点分析和时序优化方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN114861579A true CN114861579A (zh) | 2022-08-05 |
Family
ID=82640789
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210583553.9A Pending CN114861579A (zh) | 2022-05-25 | 2022-05-25 | 集成电路中时序瓶颈节点分析和时序优化方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114861579A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116663464A (zh) * | 2023-08-01 | 2023-08-29 | 上海合见工业软件集团有限公司 | 一种关键时序路径的优化方法及系统 |
CN116911226A (zh) * | 2023-08-01 | 2023-10-20 | 上海合见工业软件集团有限公司 | 一种超节点的提取方法及系统 |
CN117521567A (zh) * | 2024-01-05 | 2024-02-06 | 深圳鸿芯微纳技术有限公司 | 电路的混合逻辑综合优化方法、装置及电子设备 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7191417B1 (en) * | 2004-06-04 | 2007-03-13 | Sierra Design Automation, Inc. | Method and apparatus for optimization of digital integrated circuits using detection of bottlenecks |
CN103136386A (zh) * | 2011-11-25 | 2013-06-05 | 中国科学院微电子研究所 | Fpga芯片布线方法 |
CN109710998A (zh) * | 2018-02-27 | 2019-05-03 | 上海安路信息科技有限公司 | 内存优化型静态时序分析方法及其系统 |
CN113468839A (zh) * | 2021-09-01 | 2021-10-01 | 中科亿海微电子科技(苏州)有限公司 | 一种提高时序性能的布线方法及装置 |
US20210374314A1 (en) * | 2020-05-28 | 2021-12-02 | Synopsys, Inc. | Engineering Change Order Scenario Compression by Applying Hybrid of Live and Static Timing Views |
CN114186519A (zh) * | 2021-11-17 | 2022-03-15 | 上海安路信息科技股份有限公司 | 时序瓶颈探查方法、装置、终端设备及存储介质 |
-
2022
- 2022-05-25 CN CN202210583553.9A patent/CN114861579A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7191417B1 (en) * | 2004-06-04 | 2007-03-13 | Sierra Design Automation, Inc. | Method and apparatus for optimization of digital integrated circuits using detection of bottlenecks |
CN103136386A (zh) * | 2011-11-25 | 2013-06-05 | 中国科学院微电子研究所 | Fpga芯片布线方法 |
CN109710998A (zh) * | 2018-02-27 | 2019-05-03 | 上海安路信息科技有限公司 | 内存优化型静态时序分析方法及其系统 |
US20210374314A1 (en) * | 2020-05-28 | 2021-12-02 | Synopsys, Inc. | Engineering Change Order Scenario Compression by Applying Hybrid of Live and Static Timing Views |
CN113468839A (zh) * | 2021-09-01 | 2021-10-01 | 中科亿海微电子科技(苏州)有限公司 | 一种提高时序性能的布线方法及装置 |
CN114186519A (zh) * | 2021-11-17 | 2022-03-15 | 上海安路信息科技股份有限公司 | 时序瓶颈探查方法、装置、终端设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
刘伟 等: "基于深度学习的FPGA快速布局算法", 《复旦学报(自然科学版)》, vol. 58, no. 6, 31 December 2019 (2019-12-31), pages 687 - 695 * |
王钦克: "FPGA集成电路的原理图自动生成方法", 《电子技术》, vol. 50, no. 7, 31 July 2021 (2021-07-31), pages 4 - 7 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116663464A (zh) * | 2023-08-01 | 2023-08-29 | 上海合见工业软件集团有限公司 | 一种关键时序路径的优化方法及系统 |
CN116911226A (zh) * | 2023-08-01 | 2023-10-20 | 上海合见工业软件集团有限公司 | 一种超节点的提取方法及系统 |
CN116663464B (zh) * | 2023-08-01 | 2023-10-20 | 上海合见工业软件集团有限公司 | 一种关键时序路径的优化方法及系统 |
CN116911226B (zh) * | 2023-08-01 | 2024-03-08 | 上海合见工业软件集团有限公司 | 一种超节点的提取方法及系统 |
CN117521567A (zh) * | 2024-01-05 | 2024-02-06 | 深圳鸿芯微纳技术有限公司 | 电路的混合逻辑综合优化方法、装置及电子设备 |
CN117521567B (zh) * | 2024-01-05 | 2024-04-26 | 深圳鸿芯微纳技术有限公司 | 电路的混合逻辑综合优化方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN114861579A (zh) | 集成电路中时序瓶颈节点分析和时序优化方法及系统 | |
US9235446B2 (en) | Parallel computing execution plan optimization | |
CN108846749B (zh) | 一种基于区块链技术的分片化的交易执行系统及方法 | |
CN110019668A (zh) | 一种文本检索方法及装置 | |
JP6060094B2 (ja) | ソート | |
CN108228442B (zh) | 一种异常节点的检测方法及装置 | |
WO2021169386A1 (zh) | 一种图数据处理方法、装置、设备、介质 | |
JP5403999B2 (ja) | トンネリング及びスライシング・ベースのbmc分解のためのシステム及び方法 | |
JP4649492B2 (ja) | 経路切り取りを用いた遅延許容量割り当て | |
CN110245978B (zh) | 策略组中的策略评估、策略选择方法及装置 | |
US11086604B2 (en) | Source code splitting device, source code analyzing device, source code splitting method, and computer readable medium | |
US7356519B1 (en) | Method and system for solving satisfiability problems | |
CN108090224B (zh) | 一种级联连接方法及设备 | |
CN111027688A (zh) | 一种基于fpga的神经网络计算器生成方法及装置 | |
CN115858648A (zh) | 数据库生成方法、数据流切分方法、装置、设备及介质 | |
CN111309475B (zh) | 一种检测任务执行方法及设备 | |
CN112307272B (zh) | 确定对象之间关系信息的方法、装置、计算设备及存储介质 | |
JP5786717B2 (ja) | データ処理装置、そのコンピュータプログラムおよびデータ処理方法 | |
CN110908587A (zh) | 一种用于存储时序数据的方法及其装置 | |
CN106445960A (zh) | 一种数据聚类方法和装置 | |
CN109241027B (zh) | 数据迁移的方法、装置、电子设备及计算机可读存储介质 | |
JP6015662B2 (ja) | 空間充填曲線処理システム、空間充填曲線処理方法およびプログラム | |
CN111913805B (zh) | 一种cpu利用率计算方法及装置 | |
CN113886839A (zh) | 批量作业依赖关系中的风险问题识别方法及装置 | |
KR102380437B1 (ko) | 정밀도 스케일링을 이용한 알고리즘 성능 최적화 방법 |
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 |