仿真系统及其方法和包括所述仿真系统的计算机系统的制作方法
【专利摘要】公开了一种仿真系统及其方法和包括所述仿真系统的计算机系统。在所述仿真系统和方法中,仿真包括:当输入的标称点(NP)的函数值是第一值时,对输入运行第一仿真;当输入的NP的函数值是不同于第一值的第二值时,对输入运行第二仿真。这里,运行第二仿真的步骤可包括:(a)将第二值的输入分布的边界设置为第一分布值;(b)在设置的输入分布的边界内产生输入采样;(c)在移动输入分布的边界的同时重复地执行步骤(a)至(b)来获得输入的最坏情况点(WCP),直到输入分布的边界达到最小临界值。
【专利说明】仿真系统及其方法和包括所述仿真系统的计算机系统
[0001]本申请要求在2013年5月27日提交到韩国知识产权局的第10-2013-0059878号韩国专利申请的优先权。
【技术领域】
[0002]本发明构思的实施例涉及一种仿真系统及其方法和包括所述仿真系统的计算系统。
【背景技术】
[0003]当系统(例如,传递函数)具有超过预定水平的相关复杂度时,对输入与输出关系的解释对于理解系统而言是关键的。可通过在测量输入分布时分析给定输出(通过、失败)的概率以用于解释系统,来使用仿真而不需要实际的物理系统的实施例来分析真实系统的可靠性。
[0004]然而,随着系统的复杂度增加,针对仿真需要的计算资源以及时间和成本会显著增加。在一些情况下,即使通过超级计算,在一年的时间跨度内也可能无法获得仿真结果。例如,当要分析的分布的范围相对于中心值大于或等于6 σ时,可能需要几十亿次仿真。
【发明内容】
[0005]本发明构思的实施例提供一种具有提高的对输入进行分析的速度和提高的可靠性的仿真系统。
[0006]本发明构思的实施例还提供一种具有提高的对输入进行分析的速度和提高的可靠性的仿真方法。
[0007]本发明构思的实施例还提供一种包括所述仿真系统的计算机系统。
[0008]本发明构思的这些和其他目的将在下面对实施例的描述中被描述或者从下面对实施例的描述中是显然的。
[0009]根据本发明构思的一方面,提供一种使用包括一个或更多个处理器的计算机系统的仿真方法,所述仿真方法包括:当输入的标称点(NP)的函数值是第一值时,对输入运行第一仿真;当输入的NP的函数值是不同于第一值的第二值时,对输入运行第二仿真,其中,运行第二仿真的步骤包括:(a)将第二值的输入分布的边界设置为第一分布值;(b)在设置的输入分布的边界内产生输入米样;(C)通过对产生的输入米样执行机器学习来获得输入的最坏情况点(WCP) ;(d)在移动输入分布的边界的同时重复地执行步骤(a)至(C),直到输入分布的边界达到最小临界值。
[0010]在一些实施例中,第一仿真包括蒙特卡罗仿真。
[0011 ] 在一些实施例中,第二仿真包括重要性采样。
[0012]在一些实施例中,在设置的输入分布的边界内产生输入采样的步骤包括:使用均匀分布采样在设置的输入分布的边界内产生输入采样。
[0013]在一些实施例中,第一值对应于失败条件,并且其中,第二值对应于通过条件。
[0014]根据本发明构思的一方面,提供一种使用包括一个或更多个处理器的计算机系统的仿真方法,所述仿真方法包括:(a)将输入分布的边界设置为第一分布值;(b)在设置的输入分布的边界内产生输入采样;(C)获得各个产生的输入采样的函数值;(d)通过对各个产生的输入采样执行机器学习来获得边界平面;(e)在边界平面上确定输入的最坏情况点(WCP) ; (f)在移动输入分布的边界的同时重复地执行步骤(a)至(e),直到输入分布的边界达到最小临界值。
[0015]在一些实施例中,移动输入分布的边界的步骤包括:将输入分布的边界从第一分布值改变为第二分布值。
[0016]在一些实施例中,第二分布值小于第一分布值。
[0017]在一些实施例中,最小临界值、第一分布值和第二分布值中的至少一个是能够由用户设置的值。
[0018]在一些实施例中,在设置的输入分布的边界内产生输入采样的步骤包括:使用均匀分布采样在设置的输入分布的边界内产生输入采样。
[0019]在一些实施例中,通过对输入采样和函数值执行机器学习来获得边界平面的步骤包括:使用支持向量机(SVM)获得边界平面。
[0020]在一些实施例中,在边界平面上确定输入的WCP的步骤包括:使用进化算法(EA)确定WCP。
[0021]根据本发明构思的另一方面,提供一种仿真系统,包括:主仿真模块,基于提供的分布的中心运行仿真操作;确定模块,当输入的标称点(NP)的函数值是第一值时,将输入的零点(ZP)提供给主仿真模块,当输入的NP的函数值是不同于第一值的第二值时,对输入运行第二仿真;最坏情况点(WCP)确定模块,通过重复地执行在移动第二值的输入分布的边界的同时在设置的输入分布的边界内产生输入采样的操作来获得输入的WCP,并将获得的WCP提供给主仿真模块。
[0022]在一些实施例中,仿真操作包括蒙特卡罗仿真。
[0023]在一些实施例中,在设置的输入分布的边界内产生输入采样的操作包括:使用均匀分布采样在设置的输入分布的边界内产生输入采样。
[0024]在一些实施例中,WCP确定模块通过重复地执行在移动第二值的输入分布的边界的同时在设置的输入分布的边界内产生输入采样的操作来获得输入的WCP的操作包括:(a)将第二值的输入分布的边界设置为第一分布值;(b)在设置的输入分布的边界内产生输入采样;(C)获得各个产生的输入采样的函数值;(d)通过对各个产生的输入采样执行机器学习来获得边界平面;(e)在边界平面上确定输入的最坏情况点(WCP) ;(f)在移动输入分布的边界的同时重复地执行步骤(a)至(e),直到输入分布的边界达到最小临界值。
[0025]在一些实施例中,移动输入分布的边界的操作包括:将输入分布的边界从第一分布值改变为第二分布值。
[0026]在一些实施例中,第二分布值小于第一分布值。
[0027]在一些实施例中,最小临界值、第一分布值和第二分布值中的至少一个是能够由用户设置的值。
[0028]在一些实施例中,通过对输入采样和函数值执行机器学习来获得边界平面的操作包括:使用支持向量机(SVM)获得边界平面。
[0029]在一些实施例中,WCP确定模块使用进化算法(EA)在边界平面上确定输入的WCP。
[0030]在一些实施例中,主仿真模块、确定模块和WCP确定模块由一个或更多个处理器驱动。
[0031 ] 在一些实施例中,第一值对应于失败条件,并且其中,第二值对应于通过条件。
[0032]根据本发明构思的一方面,提供一种计算机系统,包括:一个或更多个处理器;存储单元,存储用于使用处理器执行针对输入的仿真的程序代码,其中,当输入的标称点(NP)的函数值是第一值时,对输入运行第一仿真,当输入的NP的函数值是不同于第一值的第二值时,对输入运行第二仿真,运行第二仿真的操作包括:(a)将第二值的输入分布的边界设置为第一分布值;(b)在设置的输入分布的边界内产生输入米样;(C)通过对产生的输入米样执行机器学习来获得输入的最坏情况点(WCP) ;(d)在移动输入分布的边界的同时重复地执行步骤(a)至(C),直到输入分布的边界达到最小临界值。
[0033]在一些实施例中,第一仿真包括蒙特卡罗仿真,第二仿真包括重要性采样。
[0034]在一些实施例中,移动输入分布的边界的操作包括:将输入分布的边界从第一分布值改变为第二分布值,在设置的输入分布的边界内产生输入采样的操作包括:使用均匀分布采样在设置的输入分布的边界内产生输入采样。
[0035]在一些实施例中,第二分布值小于第一分布值。
[0036]在一些实施例中,第一值对应于失败条件,并且其中,第二值对应于通过条件。
[0037]根据本发明构思的另一方面,提供一种用于包括一个或更多个处理器的计算机系统的仿真方法,所述仿真方法包括:基于提供的输入分布执行作为第一仿真和第二仿真之一的主仿真;在输入分布的标称点的函数值是第一值的情况下,将输入分布的零点(ZP)提供给主仿真,并且主仿真响应于此而执行第一仿真;在输入分布的标称点的函数值是不同于第一值的第二值的情况下,通过重复地执行在移动输入分布的边界的同时在设置的输入分布的边界内产生输入米样的操作来执行针对输入分布的最坏情况点(WCP)确定,将确定的最坏情况点(WCP)值提供给主仿真,并且主仿真响应于此而执行第二仿真。
[0038]在一些实施例中,执行最坏情况点确定的步骤还包括:(a)将输入分布的边界设置为第一分布值;(b)在设置的输入分布的边界内产生输入米样;(C)获得各个产生的输入采样的函数值;(d)通过对各个产生的输入采样执行机器学习来获得边界平面;(e)在边界平面上确定输入的最坏情况点(WCP) ;(f)在移动输入分布的边界的同时重复地执行步骤(a)至(e),直到输入分布的边界达到最小临界值。
[0039]在一些实施例中,移动输入分布的边界的步骤包括:将输入分布的边界从第一分布值改变为第二分布值。
[0040]在一些实施例中,第二分布值小于第一分布值。
[0041]在一些实施例中,最小临界值、第一分布值和第二分布值中的至少一个是能够由用户设置的值。
[0042]在一些实施例中,在设置的输入分布的边界内产生输入采样的步骤包括:使用均匀分布采样在设置的输入分布的边界内产生输入采样。
[0043]在一些实施例中,通过对输入采样和函数值执行机器学习来获得边界平面的步骤包括:使用支持向量机(SVM)获得边界平面。
[0044]在一些实施例中,在边界平面上确定输入的WCP的步骤包括:使用进化算法(EA)确定WCP。
[0045]在一些实施例中,第一仿真包括蒙特卡罗仿真。
[0046]在一些实施例中,第二仿真包括重要性采样。
【专利附图】
【附图说明】
[0047]通过参照附图详细描述本发明构思的实施例,本发明构思的上述和其他特征和优点将变得更加清楚,在附图中:
[0048]图1是根据本发明构思的一些实施例的仿真系统的框图;
[0049]图2是图1中示出的仿真系统的详细框图;
[0050]图3是用于解释根据本发明构思的一些实施例的仿真方法的流程图;
[0051]图4A、图4B、图5、图6、图7、图8、图9A至图9D以及图10示出根据本发明构思的一些实施例的仿真方法;以及
[0052]图11示出采用根据本发明构思的一些实施例的仿真系统的示例性计算系统。
【具体实施方式】
[0053]可通过参照附图和下面对实施例的详细描述更加容易地理解本发明构思的优点和特征以及完成本发明构思的方法。然而,本发明构思可以以许多不同形式实现并且不应被解释为限于这里阐述的实施例。相反,提供这些实施例,使得本公开将是彻底和完整的,并且这些实施例将向本领域的技术人员充分传达本发明构思的范围,并且本发明构思将仅由权利要求限定。在附图中,为了清楚而夸大层和区域的厚度。
[0054]将理解的是,当元件或层被称为“在”另一元件或层“上”或者“连接到”另一元件或层时,该元件或层可直接在另一元件或层上或直接连接到另一元件或层,或者可存在中间元件或层。相反,当元件被称为“直接在”另一元件或层“上”或者“直接连接到”另一元件或层时,不存在中间元件或层。相似的标号始终表示相似的元件。如这里使用的,术语“和/或”包括相关联列出项中的一个或更多个的任何和所有组合。
[0055]在描述本发明构思的上下文中(尤其在权利要求的上下文中)的术语“一个”和“所述”及类似指示物的使用应被解释为涵盖单数和复数两者,除非这里另外指示或者上下文明显地矛盾。术语“包括”、“具有”和“包含”应被解释为开放式术语(即,表示“包括但不限于”),除非另外注解。
[0056]将理解的是,虽然术语“第一”、“第二”等在这里可用于描述各种元件,但是这些元件不应受这些术语限制。这些术语仅用于区分一个元件与另一元件。因此,例如,在不脱离本发明构思的教导的情况下,下面论述的第一元件、第一组件或第一部分可被命名为第二元件、第二组件或第二部分。
[0057]除非另外定义,否则这里使用的所有技术和科学术语具有与本发明构思所属领域的普通技术人员通常理解的含义相同的含义。注意的是,除非另外指定,否则对这里提供的任何示例和所有示例或示例性术语的使用仅意图更好地说明本发明构思,而不是对本发明构思的范围的限制。此外,除非另外定义,否则在通用字典中定义的所有术语不可被过度解释。
[0058]图1是根据本发明构思的一些实施例的仿真系统的框图,图2是图1中示出的仿真系统的详细框图。
[0059]参照图1,具有任意平均值(μ )和偏差(σ )的η个输入Xl至Xn (这里,η是自然数)可被提供给根据本发明构思的一些实施例的仿真系统100。所述η个输入可以是分析特定电路所需的η个输入参数。
[0060]例如,如果根据本发明构思的一些实施例的仿真系统100是用于分析动态随机存取存储器(DRAM)单元的产率的系统,则如图1中所示,用于确定DRAM单元的特性的多个参数(例如,网表、特征值等)和具有任意平均值(μ )和偏差(σ )的η个输入Xl至Xn可被提供给仿真系统100。η个输入Xl至Xn的示例可包括例如单元晶体管(CTR)的栅极氧化膜的厚度、阈值电压等,但是本发明构思的多个方面不限于此。
[0061]同时,仿真系统100对η个输入Xl至Xn执行仿真,结果值y可被表示在下面的等式⑴中:
[0062]y = f (x) (I)
[0063]这里,输入Xl至Xn通过传递函数(f)推导出结果值y,并且结果值y是实数。为了定义结果值y表示通过状态还是失败状态,指示函数I (y)被定义为如下面的等式(2)所示,通过等式(2)计算指示函数值和一组要分析的特征值的概率:
[0064]/(.V)-1 1J''⑵
[-1,7 ^ F
[0065]其中,F表示一组失败状态,指示函数I (y)的函数值I表示失败状态,指示函数I(y)的函数值-1表示通过状态。
[0066]也就是说,仿真系统100可基于η个输入Xl至Xn输出DRAM单元的失败概率(P)。除非另外定义,否则这里使用的术语“函数值”将被理解为指示函数值,但是本发明构思的多个方面不限于此。
[0067]仿真系统100可包括确定模块110、最坏情况点(WCP)搜索模块120和主仿真模块140。
[0068]如这里使用的,“单元”或“模块”可表示执行预定功能的软件元件或硬件元件(诸如场可编程门阵列(FPGA)或专用集成电路(ASIC))或者二者。然而,单元或模块不必具有限于软件或硬件的含义。模块可被构造为在一些实施例中被存储在可寻址存储介质中或者在一些实施例中执行一个或更多个处理器或者二者。因此,模块包括例如软件元件、面向对象的软件元件、类元件或任务元件、进程、功能、属性、程序、子例程、程序代码段、驱动器、固件、微代码、电路、数据、数据库、数据结构、表、阵列和参数。模块所提供的元件和功能可被组合为更少数量的元件或模块或者被划分为更大数量的元件或模块。
[0069]确定模块110可根据输入Xi的标称点(NP)的指示函数值I (Xi)的值来确定输入(Xi) (XI彡Xi彡Xn)的仿真方法。更详细地讲,当输入Xi的NP的指示函数值I (XiNP)(这里,在本实施例中,NP值可以是例如输入Xi的平均值(μ i))是第一值(例如,I)时,确定模块110可将输入Xi (XI彡Xi彡Xn)的零点(ZP)提供给主仿真模块140以考虑ZP执行对于输入Xi (XI彡Xi彡Xn)的主仿真。当输入Xi的NP的指示函数值I (XiNP)是第二值(例如,-1)时,确定模块110可将输入Xi提供给WCP搜索模块120以搜索输入Xi的WCP。
[0070]当任意输入Xi的NP对应于例如失败状态时,即,当指示函数值I (XiNP)是I时,即使通过相对小量的采样也可能产生足够大量的失败输入Xi。然而,当任意输入Xi的NP对应于例如通过状态时,即,当指示函数值I (XiNP)是-1时,可能无法知道需要运行多少采样来产生多个失败输入Xi。在极端情况下,例如,如果失败输入Xi的分布相对于NP大于或等于6σ,则应当运行380/ζ(-6) ( = 3.85 X 111)次采样或仿真。
[0071]因此,根据本发明构思的一些实施例的仿真系统100包括确定模块110,确定模块110被构造为根据输入Xi的标称点(NP)的指示函数值I(Xi)的值来确定用于输入(Xi)的仿真方法,可避免这样的需要运行大量采样的极端情况。也就是说,由于确定模块110可根据输入Xi的输入分布TOF(Xi)不同地确定用于输入Xi的仿真方法,因此可避免运行仿真的次数急剧增加的情况。因此,可提高仿真系统100的整体分析速度。
[0072]WCP搜索模块120可被构造为通过在移动输入Xi的输入分布的边界的同时在设置的输入分布的边界内重复地执行产生输入采样的操作来获得输入Xi的WCP,并可将获得的WCP提供给主仿真模块140。在本发明构思的一些实施例中,为了精确地搜索输入Xi的WCP, WCP搜索模块120可在减小输入Xi的分布边界的同时重复地执行在设置的输入分布的边界内产生输入采样的操作。以这种方式,如果在设置的输入分布的边界内产生输入采样的操作在减小输入Xi的分布边界的同时被重复地执行,则可更加精确地搜素输入Xi的WCP,这里将对此进行进一步详细的描述。
[0073]同时,在本发明构思的一些实施例中,由WCP搜索模块120运行的采样可包括例如这里还将进一步详细描述的均匀分布采样。
[0074]主仿真模块140可被构造为基于提供的分布中心(例如,输入Xi的ZP或WCP)运行预定仿真。这里,预定仿真可包括例如蒙特卡罗仿真。也就是说,主仿真模块140可通过对输入Xi执行蒙特卡罗仿真来输出存在特定函数值(例如,-1)的概率P。同时,当获得了提供的输入Xi的WCP时,主仿真模块140考虑在搜索WCP的过程中产生的校准系数(W)来对输入Xi运行蒙特卡罗仿真。这里将进一步详细地描述主仿真模块140。
[0075]在下文中,将参照图3至图10描述根据本发明构思的一些实施例的仿真系统和方法。
[0076]图3是用于解释根据本发明构思的一些实施例的仿真方法的流程图,图4Α至图10示出根据本发明构思的一些实施例的仿真方法。
[0077]首先,参照图3,确定输入的NP的函数值是否是失败(S100)。结果,当输入的NP的函数值对应于失败状态时,运行用于输入的主仿真(S180)。
[0078]详细地讲,参照图2,当输入分布HF (Xi)的NP的函数值I (XiNP)对应于失败状态(例如,D时,确定模块110可将零点ZP作为输入Xi的分布的中心提供给主仿真模块140。作为响应,在一些实施例中,主仿真模块140可基于提供的分布的中心来对输入Xi运行例如蒙特卡罗仿真。
[0079]更具体地讲,当输入(Xj、Xk)的NP的函数值对应于如图4A中所示的失败状态时,确定模块110可将ZP作为输入(Xj、Xk)的分布的中心提供给主仿真模块140,并且主仿真模块140可对输入(Xj、Xk)运行例如蒙特卡罗仿真。
[0080]在本发明构思的一些实施例中,输入(X1、Xk)的标称点NP和输入(X1、Xk)的零点ZP可彼此相等,但是本发明构思的多个方面不限于此。在修改的实施例中,输入(X1、Xk)的NP和输入(X1、Xk)的ZP可彼此不同。
[0081]图4A示出作为仿真系统100的输入的两个输入(Xj、Xk),但是本发明构思的多个方面不限于此。也就是说,图4A仅示出两个输入(Xj、Xk),然而,这仅是为了更好地理解根据本发明构思的实施例的仿真方法而提供的。与在示出的实施例中不同,提供给仿真系统100的输入的数量可以变化。例如,如果三个输入被提供给仿真系统100,则由三个输入参数形成的区域可以是立体空间,而非在图4A中示出的平面。
[0082]再次参照图3,当输入的NP的函数值对应于通过条件时,如果对输入运行蒙特卡罗仿真,则在最坏情况下,运行采样或仿真的次数可急剧增加,以不被实际处理。在此情况下,在本实施例中,可使用例如重要性采样来运行仿真。
[0083]为了实现重要性采样,确定输入(Xj、Xk)的WCP或移动矢量。因此,当输入(Xj、Xk)的NP的函数值对应于如图4B中所示的通过状态时,确定模块110可将输入(Xj、Xk)提供给WCP搜索模块120以允许WCP搜索模块120搜索输入(Xj、Xk)的WCP。在一些实施例中,WCP搜索模块120可通过下面的处理来搜索输入(Xj、Xk)的WCP。
[0084]参照图3,首先,将输入(Xj、Xk)的分布边界设置为第一分布值Si (SllO)。在本发明构思的一些实施例中,例如,8 σ可被选择为第一分布值Si,但是本发明构思的多个方面不限于此。另外,在本发明构思的一些实施例中,第一分布值Si可以是具有坐标的二维或更多维的值,但是本发明构思的多个方面不限于此。
[0085]接着,参照图3,在设置的分布边界内产生输入采样(S120)。在本发明构思的一些实施例中,可在输入采样(Xj、Xk)的产生中使用例如均匀分布采样。如果以这样的方式使用均匀分布采样产生了输入采样(Xj、Xk),则输入采样(Xj、Xk)可具有均匀分布,如图5中所示。在图5中,由三角形表示的输入采样(Xj、Xk)表示各个输入(Xj、Xk)的函数值尚未被获得,并且输入(Xj、Xk)的边界分别是-8 σ和8σ。
[0086]接着,参照图3,将传递函数应用于每个输入(Xj、Xk)并获得各个产生的输入(Xj、Xk)的函数值(S130)。详细地讲,可使用通过等式(2)给出的上述指数函数I (y)来获得各个产生的输入(Xj、Xk)的函数值。图6示出使用通过等式(2)给出的上述指数函数I (y)来获得各个产生的输入(Xj、Xk)的函数值。这里,由“ X ”表示的采样表示失败状态,即,函数值是1,由“O”表示的采样表示通过状态,即,函数值是-1。
[0087]接着,参照图3,对产生的输入采样和获得的函数值执行机器学习以获得边界平面(S140)。在本发明构思的一些实施例中,可在获得边界平面的操作中使用支持向量机(SVM)。另外,在本发明构思的一些实施例中,边界平面可以是例如曲面,但是本发明构思的多个方面不限于此。
[0088]图7示出通过使用SVM执行机器学习来获得用于定义获得的函数值的边界平面PL的实施例。尽管图7示出边界平面PL是弯曲的,但是在一些实施例中,边界平面PL可以根据获得的函数值而是线性的。在一些实施例中,如果存在比图7示出的更大数量的输入采样(Xj、Xk),则边界平面PL可以是立体(三维)平面。
[0089]接着,参照图3,在获得的边界平面上搜索输入的最坏情况点(WCP) (S150)。在本实施例中,可在在获得的边界平面PL上搜索输入(Xj、Xk)的WCP的操作中使用例如进化算法(EA)。详细地讲,参照图8,在边界平面PL上的候选点(P1、P2)中,距ΖΡ(0,0)最短的点可被选择为WCP。
[0090]再次参照图3,确定设置的输入分布的边界是否是最小临界值(S160)。结果,如果设置的输入分布的边界不在最小临界值St内,则输入分布的边界减小到第二分布值(Si/2) (S170)。之后,重复地执行上述步骤S120至S160,直到输入分布的边界达到最小临界值St。在本发明构思的一些实施例中,最小临界值St可以是有理数,但是本发明构思的多个方面不限于此。
[0091]在本发明构思的一些实施例中,输入(Xj、Xk)的分布边界的最小临界值St可被设置为σ。如所示,输入(Xj、Xk)的分布边界可逐渐减小。在下文中,将更详细地描述通过上述过程搜索WCP的处理。
[0092]首先,参照图9A,输入(Xj、Xk)的分布边界被设置为8 σ (SllO)。然后,执行上述步骤S120和S130,从而允许输入(Xj、Xk)的函数值相对于ZP (0,O)布置在8 σ内。这里,通过执行上述步骤S140和S150搜索第一 WCP (WCPl)。
[0093]接着,参照图9Β,输入(Xj、Xk)的分布边界从第一 WCP(图9A的WCP1)减小到4σ (S170),并执行上述步骤S120和S130。然后,输入(Xj、Xk)的函数值被布置在距第一WCP (图9A的WCPl)4o内。这里,通过执行上述步骤S140和S150搜索第二 WCP (WCP2)。
[0094]接着,参照图9C,输入(Xj、Xk)的分布边界从第二 WCP(图9B的WCP2)减小到2 σ (S170),并执行上述步骤S120和S130。然后,输入(Xj、Xk)的函数值被布置在距第二WCP (图9B的WCP2) 2 σ内。这里,通过执行上述步骤S140和S150搜索第三WCP (WCP3)。
[0095]接着,参照图9D,输入(Xj、Xk)的分布边界从第三WCP (图9C的WCP3)减小到σ (S170),并执行上述步骤S120和S130。然后,输入(Xj、Xk)的函数值被布置在距第三WCP (图9C的WCP3) σ内。这里,通过执行上述步骤S140和S150搜索第四WCP (WCP4)。
[0096]由于输入(Xj、Xk)的分布边界是作为最小临界值St的σ,因此搜索到的第四WCP(WCP4)是输入(Xj、Xk)的最终WCP。因此,参照图2,WCP搜索模块120将搜索到的WCP和根据输入分布的中心的移动的校准系数W提供给主仿真模块140。
[0097]在本发明构思的一些实施例中,最小临界值St、第一分布值Si和通过减小第一分布值Si所设置的第二分布值Si/2中的至少一个可由用户可选地设置。
[0098]在上述实施例中,已经示出了第二分布值Si/2从第一分布值Si减小,但是本发明构思的多个方面不限于此。在本发明构思的一些其他实施例中,第二分布值Si/2可被设置为从第一分布值Si增加。另外,在本发明构思的一些其他实施例中,第二分布值Si/2和第一分布值Si可被设置为彼此相等。在各种情况下,最小临界值St可以以多种方式被不同地设置。
[0099]返回参照图3,运行主仿真(S180)。详细地讲,接着,参照图2和图10,主仿真模块140基于搜索到的WCP针对输入(Xj、Xk)运行例如蒙特卡罗仿真。这里,可基于从WCP搜索模块120提供的校准系数W对仿真结果执行校准。
[0100]如上所述,在根据本发明构思的实施例的仿真系统和方法中,用于输入的仿真方法可考虑输入的特性而变化。详细地讲,当输入的NP的函数值对应于失败状态时,即使通过相对小量的采样也可能产生足够大量的失败输入Xi。因此,基于作为输入分布的中心的输入的ZP运行蒙特卡罗仿真。当输入的NP的函数值对应于通过状态时,为了避免急剧增加的仿真时间,使用重要性采样对输入运行仿真。因此,可根据输入的特性而防止仿真时间急剧增加。
[0101]下面的表I示出为了说明根据本发明构思的一些实施例的上述仿真系统(图1的100)的性能的目的需要根据输入的失败率而运行采样或仿真的次数的比较的实验结果。
[0102]这里,输入(I)至(5)被设置为使得输入的分布是正态分布,并且实验的可靠性水平被设置为95%。在表1中,X表示对输入(I)至(5)运行蒙特卡罗仿真的结果,Y表示对输入(I)至(5)执行根据本发明构思的一些实施例的上述仿真方法的结果,Z表示使用聚类(本发明构思的仿真方法的替代方法)的其他仿真方法的结果。
[0103]〈表1>
[0104]
【权利要求】
1.一种使用包括一个或更多个处理器的计算机系统的仿真方法,所述仿真方法包括: 当输入的标称点(NP)的函数值是第一值时,对输入运行第一仿真; 当输入的NP的函数值是不同于第一值的第二值时,对输入运行第二仿真, 其中,运行第二仿真的步骤包括: (a)将第二值的输入分布的边界设置为第一分布值; (b)在设置的输入分布的边界内产生输入米样; (C)在移动输入分布的边界的同时重复地执行步骤(a)至(b)来获得输入的最坏情况点(WCP),直到输入分布的边界达到最小临界值。
2.如权利要求1所述的仿真方法,其中,第一仿真包括蒙特卡罗仿真。
3.如权利要求2所述的仿真方法,其中,第二仿真包括重要性采样。
4.如权利要求1所述的仿真方法,其中,在设置的输入分布的边界内产生输入采样的步骤包括:使用均匀分布采样在设置的输入分布的边界内产生输入采样。
5.如权利要求1所述的仿真方法,其中,第一值对应于失败条件,并且其中,第二值对应于通过条件。
6.一种使用包括一个或更多个处理器的计算机系统的仿真方法,所述仿真方法包括: (a)将输入分布的边界设置为第一分布值; (b)在设置的输入分布的边界内产生输入米样; (C)获得各个产生的输入采样的函数值; (d)通过对各个产生的输入采样和函数值执行机器学习来获得边界平面; (e)在边界平面上确定输入的最坏情况点(WCP); (f)在移动输入分布的边界的同时重复地执行步骤(a)至(e),直到输入分布的边界达到最小临界值。
7.如权利要求6所述的仿真方法,其中,移动输入分布的边界的步骤包括:将输入分布的边界从第一分布值改变为第二分布值。
8.如权利要求7所述的仿真方法,其中,第二分布值小于第一分布值。
9.如权利要求7所述的仿真方法,其中,最小临界值、第一分布值和第二分布值中的至少一个是能够由用户设置的值。
10.如权利要求6所述的仿真方法,其中,在设置的输入分布的边界内产生输入米样的步骤包括:使用均匀分布采样在设置的输入分布的边界内产生输入采样。
11.如权利要求6所述的仿真方法,其中,通过对输入采样和函数值执行机器学习来获得边界平面的步骤包括:使用支持向量机(SVM)获得边界平面。
12.如权利要求6所述的仿真方法,其中,在边界平面上确定输入的WCP的步骤包括:使用进化算法(EA)确定WCP。
13.—种仿真系统,包括: 主仿真模块,基于提供的分布的中心运行仿真操作; 确定模块,当输入的标称点(NP)的函数值是第一值时,将输入的零点(ZP)提供给主仿真模块,当输入的NP的函数值是不同于第一值的第二值时,对输入运行第二仿真;最坏情况点(WCP)确定模块,通过重复地执行在移动第二值的输入分布的边界的同时在设置的输入分布的边界内产生输入采样的操作来获得输入的WCP,并将获得的WCP提供给主仿真模块。
14.如权利要求13所述的仿真系统,其中,仿真操作包括蒙特卡罗仿真。
15.如权利要求13所述的仿真系统,其中,WCP确定模块在设置的输入分布的边界内产生输入采样的操作包括:使用均匀分布采样在设置的输入分布的边界内产生输入采样。
16.如权利要求13所述的仿真系统,其中,WCP确定模块通过重复地执行在移动第二值的输入分布的边界的同时在设置的输入分布的边界内产生输入米样的操作来获得输入的WCP的操作包括: (a)将第二值的输入分布的边界设置为第一分布值; (b)在设置的输入分布的边界内产生输入米样; (C)获得各个产生的输入采样的函数值; (d)通过对各个产生的输入采样和函数值执行机器学习来获得边界平面; (e)在边界平面上确定输入的最坏情况点(WCP); (f)在移动输入分布的边界的同时重复地执行步骤(a)至(e),直到输入分布的边界达到最小临界值。
17.如权利要求16所述的仿真系统,其中,WCP确定模块移动输入分布的边界的操作包括:将输入分布的边界从第一分布值改变为第二分布值。
18.如权利要求17所述的仿真系统,其中,第二分布值小于第一分布值。
19.如权利要求16所述的仿真系统,其中,最小临界值、第一分布值和第二分布值中的至少一个是能够由用户设置的值。
20.如权利要求16所述的仿真系统,其中,WCP确定模块通过对输入采样和函数值执行机器学习来获得边界平面的操作包括:使用支持向量机(SVM)获得边界平面。
21.如权利要求16所述的仿真系统,其中,WCP确定模块使用进化算法(EA)在边界平面上确定输入的WCP。
22.如权利要求13所述的仿真系统,其中,主仿真模块、确定模块和WCP确定模块由一个或更多个处理器驱动。
23.如权利要求13所述的仿真系统,其中,第一值对应于失败条件,并且其中,第二值对应于通过条件。
24.—种计算机系统,包括: 存储单元,存储用于使用处理器执行针对输入的仿真的程序代码; 一个或更多个处理器,执行存储的程序代码, 其中,当执行存储的程序代码时,所述一个或更多个处理器执行如下操作: 当输入的标称点(NP)的函数值是第一值时,对输入运行第一仿真,当输入的NP的函数值是不同于第一值的第二值时,对输入运行第二仿真,运行第二仿真的操作包括: (a)将第二值的输入分布的边界设置为第一分布值; (b)在设置的输入分布的边界内产生输入米样; (C)在移动输入分布的边界的同时重复地执行步骤(a)至(b)来获得输入的最坏情况点(WCP),直到输入分布的边界达到最小临界值。
25.如权利要求24所述的计算机系统,其中,第一仿真包括蒙特卡罗仿真,第二仿真包括重要性采样。
26.如权利要求24所述的计算机系统,其中,所述一个或更多个处理器移动输入分布的边界的操作包括:将输入分布的边界从第一分布值改变为第二分布值,并且所述一个或更多个处理器在设置的输入分布的边界内产生输入采样的操作包括:使用均匀分布采样在设置的输入分布的边界内产生输入米样。
27.如权利要求26所述的计算机系统,其中,第二分布值小于第一分布值。
28.如权利要求24所述的计算机系统,其中,第一值对应于失败条件,并且其中,第二值对应于通过条件。
29.一种用于包括一个或更多个处理器的计算机系统的仿真方法,所述仿真方法包括: 基于提供的输入分布执行作为第一仿真和第二仿真之一的主仿真; 在输入分布的标称点的函数值是第一值的情况下,将输入分布的零点(ZP)提供给主仿真,并且主仿真响应于此而执行第一仿真; 在输入分布的标称点的函数值是不同于第一值的第二值的情况下,通过重复地执行在移动输入分布的边界的同时在设置的输入分布的边界内产生输入采样的操作来执行针对输入分布的最坏情况点(WCP)确定,将确定的最坏情况点(WCP)值提供给主仿真,并且主仿真响应于此而执行第二仿真。
30.如权利要求29所述的仿真方法,其中,执行最坏情况点确定的步骤还包括: (a)将输入分布的边界设置为第一分布值; (b)在设置的输入分布的边界内产生输入米样; (C)获得各个产生的输入采样的函数值; (d)通过对各个产生的输入采样和函数值执行机器学习来获得边界平面; (e)在边界平面上确定输入的最坏情况点(WCP); (f)在移动输入分布的边界的同时重复地执行步骤(a)至(e),直到输入分布的边界达到最小临界值。
【文档编号】G06F9/455GK104182268SQ201410213272
【公开日】2014年12月3日 申请日期:2014年5月20日 优先权日:2013年5月27日
【发明者】李珍宁, 韩昌虎 申请人:三星电子株式会社