CN116438536A - 使用物理参数的扩充灵敏度数据建模时序行为 - Google Patents

使用物理参数的扩充灵敏度数据建模时序行为 Download PDF

Info

Publication number
CN116438536A
CN116438536A CN202180072112.6A CN202180072112A CN116438536A CN 116438536 A CN116438536 A CN 116438536A CN 202180072112 A CN202180072112 A CN 202180072112A CN 116438536 A CN116438536 A CN 116438536A
Authority
CN
China
Prior art keywords
timing
data
model
circuit
parameters
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
CN202180072112.6A
Other languages
English (en)
Inventor
R·沈
L·丁
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.)
Synopsys Inc
Original Assignee
Synopsys Inc
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 Synopsys Inc filed Critical Synopsys Inc
Publication of CN116438536A publication Critical patent/CN116438536A/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/31Design entry, e.g. editors specifically adapted for circuit design
    • 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/36Circuit design at the analogue level
    • G06F30/367Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2119/00Details relating to the type or aim of the analysis or the optimisation
    • G06F2119/12Timing analysis or timing optimisation
    • 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
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Medical Informatics (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Data Mining & Analysis (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Design And Manufacture Of Integrated Circuits (AREA)

Abstract

公开一种使用物理参数的扩充灵敏度数据建模时序行为的方法。所述方法包含获取与电路设计相关联的物理参数的时序库数据及灵敏度数据,基于所述物理参数的所述时序库数据及灵敏度数据生成所述电路设计的时序行为模型,及存储所述时序行为模型。所述时序行为模型减少与所述电路设计相关联的当前已知最佳测量与所述电路设计的静态时序分析时序之间的差异。

Description

使用物理参数的扩充灵敏度数据建模时序行为
相关申请案的交叉引用
本申请案要求2020年12月2日申请的第63/120,606号美国临时专利申请案的35U.S.C.§119(e)的权益,所述申请案的全部内容出于所有目的以引用的方式并入本文中。
技术领域
本公开涉及电子设计自动化。特定来说,本公开涉及使用物理参数的扩充灵敏度数据的建模时序行为。
背景技术
半导体装置制造是一个成本高昂的过程。用于开发先进技术节点的设计及制造循环可能需要大量的时间才能完成。因此,在硅生产时取得首次成功可导致为集成电路(IC)设计公司节省大量时间及金钱。EDA工具可在设计及制造循环的不同阶段使用一组模型(例如,以单元库的形式),其任一者都可能导致降低硅生产中的首次成功的似然性的问题。但是,通过实现一组模型与最佳已知测量之间的相关性,可改进成功的似然性。
发明内容
在一个方面中,一种方法包含获取与电路单元相关联的物理参数的时序库数据及灵敏度数据,基于所述物理参数的所述时序库数据及灵敏度数据生成所述电路单元的时序行为模型,及使用所述时序行为模型生成经更新时序数据。
在一个方面中,一种系统包含存储指令的存储器,及与所述存储器耦合并执行所述指令的处理器。当被执行时,所述指令使所述处理器获取与电路单元相关联的物理参数的时序库数据及灵敏度数据,基于所述物理参数的所述时序库数据及灵敏度数据生成所述电路单元的时序行为模型,及使用所述时序行为模型生成经更新时序数据。
附图说明
通过以下给出的详细描述及本公开的实施例的附图将更充分地理解本公开。附图用于提供对本公开的实施例的知识及理解,且不将本公开的范围限于这些特定实施例。此外,附图不一定是按比例绘制的。
图1是展示根据本公开的实施例的物理参数的延迟及延迟灵敏度的示意图。
图2是展示根据本公开的实施例的用于建模时序行为的系统的框图的示意图。
图3是展示根据本公开的实施例的用于建模时序行为的系统的校准引擎的框架的示意图。
图4描绘根据本公开的实施例的用于使用物理参数的扩充灵敏度数据建模时序行为的方法的流程图。
图5描绘根据本公开的一些实施例的在集成电路的设计及制造期间使用的各种过程的流程图。
图6描绘其中本公开的实施例可操作的实例计算机系统的图。
具体实施方式
本公开的方面涉及使用物理参数的扩充灵敏度数据建模时序行为。
设计工作(即,综合、布局及布线、签收、工程变更单(ECO))基于一组固定模型,通常采用单元库的形式。在其中固定模型与黄金模型关联不佳的设计循环中,设计者经常面临模型变更。黄金模型可包含表示给定参数的当前已知最佳测量的黄金测量。例如,黄金频率可表示环形振荡器振荡的频率。
例如,当SPICE过程设计套件(PDK)被更新但新库尚不可用时,或当测试芯片(新的或老化的)的实际硅测量不同于固定模型时。库与黄金模型之间的差距是设计优化及良率优化的关键挑战。基于经更新的测量重新表征(重新生成)库非常耗时。期望电子设计自动化(EDA)工具在硅前阶段尽可能多地对实际硅行为进行建模,这减少周转时间(TAT)并减少重新设计工作,同时不会损失准确性。
经验时序降额可用于模型更改。经验时序降额可调整单元的个别时序弧的延迟值,以建模不同条件的影响。仅针对电路中使用的几个单元(例如,环形振荡器(RO))生成时序降额。然后,启发式方法用于确定库中的其它单元的降额。
本文所描述的方法对黄金模型与现存模型之间的物理参数中的偏移进行建模及提取,然后将此类物理参数偏移应用于时序分析中。物理参数包含生产线前端(FEOL)晶体管参数(例如,迁移率、阈值电压、鳍尺寸等)、生产线中间(MOL)及生产线后端(BEOL)(导线及通孔)参数(例如,电容及电阻)。
本文所公开的实施例解决固定模型与黄金模型之间缺乏相关性的问题,而无需冗长的重新生成库的过程,并克服如下文所描述的时序降额的限制。
本公开的优点包含(但不限于)减少制造时间/成本及物理参数对设计/良率的影响,将校准数据库应用于具有及不具有黄金测量的单元,及改进静态时序分析(STA)相关性。
本文所描述的方法使用硅反馈改进STA与硅的相关性。在一些实施例中,通过在学习电路的黄金反馈上应用机器学习技术来建模及提取黄金模型与现存模型之间的物理参数的偏移。学习电路可指例如环形振荡器(RO)的小电路、小电路的集合或时序路径的集合。学习电路用于通过应用机器学习技术(例如,线性回归技术、向量回归、多元回归)来生成校准数据库。然后,校准STA工具以减少STA时序与黄金测量之间的差距。生成包含物理参数的经更新值的校准数据库。校准数据库基于硅数据校准STA行为。
基于时序降额的方法只能校正误差分布的平均值。所描述的方法改进误差分布的均值及标准差。基于时序降额的方法仅适用于具有黄金测量的单元。本文所描述的方法可应用于所有单元。即使针对具有黄金测量的单元(例如,黄金硅测量),也仅在库单元级处支持时序降额。然而,同一单元的不同时序弧可能具有非常不同的降额值。另外,时序降额可能不准确,因为时序降额不取决于回转/负载。
本文所描述的方法提供优于基于时序降额的方法的改进结果,因为模型失配可准确地捕获每一个别的单元,以及其在路径及全芯片级处的累积影响。
在一些实施例中,可使用学习电路的经更新参数值来开发校准数据库,并将其应用于其它电路,而不管其它电路的单元是否具有黄金测量。
图1是展示根据本公开的实施例的相对于单元输入回转及负载电容的物理参数(鳍高度)的延迟及延迟灵敏度的响应表面的示意图。示意图102展示延迟对回转及负载的灵敏度。示意图104展示相对于回转及负载的标称延迟。因此,延迟的灵敏度及标称延迟两者都取决于回转及负载,且不取决于回转及/或负载的时序降额技术可能导致不准确的时序降额。
图2是展示根据本公开的实施例的用于建模时序行为的系统200的框图的示意图。系统200包含库表征工具202、时序分析工具204、寄生提取工具206、扩充库数据库210、校准数据库220、学习电路设计信息数据库226、标准(STD)单元信息数据库(例如,STD SPICE数据库)228,及黄金测量数据库216。
库表征工具202包含FEOL/BEOL引擎208。FEOL/BEOL引擎208可基于STD单元212的表征附属品生成扩充库数据库210。STD单元212的表征附属品可包含例如SPICE模型、SPICE子电路及模拟引擎的模型。扩充库数据库210包含SPICE模型中影响STD单元延迟/回转/引脚帽的参数(例如,物理参数)。例如,扩充库数据库210包含用于延迟及回转的灵敏度表,用于上升及下降引脚帽的灵敏度值,包含将与C1C2(即,在接收器模型中使用两个电容来表示引脚帽)或C1CN(即,在接收器模型中使用N个电容来表示引脚帽)一起使用的引脚帽的百分比变化以及每个C1C2或C1CN表的值。在一些方面中,SPICE模型可在不同的角处进行模拟,例如TT(典型)角、SS(慢)角等。
物理参数可包含一或多个FEOL参数及一或多个BEOL参数。FEOL参数可包含沟道长度的偏移(xl)、鳍高度(hfin)、鳍厚度(tfin)、迁移率下降的乘数(u0mult)、等效氧化物厚度(eot)、物理氧化物厚度(toxp)、阈值电压偏移(delvtrand)、漏极电流的乘数(ids0mult)。BEOL参数可包含所有金属层,假设层内的R与C是负相关的。SPICE模拟用于收集对应于物理参数变化的时间灵敏度,并存储在扩充库数据库210中。
在一些实施例中,时序分析工具204包含校准引擎214。寄生提取工具206提取学习电路设计222的附属品及STD单元224的附属品。STD单元224的附属品可包含文件(例如,与由用户以技术文件及设计文件的形式提供的学习电路设计相关联的数据)被寄生提取工具206使用。寄生提取工具206可提取电阻及/或电容,并将其提供到时序分析工具204及库表征工具202。在一些实施例中,寄生提取工具206可在具有或不具有层信息的情况下提取电阻及/或电容。在一些方面中,寄生提取工具206可在执行BEOL计算时为FEOL/BEOL引擎208提供具有层信息的电阻及/或电容数据。
黄金测量数据库216可存储一或多个学习电路的测量。例如,黄金测量数据库216可存储环形振荡器的样本频率的测量(即,当学习电路是环形振荡器电路时)。频率可为作为环形振荡器振荡的频率的黄金频率。黄金测量数据库216可存储一或多种类型的相同学习电路的测量。例如,针对给定电路,黄金测量数据库216可存储对应于给定电路的PMOS型电路及NMOS型电路的测量。
校准引擎214接收来自黄金测量数据库216的黄金测量、学习电路设计218的STA附属品、学习电路设计信息226及来自扩充库数据库210的灵敏度数据。STA附属品可包含Verilog文件、库文件、约束及/或由时序分析工具204使用的其它数据。校准引擎214使用扩充库数据库210来生成校准数据库220。
在一些实施例中,校准引擎214校准物理装置(例如,晶体管)及互连参数以改进STA与黄金测量(例如,来自硅或新SPICE模型)的相关性。物理装置及互连参数失配源自黄金测量数据。然后使用物理参数失配来准确地计算每一单元类型及每一单元的每一时序弧的时序降额值,如下文所进一步描述的。
在STA分析工具中,每一单元延迟及/或输出转变可经建模为基于扩充库数据库210的参数变化的函数。例如,延迟可经建模为单元延迟函数模型:
延迟(参数1,参数2·…,参数n)=延迟标称+∑fi(参数i)
且转变可经建模为如下的单元转变函数模型:
转变(参数1,参数2,…参数n)=转变标称、+∑fi(参数i)
在上述等式中,fi可为基于每个参数的库灵敏度数据(例如,存储在扩充库数据库210中)的多项式拟合函数。校准在计算引擎214中完成,以产生准确的复合电流源(CCS)时序及CCS噪声数据,而不需要表征其相对于物理参数的灵敏度,以便最小化库大小开销。
图3是展示根据本公开的实施例的校准引擎314的框架的示意图。时序分析工具304的校准引擎314可基于从扩充库数据库310、学习电路设计信息数据库326、黄金测量数据库316及STA附属品学习电路设计信息318接收的数据构建校准数据库320。校准引擎314包含CCS时序数据库336、CCS噪声数据库338及物理灵敏度数据库340。校准334是基于来自CCS时序数据库336、CCS噪声数据库338及物理灵敏度数据库340的数据完成的。STA计算引擎332可估计由校准引擎314使用的时序结果STA到达时间/频率。如下文进一步讨论的,校准334可基于回归学习技术。
在一些实施例中,用于收集黄金数据的学习电路(例如,RO)类型可具有不同组的电压阈值(Vth)类型、P/N比、大小、单元类型及不同的金属层以提供各种各样的训练数据。例如,所期望的学习电路类型可包含FEOL覆盖范围及BEOL覆盖范围。FEOL覆盖范围可包含Vth类型(例如,低Vth(LVT)、标准(SVT)、超低(ULVT))、P/N比、大小(例如,X1、X4)、单元类型(例如,INV、ND2、NR2)及扇出数(例如,1/2/4/8)。BEOL覆盖范围可包含不同的金属层(例如,金属1、……、金属12)。在一些实施例中,第一学习电路可用于获得LVT装置(例如,LVT逆变器)的校准数据且第二学习电路可用于获得SVT装置(例如,SVT逆变器)的校准数据。因此,校准数据库可包含对不同FEOL装置的覆盖范围。类似地,学习电路可具有很多金属1层使用,而另一个可具有很多金属2层使用等,以扩大BEOL覆盖范围。
表1展示所涵盖的学习电路类型的实例组合。表1展示总共33个组合计数。
表1:RO类型的组合
单元_类型 大小 Vth 扇出 BEOL 组合
4 2 LVT 2 1 16
1 1 (7-1) 1 1 6
1 1 1 1 金属(12-1) 11
使用STA时序传播,一旦建立物理参数的基于单元的延迟/输出转变函数,就可将路径到达时间建模为物理参数的函数。给定不同的黄金测量路径组合(例如,黄金频率/到达时间),可构建如下的机器学习训练系统:
F(X)=Y
其中F是X=[参数1,参数2,...,参数n]的基于学习电路路径的到达函数。Y表示来自不同学习电路类型的黄金测量:
Y=[到达1,到达2,…,到达m]T
在已应用机器学习之后,对向量X进行拟合,使得给定物理参数值、学习电路设计的STA到达时间/频率可尽可能接近黄金数据。物理参数值被存储(例如,在校准数据库中)。校准数据库可应用于与学习电路设计具有相同库的任何设计。物理参数值从数据库检索,并用于与学习电路设计具有相同库的另一电路设计。由于其基于物理参数偏移,因此与预校准相比,校准后硅前时序更接近硅后结果。
图4是根据本公开的实施例的用于使用物理参数的扩充灵敏度数据建模时序行为的方法400的流程图。
在402中,获取与电路设计相关联的一或多个物理参数的时序库数据及灵敏度数据。电路设计可为学习电路(例如,RO电路)。在一些实施例中,可接收用于选择一或多个物理参数的用户输入。与所选择的一或多个物理参数相关联的灵敏度数据可使用SPICE模型确定。
在404中,基于物理参数的时序库数据及灵敏度数据生成用于电路设计的时序行为模型。在一些方面中,时序行为模型是使用机器学习训练系统(例如,线性回归技术)生成的,作为一或多种类型的电路设计的到达函数及黄金测量的函数。时序行为模型减少与电路设计相关联的当前已知最佳测量与电路设计的静态时序分析时序之间的差异。在一些方面中,可通过从用户接收一或多个物理参数变化(例如,10mV的阈值电压的变化)来生成时序行为模型。
在406中,可生成使用时序行为模型的经更新时序数据。时序行为模型可存储(例如,在校准数据库中)。时序行为模型可包含物理参数的经更新值。校准数据库可经配置以应用于另一电路设计。
在一些实施例中,可针对多个学习电路重复步骤402、步骤404、步骤406。在一些方面中,多个学习电路可包含多个类型的相同学习电路。
在一些实施例中,可接收与额外电路设计相关联的设计数据。在一些方面中,额外电路设计可用于大型电路(即,与学习电路相比可含有大量块)。可使用校准数据库对额外电路设计执行时序分析(例如,静态时序分析)。在一些方面中,可从校准数据库检索额外电路设计的一或多个单元的一或多个物理参数的经更新值。
在一些实施例中,可接收与电路设计相关联的设计数据。可从校准数据库检索一或多个物理参数值。例如,可检索电路设计的每一单元的一或多个物理参数值。在一些实施例中,可使用从校准数据库检索的一或多个物理参数值执行用于电路设计的静态分析时序。
在一些实施例中,使用两个物理参数及四种类型的RO电路。物理参数(例如,由用户选择)是阈值电压(Vth)及Ids(ids0)的乘数。如本文先前所描述的,物理参数可用于取决于由用户期望的覆盖范围的每一装置类型(例如,PMOS、NMOS、Vth类型)。表2及表3中展示来自扩充库数据库的STD单元物理灵敏度对鳍高度(hfin)的延迟灵敏度影响。
表2:延迟灵敏度
Ids偏移+10% 回转1 回转2
帽1 -0.1 -0.2
帽2 -0.3 -0.4
表3:延迟灵敏度
Ids偏移-10% 回转1 回转2
帽1 0.1 0.2
帽2 0.3 0.4
表4中展示基于扩充库数据库及STA计算引擎的参数灵敏度的STA周期函数。
表4:参数灵敏度的STA周期函数
黄金周期 物理参数灵敏度的周期函数
RO_type_1 100.0 f_1(vth,ids0)
RO_type_2 50.0 f_2(vth,ids0)
RO_type_3 200.0 f_3(vth,ids0)
RO_type_4 150.0 f_4(vth,ids0)
然后在此实例中,F(x)=Y如下:
Figure BDA0004190658850000071
在机器学习之后,提取的物理参数值被存储在校准数据库中(例如,校准数据库220、校准数据库320)。校准数据库可用于不同的应用:SPICE到硅差异(S2S)(即,优化硅设计)、SPICE到老化硅差异(老化S2S)(即,老化效应的准确建模)以及SPICE版本到版本差异(SPICEv2v)(即,周转时间减少)。
针对S2S及老化的S2S应用,取决于硅数据的可用性,可存在用户的若干使用模型。例如,模型可包含测试芯片模型、高级生产模型及低成本生产模型。测试芯片模型包含所有类型的学习电路(例如,所有类型的RO设计)。测试芯片模型可使用来自几个晶片(例如,1到3个晶片)的有限测量(例如,100)。在一个实例中,测试芯片模型可使用有限数量的独立变量(例如,物理参数)。高级生产模型包含所有可用类型的学习电路(例如,所有类型的RO设计(10K到100K))。高级生产模型可基于多参数学习。低成本生产模型可使用一组减少的学习电路(例如,RO设计的10K到100K样本)。低成本生产可基于多参数学习。针对SPICE版本到版本差异,使用模型更广泛,因为其可更容易获得基于SPICE模拟的数据。
图5说明在例如集成电路的制品的设计、验证及制造期间使用的一组实例过程500以变换及验证表示集成电路的设计数据及指令。这些过程中的每一者可作为多个模块或操作来构建及启用。术语‘EDA’表示术语‘电子设计自动化’。这些过程从使用设计者供应的信息创建产品理念510开始,所述信息被变换以创建使用一组EDA过程的制品512。当设计最终确定时,设计被流片534,这是当用于集成电路的艺术品(例如,几何图案)被发送到制造设施以制造掩模组时,掩模组然后被用于制造集成电路。在流片之后,制造半导体裸片536,且执行封装及组装过程538以生产完成的集成电路540。
电路或电子结构的规范可在从低级晶体管材料布局到高级描述语言的范围内。高级抽象可用于设计电路及系统,使用硬件描述语言(“HDL”),例如VHDL、Verilog、SystemVerilog、System C、MyHDL或OpenVera。HDL描述可变换为逻辑级寄存器转移级(‘RTL’)描述、门级描述、布局级描述或掩模级描述。作为较低抽象描述的每一较低抽象级在设计描述中添加更多有用的细节,例如,包含描述的模块的更多细节。作为较低抽象描述的较低级抽象可由计算机生成,源自设计库,或由另一设计自动化过程创建。用于指定更详细描述的较低级抽象语言的规范语言实例是SPICE,其用于具有许多模拟组件的电路的详细描述。每一抽象级的描述可由所述层的对应工具(例如,正式验证工具)使用。设计过程可使用图5中所描绘的序列。所描述的过程可通过EDA产品(或工具)来实现。
在系统设计514期间,指定要制造的集成电路的功能。设计可针对所期望的特性进行优化,例如功耗、性能、面积(物理及/或代码行)及成本降低等。在此阶段可将设计划分为不同类型的模块或组件。
在逻辑设计及功能验证516期间,电路中的模块或组件以一或多种描述语言指定,且检查规范以用于功能准确性。例如,可验证电路的组件以生成与正在被设计的电路或系统的规范要求相匹配的输出。功能验证可使用模拟器及其它程序,例如测试台产生器、静态HDL检查器及形式验证器。在一些实施例中,被称为‘模拟器’或‘原型系统’的特殊组件系统用于加快功能验证。
在测试518的合成及设计期间,HDL代码被变换为网表。在一些实施例中,网表可为图结构,其中图结构的边缘表示电路的组件,且图结构的节点表示组件如何互连。HDL代码及网表两者都是分层的制品,其可由EDA产品使用以验证集成电路在制造时是否根据指定的设计执行。可针对目标半导体制造技术来优化网表。此外,可对完成的集成电路进行测试,以验证集成电路满足规范的要求。
在网表验证520期间,检查网表以用于符合时序约束及对应于HDL代码。在设计计划522期间,为时序及顶层布线构造及分析集成电路的整体平面图。
在布局或物理实施方案524期间,发生物理放置(例如晶体管或电容器的电路组件的定位)及布线(通过多个导体连接电路组件),且可执行从库选择单元以启用特定逻辑功能。如本文所使用的,术语‘单元’可指定一组晶体管、其它组件及互连件,其提供布尔(Boolean)逻辑函数(例如,AND、OR、NOT、XOR)或存储函数(例如触发器或锁存器)。如本文所使用的,电路“块”可指两个或更多个单元。单元及电路块两者都可被称为模块或组件,且在物理结构及模拟中都被启用。为所选择的单元指定参数(基于“标准单元”),例如大小,并使其在数据库中可存取,以供EDA产品使用。
在分析及提取526期间,在布局级处验证电路功能,这允许布局设计的细化。在物理验证528期间,检查布局设计以确保制造约束是正确的,例如DRC约束、电约束、光刻约束,以及电路功能与HDL设计规范匹配。在分辨率增强530期间,对布局的几何形状进行变换以改进电路设计的制造方式。
在流片期间,创建要用于生产光刻掩模的数据(如果合适,在应用光刻增强之后)。在掩模数据准备532期间,‘流片’数据用于生产用于生产完成的集成电路的光刻掩模。
计算机系统的存储子系统(例如图6的计算机系统600)可用于存储由本文所描述的EDA产品中的一些或全部所使用的程序及数据结构,以及用于开发库的单元以及用于使用库的物理及逻辑设计的产品。
图6说明计算机系统600的实例机器,其中可执行用于使机器执行本文所讨论的方法中的任一或多者的一组指令。在替代实施方案中,机器可连接(例如,联网)到LAN、内联网、外联网及/或互联网中的其它机器。机器可在客户端-服务器网络环境中以服务器或客户端机器的身份操作,作为对等(或分布式)网络环境中的对等机器操作,或作为云计算基础设施或环境中的服务器或客户端机器操作。
该机器可为个人计算机(PC)、平板PC、机顶盒(STB)、个人数字助理(PDA)、蜂窝电话、网络设备、服务器、网络路由器、交换机或网桥,或能够执行指定所述机器要采取的动作的一组指令(顺序或其它)的任何机器。进一步来说,虽然说明单个机器,但术语“机器”也应包含个别地或联合执行一组(或多组)指令以执行本文所讨论的方法中的任一或多者的机器的任何组合。
实例计算机系统600包含处理装置602、主存储器604(例如,只读存储器(ROM)、闪存存储器、动态随机存取存储器(DRAM),例如同步DRAM(SDRAM))、静态存储器606(例如,闪存存储器、静态随机存取存储器(SRAM)等)及数据存储装置618,其经由总线630相互通信。
处理装置602表示一或多个处理器,例如微处理器、中央处理单元等。更特定来说,处理装置可为复杂指令集计算(CISC)微处理器、精简指令集计算(RISC)微处理器、超长指令字(VLIW)微处理器,或实施其它指令集的处理器,或实施指令集的组合的处理器。处理装置602还可为一或多个专用处理装置,例如专用集成电路(ASIC)、现场可编程门阵列(FPGA)、数字信号处理器(DSP)、网络处理器等。处理装置602可经配置以执行指令626以执行本文所描述的操作及步骤。
计算机系统600可进一步包含网络接口装置608以通过网络620进行通信。计算机系统600还可包含视频显示器单元610(例如,液晶显示器(LCD)或阴极射线管(CRT))、字母数字输入装置612(例如,键盘)、光标控制装置614(例如,鼠标)、图形处理单元622、信号生成装置616(例如,扬声器)、图形处理单元622、视频处理单元628及音频处理单元632。
数据存储装置618可包含机器可读存储媒体624(也称为非暂时性计算机可读媒体),其上存储一或多组指令626或体现本文所描述的方法或功能中的任何一或多者的软件。指令626还可在其由计算机系统600执行期间完全或至少部分地驻留在主存储器604及/或处理装置602内,主存储器604及处理装置502也构成机器可读存储媒体。
在一些实施方案中,指令626包含用于实施对应于本公开的功能的指令。虽然机器可读存储媒体624在实例实施方案中被展示为单个媒体,但术语“机器可读存储媒体”应被视为包含存储一或多组指令的单个媒体或多个媒体(例如,集中式或分布式数据库,及/或相关联的高速缓存及服务器)。术语“机器可读存储媒体”还应被视为包含能够存储或编码一组指令以供机器执行且使机器及处理装置602执行本公开的方法中的任何一或多者的任何媒体。因此,术语“机器可读存储媒体”应被视为包含(但不限于)固态存储器、光学媒体及磁性媒体。
前面的详细描述的一些部分是鉴于对计算机存储器内的数据位的操作的算法及符号表示来呈现的。这些算法描述及表示是由数据处理领域中的技术人员用来最有效地将其工作的实质传达给所属领域的其他技术人员的方式。算法可为导致期望结果的一系列运算。运算是那些需要对物理量进行物理操纵的运算。此类量可采取能够被存储、组合、比较及以其它方式操纵的电信号或磁信号的形式。此类信号可被称为位、值、元素、符号、字符、术语、数字等。
然而,应记住的是,所有这些及类似的术语都与适当的物理量相关联,且仅为应用于这些量的方便标签。除非明确陈述,否则从本公开中显而易见的是,应了解,贯穿本描述,某些术语指的是计算机系统或类似电子计算装置的动作及过程,其操纵并将表示为计算机系统的寄存器及存储器内的物理(电子)量的数据变换为类似地表示为计算机系统存储器或寄存器或其它此类信息存储装置内的物理量的其它数据。
本公开还涉及一种用于执行本文中的操作的设备。设备可为专门为预期目的而构造的,或其可包含由存储在计算机中的计算机程序选择性地激活或重配置的计算机。此类计算机程序可存储在计算机可读存储媒体中,例如(但不限于)任何类型的盘,包含软盘、光盘、CD-ROM及磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁卡或光卡,或适合于存储电子指令的任何类型的媒体,其每一者都耦合到计算机系统总线。
本文所呈现的算法及显示器并不固有地与任何特定的计算机或其它设备相关。根据本文的教示,各种其它系统可与程序一起使用,或可证明构造更专业的设备来执行所述方法是方便的。另外,不参考任何特定的编程语言来描述本公开。将了解,可使用各种编程语言来实施如本文所描述的本公开的教示。
本公开可被提供为计算机程序产品或软件,其可包含具有存储在其上的指令的机器可读媒体,指令可用于对计算机系统(或其它电子装置)进行编程以执行根据本公开的过程。机器可读媒体包含用于以机器(例如,计算机)可读的形式存储信息的任何机制。例如,机器可读(例如,计算机可读)媒体包含机器(例如,计算机)可读存储媒体,例如只读存储器(“ROM”)、随机存取存储器(“RAM”)、磁盘存储媒体、光存储媒体、闪存存储器装置等。
在前述公开中,本公开的实施方案已参考其具体实例实施方案描述。显然,在不脱离如以下权利要求中所阐述的本公开的实施方案的更广泛的精神及范围的情况下,可对其进行各种修改。在本公开涉及单数时态中的一些元素的情况下,可在附图中描绘多于一个的元素,且用相似的数字标记相似的元素。因此,本公开及附图应被视为说明性的,而不是限制性的。

Claims (20)

1.一种方法,其包括:
获取与电路单元相关联的物理参数的时序库数据及灵敏度数据;
由处理器基于所述物理参数的所述时序库数据及灵敏度数据生成所述电路单元的时序行为模型;及
由所述处理器使用所述时序行为模型生成经更新时序数据。
2.根据权利要求1所述的方法,其中生成所述时序行为模型包括:
基于单元转变函数模型及单元延迟函数模型生成时序路径模型;
确定所述物理参数的经更新值,其减少所述时序路径模型与当前已知最佳测量之间的偏移;及
将所述物理参数的所述经更新值存储在校准数据库中,其中所述校准数据库经配置以应用于电路设计。
3.根据权利要求2所述的方法,其中生成所述时序路径模型进一步包括:
生成作为一或多种类型的所述电路单元的到达函数及用于当前已知最佳测量的函数的机器学习训练系统。
4.根据权利要求1所述的方法,其进一步包括:
从硅测量、老化的硅测量、使用另一模型的模拟结果或不同角落处的模拟结果获取与所述当前已知最佳测量相关联的数据。
5.根据权利要求1所述的方法,其进一步包括:
从前段工艺(FEOL)参数及/或后段工艺(BEOL)参数选择所述物理参数。
6.根据权利要求5所述的方法,其中所述FEOL参数包含每晶体管类型的阈值电压、迁移率及/或鳍尺寸。
7.根据权利要求5所述的方法,其中所述BEOL参数包含每金属层的电容及/或电阻。
8.根据权利要求1所述的方法,其进一步包括:
从用户接收用户输入以选择所述物理参数;及
从SPICE模型确定与所选择的物理参数相关联的所述灵敏度数据,其中所述灵敏度数据包含单元延迟灵敏度及/或单元输出转变灵敏度。
9.根据权利要求1所述的方法,其进一步包括:
接收与电路设计相关联的设计数据;
使用所述经更新的时序数据执行用于所述电路设计的静态分析时序。
10.一种系统,其包括:
存储器,其存储指令;及
处理器,其与所述存储器耦合并执行所述指令,当被执行时,所述指令使所述处理器:
获取与电路单元相关联的物理参数的时序库数据及灵敏度数据;
基于所述物理参数的所述时序库数据及灵敏度数据生成所述电路单元的时序行为模型;及
使用所述时序行为模型生成经更新时序数据。
11.根据权利要求10所述的系统,其中所述处理器经进一步配置以:
基于单元转变函数模型及单元延迟函数模型生成时序路径模型;
确定所述物理参数的经更新值,其减少所述时序路径模型与当前已知最佳测量之间的偏移;及
将所述物理参数的所述经更新值存储在校准数据库中,其中所述校准数据库经配置以应用于电路设计。
12.根据权利要求11所述的系统,其中所述处理器经进一步配置以:
生成作为一或多种类型的所述电路单元的到达函数及黄金测量的函数的机器学习训练系统。
13.根据权利要求10所述的系统,其中所述处理器经进一步配置以:
从硅测量、老化的硅测量、使用另一模型的模拟结果或不同角落处的模拟结果获取与所述当前已知最佳测量相关联的数据。
14.根据权利要求10所述的系统,其中所述处理器经进一步配置以:
从前段工艺(FEOL)参数及/或后段工艺(BEOL)参数选择所述物理参数。
15.根据权利要求14所述的系统,其中所述FEOL参数包含每晶体管类型的阈值电压、迁移率及/或鳍尺寸。
16.根据权利要求14所述的系统,其中所述BEOL参数包含每金属层的电容及/或电阻。
17.根据权利要求10所述的系统,其中所述处理器经进一步配置以:
从用户接收用户输入以选择所述物理参数;及
从SPICE模型确定与所选择的物理参数相关联的所述灵敏度数据,其中所述灵敏度数据包含单元延迟灵敏度及/或单元输出转变灵敏度。
18.根据权利要求10所述的系统,其中所述处理器经进一步配置以:
接收与电路设计相关联的设计数据;
使用所述经更新的时序数据执行用于所述电路设计的静态分析时序。
19.一种非暂时性计算机可读媒体,其包括存储的指令,当由处理器执行时,使所述处理器:
接收与电路设计相关联的设计数据;
从校准数据库检索所述电路设计的单元的物理参数的一或多个物理参数值;及
使用所述一或多个物理参数值执行所述电路设计的静态分析时序,其中使用减少当前已知最佳测量与静态时序分析时序之间的差异的时序行为模型来确定所述一或多个物理参数值。
20.根据权利要求19所述的非暂时性计算机可读媒体,其中所述校准数据库是使用学习电路生成的,且其中所述一或多个物理参数值是被确定的校准值,例如减少与学习电路设计相关联的所述当前已知最佳测量与所述学习电路的所述静态时序分析时序之间的偏移。
CN202180072112.6A 2020-12-02 2021-12-02 使用物理参数的扩充灵敏度数据建模时序行为 Pending CN116438536A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US202063120606P 2020-12-02 2020-12-02
US63/120,606 2020-12-02
PCT/US2021/061651 WO2022120078A1 (en) 2020-12-02 2021-12-02 Modelling timing behavior using augmented sensitivity data for physical parameters

Publications (1)

Publication Number Publication Date
CN116438536A true CN116438536A (zh) 2023-07-14

Family

ID=79259408

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202180072112.6A Pending CN116438536A (zh) 2020-12-02 2021-12-02 使用物理参数的扩充灵敏度数据建模时序行为

Country Status (5)

Country Link
US (1) US11966678B2 (zh)
EP (1) EP4256458A1 (zh)
KR (1) KR20230088493A (zh)
CN (1) CN116438536A (zh)
WO (1) WO2022120078A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116438536A (zh) * 2020-12-02 2023-07-14 新思科技有限公司 使用物理参数的扩充灵敏度数据建模时序行为

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5845233A (en) * 1997-07-30 1998-12-01 Lucent Technologies, Inc. Method and apparatus for calibrating static timing analyzer to path delay measurements
US20040002844A1 (en) * 2002-06-27 2004-01-01 Jess Jochen A.G. System and method for statistical modeling and statistical timing analysis of integrated circuits
US7325210B2 (en) * 2005-03-10 2008-01-29 International Business Machines Corporation Hybrid linear wire model approach to tuning transistor widths of circuits with RC interconnect
US7650580B2 (en) * 2006-01-03 2010-01-19 Synopsys, Inc. Method and apparatus for determining the performance of an integrated circuit
US8813006B1 (en) * 2008-03-26 2014-08-19 Cadence Design Systems, Inc. Accelerated characterization of circuits for within-die process variations
US8302047B2 (en) * 2009-05-06 2012-10-30 Texas Instruments Incorporated Statistical static timing analysis in non-linear regions
US9245071B2 (en) * 2012-02-28 2016-01-26 Clk Design Automation, Inc. Database based timing variation analysis
US9177096B2 (en) * 2014-03-26 2015-11-03 Freescale Semiconductor, Inc. Timing closure using transistor sizing in standard cells
US9996643B2 (en) * 2014-11-17 2018-06-12 Taiwan Semiconductor Manufacturing Company, Ltd. Integrated circuit modeling method using resistive capacitance information
US9639640B1 (en) * 2015-04-22 2017-05-02 Xilinx, Inc. Generation of delay values for a simulation model of circuit elements in a clock network
US10345721B1 (en) * 2015-06-16 2019-07-09 Kla-Tencor Corporation Measurement library optimization in semiconductor metrology
US10204200B2 (en) * 2016-06-29 2019-02-12 Oracle International Corporation Variation-aware design analysis
US10073934B1 (en) * 2016-10-11 2018-09-11 Cadence Design Systems, Inc. Systems and methods for statistical static timing analysis
US10185795B1 (en) * 2016-10-11 2019-01-22 Cadence Design Systems, Inc. Systems and methods for statistical static timing analysis
US10289774B1 (en) * 2017-03-30 2019-05-14 Cadence Design Systems, Inc Systems and methods for reuse of delay calculation in static timing analysis
KR102416490B1 (ko) * 2017-06-15 2022-07-04 삼성전자 주식회사 와이어의 공정 변이를 고려한 집적 회로를 설계하기 위한 컴퓨터 구현 방법 및 컴퓨팅 시스템
US10275554B1 (en) * 2017-07-17 2019-04-30 Cadence Design Systems, Inc. Delay propagation for multiple logic cells using correlation and coskewness of delays and slew rates in an integrated circuit design
EP3811246A4 (en) * 2018-06-19 2022-03-23 Proteantecs Ltd. EFFICIENT SIMULATION AND TESTING OF AN INTEGRATED CIRCUIT
US11537841B2 (en) * 2019-04-08 2022-12-27 Samsung Electronics Co., Ltd. System and method for compact neural network modeling of transistors
US11341304B2 (en) * 2019-12-10 2022-05-24 Microchip Technology Inc. Machine learning based methods and apparatus for integrated circuit design delay calculation and verification
US11416664B2 (en) * 2019-12-16 2022-08-16 Analog Intelligent Design, Inc. AI-driven self adapting microelectronic circuits
US11641155B2 (en) * 2020-04-22 2023-05-02 Qualcomm Incorporated Adaptive harmonic cancellation
CN116438536A (zh) * 2020-12-02 2023-07-14 新思科技有限公司 使用物理参数的扩充灵敏度数据建模时序行为

Also Published As

Publication number Publication date
US11966678B2 (en) 2024-04-23
US20220171910A1 (en) 2022-06-02
EP4256458A1 (en) 2023-10-11
KR20230088493A (ko) 2023-06-19
WO2022120078A1 (en) 2022-06-09

Similar Documents

Publication Publication Date Title
KR102396699B1 (ko) 셀 레벨 레이아웃 의존성 응력 효과들을 사용하는 셀의 배치 및 라우팅
US11966678B2 (en) Modelling timing behavior using augmented sensitivity data for physical parameters
US20230260591A1 (en) Transforming local wire thru resistances into global distributed resistances
US20220391566A1 (en) Machine learning models for predicting detailed routing topology and track usage for accurate resistance and capacitance estimation for electronic circuit designs
US11328109B2 (en) Refining multi-bit flip flops mapping without explicit de-banking and re-banking
JP2023513754A (ja) リーク電流に統計的ばらつきをもつダイナミックランダムアクセスメモリパストランジスタの設計
US11893332B2 (en) Global mistracking analysis in integrated circuit design
US11328873B2 (en) Parallel plate capacitor resistance modeling and extraction
US20220414305A1 (en) Modeling effects of process variations on superconductor and semiconductor devices using measurements of physical devices
US11972191B2 (en) System and method for providing enhanced net pruning
US11416661B2 (en) Automatic derivation of integrated circuit cell mapping rules in an engineering change order flow
US11080450B1 (en) Calculating inductance based on a netlist
US11914939B1 (en) Clock re-convergence pessimism removal through pin sharing during clock tree planning
US11663384B1 (en) Timing modeling of multi-stage cells using both behavioral and structural models
US11573873B1 (en) Adaptive cell-aware test model for circuit diagnosis
US11836435B1 (en) Machine learning based parasitic estimation for an integrated circuit chip design
US20220398369A1 (en) Enhanced Cell Modeling for Waveform Propagation
US20230252208A1 (en) Transforming a logical netlist into a hierarchical parasitic netlist
US20240143878A1 (en) Delay calculation with pattern matching for static timing analysis
US20230376670A1 (en) Circuit design having an improved clock tree
KR20240072190A (ko) 정확한 컨텍스트-인식 타이밍 모델링을 위한 통합 프레임워크 및 방법
WO2023059915A1 (en) Unified framework and method for accurate context-aware timing modeling
WO2024118404A1 (en) Modeling mandrel tolerance in a design of a semiconductor device
WO2021168231A1 (en) Automatic test pattern generation (atpg) for parametric faults
CN118103846A (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