CN111950214A - 一种时序分析方法、装置、设备以及计算机存储介质 - Google Patents

一种时序分析方法、装置、设备以及计算机存储介质 Download PDF

Info

Publication number
CN111950214A
CN111950214A CN202010820374.3A CN202010820374A CN111950214A CN 111950214 A CN111950214 A CN 111950214A CN 202010820374 A CN202010820374 A CN 202010820374A CN 111950214 A CN111950214 A CN 111950214A
Authority
CN
China
Prior art keywords
time sequence
module
timing
sequence analysis
result
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
CN202010820374.3A
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.)
Guangdong Oppo Mobile Telecommunications Corp Ltd
Original Assignee
Guangdong Oppo Mobile Telecommunications Corp 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 Guangdong Oppo Mobile Telecommunications Corp Ltd filed Critical Guangdong Oppo Mobile Telecommunications Corp Ltd
Priority to CN202010820374.3A priority Critical patent/CN111950214A/zh
Publication of CN111950214A publication Critical patent/CN111950214A/zh
Pending legal-status Critical Current

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/33Design verification, e.g. functional simulation or model checking
    • G06F30/3308Design verification, e.g. functional simulation or model checking using simulation
    • G06F30/3312Timing analysis
    • 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/33Design verification, e.g. functional simulation or model checking
    • G06F30/3315Design verification, e.g. functional simulation or model checking using static timing analysis [STA]
    • 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/337Design optimisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2115/00Details relating to the type of the circuit
    • G06F2115/02System on chip [SoC] design

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

一种时序分析方法、装置、设备以及计算机存储介质
技术领域
本申请涉及芯片设计技术领域,尤其涉及一种时序分析方法、装置、设备以及计算机存储介质。
背景技术
时序是芯片后端设计的难点,在整个芯片的后端设计中一般要经过多次的迭代才能取得较好的时序结果。这样,快速的分析和定位时序问题并给出解决方案可以减少芯片后端设计的迭代次数,从而节约整个芯片设计的时间。
然而,目前的时序分析流程在拿到静态时序分析(Static timing analysis,STA)报告后,需要逐条分析该报告中每条时序路径的结果。然后根据逻辑的长度、单元的位置和延迟调整布局布线的设置,再重新布局布线。如果多次布局布线的结果都不理想,那么需要重新调整布局规划,甚至改变模块的形状等;这样的时序分析需要花费较长时间,而且迭代次数多,影响了整个芯片后端设计的时间。
发明内容
本申请提出一种时序分析方法、装置、设备以及计算机存储介质,能够减少由于时序问题所导致的迭代次数,节约整个芯片设计的时间。
为达到上述目的,本申请的技术方案是这样实现的:
第一方面,本申请实施例提供了一种时序分析方法,所述方法包括:
对待设计电路的多个初始模块进行分组,得到多个模块组;其中,每一模块组包括至少一个初始模块;
确定所述多个模块组各自的初始时序分析结果;
根据所确定的初始时序分析结果,判断所述多个模块组是否进行分组调整;
在判断结果为否的情况下,根据所述多个模块组生成所述待设计电路的布局布线结果;
对所述布局布线结果进行时序分析,得到目标时序分析报告。
第二方面,本申请实施例提供了一种基于电子设计自动化EDA工具的时序分析方法,所述方法包括:
接收待设计电路的多个初始模块;
对所述多个初始模块的时序分析,获得所述多个模块组各自的初始时序分析结果;
根据所获得的初始时序分析结果,在所述多个模块组无需进行分组调整的情况下,生成所述待设计电路的布局布线结果;
对所述布局布线结果进行时序分析,输出目标时序分析报告。
第三方面,本申请实施例提供了一种时序分析装置,该时序分析装置包括分组单元、确定单元、判断单元和时序分析单元;其中,
所述分组单元,配置为对待设计电路的多个初始模块进行分组,得到多个模块组;其中,每一模块组包括至少一个初始模块;
所述确定单元,配置为确定所述多个模块组各自的初始时序分析结果;
所述判断单元,配置为根据所确定的初始时序分析结果,判断所述多个模块组是否进行分组调整;
所述时序分析单元,配置为在判断结果为否的情况下,根据所述多个模块组生成所述待设计电路的布局布线结果;以及对所述布局布线结果进行时序分析,得到目标时序分析报告。
第四方面,本申请实施例提供了一种时序分析设备,该时序分析设备包括存储器和处理器;其中,
所述存储器,用于存储能够在所述处理器上运行的计算机程序;
所述处理器,用于在运行所述计算机程序时,执行如第一方面所述的方法。
第五方面,本申请实施例提供了一种EDA设备,所述EDA设备包括输入单元、时序分析单元、布局布线单元和输出单元;其中,
所述输入单元,配置为接收待设计电路的多个初始模块;
所述时序分析单元,配置为对所述多个初始模块的时序分析,获得所述多个模块组各自的初始时序分析结果;
所述布局布线单元,配置为根据所获得的初始时序分析结果,在所述多个模块组无需进行分组调整的情况下,生成所述待设计电路的布局布线结果;
所述时序分析单元,还配置为对所述布局布线结果进行时序分析,获得目标时序分析包括;
所述输出单元,配置为输出所述目标时序分析报告。
第六方面,本申请实施例提供了一种计算机存储介质,该计算机存储介质存储有计算机程序,所述计算机程序被时序分析设备执行时实现如第一方面所述的方法、或者被EDA设备执行时实现如第二方面所述的方法。
本申请实施例所提供的一种时序分析方法、装置、设备以及计算机存储介质,对待设计电路的多个初始模块进行分组,得到多个模块组;其中,每一模块组包括至少一个初始模块;确定所述多个模块组各自的初始时序分析结果;根据所确定的初始时序分析结果,判断所述多个模块组是否进行分组调整;在判断结果为否的情况下,根据所述多个模块组生成所述待设计电路的布局布线结果;对所述布局布线结果进行时序分析,得到目标时序分析报告。这样,在芯片的电路设计中,通过增加基于模块的时序分组,方便设计人员快速定位模块内部、模块与模块之间时序违例的根源,能够快速实现时序优化,从而减少了由于时序问题所导致的迭代次数,节约整个芯片设计的时间。
附图说明
图1为相关技术方案提供的一种时序分析方法的流程示意图;
图2为本申请实施例提供的一种时序分析方法的流程示意图;
图3为本申请实施例提供的另一种时序分析方法的流程示意图;
图4为本申请实施例提供的一种时序分析方法的详细流程示意图;
图5为本申请实施例提供的又一种时序分析方法的流程示意图;
图6为本申请实施例提供的一种EDA设备的组成结构示意图;
图7为本申请实施例提供的一种时序分析装置的组成结构示意图;
图8为本申请实施例提供的一种时序分析设备的具体硬件结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。可以理解的是,此处所描述的具体实施例仅仅用于解释相关申请,而非对该申请的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关申请相关的部分。
随着集成电路设计技术的快速发展,一个电子系统或分系统可以完全集成在一个芯片之上,即系统级芯片(System on Chip,SoC)集成。而且随着设计规模的增大、电路性能的提高和设计的复杂度大大增加,相应地,对芯片的设计也提出了更高的要求。
目前,时序一直是芯片后端设计的难点,在整个芯片后端设计中一般要经过多次的迭代才能取得较好的时序结果。这里,时序分析可以包括静态时序分析(Static TimingAnalysis,STA)和动态时序分析(Dynamic Timing Analysis,DTA)。其中,静态时序分析是采用穷尽分析方法来提取出整个电路存在的所有时序路径,计算信号在这些时序路径上的传播延时,检查信号的建立和保持时间是否满足时序要求,通过对最大路径延时和最小路径延时的分析,找出违背时序约束的错误(即时序违例)。静态时序分析不需要输入向量就能够穷尽所有的路径,且运行速度很快、占用内存较少;不仅可以对芯片设计进行全面的时序功能检查,而且还可利用时序分析的结果来优化设计,使得它已经越来越多地被用到数字集成电路设计的验证中。动态时序分析通常是所有的输入信号都会给一个不同时刻的激励,通过设置一段仿真时间,最后对仿真结果进行时序和功能分析;这里的仿真可以是门级或者晶体管级。因为不可能产生完备的测试向量,覆盖门级网表中的每一条路径;使得在动态时序分析中,无法暴露一些路径上可能存在的时序问题。这样,虽然动态时序仿真的优点是比较精确,而且同静态时序相比较,它适用于更多的设计类型;但是动态时序分析的速度比较慢,而且它需要使用输入矢量,使得它在分析的过程中有可能会遗漏一些关键路径,关键路径无法检查全意味着可能有失败(fail)的路径,导致所设计出的芯片无法工作。在本申请实施例中,如无特别说明,时序分析通常是指静态时序分析。
如此,针对时序分析报告,快速的分析和定位时序问题并给出解决方案能够减少芯片后端设计的迭代次数,节约整个芯片设计的时间。
参见图1,其示出了相关技术方案提供的一种时序分析方法的流程示意图。如图1所示,该流程可以包括:
S101:对待设计电路进行布局规划;
S102:根据所述布局规划进行布局布线,生成布局布线结果;
S103:对所述布局布线结果进行时序分析,输出STA报告;
S104:判断所述STA报告是否存在时序违例;
S105:若判断结果为是,则对所述STA报告中所有时序路径进行逐条分析;
S106:若判断结果为否,则结束时序分析流程;
需要说明的是,对于步骤S104来说,通过判断STA报告是否存在时序违例,即判断STA报告是否存在时序问题。如果STA报告存在时序问题,这时候判断结果为是,那么需要对STA报告中所有时序路径进行逐条分析,即执行步骤S105,然后继续执行步骤S107;如果STA报告不存在时序问题,这时候判断结果为否,那么不再需要进行时序分析,这时候可以结束时序分析流程,即执行步骤S106,然后执行其他检查。
S107:确定时序优化信息;
S108:判断是否重新布局规划。
需要说明的是,对于S108来说,如果判断结果为是,那么返回执行S101;如果判断结果为否,那么返回执行S102。具体来说,在步骤S107之后,可以确定时序优化信息,然后进行时序优化操作;这时候需要执行步骤S108,即判断待设计电路是否重新布局规划。如果不需要重新布局规划,这时候判断结果为否,那么需要返回执行步骤S102;如果需要重新布局规划,这时候判断结果为是,那么需要返回执行步骤S101;直至STA报告不存在时序问题。
根据图1所示的时序分析流程,在得到STA报告之后,需要逐条分析报告中的每条时序路径的结果。具体地,可以根据逻辑的长度、单元的位置和延迟调整布局布线的设置,比如增加关键时序路径的权重,然后重新进行布局布线。如果多次布局布线的结果都不理想,这时候还需要重新进行布局规划,甚至改变模块的形状等。这样,时序分析花费的时间长,迭代次数多,从而影响了整个芯片后端设计的时间。
基于此,本申请实施例提供了一种时序分析方法,该基本思想是:对待设计电路的多个初始模块进行分组,得到多个模块组;其中,每一模块组包括至少一个初始模块;确定所述多个模块组各自的初始时序分析结果;根据所确定的初始时序分析结果,判断所述多个模块组是否进行分组调整;在判断结果为否的情况下,根据所述多个模块组生成所述待设计电路的布局布线结果;对所述布局布线结果进行时序分析,得到目标时序分析报告。这样,在芯片的电路设计中,通过增加基于模块的时序分组,方便设计人员快速定位模块内部、模块与模块之间时序违例的根源,能够快速实现时序优化,从而减少了由于时序问题所导致的迭代次数,节约整个芯片设计的时间。
下面将结合附图对本申请各实施例进行详细说明。
本申请的一实施例中,参见图2,其示出了本申请实施例提供的一种时序分析方法的流程示意图。如图2所示,该方法可以包括:
S201:对待设计电路的多个初始模块进行分组,得到多个模块组;其中,每一模块组包括至少一个初始模块;
需要说明的是,该时序分析方法应用于时序分析装置,或者集成有该时序分析装置的时序分析设备。这里,该时序分析装置不仅具有时序分析功能,还具有布局规划功能和布局布线功能。
还需要说明的是,针对芯片的待设计电路,按照功能细分,可以包括有多个初始模块。然后针对这多个初始模块进行分组,可以得到多个模块组,而且每一模块组包括有至少一个初始模块。
S202:确定所述多个模块组各自的初始时序分析结果;
需要说明的是,在分组得到多个模块组之后,可以对这多个模块组进行时序分析,以确定出这多个模块组各自的初始时序分析结果。具体地,在一些实施例中,所述确定所述多个模块组各自的初始时序分析结果,可以包括:
对所述多个模块组进行时序分析,获得每一模块组的子模块时序分析结果以及不同模块组之间的跨模块时序分析结果。
也就是说,通过对这多个模块组进行时序分析,可以得到每一模块组的子模块时序分析结果和不同模块组之间的跨模块时序分析结果。这样,在静态时序分析中,能够方便设计人员快速定位每一个模块组内部、以及不同模块组之间时序违例的根源。例如,局部利用率太高,导致逻辑单元无法替换成驱动更大的单元所造成的时序违例可以通过降低局部利用率来解决;或者存储器摆放不合理,模块组内部逻辑走线的路径太远所造成的时序违例可以通过调整存储器摆放位置来解决。
S203:根据所确定的初始时序分析结果,判断所述多个模块组是否进行分组调整;
需要说明的是,在确定出初始时序分析结果之后,可以根据初始时序分析结果是否进行时序优化或者时序调整,以判断是否对这多个模块组进行分组调整,比如增加分组或者删除分组。
在一些实施例中,所述判断所述多个模块组是否进行分组调整,可以包括:
若所述多个模块组内任一模块组的子模块时序分析结果存在时序违例,和/或,所述不同模块组之间的跨模块时序分析结果存在时序违例,则确定所述判断结果为是;
若所述多个模块组内每一模块组的子模块时序分析结果以及所述不同模块组之间的跨模块时序分析结果均不存在时序违例,则确定所述判断结果为否。
也就是说,在得到每一模块组的子模块时序分析结果以及不同模块组之间的跨模块时序分析结果后,如果多个模块组内任一模块组的子模块时序分析结果存在时序违例,和/或,不同模块组之间的跨模块时序分析结果存在时序违例,那么可以确定需要对这多个模块组进行STA分析调整,表明判断结果为是,即这时候需要对这多个模块组进行分组调整;如果多个模块组内每一模块组的子模块时序分析结果均不存在时序违例,且所述不同模块组之间的跨模块时序分析结果也均不存在时序违例,那么可以确定不需要对这多个模块组进行STA分析调整,表明判断结果为否,即这时候不需要对这多个模块组进行分组调整。
S204:在判断结果为否的情况下,根据所述多个模块组生成所述待设计电路的布局布线结果;
在一些实施例中,在S203之后,该方法还可以包括:在判断结果为是的情况下,返回执行所述对待设计电路的多个初始模块进行分组,得到多个模块组的步骤,以实现对所述多个初始模块的重新分组。
需要说明的是,如果判断结果为否,表明了不需要对这多个模块组进行分组调整,意味着这多个模块组是没有时序问题的,那么可以继续向下执行,即根据这多个模块组生成待设计电路的布局布线结果;反之,如果判断结果为是,表明了需要对这多个模块组进行分组调整,例如,若某一模块组的时序问题很多,则可以对该模块组进行划分,以增加分组;若某一个模块组没有时序问题,则可以删除这个模块组。也就是说,通过增加分组或者删除分组,能够实现对待设计电路的多个初始模块的重新分组;然后确定新得到的多个模块组各自的初始时序分析结果,用以判断是否再次进行分组调整。
S205:对所述布局布线结果进行时序分析,得到目标时序分析报告。
需要说明的是,当不需要进行分组调整时,这时候可以根据这多个模块组生成待设计电路的布局布线结果;然后通过对该布局布线结果进行时序分析,能够得到目标时序分析报告。
这样,由于在得到目标时序分析报告之前,已经根据初始模块的分组划分,将待设计电路划分为一系列模块组;针对这一系列模块组,能够快速定位出每一模块组时序违例的根源,并且快速调整时序优化方案,使得最后所得到的目标时序分析报告中存在较少的时序违例,从而减少了因为时序问题导致的迭代次数,节约了整个芯片设计的时间。
示例性地,假定待设计电路可以包括有10000个初始模块,然后通过分组可以将其划分为10个模块组。在确定出这10个模块组各自的初始时序分析结果后,与10000个初始模块的整体时序分析相比,能够快速定位出这10个模块组中每一模块组时序违例的根源,并且快速调整每一模块组的时序优化方案;如果这时候的时序问题较多,还可以对这10个模块组进行分组调整,比如增加分组/删除分组,以实现对10000个初始模块的重新分组;在不需要进行分组调整时,可以进行布局布线操作,以得到布局布线结果;通过对该布局布线结果进行时序分析,能够得到目标时序分析报告,这时候所得到的目标时序分析报告中存在较少的时序违例,从而能够减少因为时序问题导致的迭代次数,节约整个芯片设计的时间。
本实施例提供了一种时序分析方法,通过对待设计电路的多个初始模块进行分组,得到多个模块组;其中,每一模块组包括至少一个初始模块;确定所述多个模块组各自的初始时序分析结果;根据所确定的初始时序分析结果,判断所述多个模块组是否进行分组调整;在判断结果为否的情况下,根据所述多个模块组生成所述待设计电路的布局布线结果;对所述布局布线结果进行时序分析,得到目标时序分析报告。这样,在芯片的电路设计中,通过增加基于模块的时序分组,方便设计人员快速定位模块内部、模块与模块之间时序违例的根源,能够快速实现时序优化,从而减少了由于时序问题所导致的迭代次数,节约整个芯片设计的时间。
本申请的另一实施例中,参见图3,其示出了本申请实施例提供的另一种时序分析方法的流程示意图。如图3所示,该流程可以包括:
S301:导入待设计电路的多个初始模块;
S302:对所述多个初始模块进行基于模块的时序分组,得到多个模块组;
需要说明的是,针对芯片的待设计电路,可以导入这多个初始模块,并且针对这多个初始模块进行基于模块的时序分组,以得到多个模块组。
S303:获取每一模块组的子模块时序分析结果;
S304:获取不同模块组之间的跨模块时序分析结果;
需要说明的是,步骤S303和步骤S304可以并行执行,两者没有顺序之分。在得到每一模块组的子模块时序分析结果和不同模块组之间的跨模块时序分析结果后,可以判断是否需要进行时序优化调整,以确定出是否需要对这多个模块组进行分组调整。
S305:判断是否需要进行时序优化调整;
S306:若判断结果为是,则通过增分组/删除分组进行分组调整,返回执行S302;
S307:若判断结果为否,则对待设计电路进行布局布线,生成布局布线结果;
S308:对所述布局布线结果进行时序分析,得到目标时序分析报告。
需要说明的是,对于步骤S305来说,如果判断结果为是,那么需要执行步骤S306,并返回执行步骤S302,直至不再需要进行时序优化调整;如果判断结果为否,那么需要执行步骤S307,以生成待设计电路的布局布线结果;然后继续执行步骤S308,可以获得目标时序分析报告。
还需要说明的是,在基于模块的时序分组以生成布局布线结果之后,一方面可以得到基于模块分组的目标时序分析报告,另外还可以进行基于模块的版图显示设置。在一些实施例中,该方法还可以包括:对所述待设计电路的布局布线结果进行版图显示。
这样,通过分析目标时序分析报告和版图显示,能够快速定位出时序问题,并且快速调整时序优化方案,从而减少了因为时序问题导致的迭代次数,节约整个芯片设计的时间。
在一些实施例中,在步骤S308之后,该方法还可以包括:
判断所述目标时序分析报告是否存在时序违例;
在所述目标时序分析报告存在时序违例时,生成时序优化信息;
根据所述时序优化信息对所述待设计电路重新执行布局布线操作,生成新的布局布线结果;
对所述新的布局布线结果进行时序分析,将新得到的时序分析报告确定为所述目标时序分析报告,并继续执行判断所述目标时序分析报告是否存在时序违例的步骤。
进一步地,所述判断所述目标时序分析报告是否存在时序违例,可以包括:
基于所述目标时序分析报告,确定所有时序路径的时间余量;
若所确定的时间余量中存在不满足预设范围的时间余量,则确定所述目标时序分析报告存在时序违例;
相应地,所述当所述目标时序分析报告存在时序违例时,生成时序优化信息,可以包括:
根据所确定的时间余量,确定所有时序路径中的关键时序路径;其中,所述关键时序路径对应的时间余量不满足预设范围;
基于所述关键时序路径,生成所述时序优化信息。
也就是说,在得到目标时序分析报告之后,还可以判断该目标时序分析报告是否有时序问题,即判断目标时序分析报告是否存在时序违例。如果目标时序分析报告存在时序违例,这时候可以结束时序分析流程,然后执行其他检查;如果目标时序分析报告存在时序违例,那么这时候需要生成时序优化信息;然后根据所述时序优化信息对待设计电路重新执行布局布线操作,以生成新的布局布线结果;再通过对新的布局布线结果进行时序分析,将新得到的时序分析报告确定为目标时序分析报告,并执行判断目标时序分析报告是否存在时序违例的步骤,直至目标时序分析报告中不存在时序违例。
这里,时序优化信息可以用于快速进行时序优化操作。具体来讲,根据目标时序分析报告,能够确定出所有时序路径的时间余量(slack);如果所确定的时间余量中存在不满足预设范围的时间余量,可以将这些不满足预设范围的时间余量对应的时序路径确定为关键时序路径;然后针对关键时序路径进行时序优化,以得到时序优化信息。
其中,预设范围表示预先设定的用于判断时序路径是否有时序问题的衡量指标。这里的时序分析通常是指静态时序分析,这是一种重要的逻辑验证方法,其目的在于找出隐藏的时序问题,根据时序分析报告能够优化逻辑或者时序约束条件,使得该设计达到时序闭合。本申请实施例中的时序约束可以是指在静态时序分析中指定信号的频率/周期、占空比、时延等约束条件。
另外,在本申请实施例中,预设范围也可以设定为一个大于零的预设阈值。当时间余量大于预设阈值时,意味着该时间余量满足预设范围,表示该时序路径满足时序约束条件,即该时序路径是没有时序问题的;当时间余量小于预设阈值时,意味着该时间余量不满足预设范围,表示该时序路径不满足时序约束条件,即该时序路径是有时序问题的,这时的时序路径即为关键时序路径。通常而言,预设阈值的典型值可以设置为1纳秒(ns),但是本申请实施例不作具体限定。
还需要说明的是,基于模块的时序分组可以是位于布局规划和布局布线之间,用以快速定位模块时序违例的根源。参见图4,其示出了本申请实施例提供的一种时序分析方法的详细流程示意图。如图4所示,该流程可以包括:
S401:对待设计电路进行布局规划,导入待设计电路的多个初始模块;
S402:对所述多个初始模块进行基于模块的时序分组,得到多个模块组;
S403:获取每一模块组的子模块时序分析结果;
S404:获取不同模块组之间的跨模块时序分析结果;
需要说明的是,步骤S403和步骤S404可以并行执行,两者没有顺序之分。在得到每一模块组的子模块时序分析结果和不同模块组之间的跨模块时序分析结果后,可以判断是否需要进行时序优化调整,以确定出是否需要对这多个模块组进行分组调整。
S405:判断是否需要进行时序优化调整;
S406:若判断结果为是,则通过增分组/删除分组进行分组调整,返回执行S402;
S407:若判断结果为否,则对待设计电路进行布局布线,生成布局布线结果;
S408:输出目标时序分析报告并进行版图显示;
需要说明的是,对于步骤S405来说,如果判断结果为是,那么需要执行步骤S406,并返回执行步骤S402,直至不再需要进行时序优化调整;如果判断结果为否,那么需要执行步骤S407,以生成待设计电路的布局布线结果;然后继续执行步骤S408,可以获得目标时序分析报告并进行版图显示。
S409:判断所述目标时序分析报告是否存在时序违例;
S410:若判断结果为是,则定位所述目标时序分析报告中的时序问题,并生成时序优化信息;
S411:若判断结果为否,则结束时序分析流程;
S412:判断是否重新布局规划。
需要说明的是,对于步骤S409来说,通过判断目标时序分析报告是否存在时序违例,即判断目标时序分析报告是否存在时序问题。如果目标时序分析报告存在时序问题,这时候判断结果为是,那么需要快速定位目标时序分析报告中的时序问题,并生成时序优化信息,即执行步骤S410,然后继续执行步骤S412;如果目标时序分析报告不存在时序问题,这时候判断结果为否,那么不再需要进行时序分析,这时候可以结束时序分析流程,即执行步骤S411,然后执行其他检查。
还需要说明的是,对于步骤S412来说,如果判断结果为是,表明需要重新布局规划,那么返回执行S401;如果判断结果为否,表明不需要重新布局规划,那么返回执行S407。
简言之,在本申请实施例中,将初始模块可以看作是“小模块”,分组后得到的每一模块组也可以看作是一个模块,即“大模块”。这样,本申请实施例提出了在布局规划和布局布线之间增加了基于模块的时序分组。在布局布线之后,可以得到基于模块分组的目标时序分析报告和基于模块的版图显示设置。同时在时序分析时,通过把模块分组的目标时序分析报告和对应的显示设置导入版图数据中,能够方便设计人员快速定位模块内部、模块与模块之间时序违例的根源。比如局部利用率太高,导致逻辑单元无法替换成驱动更大的单元所造成的时序违例可以通过降低局部利用率来解决;或者存储器摆放不合理,模块内部逻辑走线的路径太远所造成的时序违例可以通过调整存储器摆放位置来解决。
也就是说,本申请实施例通过在布局规划和布局布线之间插入基于模块的时序分组,通过分析目标时序分析报告和版图显示,可以快速定位模块时序违例的根源,以快速调整优化方案。尤其是在项目初期或者没有前端数据流程图的情况下,通过本申请实施例后端设计人员可以快速识别关键时序模块以及多个模块之间的是否存在关键时序路径。从而减少了因为时序问题导致的迭代次数,节约了整个芯片设计的时间。
本实施例提供了一种时序分析方法,通过上述实施例对前述实施例的具体实现进行了详细阐述,从中可以看出,通过前述实施例的技术方案,在芯片的电路设计中,通过增加基于模块的时序分组,方便设计人员快速定位模块内部、模块与模块之间时序违例的根源,能够快速实现时序优化,从而减少了由于时序问题所导致的迭代次数,节约整个芯片设计的时间。
本申请的又一实施例中,本申请实施例的时序分析方法可以是基于电子设计自动化(Electronic design automation,EDA)工具实现的。参见图5,其示出了本申请实施例提供的又一种时序分析方法的流程示意图。如图5所示,该方法包括:
S501:接收待设计电路的多个初始模块;
S502:对所述多个初始模块的时序分析,获得所述多个模块组各自的初始时序分析结果;
S503:根据所获得的初始时序分析结果,在所述多个模块组无需进行分组调整的情况下,生成所述待设计电路的布局布线结果;
S504:对所述布局布线结果进行时序分析,输出目标时序分析报告。
进一步地,在一些实施例中,该方法还可以包括:
在EDA工具的版图显示界面,显示所述待设计电路的布局布线结果。
需要说明的是,该时序分析方法是基于EDA工具实现的,其执行主体可以是EDA设备。具体来讲,EDA可以是指以计算机为工作平台,融合了应用电子技术、计算机技术、智能化技术而研制成的计算机辅助设计(Computer Aided Design,CAD)通用软件包。随着集成电路(Integration Circuit,IC)规模的扩大、半导体技术的发展,EDA的重要性急剧增加。具体表现为利用EDA工具,电子工程师可以将电子产品由电路设计、性能分析到IC设计图或印制电路板(Printed Circuit Board,PCB)设计图整个过程在计算机上自动处理完成,从而能够完成超大规模集成电路(Very Large Scale Integration Circuit,VLSI)芯片的功能设计、综合、验证、物理设计(包括布局、布线、版图、设计规则检查等)等设计。
这样,针对待设计电路,利用EDA工具,由于在得到目标时序分析报告之前,已经根据初始模块的分组划分,将待设计电路划分为一系列模块组;针对这一系列模块组,能够快速定位出每一模块组时序违例的根源,并且快速调整时序优化方案,使得最后所得到的目标时序分析报告中存在较少的时序违例,从而减少了因为时序问题导致的迭代次数,节约了整个芯片设计的时间。
参见图6,其示出了本申请实施例提供的一种EDA设备的组成结构示意图。如图6所示,EDA设备60可以包括:输入单元601、时序分析单元602、布局布线单元603和输出单元604;其中,
输入单元601,配置为接收待设计电路的多个初始模块;
时序分析单元602,配置为对所述多个初始模块的时序分析,获得所述多个模块组各自的初始时序分析结果;
布局布线单元603,配置为根据所获得的初始时序分析结果,在所述多个模块组无需进行分组调整的情况下,生成所述待设计电路的布局布线结果;
时序分析单元602,还配置为对所述布局布线结果进行时序分析,获得目标时序分析包括;
输出单元604,配置为输出所述目标时序分析报告。
进一步地,在一些实施例中,输出单元604,还配置为在所述EDA工具的版图显示界面,显示所述待设计电路的布局布线结果。
需要说明的是,本实施例中的“单元”可以是部分程序或软件,当然也可以是功能模块,还可以是非模块化的部件。而且在本实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。这里,上述集成的单元主要采用软件功能模块的形式来实现。
还需要说明的是,本申请实施例的EDA设备可以是安装有EDA工具的时序分析设备。这样,在将待设计电路的多个初始模块导入EDA工具后,可以对这多个初始模块的时序分析,获得多个模块组各自的初始时序分析结果;然后根据所获得的初始时序分析结果,在这多个模块组无需进行分组调整的情况下,生成待设计电路的布局布线结果;最后对布局布线结果进行时序分析,输出目标时序分析报告;并且在EDA工具的版图显示界面,还可以显示待设计电路的布局布线结果。
本实施例提供了一种基于EDA工具的时序分析方法,通过接收待设计电路的多个初始模块;对所述多个初始模块的时序分析,获得所述多个模块组各自的初始时序分析结果;根据所获得的初始时序分析结果,在所述多个模块组无需进行分组调整的情况下,生成所述待设计电路的布局布线结果;对所述布局布线结果进行时序分析,输出目标时序分析报告。这样,在芯片的电路设计中,通过增加基于模块的时序分组,方便设计人员基于EDA工具快速定位模块内部、模块与模块之间时序违例的根源,能够快速实现时序优化,从而减少了由于时序问题所导致的迭代次数,节约整个芯片设计的时间。
本申请的再一实施例中,基于前述实施例相同的发明构思,参见图7,其示出了本申请实施例提供的一种时序分析装置70的组成结构示意图。如图7所示,该时序分析装置70可以包括:分组单元701、确定单元702、判断单元703和时序分析单元704;其中,
分组单元701,配置为对待设计电路的多个初始模块进行分组,得到多个模块组;其中,每一模块组包括至少一个初始模块;
确定单元702,配置为确定所述多个模块组各自的初始时序分析结果;
判断单元703,配置为根据所确定的初始时序分析结果,判断所述多个模块组是否进行分组调整;
时序分析单元704,配置为在判断结果为否的情况下,根据所述多个模块组生成所述待设计电路的布局布线结果;以及对所述布局布线结果进行时序分析,得到目标时序分析报告。。
在一些实施例中,确定单元702,具体配置为对所述多个模块组进行时序分析,获得每一模块组的子模块时序分析结果以及不同模块组之间的跨模块时序分析结果。
在一些实施例中,判断单元703,具体配置为若所述多个模块组内任一模块组的子模块时序分析结果存在时序违例,和/或,所述不同模块组之间的跨模块时序分析结果存在时序违例,则确定所述判断结果为是;若所述多个模块组内每一模块组的子模块时序分析结果以及所述不同模块组之间的跨模块时序分析结果均不存在时序违例,则确定所述判断结果为否。
在一些实施例中,分组单元701,还配置为在所述判断结果为是的情况下,返回执行所述对待设计电路的多个初始模块进行分组,得到多个模块组的步骤,以实现对所述多个初始模块的重新分组。
在一些实施例中,判断单元703,还配置为判断所述目标时序分析报告是否存在时序违例;
时序分析单元704,还配置为在所述目标时序分析报告存在时序违例时,生成时序优化信息;以及根据所述时序优化信息对所述待设计电路重新执行布局布线操作,生成新的布局布线结果;以及对所述新的布局布线结果进行时序分析,将新得到的时序分析报告确定为所述目标时序分析报告,并继续执行判断所述目标时序分析报告是否存在时序违例的步骤。
在一些实施例中,确定单元702,还配置为基于所述目标时序分析报告,确定所有时序路径的时间余量;以及若所确定的时间余量中存在不满足预设范围的时间余量,则确定所述目标时序分析报告存在时序违例;
时序分析单元704,还配置为根据所确定的时间余量,确定所有时序路径中的关键时序路径;其中,所述关键时序路径对应的时间余量不满足预设范围;以及基于所述关键时序路径,生成所述时序优化信息。
在一些实施例中,参见图7,该时序分析装置70还可以包括显示单元705,配置为对所述待设计电路的布局布线结果进行版图显示。
可以理解地,在本实施例中,“单元”可以是部分电路、部分处理器、部分程序或软件等等,当然也可以是模块,还可以是非模块化的。而且在本实施例中的各组成部分可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
所述集成的单元如果以软件功能模块的形式实现并非作为独立的产品进行销售或使用时,可以存储在一个计算机可读取存储介质中,基于这样的理解,本实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或processor(处理器)执行本实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
因此,本实施例提供了一种计算机存储介质,该计算机存储介质存储有计算机程序,所述计算机程序被至少一个处理器执行时实现前述实施例中任一项所述的时序分析方法的步骤。
本申请的再一实施例中,基于上述时序分析装置70的组成以及计算机存储介质,参见图8,其示出了本申请实施例提供的时序分析设备80的具体硬件结构示意图。如图8所示,时序分析设备80可以包括处理器801,处理器801可以从存储器中调用并运行计算机程序,以实现前述实施例中任一项所述的时序分析方法。
可选地,如图8所示,时序分析设备80还可以包括存储器802。其中,处理器801可以从存储器802中调用并运行计算机程序,以实现前述实施例中任一项所述的时序分析方法。
其中,存储器802可以是独立于处理器801的一个单独的器件,也可以集成在处理器801中。
可选地,如图8所示,时序分析设备80还可以包括收发器803,处理器801可以控制该收发器803与其他设备进行通信,具体地,可以向其他设备发送信息或数据,或接收其他设备发送的信息或数据。
其中,收发器803可以包括发射机和接收机。收发器803还可以进一步包括天线,天线的数量可以为一个或多个。
可选地,该时序分析设备80具体可为前述实施例所述的智能手机、平板电脑、掌上电脑、笔记本电脑、台式计算机等设备,或者集成有前述实施例中任一项所述时序分析装置70的设备。这里,并且该时序分析设备80可以实现本申请实施例的各个方法中所述的相应流程,为了简洁,在此不再赘述。
需要说明的是,本申请实施例的处理器可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(DigitalSignal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。
还需要说明的是,本申请实施例中的存储器可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-Only Memory,ROM)、可编程只读存储器(Programmable ROM,PROM)、可擦除可编程只读存储器(Erasable PROM,EPROM)、电可擦除可编程只读存储器(Electrically EPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(Random Access Memory,RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(Static RAM,SRAM)、动态随机存取存储器(Dynamic RAM,DRAM)、同步动态随机存取存储器(Synchronous DRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(Double DataRate SDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步链动态随机存取存储器(Synchronous link DRAM,SLDRAM)和直接内存总线随机存取存储器(Direct Rambus RAM,DRRAM)。应注意,本申请描述的系统和方法的存储器旨在包括但不限于这些和任意其它适合类型的存储器。
可以理解地,本申请描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(ApplicationSpecific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(Programmable LogicDevice,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。对于软件实现,可通过执行本申请所述功能的模块(例如过程、函数等)来实现本申请所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
本领域普通技术人员可以意识到,结合本申请中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
需要说明的是,在本申请中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本申请实施例序号仅仅为了描述,不代表实施例的优劣。
本申请所提供的几个方法实施例中所揭露的方法,在不冲突的情况下可以任意组合,得到新的方法实施例。
本申请所提供的几个产品实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的产品实施例。
本申请所提供的几个方法或设备实施例中所揭露的特征,在不冲突的情况下可以任意组合,得到新的方法实施例或设备实施例。
以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

Claims (13)

1.一种时序分析方法,其特征在于,所述方法包括:
对待设计电路的多个初始模块进行分组,得到多个模块组;其中,每一模块组包括至少一个初始模块;
确定所述多个模块组各自的初始时序分析结果;
根据所确定的初始时序分析结果,判断所述多个模块组是否进行分组调整;
在判断结果为否的情况下,根据所述多个模块组生成所述待设计电路的布局布线结果;
对所述布局布线结果进行时序分析,得到目标时序分析报告。
2.根据权利要求1所述的方法,其特征在于,所述确定所述多个模块组各自的初始时序分析结果,包括:
对所述多个模块组进行时序分析,获得每一模块组的子模块时序分析结果以及不同模块组之间的跨模块时序分析结果。
3.根据权利要求2所述的方法,其特征在于,所述判断所述多个模块组是否进行分组调整,包括:
若所述多个模块组内任一模块组的子模块时序分析结果存在时序违例,和/或,所述不同模块组之间的跨模块时序分析结果存在时序违例,则确定所述判断结果为是;
若所述多个模块组内每一模块组的子模块时序分析结果以及所述不同模块组之间的跨模块时序分析结果均不存在时序违例,则确定所述判断结果为否。
4.根据权利要求3所述的方法,其特征在于,所述方法还包括:
在所述判断结果为是的情况下,返回执行所述对待设计电路的多个初始模块进行分组,得到多个模块组的步骤,以实现对所述多个初始模块的重新分组。
5.根据权利要求1所述的方法,其特征在于,在所述得到目标时序分析报告之后,所述方法还包括:
判断所述目标时序分析报告是否存在时序违例;
在所述目标时序分析报告存在时序违例时,生成时序优化信息;
根据所述时序优化信息对所述待设计电路重新执行布局布线操作,生成新的布局布线结果;
对所述新的布局布线结果进行时序分析,将新得到的时序分析报告确定为所述目标时序分析报告,并继续执行判断所述目标时序分析报告是否存在时序违例的步骤。
6.根据权利要求5所述的方法,其特征在于,所述判断所述目标时序分析报告是否存在时序违例,包括:
基于所述目标时序分析报告,确定所有时序路径的时间余量;
若所确定的时间余量中存在不满足预设范围的时间余量,则确定所述目标时序分析报告存在时序违例;
相应地,所述当所述目标时序分析报告存在时序违例时,生成时序优化信息,包括:
根据所确定的时间余量,确定所有时序路径中的关键时序路径;其中,所述关键时序路径对应的时间余量不满足预设范围;
基于所述关键时序路径,生成所述时序优化信息。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
对所述待设计电路的布局布线结果进行版图显示。
8.一种基于电子设计自动化EDA工具的时序分析方法,其特征在于,所述方法包括:
接收待设计电路的多个初始模块;
对所述多个初始模块的时序分析,获得所述多个模块组各自的初始时序分析结果;
根据所获得的初始时序分析结果,在所述多个模块组无需进行分组调整的情况下,生成所述待设计电路的布局布线结果;
对所述布局布线结果进行时序分析,输出目标时序分析报告。
9.根据权利要求8所述的方法,其特征在于,所述方法还包括:
在所述EDA工具的版图显示界面,显示所述待设计电路的布局布线结果。
10.一种时序分析装置,其特征在于,应用于时序分析设备,所述时序分析装置包括分组单元、确定单元、判断单元和时序分析单元;其中,
所述分组单元,配置为对待设计电路的多个初始模块进行分组,得到多个模块组;其中,每一模块组包括至少一个初始模块;
所述确定单元,配置为确定所述多个模块组各自的初始时序分析结果;
所述判断单元,配置为根据所确定的初始时序分析结果,判断所述多个模块组是否进行分组调整;
所述时序分析单元,配置为在判断结果为否的情况下,根据所述多个模块组生成所述待设计电路的布局布线结果;以及对所述布局布线结果进行时序分析,得到目标时序分析报告。
11.一种时序分析设备,其特征在于,所述时序分析设备包括存储器和处理器;其中,
所述存储器,用于存储能够在所述处理器上运行的可执行指令;
所述处理器,用于在运行所述可执行指令时,执行如权利要求1至7任一项所述的方法。
12.一种EDA设备,其特征在于,所述EDA设备包括输入单元、时序分析单元、布局布线单元和输出单元;其中,
所述输入单元,配置为接收待设计电路的多个初始模块;
所述时序分析单元,配置为对所述多个初始模块的时序分析,获得所述多个模块组各自的初始时序分析结果;
所述布局布线单元,配置为根据所获得的初始时序分析结果,在所述多个模块组无需进行分组调整的情况下,生成所述待设计电路的布局布线结果;
所述时序分析单元,还配置为对所述布局布线结果进行时序分析,获得目标时序分析包括;
所述输出单元,配置为输出所述目标时序分析报告。
13.一种计算机存储介质,其特征在于,所述计算机存储介质存储有可执行指令,所述可执行指令被时序分析设备执行时实现如权利要求1至7任一项所述的方法、或者被EDA设备执行时如权利要求8至9任一项所述的方法。
CN202010820374.3A 2020-08-14 2020-08-14 一种时序分析方法、装置、设备以及计算机存储介质 Pending CN111950214A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010820374.3A CN111950214A (zh) 2020-08-14 2020-08-14 一种时序分析方法、装置、设备以及计算机存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010820374.3A CN111950214A (zh) 2020-08-14 2020-08-14 一种时序分析方法、装置、设备以及计算机存储介质

Publications (1)

Publication Number Publication Date
CN111950214A true CN111950214A (zh) 2020-11-17

Family

ID=73342442

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010820374.3A Pending CN111950214A (zh) 2020-08-14 2020-08-14 一种时序分析方法、装置、设备以及计算机存储介质

Country Status (1)

Country Link
CN (1) CN111950214A (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112131831A (zh) * 2020-11-25 2020-12-25 北京智芯微电子科技有限公司 多电源域版图布局方法及存储介质
CN112347733A (zh) * 2020-11-26 2021-02-09 北京百瑞互联技术有限公司 集成电路布局初始化与优化方法、装置、存储介质及设备
CN112364584A (zh) * 2021-01-13 2021-02-12 南京集成电路设计服务产业创新中心有限公司 一种基于分布式的静态时序分析方法
CN112464609A (zh) * 2020-12-08 2021-03-09 北京百瑞互联技术有限公司 一种集成电路相对位置布局优化方法、装置及存储介质
CN112597725A (zh) * 2020-12-21 2021-04-02 北京百瑞互联技术有限公司 集成电路多情景时序收敛分析方法、装置、介质及设备
CN112613259A (zh) * 2020-12-18 2021-04-06 海光信息技术股份有限公司 片上系统后仿真方法、装置及电子设备
CN113033132A (zh) * 2021-04-25 2021-06-25 中国科学院微电子研究所 一种确定端口时序约束的方法及相关装置
CN113283207A (zh) * 2021-05-24 2021-08-20 海光信息技术股份有限公司 集成电路的布局分析方法、装置、电子设备和存储介质
CN113688587A (zh) * 2021-08-31 2021-11-23 上海商汤阡誓科技有限公司 一种电路布图的生成方法、装置、计算机设备及存储介质
CN113781354A (zh) * 2021-09-18 2021-12-10 北京环境特性研究所 图像噪点抑制方法、装置、计算设备及存储介质
CN113836844A (zh) * 2021-08-27 2021-12-24 北京大学 一种基于事件传播的动态时序分析方法
CN113973061A (zh) * 2021-10-27 2022-01-25 深圳鸿芯微纳技术有限公司 电路时延预测方法、装置、终端设备和可读存储介质
CN114742001A (zh) * 2022-03-16 2022-07-12 南京邮电大学 一种基于多fpga的系统静态时序分析方法
CN115630596A (zh) * 2022-12-21 2023-01-20 苏州浪潮智能科技有限公司 一种时序收敛方法、装置、计算机设备及存储介质
CN116805143A (zh) * 2023-08-24 2023-09-26 湖南师范大学 一种数字电路时序统计方法、装置、设备及存储介质
CN116822427A (zh) * 2023-05-17 2023-09-29 深圳鸿芯微纳技术有限公司 基于时序分析方法、装置、电子设备及存储介质
CN117313601A (zh) * 2023-10-10 2023-12-29 上海合芯数字科技有限公司 集成电路的时序收敛方法、装置及设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106529043A (zh) * 2016-11-14 2017-03-22 无锡华润矽科微电子有限公司 基于计算机软件系统对电路进行分模块综合设计的方法
CN108804719A (zh) * 2017-04-26 2018-11-13 华为技术有限公司 数字电路老化仿真方法及装置
CN109583103A (zh) * 2018-12-04 2019-04-05 珠海市微半导体有限公司 一种基于时间余量的时序修复方法
CN110598235A (zh) * 2019-06-25 2019-12-20 眸芯科技(上海)有限公司 芯片设计中修复时序违例的方法及系统
CN111177997A (zh) * 2019-12-27 2020-05-19 广东高云半导体科技股份有限公司 基于时钟频率的布局布线控制方法及装置、系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106529043A (zh) * 2016-11-14 2017-03-22 无锡华润矽科微电子有限公司 基于计算机软件系统对电路进行分模块综合设计的方法
CN108804719A (zh) * 2017-04-26 2018-11-13 华为技术有限公司 数字电路老化仿真方法及装置
CN109583103A (zh) * 2018-12-04 2019-04-05 珠海市微半导体有限公司 一种基于时间余量的时序修复方法
CN110598235A (zh) * 2019-06-25 2019-12-20 眸芯科技(上海)有限公司 芯片设计中修复时序违例的方法及系统
CN111177997A (zh) * 2019-12-27 2020-05-19 广东高云半导体科技股份有限公司 基于时钟频率的布局布线控制方法及装置、系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
于传等: ""基于数字电路的Profibus—DP总线光电信号 转换模块的设计’", 《国网技术学院学报》, vol. 19, no. 4, 31 December 2016 (2016-12-31) *
张蔚云等: ""基于FPGA的分离时序电路的可靠性设计"", 《计算机测量与控制》, vol. 21, no. 7, 31 December 2013 (2013-12-31) *

Cited By (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112131831A (zh) * 2020-11-25 2020-12-25 北京智芯微电子科技有限公司 多电源域版图布局方法及存储介质
CN112347733A (zh) * 2020-11-26 2021-02-09 北京百瑞互联技术有限公司 集成电路布局初始化与优化方法、装置、存储介质及设备
CN112464609A (zh) * 2020-12-08 2021-03-09 北京百瑞互联技术有限公司 一种集成电路相对位置布局优化方法、装置及存储介质
CN112613259B (zh) * 2020-12-18 2022-06-10 海光信息技术股份有限公司 片上系统后仿真方法、装置及电子设备
CN112613259A (zh) * 2020-12-18 2021-04-06 海光信息技术股份有限公司 片上系统后仿真方法、装置及电子设备
CN112597725A (zh) * 2020-12-21 2021-04-02 北京百瑞互联技术有限公司 集成电路多情景时序收敛分析方法、装置、介质及设备
CN112364584A (zh) * 2021-01-13 2021-02-12 南京集成电路设计服务产业创新中心有限公司 一种基于分布式的静态时序分析方法
CN112364584B (zh) * 2021-01-13 2021-03-23 南京集成电路设计服务产业创新中心有限公司 一种基于分布式的静态时序分析方法
CN113033132A (zh) * 2021-04-25 2021-06-25 中国科学院微电子研究所 一种确定端口时序约束的方法及相关装置
CN113033132B (zh) * 2021-04-25 2024-04-09 中国科学院微电子研究所 一种确定端口时序约束的方法及相关装置
CN113283207A (zh) * 2021-05-24 2021-08-20 海光信息技术股份有限公司 集成电路的布局分析方法、装置、电子设备和存储介质
CN113283207B (zh) * 2021-05-24 2024-03-01 海光信息技术股份有限公司 集成电路的布局分析方法、装置、电子设备和存储介质
CN113836844B (zh) * 2021-08-27 2023-09-22 北京大学 一种基于事件传播的动态时序分析方法
CN113836844A (zh) * 2021-08-27 2021-12-24 北京大学 一种基于事件传播的动态时序分析方法
CN113688587A (zh) * 2021-08-31 2021-11-23 上海商汤阡誓科技有限公司 一种电路布图的生成方法、装置、计算机设备及存储介质
CN113688587B (zh) * 2021-08-31 2024-03-22 上海商汤阡誓科技有限公司 一种电路布图的生成方法、装置、计算机设备及存储介质
CN113781354A (zh) * 2021-09-18 2021-12-10 北京环境特性研究所 图像噪点抑制方法、装置、计算设备及存储介质
CN113781354B (zh) * 2021-09-18 2023-09-22 北京环境特性研究所 图像噪点抑制方法、装置、计算设备及存储介质
CN113973061A (zh) * 2021-10-27 2022-01-25 深圳鸿芯微纳技术有限公司 电路时延预测方法、装置、终端设备和可读存储介质
CN114742001B (zh) * 2022-03-16 2023-08-29 南京邮电大学 一种基于多fpga的系统静态时序分析方法
CN114742001A (zh) * 2022-03-16 2022-07-12 南京邮电大学 一种基于多fpga的系统静态时序分析方法
CN115630596A (zh) * 2022-12-21 2023-01-20 苏州浪潮智能科技有限公司 一种时序收敛方法、装置、计算机设备及存储介质
CN116822427A (zh) * 2023-05-17 2023-09-29 深圳鸿芯微纳技术有限公司 基于时序分析方法、装置、电子设备及存储介质
CN116805143A (zh) * 2023-08-24 2023-09-26 湖南师范大学 一种数字电路时序统计方法、装置、设备及存储介质
CN117313601A (zh) * 2023-10-10 2023-12-29 上海合芯数字科技有限公司 集成电路的时序收敛方法、装置及设备
CN117313601B (zh) * 2023-10-10 2024-06-18 上海合芯数字科技有限公司 集成电路的时序收敛方法、装置及设备

Similar Documents

Publication Publication Date Title
CN111950214A (zh) 一种时序分析方法、装置、设备以及计算机存储介质
CN101539958B (zh) 一种标准单元库和集成电路的设计方法和装置
CN107918694B (zh) 用于减少集成电路上的延迟的方法
US6799308B2 (en) Timing analysis of latch-controlled digital circuits with detailed clock skew analysis
CN110457849B (zh) 一种可配置的数字集成电路设计方法
CN106326510B (zh) 验证时钟树延迟
US9747409B2 (en) Method of parameter extraction and system thereof
US11176305B2 (en) Method and system for sigma-based timing optimization
US20150370955A1 (en) Method for adjusting a timing derate for static timing analysis
US20150121328A1 (en) Path-based floorplan analysis
WO2014106038A1 (en) Local clock skew optimization and incremental clock tree synthesis
US7836421B2 (en) Semiconductor layout design apparatus and method for evaluating a floorplan using distances between standard cells and macrocells
WO2020214271A1 (en) Ic routing for silicon circuits with smaller geometries
US11475190B1 (en) Method for designing an integrated circuit and an integrated circuit designing system performing the same
US7043708B2 (en) Intelligent crosstalk delay estimator for integrated circuit design flow
JP5447547B2 (ja) マクロ遅延解析装置、マクロ境界パスの遅延解析方法、マクロ境界パスの遅延解析プログラム
US11520960B1 (en) Register transfer level based side channel leakage assessment
US8302066B2 (en) Clock jitter suppression method and computer-readable storage medium
US20210264081A1 (en) Methods of designing semiconductor devices, design systems performing the same and methods of manufacturing semiconductor devices using the same
US20050120318A1 (en) Apparatus and method for designing semiconductor integrated circuit
US10437956B2 (en) Pessimism reduction in static timing analysis
US8166428B2 (en) Synthesized logic replacement
Hsieh et al. A new effective congestion model in floorplan design
CN112859982B (zh) 用于芯片的自适应电压与频率调节的测试电路的实现方法
US7086015B2 (en) Method of optimizing RTL code for multiplex structures

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