CN117413274A - 利用缩减的经排序的样本模拟进行变异性表征 - Google Patents
利用缩减的经排序的样本模拟进行变异性表征 Download PDFInfo
- Publication number
- CN117413274A CN117413274A CN202180095619.3A CN202180095619A CN117413274A CN 117413274 A CN117413274 A CN 117413274A CN 202180095619 A CN202180095619 A CN 202180095619A CN 117413274 A CN117413274 A CN 117413274A
- Authority
- CN
- China
- Prior art keywords
- circuit design
- simulation
- samples
- values
- distribution
- 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
- 238000004088 simulation Methods 0.000 title claims abstract description 144
- 238000012512 characterization method Methods 0.000 title claims abstract description 67
- 238000013461 design Methods 0.000 claims abstract description 174
- 238000004519 manufacturing process Methods 0.000 claims abstract description 50
- 238000009826 distribution Methods 0.000 claims abstract description 49
- 238000000034 method Methods 0.000 claims description 32
- 230000015654 memory Effects 0.000 claims description 30
- 238000012545 processing Methods 0.000 claims description 17
- 238000012549 training Methods 0.000 claims description 12
- 238000005070 sampling Methods 0.000 claims description 10
- 230000004044 response Effects 0.000 claims description 9
- 238000004458 analytical method Methods 0.000 claims description 5
- 230000003068 static effect Effects 0.000 claims 3
- 230000008569 process Effects 0.000 description 17
- 238000012360 testing method Methods 0.000 description 8
- 238000005259 measurement Methods 0.000 description 5
- 238000003860 storage Methods 0.000 description 5
- 238000012795 verification Methods 0.000 description 5
- 238000004590 computer program Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 230000002093 peripheral effect Effects 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 239000003795 chemical substances by application Substances 0.000 description 2
- 238000012417 linear regression Methods 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- XUIMIQQOPSSXEZ-UHFFFAOYSA-N Silicon Chemical compound [Si] XUIMIQQOPSSXEZ-UHFFFAOYSA-N 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 239000003990 capacitor Substances 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 238000012938 design process Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000002955 isolation Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 229910052710 silicon Inorganic materials 0.000 description 1
- 239000010703 silicon Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
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/3308—Design verification, e.g. functional simulation or model checking using simulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F30/00—Computer-aided design [CAD]
- G06F30/30—Circuit design
- G06F30/36—Circuit design at the analogue level
- G06F30/367—Design verification, e.g. using simulation, simulation program with integrated circuit emphasis [SPICE], direct methods or relaxation methods
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2119/00—Details relating to the type or aim of the analysis or the optimisation
- G06F2119/12—Timing analysis or timing optimisation
-
- 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]
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)
- Microelectronics & Electronic Packaging (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Design And Manufacture Of Integrated Circuits (AREA)
Abstract
一种实施设计表征工具的计算系统,其可以对描述电路设计所描述的集成电路的制造变异的值的分布进行采样。该设计表征工具可以利用样本组来生成电路设计的代理模型,并且可以基于代理模型的预测输出来排序另一样本组。设计表征工具可以利用经排序的样本来模拟代理模型或电路设计,并且在来自所述分布的所有样本都已经用于模拟之前停止模拟。设计表征工具可以利用置信区间停止条件或drought停止条件来确定何时停止模拟。设计表征工具可以利用模拟的结果来对电路设计的操作变异到所述值的分布中描述的制造变异进行表征。
Description
技术领域
本申请总体上涉及电子设计自动化,更具体地,涉及利用缩减的经排序的样本模拟进行变异性表征。
背景技术
许多设计者利用标准单元库来构建用于电子设备的电路设计。这些库中的标准单元通常包括对数字电路及其各种特性的描述,这些特性例如为时序信息、功率估计、功能性、操作条件等,其可以使用Liberty格式来指定。例如,Liberty格式可以包括填充有库中的标准单元的时序信息的查找表,所述时序信息例如为单元延迟、转换时间以及设置和保持约束等。
由于数字电路的时序和功率特性可以在制造的电子设备中变异,通常称为片上变异(on-chip variation,OCV),因此标准单元描述还可以包括统计变异信息,例如,在Liberty格式的Liberty变异格式(Liberty Variation Format,LVF)扩展中所指定的信息,其对与片上变异相关联的与制造相关的变异的影响进行建模。设计者通常在统计时序分析(Statistical Timing Analysis,STA)期间利用统计变异信息来解释在功能验证期间与制造相关的变异对电路设计的时序路径中的延迟产生的影响。
用于表征标准单元并生成统计变异信息的通用技术包括(例如通过蒙特卡罗(Monte Carlo)采样)识别与制造相关的变异的随机样本,然后将随机样本的特性单独地应用到标准单元的数字电路,并使用类比模拟器来模拟标准单元的数字电路。为了精确估计变异(例如+/-3西格玛值)的影响,类比模拟器必须在每次测量时执行大约10000次模拟,这对于表征标准单元库中的数百万个不同测量是处理密集且不切实际的。出于这个原因,一些设计者选择执行最多1000至2000次模拟,然后外推得出结果。随着电子设备的尺寸变得越来越小,推测的结果变得不太精确,导致时序收敛和硅故障的问题。其他设计者试图通过生成可以被更快地模拟的标准单元的模型、并然后模拟该模型而不是标准单元来加快表征过程。虽然这种表征方法可以减少整体模拟时间,但其仍然是处理密集型的,并且将仍然消耗数周的开发时间。
发明内容
本申请公开了实施设计表征工具的计算系统,其可以对描述电路设计所描述的集成电路的制造变异的值的分布进行采样。样本可分为训练样本和表征样本。设计表征工具可以利用训练样本生成电路设计的代理模型,例如,通过利用训练样本提示电路设计的模拟,然后基于利用训练样本的电路设计的模拟结果生成电路设计的代理模型。
该设计表征工具可以在利用样本进行模拟期间通过利用代理模型预测电路设计的输出,来对表征样本进行排序。该设计表征工具可以利用经排序的样本来模拟代理模型或电路设计,并且在来自分布的所有样本都用于模拟之前停止模拟。该设计表征工具可以利用置信区间停止条件或drought停止条件中的至少一者来确定何时停止模拟。设计表征工具可以利用模拟结果来对电路设计的操作变异到值的分布中描述的制造变异进行表征。下面将更详细地描述实施例。
附图说明
图1和图2例示了可以用于实施各种实施例的那种类型的计算机系统的示例。
图3例示了可根据各种实施例实施的示例设计表征工具,用以使用缩减的经排序的样本模拟来表征制造变异性。
图4例示了示出根据各种示例的使用缩减的经排序的样本模拟来表征制造变异性的示例实施方式的流程图。
图5例示了示出根据各种示例的在使用缩减的经排序的样本模拟来表征制造变异性时的示例性置信区间停止条件的流程图。
图6例示了示出根据各种示例的在使用缩减的经排序的样本模拟来表征制造变异性时的示例drought停止条件的流程图。
具体实施方式
说明性操作环境
可通过诸如可编程计算机的计算设备101执行软件指令来实施各种示例。因此,图1示出了计算设备101的说明性示例。从该图看出,计算设备101包括系统存储器107和具有处理器单元105的计算单元103。处理器单元105可以是用于执行软件指令的任何类型的可编程电子设备,但是通常将是微处理器。系统存储器107可以包括只读存储器(ROM)109和随机存取存储器(RAM)111。如本领域普通技术人员所理解的,只读存储器(ROM)109和随机存取存储器(RAM)111都可以存储用于由处理器单元105执行的软件指令。
处理器单元105和系统存储器107通过总线113或可替代的通信结构直接或间接地连接到一个或多个外围设备115-123。例如,处理器单元105或系统存储器107可以直接或间接地连接到一个或多个附加存储器存储设备,例如硬盘驱动器117(其可以是磁性的和/或可拆卸的)、可移动的光盘驱动器119和/或闪存卡。处理器单元105和系统存储器107还可以直接或间接地连接到一个或多个输入设备121和一个或多个输出设备123。输入设备121可以包括例如键盘、指点设备(例如鼠标、触摸板、触笔、轨迹球或操纵杆)、扫描仪、相机和麦克风。输出设备123可以包括例如监视器显示器、打印机和扬声器。在计算设备101的各种示例中,外围设备115-123中的一者或多者可以与计算单元103一起容纳在内部。可替代地,外围设备115-123中的一者或多者可以在计算单元103的壳体的外部,并且通过例如通用串行总线(USB)连接而连接到总线113。
对于一些实施方式,计算单元103可以直接或间接地连接到网络接口115,用于与构成网络的其他设备通信。网络接口115可以根据一种或多种通信协议(例如传输控制协议(TCP)和因特网协议(IP))将来自计算单元103的数据和控制信号转换成网络消息。此外,网络接口115可以采用任何合适的连接代理(或代理的组合)来连接到网络,所述连接代理包括例如无线收发器、调制解调器或以太网连接。这种网络接口和协议在本领域是已知的,因此这里将不再详细讨论。
应当理解,仅将计算设备101例示为示例,而并不旨在对其进行限制。可以使用包括图1例示的计算设备101的部件(其仅包括图1例示的部件的子集或者包括部件的可替代组合)(包括图1中未例示的部件)的一个或多个计算设备来实施各种实施例。例如,可以使用多处理器计算机、布置在网络中的多个单处理器和/或多处理器计算机、或这两者的某种组合来实施各种实施例。
在一些实施方式中,处理器单元105可以具有多于一个的处理器核心。因此,图2例示了可用于各种实施例的多核心处理器单元105的示例。从该图看出,处理器单元105包括多个处理器核心201A和201B。每个处理器核心201A和201B分别包括计算引擎203A和203B以及存储器高速缓存205A和205B。如本领域普通技术人员所知晓的,计算引擎203A和203B可以包括用于执行各种计算功能的逻辑设备,所述计算功能例如为获取软件指令然后执行在获取的指令中指定的动作。这些动作可以包括,例如,加、减、乘和比较数字,执行诸如AND、OR、NOR和XOR的逻辑操作,以及检索数据。然后,每个计算引擎203A和203B可以分别使用其对应的存储器高速缓存205A和205B来快速存储和检索用于执行的数据和/或指令。
每个处理器核心201A和201B连接到互连207。互连207的特定结构可以根据处理器单元105的架构而变化。对于一些处理器核心201A和201B,诸如由索尼公司(SonyCorporation)、东芝公司(Toshiba Corporation)和IBM公司构建的单元微处理器,互连207可以实施为互连总线。然而,对于其它处理器单元201A和201B,诸如可从加利福尼亚州森尼韦尔市的高级微设备公司(Advanced Micro Devices)获得的OpteronTM和AthlonTM双核处理器,互连207可以实施为系统请求接口设备。在任何情况下,处理器核心201A和201B通过互连207与输入/输出接口209和存储器控制器210通信。输入/输出接口209向总线113提供通信接口。类似地,存储器控制器210控制到系统存储器107的信息交换。在一些实施方式中,处理器单元105可以包括附加部件,诸如由处理器核心201A和201B共享的可存取高级高速缓存存储器。还应当理解,对于图1和图2例示的计算机网络的描述仅作为示例提供,而并不旨在对可替代实施例的使用范围或功能进行任何限制。
利用缩减的经排序的样本模拟进行变异性表征
图3例示了可根据各种实施例实施的使用缩减的经排序的样本模拟来表征制造变异性的示例性设计表征工具300。图4例示了示出根据各种示例的使用缩减的经排序的样本模拟来表征制造变异性的示例实施方式的流程图。参考图3和图4,例如利用图1中描述的计算设备101实施的设计表征工具300可以接收电路设计301,该电路设计301以晶体管级网表格式描述了电子设备(例如集成电路)。电路设计301可以对应于例如以SPICE(SimulationProgram with Integrated Circuit Emphasis)文件格式来描述使用金属氧化物半导体(MOS)晶体管、电阻器、电容器、电感器等的电子电路的晶体管级网表。在一些实施例中,电路设计301可以是标准单元设计,例如,在供设计表征工具300进行表征的标准单元库内的标准单元设计。
设计表征工具300可以接收描述制造参数(例如氧化物厚度、氧化物长度等)以及这些参数在制造期间如何变化的过程变化信息302。在一些实施例中,过程变化信息302可以通过限定用于制造参数的值的分布(例如具有不同的潜在氧化物厚度、氧化物长度等的范围)以及与电路设计301相关联的制造的集成电路落入所述范围中的不同位置的概率来描述用于制造电路设计301的统计条件。在一些实施例中,设计表征工具300可以从类比模拟系统340接收过程变化信息302的至少一部分。例如,类比模拟系统340可以接收电路设计301,从电路设计301识别过程变量(例如制造参数),并且生成针对电路设计301中的晶体管的各个部分的测量值。所识别的过程变量和测量值可对应于过程变化信息302的至少一部分。在一些实施例中,可以以SPICE文件格式指定过程变化信息302。
设计表征工具300可以包括用于构建代理模型304的代理建模系统310,该代理模型304近似于电路设计301对在过程变化信息302中描述的制造参数的变异性的输出响应。在用不同组的制造变异来模拟代理模型304时,代理模型304可以提供与用相同组的制造变异而模拟的电路设计301的输出响应类似的输出响应,并且类比模拟系统340可以比电路设计301更快地模拟代理模型304。在一些实施例中,代理模型304可以是简单的线性回归模型、多项式模型、分段线性回归模型等。
代理建模系统310可以例如从采样系统320接收制造变异分布的训练样本。采样系统320可以包括样本生成器322,用于对过程变化信息302中的制造参数的值的分布进行采样。在一些实施例中,每个训练样本可以是从制造参数的值的分布中随机抽取的蒙特卡罗样本。
代理建模系统310可以引导类比模拟系统340迭代地设置标准单元设计(例如电路设计301)的制造参数,以对应于不同的训练样本,并且在图4的框401中,利用测试平台303利用不同的训练样本来模拟标准单元设计组。测试平台303可以定义测试激励(例如时钟信号、激活信号、功率信号、控制信号、数据信号等),其在分组时可以形成能够在类比模拟环境中提示电路设计301的操作的测试平台事务。在一些实施例中,可以用面向对象的编程语言(例如,SystemVerilog等)编写测试平台303,当在细化(elaboration)期间执行时,该测试平台303可以动态地生成用于验证电路设计301的测试平台部件。诸如通用验证方法库(UVM)、开放验证方法库(OVM)、高级验证方法库(AVM)、验证方法手册(VMM)库等的方法库可以用作创建测试平台303的基础。代理建模系统310可以至少部分地基于利用不同训练样本对标准单元设计组进行模拟的结果来生成标准单元设计的代理模型304。
在图4的框403中,样本生成器322还可以从用于标准单元设计模拟的制造变异分布中选择样本。在一些实施例中,采样生成器322可以例如利用蒙特卡罗随机采样过程对在过程变化信息302中的制造参数的值的分布进行采样。
在图4的框404中,采样系统320可以包括排序系统324,用来至少部分地基于用于标准单元设计的代理模型来对样本进行排序。排序系统324可以基于样本对变异进行设置并计算代理模型304的预测的输出,并且利用预测的输出对与所述变异对应的样本进行排序。例如,当在样本中描述的制造变异(例如在输出分布的范围的尾部中的一者中)具有更多的极端预测输出值时,排序系统324可以将那些样本排序在具有较少的极端预测输出值的其它样本之前,例如,朝向输出分布的范围的中心。通过基于来自代理模型304的预测输出值对样本进行排序,设计表征工具300可以引导类比模拟系统340利用更可能生成超过预定阈值变异(例如,+/-3西格玛偏差(sigma deviation))的模拟结果的制造变异的样本来模拟代理模型304。
代理建模系统310可以将代理模型304提供给类比模拟系统340,以利用例如来自采样系统320的制造变异分布的经排序的样本305进行模拟。在图4的框405中,设计表征工具300可以包括变异确定系统330,用于引导类比模拟系统340利用制造变异的经排序的样本305来模拟代理模型304并接收返回的模拟结果341。在一些实施例中,变异确定系统330可以向类比模拟系统340提供来自经排序的样本305的输入变量的单独组合,以在模拟代理模型304时使用。
变异确定系统330可以将模拟结果341与用于生成模拟结果的类比模拟系统340所利用的经排序的样本305相关联,并且在图4的框406中,确定是否停止模拟经排序的样本305。在一些实施例中,变异确定系统330可以确定是否已经模拟了经排序的样本305中的最差组(例如与落入+/-3西格玛偏差之外的模拟结果341相关联的样本),并且基于该确定来决定是否停止模拟更多的经排序的样本305。下面将参照图5和图6更详细地描述停止用经排序的样本305来模拟代理模型304的实施例。
在框406中,当变异确定系统330确定不停止模拟时,执行返回到框405,在框405中,变异确定系统330可以继续用制造变异的经排序的样本305模拟代理模型304并且继续接收对应的模拟结果341。当在框406中,变异确定系统330确定停止模拟时,执行进行到图7中的框407,在框407中,变异确定系统330可以基于使用经排序的样本的模拟结果341来确定针对标准单元设计的方差测量值,其中变异确定系统330可以将其输出为变异性表征306。在一些实施例中,变异确定系统330可以利用与最差模拟样本(诸如在+/-3西格玛范围之外的模拟样本)相对应的模拟结果341,来确定针对电路设计301的变异性表征306。变异确定系统330可以以Liberty变化格式(LVF)指定变异性表征306,其可以是以Liberty格式指定的被表征的电路设计301的扩展。
图5例示了示出根据各种示例的在使用缩减的经排序的样本模拟来表征制造变异性时的示例性置信区间停止条件的流程图。参考图5,在框501中,实施类比模拟工具的计算系统可以利用来自制造变异分布的样本来模拟标准单元设计。在一些实施例中,实施类比模拟工具的计算系统可以利用来自制造变异分布的样本来模拟标准单元设计的代理模型。类比模拟工具可以设置用于标准单元设计的或代理模型的过程变量的组合以对应于制造变异分布的样本,并且生成模拟结果,所述模拟结果对应于对已经根据制造变异分布的样本配置的标准单元设计或代理模型的操作。
在框502中,实施设计表征工具的计算系统可以确定是否已经模拟了预定数量的样本。当尚未模拟预定数量的样本时,执行返回到框501,其中类比模拟工具继续用样本来模拟标准单元设计或代理模型。
当已经模拟了预定数量的样本时,执行可以进行到框503,其中实施设计表征工具的计算系统可以识别哪些样本对应于极端模拟值。在一些实施例中,设计表征工具可以识别在模拟结果的分布的尾部的具有模拟结果的预定数量的样本。例如,当试图在2000个样本中获得+/-3西格玛偏差时,在模拟结果分布的尾部的具有模拟结果的4个样本可以是具有极端模拟值的样本。
在框504中,实施设计表征工具的计算系统可以估计对剩余待模拟样本的模拟值的上边界。在一些实施例中,设计表征工具可以通过识别与先前模拟的样本的至少一个子集对应的样本窗口来估计针对剩余样本的模拟值的上边界。设计表征工具可以识别与样本窗口中的样本对应的模拟结果,并且计算模拟结果的中值。设计表征工具可以识别样本窗口中间的样本,并且确定与样本窗口中的中间样本相关联的模拟结果。设计表征工具可以确定样本窗口中模拟结果的中值与中间样本的模拟值之间的差异,称为最大差值。当设计表征工具考虑了先前的样本窗口时,设计表征工具可以将最大差值识别为针对所有这些样本窗口的中值和中间模拟值之间的最大确定差值。
设计表征工具还可以确定与样本窗口的上四分位数的开始对应的模拟值。设计表征工具可以将与上四分位数对应的模拟值与最大差值相结合,以获得对剩余待模拟样本的模拟值的上边界的估计值。
在框505中,实施设计表征工具的计算系统可以确定极端模拟值是否超过上边界的估计值。例如,当试图在2000个样本中获得+/-3西格玛偏差时,可以将与第四最极端样本对应的模拟值与上边界进行比较,以确定哪个更大。当极端模拟结果不超过上边界的估计值时,执行可以返回到框501,在该框501中,实施设计表征工具的计算系统可以利用附加样本来模拟标准单元设计。
当极端模拟结果超过上边界的估计值时,执行可以进行到框506,实施设计表征工具的计算系统可以停止利用样本来模拟标准单元设计或标准单元设计的代理模型。由于样本已被排序以试图在样本的类比模拟的早期识别最差的模拟结果,因此相对于极端样本值的上边界值可以被设计表征工具用于确定何时标准单元设计或标准单元设计的代理模型的附加模拟将不会生成取代框503中所识别的样本的模拟结果。通过(例如在所有样本被模拟之前)尽早停止标准单元设计的类比模拟或标准单元设计的代理模型,设计表征工具可以减少整体模拟时间和处理资源的消耗。例如,当试图在2000个样本中获得+/-3西格玛偏差时,设计表征工具将能够在大约200个样本之后停止模拟,提供以量级减少的总体模拟时间,而不损害+/-3西格玛偏差确定的精度。
图6例示了示出根据各种示例的在使用缩减的经排序的样本模拟来表征制造变异性时的示例性drought停止条件的流程图。参考图6,在框601中,实施类比模拟工具的计算系统可以利用来自制造变异分布的样本来模拟标准单元设计。在一些实施例中,实施类比模拟工具的计算系统可以利用来自制造变异分布的样本来模拟标准单元设计的代理模型。类比模拟工具可以设置用于标准单元设计的或代理模型的过程变量的组合集以对应于制造变异分布的样本,并且生成模拟结果,所述模拟结果对应于对已经根据制造变异分布的样本配置的标准单元设计或代理模型的操作。
在框602中,实施设计表征工具的计算系统可以确定是否已经模拟了预定数量的样本。当尚未模拟预定数量的样本时,执行返回到框601,其中类比模拟工具继续用样本来模拟标准单元设计或代理模型。
当已经模拟了预定数量的样本时,执行可以进行到框603,实施设计表征工具的计算系统可以识别哪些样本对应于落入模拟结果尾部中的模拟值。例如,当试图在2000个样本中获得+/-3西格玛偏差的变异性表征时,实施设计表征工具的计算系统可以识别哪个模拟结果落入+/-2西格玛偏差,其可以对应于具有最极端模拟结果的46个样本。
在框604中,实施设计表征工具的计算系统可以确定所识别的样本(例如与先前识别的样本相比)是否已经改变。当所识别的样本已经改变时,执行可以进行到框606,其中实施设计表征工具的计算系统可以重置drought计数器。drought计数器可以存储与已被模拟的样本的数量对应的数量,而不使所识别的尾部样本改变。然后,执行可以返回到块601,其中实施设计表征工具的计算系统可以利用附加样本来模拟标准单元设计。
当所识别的样本没有改变时,执行可以进行到框605,其中实施设计表征工具的计算系统可以使drought计数器递增。drought计数器的递增可以指示使用其中一个样本的最近模拟没有对所识别的尾部样本产生变化。
在框607中,实施设计表征工具的计算系统可以确定drought计数器值是否超过阈值。drought计数器值可以对应于自识别尾部样本的最后变化以来发生的利用不同样本对标准单元设计或对应的代理模型进行模拟的数量。当drought计数器值不超过阈值时,执行可以返回到框601,其中实施设计表征工具的计算系统可以利用附加样本来模拟标准单元设计。
当drought计数器值超过阈值时,执行可以进行到框608,实施设计表征工具的计算系统可以停止利用样本模拟标准单元设计。通过在模拟结果的极端组(例如落入结果分布的+/-2西格玛尾部中的那些模拟结果)中没有变化之后停止对标准单元设计或对应的代理模型进行类比模拟,设计表征工具可以确定对标准单元设计或标准单元设计的代理模型进行的附加模拟何时不会生成取代更极端的模拟结果组(例如这些模拟结果落入结果分布的+/-3西格玛尾部)的模拟结果。通过(例如在所有样本被模拟之前)尽早停止标准单元设计的或标准单元设计的代理模型的类比模拟,设计表征工具可以减少整体模拟时间和处理资源的消耗。例如,当试图在2000个样本中获得+/-3西格玛偏差时,设计表征工具可能能够在大约200个样本之后停止模拟,提供以量级减少的总体模拟时间,而不损害+/-3西格玛偏差确定的精度。此外,参照图5和图6描述的停止条件可以被组合或一起使用,以确定何时停止用经排序的样本来模拟标准单元设计或代理模型。
上述系统和装置可以使用专用处理器系统、微控制器、可编程逻辑设备、微处理器或其任何组合来执行本文所述的一些或全部操作。上述的一些操作可以以软件实施,而其它操作可以以硬件实施。本文描述的任何操作、过程和/或方法可以参考图示的附图由与本文描述的装置、设备和/或系统基本相似的装置、设备和/或系统执行。
处理设备可以执行存储在存储器中的指令或“代码”。存储器也可以存储数据。处理设备可以包括但不限于模拟处理器、数字处理器、微处理器、多核处理器、处理器阵列、网络处理器等。处理设备可以是集成式控制系统或系统管理器的一部分或者可以被提供为便携式电子设备,该便携式电子设备配置成通过无线传输本地或远程地与联网系统交互。
处理器存储器可以与处理设备集成在一起,例如,RAM或闪存布置在集成式电路微处理器等之中。在其它示例中,存储器可以包括独立设备,诸如外部磁盘驱动器、存储器阵列、便携式闪存(FLASH)密钥卡等。存储器和处理设备可以可操作地耦合在一起,或者例如通过I/O端口、网络连接等彼此通信,并且处理设备可以读取存储在存储器上的文件。关联的存储器可以通过许可设置而设计成“只读的”(ROM)或者不是只读的。存储器的其它示例可以包括但不限于可以以固态半导体设备实施的WORM、EPROM、EEPROM、FLASH等。其它存储器可以包括运动零件,例如已知的旋转盘驱动器。所有这些存储器可以是“机器可读的”并且可以由处理设备读取。
可以以有形形式存储的计算机软件(也称为“计算机程序”或“代码”)来实施或体现操作指令或命令。程序或代码可以存储在数字存储器中并且可以由处理设备读取。“计算机可读存储介质”(或可替代地,“机器可读存储介质”)可以包括所有上述类型的存储器以及未来新技术的存储器,只要存储器能够至少暂时地以计算机程序或其他数据的性质存储数字信息,并且只要所存储的信息可以由适当的处理设备“读取”即可。“计算机可读”并不限于历史使用的“计算机”来暗示完整的大型机、小型计算机、台式机甚至膝上型计算机。相反,“计算机可读”可包括可由处理器、处理设备或任何计算系统可读取的存储介质。这种介质可以是可由计算机或处理器本地和/或远程访问的任何可用介质,并且可以包括易失性和非易失性介质,以及可移动和不可移动介质,或其任何组合。
存储在计算机可读存储介质中的程序可以包括计算机程序产品。例如,存储介质可以用作存储或传输计算机程序的便捷手段。为了方便起见,可以将操作描述为各种互连或耦合的功能块或图。然而,可能存在这些功能块或图可以等效地聚集到具有不清楚边界的单个逻辑设备、程序或操作中的情况。
结论
虽然本申请描述了实施本发明的实施例的具体示例,但是本领域的技术人员将理解,存在落入所附权利要求中阐述的本发明的精神和范围的上述系统和技术的许多变化和置换。例如,虽然上面已经采用特定术语来指代设计过程,但是应当理解,可以使用电子设计自动化过程的任何期望的组合来实施本发明的各种示例。
本领域的技术人员还将认识到,可以以许多其他方式将本文所教导的概念定制为特定应用。特别地,本领域技术人员将认识到,所示出的示例只是在阅读本公开时变得明了的许多可替代实施方式中的一种。
尽管说明书可以在多个位置引用“一”、“一个”“另一个”或“一些”示例,但这并不一定意味着每个这种引用都是对相同示例的引用或者特征仅适用于单个示例。
Claims (20)
1.一种方法,包括:
通过计算系统对描述电路设计所描述的集成电路的制造变异的值的分布进行采样;
通过所述计算系统利用所述值的分布的样本来模拟所述电路设计;
通过所述计算系统确定在来自所述分布的所有样本已用于所述模拟之前,何时停止对所述电路设计的模拟;以及
通过所述计算系统利用所述模拟的结果来对所述电路设计的操作变异到所述值的分布中描述的所述制造变异进行表征。
2.根据权利要求1所述的方法,进一步包括:
通过所述计算系统预测所述电路设计的输出,所述电路设计的输出设置有所述值的分布的样本中的特性;以及
通过所述计算系统基于所述电路设计的所预测输出对所述样本进行排序,其中对所述电路设计的模拟根据所述样本的顺序进行。
3.根据权利要求1所述的方法,其中,所述确定何时停止对所述电路设计的模拟进一步包括:
估计对剩余待模拟样本的模拟值的上边界;以及
当对当前样本组的模拟结果超过所估计的对所述剩余待模拟样本的模拟值的上边界时,停止对所述电路设计的模拟。
4.根据权利要求1所述的方法,其中,所述确定何时停止对所述电路设计的模拟进一步包括:
在对所述电路设计的每次模拟之后,识别哪些样本具有落入所述模拟结果的尾部中的对应模拟值;以及
在已产生预定次数的模拟而不改变识别哪些样本具有落入所述模拟结果的尾部中的对应模拟值drought停止条件之后,停止所述模拟。
5.根据权利要求1所述的方法,进一步包括:通过所述计算系统,通过用训练样本组模拟所述电路设计来生成所述电路设计的代理模型,其中模拟所述电路设计包括利用所述值的分布的样本来模拟所述电路设计的所述代理模型。
6.根据权利要求1所述的方法,进一步包括:利用对所述电路设计的所述操作变异的表征来执行对所述电路设计的静态时序分析。
7.根据权利要求1所述的方法,其中,所述值的分布包括在所述电路设计所描述的所述集成电路的制造过程期间产生参数值的概率分布。
8.一种系统,包括:
存储器系统,其被配置来存储计算机可执行指令;和
计算系统,其响应于执行所述计算机可执行指令而被配置成:
对描述电路设计所描述的集成电路的制造变异的值的分布进行采样;
利用所述值的分布的样本来模拟所述电路设计;
确定在来自所述分布的所有样本已用于所述模拟之前,何时停止对所述电路设计的模拟;以及
利用所述模拟的结果来对所述电路设计的操作变异到所述值的分布中描述的制造变异进行表征。
9.根据权利要求8所述的系统,其中,所述计算系统响应于执行所述计算机可执行指令而进一步被配置来:
预测所述电路设计的输出,所述电路设计的输出设置有所述值的分布的样本中的特性;以及
基于所述电路设计的所预测输出对所述样本进行排序,其中对所述电路设计的所述模拟根据所述样本的顺序进行。
10.根据权利要求8所述的系统,其中,所述计算系统响应于执行所述计算机可执行指令而进一步被配置成通过以下步骤确定何时停止对所述电路设计的模拟:
估计对剩余待模拟样本的模拟值的上边界;以及
当对当前样本组的模拟结果超过所估计的对所述剩余待模拟样本的模拟值的上边界时,停止对所述电路设计的模拟。
11.根据权利要求8所述的系统,其中,所述计算系统响应于执行所述计算机可执行指令而进一步被配置成通过以下步骤确定何时停止对所述电路设计的模拟:
在对所述电路设计的每次模拟之后,识别哪些样本具有落入所述模拟结果的尾部中的对应模拟值;以及
在已产生预定次数的模拟而不改变识别哪些样本具有落入所述模拟结果的尾部中的对应模拟值drought停止条件之后,停止所述模拟。
12.根据权利要求8所述的系统,其中,所述计算系统响应于执行所述计算机可执行指令而进一步被配置来:
通过用训练样本组模拟电路设计来生成所述电路设计的代理模型;以及
利用所述值的分布的样本来模拟所述电路设计的所述代理模型。
13.根据权利要求8所述的系统,其中,所述计算系统响应于执行所述计算机可执行指令而进一步被配置成利用对所述电路设计的所述操作变异的表征来执行对所述电路设计的静态时序分析。
14.一种包括存储指令的至少一个计算机可读存储器设备的装置,所述指令被配置成使一个或多个处理设备执行操作,所述操作包括:
通过计算系统对描述电路设计所描述的集成电路的制造变异的值的分布进行采样;
通过所述计算系统利用所述值的分布的样本来模拟所述电路设计;
通过所述计算系统确定在来自所述分布的所有样本已用于所述模拟之前,何时停止对所述电路设计的模拟;以及
通过所述计算系统利用所述模拟的结果来对所述电路设计的操作变异到所述值的分布中描述的所述制造变异进行表征。
15.根据权利要求14所述的装置,其中,所述指令被配置成使所述一个或多个处理设备执行操作,所述操作进一步包括:
预测所述电路设计的输出,所述电路设计的输出设置有所述值的分布的样本中的特性;以及
基于所述电路设计的所预测输出对所述样本排序,其中对所述电路设计的模拟根据所述样本的顺序进行。
16.根据权利要求14所述的装置,其中,所述确定何时停止对所述电路设计的模拟进一步包括:
估计对剩余待模拟样本的模拟值的上边界;以及
当对当前样本组的模拟结果超过所估计的对所述剩余待模拟样本的模拟值的上边界时,停止对所述电路设计的模拟。
17.根据权利要求14所述的装置,其中,所述确定何时停止对所述电路设计的模拟进一步包括:
在对所述电路设计的每次模拟之后,识别哪些样本具有落入所述模拟结果的尾部中的对应模拟值;以及
在已产生预定次数的模拟而不改变识别哪些样本具有落入所述模拟结果的尾部中的对应模拟值drought停止条件之后,停止所述模拟。
18.根据权利要求14所述的装置,其中,所述指令被配置成使所述一个或多个处理设备执行操作,所述操作进一步包括:通过用训练样本组模拟所述电路设计来生成所述电路设计的代理模型,其中模拟所述电路设计包括利用所述值的分布的样本来模拟所述电路设计的所述代理模型。
19.根据权利要求14所述的装置,其中,所述指令被配置成使所述一个或多个处理设备执行操作,所述操作进一步包括利用对所述电路设计的所述操作变异的表征来执行对所述电路设计的静态时序分析。
20.根据权利要求14所述的装置,其中,所述值的分布包括在所述电路设计所描述的所述集成电路的制造过程期间产生参数值的概率分布。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2021/022112 WO2022191852A1 (en) | 2021-03-12 | 2021-03-12 | Variability characterization with truncated ordered sample simulation |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117413274A true CN117413274A (zh) | 2024-01-16 |
Family
ID=75377858
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202180095619.3A Pending CN117413274A (zh) | 2021-03-12 | 2021-03-12 | 利用缩减的经排序的样本模拟进行变异性表征 |
Country Status (4)
Country | Link |
---|---|
US (1) | US20240126966A1 (zh) |
EP (1) | EP4292009A1 (zh) |
CN (1) | CN117413274A (zh) |
WO (1) | WO2022191852A1 (zh) |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101904518B1 (ko) * | 2010-10-27 | 2018-10-04 | 솔리도 디자인 오토메이션 인코퍼레이티드 | 희귀 불량 현상을 식별하기 위한 방법 및 시스템 |
-
2021
- 2021-03-12 CN CN202180095619.3A patent/CN117413274A/zh active Pending
- 2021-03-12 EP EP21716573.7A patent/EP4292009A1/en active Pending
- 2021-03-12 US US18/277,147 patent/US20240126966A1/en active Pending
- 2021-03-12 WO PCT/US2021/022112 patent/WO2022191852A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
WO2022191852A1 (en) | 2022-09-15 |
EP4292009A1 (en) | 2023-12-20 |
US20240126966A1 (en) | 2024-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10353789B1 (en) | Analog fault simulation control with multiple circuit representations | |
US10775430B2 (en) | Fault campaign in mixed signal environment | |
US11036604B2 (en) | Parallel fault simulator with back propagation enhancement | |
US8037447B2 (en) | Identifying semiconductor system specification violations | |
US9824169B2 (en) | Regression signature for statistical functional coverage | |
US10635767B2 (en) | Glitch detection at clock domain crossing | |
US9477805B2 (en) | Logical equivalency check with dynamic mode change | |
US9477806B2 (en) | System-level analysis with transactions from protocol probes | |
US9483594B2 (en) | Reset verification | |
US10614193B2 (en) | Power mode-based operational capability-aware code coverage | |
US9811617B2 (en) | Regression nearest neighbor analysis for statistical functional coverage | |
JP5040625B2 (ja) | Lsiの電力見積方法及びその装置 | |
CN117413274A (zh) | 利用缩减的经排序的样本模拟进行变异性表征 | |
US20230048929A1 (en) | Parallel simulation qualification with performance prediction | |
US20230069588A1 (en) | Variant model-based compilation for analog simulation | |
US11868693B2 (en) | Verification performance profiling with selective data reduction | |
US20230315964A1 (en) | Design aware adaptive mixed-signal simulation | |
CN117882078A (zh) | 通过分位数抽样对制造变异性特性进行分布估计 | |
US11361142B2 (en) | Estimating integrated circuit yield from modeled response to scaling of distribution samples | |
US9910943B2 (en) | Distributed state and data functional coverage | |
US11017139B1 (en) | Concolic equivalence checking | |
WO2023022705A1 (en) | Metadata prediction for product design | |
US11334702B1 (en) | Mixed-signal simulation for complex design topologies | |
US10380296B2 (en) | Connecting designs in mixed language environments | |
WO2024025601A1 (en) | Static clock identification for functional simulation |
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 |