CN116542196B - 基于有效时钟路径的集成电路时序分析方法、系统及介质 - Google Patents

基于有效时钟路径的集成电路时序分析方法、系统及介质 Download PDF

Info

Publication number
CN116542196B
CN116542196B CN202310236222.2A CN202310236222A CN116542196B CN 116542196 B CN116542196 B CN 116542196B CN 202310236222 A CN202310236222 A CN 202310236222A CN 116542196 B CN116542196 B CN 116542196B
Authority
CN
China
Prior art keywords
time sequence
path
timing
num
delay
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
CN202310236222.2A
Other languages
English (en)
Other versions
CN116542196A (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.)
National University of Defense Technology
Original Assignee
National University of Defense Technology
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 National University of Defense Technology filed Critical National University of Defense Technology
Priority to CN202310236222.2A priority Critical patent/CN116542196B/zh
Publication of CN116542196A publication Critical patent/CN116542196A/zh
Application granted granted Critical
Publication of CN116542196B publication Critical patent/CN116542196B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/20Design optimisation, verification or simulation
    • G06F30/27Design optimisation, verification or simulation using machine learning, e.g. artificial intelligence, neural networks, support vector machines [SVM] or training a model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biomedical Technology (AREA)
  • Geometry (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Medical Informatics (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

本发明公开了一种基于有效时钟路径的集成电路时序分析方法、系统及介质,本发明方法包括对目标模块在待分析模式指定的训练用工艺角集下的每一个工艺角运行静态时序分析,获取全部时序路径的时序信息并计算有效时钟路径延迟;分别将目标模块在训练用工艺角集下的每条时序路径的有效时钟路径延迟输入预先训练好的时序预测神经网络模型,预测得到目标模块在指定的目标工艺角集下各条时序路径的时序信息并时序违反值。本发明能够实现目标工艺角集下有效时钟路径延迟与数据路径的预测、目标工艺角集下时序违反值的计算,从而实现快速时序分析,减少先进工艺下日益增长的STA工作量带来的设计周期开销。

Description

基于有效时钟路径的集成电路时序分析方法、系统及介质
技术领域
本发明属于超大规模集成电路物理设计领域,涉及物理设计中静态时序分析(Static Timing Analysis,STA)技术,具体涉及一种基于有效时钟路径的集成电路时序分析方法、系统及介质。
背景技术
自CMOS集成电路技术问世以来,集成电路设计日趋复杂,芯片的集成度与复杂度呈指数上升,其中的时序路径数量与时序分析复杂性也指数增长。与此同时,随着工艺尺寸的持续缩减,先进工艺下的OCV(on-chip variation,片上变化)日益复杂,不仅需要更加先进的OCV模型(如AOCV、POCV模型等)来度量工艺的波动,也需要新增更多的工艺波动类型来描述实际的时序。工艺波动类型(Process:P)、电压波动类型(Voltage:V)、以及温度波动类型(Temperature:T)构成的各PVT组合被称为工艺角。先进工艺下由于工艺波动类型的增长使得工艺角度数量不断增长,如平面工艺演进为第一代FinFET工艺后,工艺波动类型typical演变为typical_ccworst以及typical_ccbest两种类型,先进工艺下工艺角数量不断增长,使得STA(Static Timing Analysis,静态时序分析)工作量变大并变慢。
为了提升先进工艺下时序分析工作效率,需要更多的服务器资源与更先进的时序分析EDA软件,这需要庞大的经费支持。事实上,不同的工艺角存在不同程度的相关性,有的具有相同的温度波动类型,有的具有相同的电压波动类型、有的具有相同的工艺波动类型,因而不同工艺角下的路径延迟也存在相关性。Kahng等人于2019年在设计、自动化和测试欧洲会议(Design Automation&Test in Europe Conference&Exhibition:DATE)上发表的论文《Unobserved Corner Prediction:Reducing Timing Analysis Effort for FasterDesign Convergence in Advanced-Node Design》已指出不同工艺角下的路径延迟呈现出线性相关性。因此,如何利用机器学习技术来发掘不同工艺角之间路径延迟的线性关系,基于部分工艺角下的路径延迟预测其它工艺角下的路径延迟,进而计算出其它工艺角下的时序违反值情况。这种方式的难点在于如何以尽可能少的工艺角运行传统的STA,再基于这些工艺角的时序信息来实现精度可接受的其余工艺角的时序信息,从而大幅度减少STA工作量并达到快速时序分析的目的。
发明内容
本发明要解决的技术问题:针对现有技术的上述问题,提供一种基于有效时钟路径的集成电路时序分析方法、系统及介质,本发明能够实现目标工艺角集下有效时钟路径延迟与数据路径的预测、目标工艺角集下时序违反值的计算,从而实现快速时序分析,减少先进工艺下日益增长的STA工作量带来的设计周期开销。
为了解决上述技术问题,本发明采用的技术方案为:
一种基于有效时钟路径的集成电路时序分析方法,包括:
S101,对目标模块在待分析模式指定的训练用工艺角集下的每一个工艺角运行静态时序分析,获取全部时序路径的时序信息,并计算每条时序路径的有效时钟路径延迟;
S102,分别将目标模块在训练用工艺角集下的每条时序路径的有效时钟路径延迟输入预先训练好的时序预测神经网络模型,预测得到目标模块在指定的目标工艺角集下各条时序路径的时序信息,并计算目标模块在目标工艺角集下全部时序路径的时序违反值。
可选地,步骤S101中全部时序路径的时序信息包括建立时序路径的时序信息和保持时序路径的时序信息,所述建立时序路径的时序信息包括发射时钟路径的延迟、数据路径的延迟、捕获时钟路径的延迟、时序违反值松弛值、发射时钟路径各级的延迟、时钟汇聚悲观补偿值crpr、crpr级数、捕获寄存器的建立值或恢复值;保持时序路径的时序信息包括发射时钟路径的延迟、数据路径的延迟、捕获时钟路径的延迟、时序违反值松弛值、发射时钟路径各级的延迟、时钟汇聚悲观补偿值crpr、crpr级数、捕获寄存器的保持值或消除值。
可选地,步骤S101中获取全部时序路径的时序信息包括:
S201,分别对目标模块在待分析模式指定的训练用工艺角集下的Num_train_corner个工艺角抽取寄生参数,得到相应的标准寄生提取格式文件;
S202,基于标准寄生提取格式文件对Num_train_corner个工艺角运行静态时序分析;
S203,从静态时序分析结果中选取指定数量Num_path_1条时序违反值最差的时序路径,做并集运算得到包含Num_path条时序路径的时序路径集合path_colls;
S204,对每个工艺角,获取时序路径集合path_colls中每条时序路径的建立时序路径的时序信息和保持时序路径的时序信息,得到每个工艺角下2×Num_path条时序路径的时序信息。
可选地,步骤S101中计算每条时序路径的有效时钟路径延迟时,每条时序路径的有效时钟路径延迟包括有效发射时钟路径的延迟和有效捕获时钟路径的延迟,其中有效发射时钟路径的延迟由crpr级数之前的发射时钟路径各级的延迟累加而得,有效捕获时钟路径的延迟由有效发射时钟路径的延迟减去时钟汇聚悲观补偿值crpr得到。
可选地,步骤S102之前还包括训练时序预测神经网络模型:
S301,针对目标模块在待分析模式的包含Num_total个工艺角的全部工艺角集,分别计算任意两个工艺角之间的关联度;
S302,依据关联度由小至大的顺序,挑选指定数量Num_train_corner个工艺角组成训练用工艺角集corners_trained,并从剩余的工艺角中选择工艺角组成目标工艺角集corners_object;选取训练用工艺角集corners_trained下的Num_train_path条时序路径的时序信息按类型构建成训练集,将目标工艺角集下对应Num_train_path条时序路径的时序信息按类型构建成目标集,并目标集在目标工艺角集下全部时序路径的时序违反值;
S303,分别计算训练集中每条时序路径的有效时钟路径延迟,将训练集中每条时序路径的有效时钟路径延迟通过时序预测神经网络模型预测得到训练集的各条时序路径的时序信息,并计算训练集目标工艺角集下全部时序路径的时序违反值;计算训练集目标工艺角集下全部时序路径的时序违反值、目标集在目标工艺角集下全部时序路径的时序违反值之间的统计指标,若统计指标达标则判定时序预测神经网络模型训练完毕,保存训练好的时序预测神经网络模型,以及得到的训练用工艺角集corners_trained和目标工艺角集corners_object,结束并退出;否则,跳转步骤S302。
可选地,步骤S301中计算任意两个工艺角之间的关联度是指分别确定两个工艺角下时序违反值松弛值最差的指定数量Num_worst条时序路径的时序信息,并根据两者的指定数量Num_worst条时序路径的时序信息计算两个工艺角之间的关联度。
可选地,所述计算两个工艺角之间的关联度的函数表示为:
ratio=Common_num_worst / Num_worst
上式中,ratio为两个工艺角之间的关联度,Common_num_worst为两者的指定数量Num_worst条时序路径的时序信息中相同的时序路径数量,Num_worst为确定两个工艺角下时序违反值松弛值最差的时序路径数量。
可选地,步骤S302中依据关联度由小至大的顺序,挑选指定数量Num_train_corner个工艺角组成训练用工艺角集corners_trained,并从剩余的工艺角中选择工艺角组成目标工艺角集corners_object包括:若当前为从步骤S301进入,则将工艺角之间的关联度按照自小至大的排序,得到顺序自小到大的关联度序列List_corners,其中含有Num_total× (Num_total-1) / 2个元素,取第一个元素对应的两个工艺角初始化当前的训练用工艺角集corners_trained,当前的训练用工艺角集corners_trained中元素个数为Num_train_corner,去除关联度序列List_corners中的第一个元素并更新关联度序列List_corners,其余工艺角初始化当前的目标工艺角集corners_object;若当前为从步骤S303进入,选取关联度序列List_corners中的第一个元素,选取其中不属于当前的训练用工艺角集corners_trained的任意一个工艺角corner_A加入当前的训练用工艺角集corners_trained,在关联度序列List_corners中去除工艺角corner_A与当前的训练用工艺角集corners_trained其它元素的关联度,并更新关联度序列List_corners,其中当前的训练用工艺角集corners_trained中的元素个数为Num_train_corner。
此外,本发明还提供一种基于有效时钟路径的集成电路时序分析系统,包括相互连接的微处理器和存储器,所述微处理器被编程或配置以执行所述基于有效时钟路径的集成电路时序分析方法。
此外,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序用于被微处理器编程或配置以执行所述基于有效时钟路径的集成电路时序分析方法。
和现有技术相比,本发明主要具有下述优点:
1、本发明基于有效时钟路径的集成电路时序分析方法提出了一套规范化的设计流程,通过有效时钟路径延迟的计算,提升了机器学习方法的时序预测精度,达到了基于少量工艺角时序信息精确预测其它工艺角度时序信息的目标,从而减少了传统的静态时序分析工作量,提升了集成电路物理设计迭代速度,缩短了集成电路物理设计周期。
2、本发明方法相对传统时序分析方法而言显著提升了时序分析效率,相对于传统机器学习方法而言不仅提升了时序分析效率也改善了时序预测精度,这对提升集成电路设计迭代效率并缩短集成电路设计周期大有裨益,能够在现行商用电子设计自动化(EDA)工具的基础上缓解其耗时耗资源、设计迭代周期长的缺点,能克服现行机器学习方法无法精确预测各工艺角下的时钟汇聚悲观补偿值的不足,提升时序预测精度。
附图说明
图1为本发明实施例方法的基本流程示意图。
图2为本发明实施例方法包含训练过程的完整流程示意图。
具体实施方式
如图1所示,本实施例基于有效时钟路径的集成电路时序分析方法包括:
S101,对目标模块在待分析模式指定的训练用工艺角集下的每一个工艺角运行静态时序分析,获取全部时序路径的时序信息,并计算每条时序路径的有效时钟路径延迟;
S102,分别将目标模块在训练用工艺角集下的每条时序路径的有效时钟路径延迟输入预先训练好的时序预测神经网络模型,预测得到目标模块在指定的目标工艺角集下各条时序路径的时序信息,并计算目标模块在目标工艺角集下全部时序路径的时序违反值。
本实施例中,步骤S101中为选取目标工艺technology_0下中等以上规模(单元数量>=100万)的设计模块Modual_train,针对其待分析模式mode_A(以功能模式为例)下指定的训练用工艺角集下的每一个工艺角运行静态时序分析。
本实施例中,步骤S101中全部时序路径的时序信息包括建立(setup)时序路径的时序信息和保持时序路径的时序信息,建立时序路径的时序信息包括发射(launch)时钟路径的延迟、数据(data)路径的延迟、捕获(capture)时钟路径的延迟、时序违反值松弛(slack)值、发射(launch)时钟路径各级的延迟、时钟汇聚悲观补偿值crpr(clockreconvergence pessimism removal)、crpr级数、捕获(capture)寄存器的建立值或恢复值(setup值或recovery值);保持(hold)时序路径的时序信息包括发射(launch)时钟路径的延迟、数据(data)路径的延迟、捕获(capture)时钟路径的延迟、时序违反值松弛(slack)值、发射(launch)时钟路径各级的延迟、时钟汇聚悲观补偿值crpr(clock reconvergencepessimism removal)、crpr级数、捕获(capture)寄存器的保持值或消除值(hold值或removal值)。假定待分析模式指定的训练用工艺角集下有Num_train_corner个工艺角,运行Num_train_corner个工艺角下的静态时序分析(STA),选取每个工艺角下Num_train_corner条建立时序路径和Num_train_corner条保持时序路径,得到每个工艺角下的2×Num_train_corner条时序路径的时序信息。
本实施例中,步骤S101中获取全部时序路径的时序信息包括:
S201,分别对目标模块在待分析模式指定的训练用工艺角集下的Num_train_corner个工艺角抽取寄生参数,得到相应的标准寄生提取格式文件(spef文件);
S202,基于标准寄生提取格式文件对Num_train_corner个工艺角运行静态时序分析;
S203,从静态时序分析结果中选取指定数量Num_path_1条时序违反值最差的时序路径,做并集运算得到包含Num_path条时序路径的时序路径集合path_colls;
S204,对每个工艺角,获取时序路径集合path_colls中每条时序路径的建立时序路径的时序信息和保持时序路径的时序信息,得到每个工艺角下2×Num_path条时序路径的时序信息。
对于Num_train_corner个工艺角中的每一个工艺角的2×Num_train_corner条时序路径,考虑OCV(on-chip variation)在发射时钟路径与捕获时钟路径上的差异,发射时钟路径与捕获时钟路径的公共部分的时序差异被称为时钟汇聚悲观补偿值crpr,本文将发射时钟路径的非公共部分定义为有效发射时钟路径,将捕获时钟路径的非公共部分定义为有效捕获时钟路径。本实施例中,步骤S101中计算每条时序路径的有效时钟路径延迟时,每条时序路径的有效时钟路径延迟包括有效发射时钟路径的延迟和有效捕获时钟路径的延迟,其中有效发射时钟路径的延迟由crpr级数之前的发射时钟路径各级的延迟累加而得,有效捕获时钟路径的延迟由有效发射时钟路径的延迟减去时钟汇聚悲观补偿值crpr得到。
参见图2,本实施例步骤S102之前还包括训练时序预测神经网络模型:
S301,针对目标模块在待分析模式的包含Num_total个工艺角的全部工艺角集,分别计算任意两个工艺角之间的关联度;
S302,依据关联度由小至大的顺序,挑选指定数量Num_train_corner个工艺角组成训练用工艺角集corners_trained,并从剩余的工艺角中选择工艺角组成目标工艺角集corners_object;选取训练用工艺角集corners_trained下的Num_train_path条时序路径的时序信息按类型构建成训练集,将目标工艺角集下对应Num_train_path条时序路径的时序信息按类型构建成目标集,并目标集在目标工艺角集下全部时序路径的时序违反值;
S303,分别计算训练集中每条时序路径的有效时钟路径延迟,将训练集中每条时序路径的有效时钟路径延迟通过时序预测神经网络模型预测得到训练集的各条时序路径的时序信息,并计算训练集目标工艺角集下全部时序路径的时序违反值;计算训练集目标工艺角集下全部时序路径的时序违反值、目标集在目标工艺角集下全部时序路径的时序违反值之间的统计指标,若统计指标达标则判定时序预测神经网络模型训练完毕,保存训练好的时序预测神经网络模型,以及得到的训练用工艺角集corners_trained和目标工艺角集corners_object,结束并退出;否则,跳转步骤S302。
本实施例中,步骤S301中计算任意两个工艺角之间的关联度是指分别确定两个工艺角下时序违反值松弛值最差的指定数量Num_worst条时序路径的时序信息,并根据两者的指定数量Num_worst条时序路径的时序信息计算两个工艺角之间的关联度。例如,对于Num_total个工艺角中的任意两个工艺角corner_A和corner_B,获得这两个工艺角度下slack值最差的Num_worst(如Num_worst为10000)条时序路径的时序信息,计算出两者之间的关联度;关联度可以根据需要采用现有的关联度函数,例如Cover等人于2003年曾在《Elements of Information Theory》一书中提出互信息的方法来度量各工艺角之间的关联程度,其中任意两个工艺角的互信息定义为这两个工艺角下的边缘概率密度函数等。作为一种优选的实施方式,本实施例中计算两个工艺角之间的关联度的函数表示为:
ratio=Common_num_worst / Num_worst
上式中,ratio为两个工艺角之间的关联度,Common_num_worst为两者的指定数量Num_worst条时序路径的时序信息中相同的时序路径数量,Num_worst为确定两个工艺角下时序违反值松弛值最差的时序路径数量。此外,也可以根据需要采用其他方法来度量关联度。
本实施例中,步骤S302中依据关联度由小至大的顺序,挑选指定数量Num_train_corner个工艺角组成训练用工艺角集corners_trained,并从剩余的工艺角中选择工艺角组成目标工艺角集corners_object包括:若当前为从步骤S301进入,则将工艺角之间的关联度按照自小至大的排序,得到顺序自小到大的关联度序列List_corners,其中元素个数为:
Num_total× (Num_total-1) / 2,
取第一个元素对应的两个工艺角初始化当前的训练用工艺角集corners_trained,当前的训练用工艺角集corners_trained中元素个数为Num_train_corner,去除关联度序列List_corners中的第一个元素并更新关联度序列List_corners,其余工艺角初始化当前的目标工艺角集corners_object;若当前为从步骤S303进入,选取关联度序列List_corners中的第一个元素,选取其中不属于当前的训练用工艺角集corners_trained的任意一个工艺角corner_A加入当前的训练用工艺角集corners_trained,在关联度序列List_corners中去除工艺角corner_A与当前的训练用工艺角集corners_trained其它元素的关联度,并更新关联度序列List_corners,其中当前的训练用工艺角集corners_trained中的元素个数为Num_train_corner。
步骤S303中通过训练集的每条时序路径的有效时钟路径延迟、目标集中全部时序路径的时序违反值的标签值来训练时序预测神经网络模型时,时序预测神经网络模型可以根据需要采用所需的神经网络模型,例如通用机器学习框架(如scikit-learn、tensor-flow等)中包含的神经网络模型可快速建立所需的神经网络模型。步骤S303中计算训练集目标工艺角集下全部时序路径的时序违反值、目标集在目标工艺角集下全部时序路径的时序违反值之间的统计指标时,可根据需要采用所需的统计指标,例如常用的评价指标有平均绝对误差(mean absolute error: MAE)、均方根误差(root mean squared error:RMSE)、最大绝对误差(max absolute error: MaxE)等,但不局限于此。在训练完毕以后,即可利用神经网络模型models_trained对目标模块Module_object完成了一轮时序分析,结束并退出。
传统的静态时序分析方法非常耗时,现行使用机器学习方法无法精确预测各工艺角下的时钟汇聚悲观补偿值,从而无法获得精确性高的时序违反值。在高性能设计中,非常耗时的静态时序分析意味着较长的迭代周期与设计周期,时序违反预测精度不足将使得时序修复引入过多的过修或漏修,也会拉长设计周期。本实施例方法中提出了有效时钟路径的计算方法,剔除了时钟汇聚悲观补偿值对时序预测的影响,从而提升了目标工艺角下时序预测精度。在第一代FinFET工艺某含有210万单元的高性能工业设计模块试验中,在2.5GHz的Intel Xeon服务器上,单进程运行静态时序分析跑完36个工艺角的STA需要36小时;传统机器学习方法需要跑21个工艺角的STA才能使得时序违反的平均绝对误差小于2ps,总共需要的时间约21小时;本实施例方法仅需要跑5个工艺角的STA就能使得时序违反的平均绝对误差小于2ps,总共需要的时间约5小时,且本发明的机器学习方法跑12个工艺角的STA就能使得时序违反的平均绝对误差小于1ps,总共需要的时间约12小时。由此可见,本实施例方法相对传统时序分析方法而言显著提升了时序分析效率,相对于传统机器学习方法而言不仅提升了时序分析效率也改善了时序预测精度,这对提升集成电路设计迭代效率并缩短集成电路设计周期大有裨益,能够在现行商用电子设计自动化(EDA)工具的基础上缓解其耗时耗资源、设计迭代周期长的缺点,能克服现行机器学习方法无法精确预测各工艺角下的时钟汇聚悲观补偿值的不足,提升时序预测精度。
综上所述,本实施例基于有效时钟路径的集成电路时序分析方法提出了一套规范化的设计流程,通过设计流程实现训练用工艺角集与目标工艺角集的合理划分、有效时钟路径延迟的计算、机器学习模型的训练、目标工艺角集下有效时钟路径延迟与数据路径的预测、目标工艺角集下时序违反的计算,从而实现快速时序分析,减少先进工艺下日益增长的STA工作量带来的设计周期开销。
此外,本发明还提供一种基于有效时钟路径的集成电路时序分析系统,包括相互连接的微处理器和存储器,所述微处理器被编程或配置以执行所述基于有效时钟路径的集成电路时序分析方法。
此外,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,所述计算机程序用于被微处理器编程或配置以执行所述基于有效时钟路径的集成电路时序分析方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可读存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅是本发明的优选实施方式,本发明的保护范围并不仅局限于上述实施例,凡属于本发明思路下的技术方案均属于本发明的保护范围。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理前提下的若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。

Claims (8)

1.一种基于有效时钟路径的集成电路时序分析方法,其特征在于,包括:
S101,对目标模块在待分析模式指定的训练用工艺角集下的每一个工艺角运行静态时序分析,获取全部时序路径的时序信息,并计算每条时序路径的有效时钟路径延迟;
S102,分别将目标模块在训练用工艺角集下的每条时序路径的有效时钟路径延迟输入预先训练好的时序预测神经网络模型,预测得到目标模块在指定的目标工艺角集下各条时序路径的时序信息,并计算目标模块在目标工艺角集下全部时序路径的时序违反值;
步骤S101中全部时序路径的时序信息包括建立时序路径的时序信息和保持时序路径的时序信息,所述建立时序路径的时序信息包括发射时钟路径的延迟、数据路径的延迟、捕获时钟路径的延迟、时序违反值松弛值、发射时钟路径各级的延迟、时钟汇聚悲观补偿值crpr、crpr级数、捕获寄存器的建立值或恢复值;保持时序路径的时序信息包括发射时钟路径的延迟、数据路径的延迟、捕获时钟路径的延迟、时序违反值松弛值、发射时钟路径各级的延迟、时钟汇聚悲观补偿值crpr、crpr级数、捕获寄存器的保持值或消除值;
步骤S101中计算每条时序路径的有效时钟路径延迟时,每条时序路径的有效时钟路径延迟包括有效发射时钟路径的延迟和有效捕获时钟路径的延迟,其中有效发射时钟路径的延迟由crpr级数之前的发射时钟路径各级的延迟累加而得,有效捕获时钟路径的延迟由有效发射时钟路径的延迟减去时钟汇聚悲观补偿值crpr得到。
2.根据权利要求1所述的基于有效时钟路径的集成电路时序分析方法,其特征在于,步骤S101中获取全部时序路径的时序信息包括:
S201,分别对目标模块在待分析模式指定的训练用工艺角集下的Num_train_corner个工艺角抽取寄生参数,得到相应的标准寄生提取格式文件;
S202,基于标准寄生提取格式文件对Num_train_corner个工艺角运行静态时序分析;
S203,从静态时序分析结果中选取指定数量Num_path_1条时序违反值最差的时序路径,做并集运算得到包含Num_path条时序路径的时序路径集合path_colls;
S204,对每个工艺角,获取时序路径集合path_colls中每条时序路径的建立时序路径的时序信息和保持时序路径的时序信息,得到每个工艺角下2×Num_path条时序路径的时序信息。
3.根据权利要求1所述的基于有效时钟路径的集成电路时序分析方法,其特征在于,步骤S102之前还包括训练时序预测神经网络模型:
S301,针对样本模块在待分析模式的包含Num_total个工艺角的全部工艺角集,分别计算任意两个工艺角之间的关联度;
S302,依据关联度由小至大的顺序,挑选指定数量Num_train_corner个工艺角组成训练用工艺角集corners_trained,并从剩余的工艺角中选择工艺角组成目标工艺角集corners_object;选取训练用工艺角集corners_trained下的Num_train_path条时序路径的时序信息按类型构建成训练集,将目标工艺角集下对应Num_train_path条时序路径的时序信息按类型构建成目标集,并目标集在目标工艺角集下全部时序路径的时序违反值;
S303,分别计算训练集中每条时序路径的有效时钟路径延迟,将训练集中每条时序路径的有效时钟路径延迟通过时序预测神经网络模型预测得到训练集的各条时序路径的时序信息,并计算训练集目标工艺角集下全部时序路径的时序违反值;计算训练集目标工艺角集下全部时序路径的时序违反值、目标集在目标工艺角集下全部时序路径的时序违反值之间的统计指标,若统计指标达标则判定时序预测神经网络模型训练完毕,保存训练好的时序预测神经网络模型,以及得到的训练用工艺角集corners_trained和目标工艺角集corners_object,结束并退出;否则,跳转步骤S302。
4.根据权利要求3所述的基于有效时钟路径的集成电路时序分析方法,其特征在于,步骤S301中计算任意两个工艺角之间的关联度是指分别确定两个工艺角下时序违反值松弛值最差的指定数量Num_worst条时序路径的时序信息,并根据两者的指定数量Num_worst条时序路径的时序信息计算两个工艺角之间的关联度。
5. 根据权利要求4所述的基于有效时钟路径的集成电路时序分析方法,其特征在于,所述计算两个工艺角之间的关联度的函数表示为:
ratio=Common_num_worst / Num_worst
上式中,ratio为两个工艺角之间的关联度,Common_num_worst为两者的指定数量Num_worst条时序路径的时序信息中相同的时序路径数量,Num_worst为确定两个工艺角下时序违反值松弛值最差的时序路径数量。
6. 根据权利要求3所述的基于有效时钟路径的集成电路时序分析方法,其特征在于,步骤S302中依据关联度由小至大的顺序,挑选指定数量Num_train_corner个工艺角组成训练用工艺角集corners_trained,并从剩余的工艺角中选择工艺角组成目标工艺角集corners_object包括:若当前为从步骤S301进入,则将工艺角之间的关联度按照自小至大的排序,得到顺序自小到大的关联度序列List_corners,其中含有Num_total × (Num_total-1) / 2个元素,取第一个元素对应的两个工艺角初始化当前的训练用工艺角集corners_trained,当前的训练用工艺角集corners_trained中元素个数为Num_train_corner,去除关联度序列List_corners中的第一个元素并更新关联度序列List_corners,其余工艺角初始化当前的目标工艺角集corners_object;若当前为从步骤S303进入,选取关联度序列List_corners中的第一个元素,选取其中不属于当前的训练用工艺角集corners_trained的任意一个工艺角corner_A加入当前的训练用工艺角集corners_trained,在关联度序列List_corners中去除工艺角corner_A与当前的训练用工艺角集corners_trained其它元素的关联度,并更新关联度序列List_corners,其中当前的训练用工艺角集corners_trained中的元素个数为Num_train_corner。
7.一种基于有效时钟路径的集成电路时序分析系统,包括相互连接的微处理器和存储器,其特征在于,所述微处理器被编程或配置以执行权利要求1~6中任意一项所述基于有效时钟路径的集成电路时序分析方法。
8.一种计算机可读存储介质,所述计算机可读存储介质中存储有计算机程序,其特征在于,所述计算机程序用于被微处理器编程或配置以执行权利要求1~6中任意一项所述基于有效时钟路径的集成电路时序分析方法。
CN202310236222.2A 2023-03-13 2023-03-13 基于有效时钟路径的集成电路时序分析方法、系统及介质 Active CN116542196B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310236222.2A CN116542196B (zh) 2023-03-13 2023-03-13 基于有效时钟路径的集成电路时序分析方法、系统及介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310236222.2A CN116542196B (zh) 2023-03-13 2023-03-13 基于有效时钟路径的集成电路时序分析方法、系统及介质

Publications (2)

Publication Number Publication Date
CN116542196A CN116542196A (zh) 2023-08-04
CN116542196B true CN116542196B (zh) 2023-09-12

Family

ID=87456631

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310236222.2A Active CN116542196B (zh) 2023-03-13 2023-03-13 基于有效时钟路径的集成电路时序分析方法、系统及介质

Country Status (1)

Country Link
CN (1) CN116542196B (zh)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109255160A (zh) * 2018-08-17 2019-01-22 东南大学 基于神经网络的单元延时预测方法和单元延时灵敏度计算方法
CN113326656A (zh) * 2021-05-26 2021-08-31 东南大学 一种数字集成电路众工艺角延时预测方法
CN115146579A (zh) * 2022-07-14 2022-10-04 东南大学 一种数字集成电路布线后路径延时预测方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8584065B2 (en) * 2011-05-05 2013-11-12 Advanced Micro Devices, Inc. Method and apparatus for designing an integrated circuit
US10380286B2 (en) * 2017-02-20 2019-08-13 International Business Machines Corporation Multi-sided variations for creating integrated circuits

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109255160A (zh) * 2018-08-17 2019-01-22 东南大学 基于神经网络的单元延时预测方法和单元延时灵敏度计算方法
CN113326656A (zh) * 2021-05-26 2021-08-31 东南大学 一种数字集成电路众工艺角延时预测方法
CN115146579A (zh) * 2022-07-14 2022-10-04 东南大学 一种数字集成电路布线后路径延时预测方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于机器学习的快速时序校准方法;何柏声;自动化与信息工程;第43卷(第4期);32-35、47 *

Also Published As

Publication number Publication date
CN116542196A (zh) 2023-08-04

Similar Documents

Publication Publication Date Title
CN112100952B (zh) 一种集成电路后仿真方法、装置、电子设备及存储介质
CN101482891B (zh) 性能评估模拟
CN110147367B (zh) 一种温度缺失数据填补方法、系统及电子设备
CN108388509B (zh) 一种软件测试方法、计算机可读存储介质及终端设备
CN109299530B (zh) 一种仿真测试案例生成方法、系统、存储介质和终端
US20180121585A1 (en) Graph based dynamic timing and activity analysis
CN110377519B (zh) 大数据系统的性能容量测试方法、装置、设备及存储介质
CN110969600A (zh) 一种产品缺陷检测方法、装置、电子设备及存储介质
CN107844678B (zh) 包含IP/Memory时序路径的spice仿真方法
CN111046624A (zh) 芯片模块接口时钟结构的构建方法、装置、设备及介质
CN112597716A (zh) 一种基于sta与spice模型仿真筛选瓶颈单元的方法
CN115249043A (zh) 数据分析方法、装置、电子设备及存储介质
CN113626994B (zh) 一种寄存器时序约束灵活建模方法
CN104965756A (zh) 制程变异下温度感知的MPSoC任务分配及调度策略的评估方法
CN116542196B (zh) 基于有效时钟路径的集成电路时序分析方法、系统及介质
WO2018138205A1 (en) Model search method and device based on semantic model framework
CN117217136A (zh) 一种基于rtl设计的fpga资源消耗估计方法
CN110399026B (zh) 基于fpga的多源单输出复位方法、装置及相关设备
CN110991130A (zh) 一种利用电路仿真检查标准单元时序库的方法
US20180082005A1 (en) Efficient deployment of table lookup (tlu) in an enterprise-level scalable circuit simulation architecture
CN114021514A (zh) 一种spice电压或温度扫描仿真筛选瓶颈单元的方法
US8341577B1 (en) Parallel circuit simulation with partitions
CN115185920A (zh) 一种日志类型的检测方法、装置及设备
CN115915237A (zh) 基站设备的节能量测算方法、装置及计算设备
CN113033132A (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