CN101681392A - 由覆盖属性所导引的受约束的随机仿真覆盖收敛 - Google Patents

由覆盖属性所导引的受约束的随机仿真覆盖收敛 Download PDF

Info

Publication number
CN101681392A
CN101681392A CN200980000245A CN200980000245A CN101681392A CN 101681392 A CN101681392 A CN 101681392A CN 200980000245 A CN200980000245 A CN 200980000245A CN 200980000245 A CN200980000245 A CN 200980000245A CN 101681392 A CN101681392 A CN 101681392A
Authority
CN
China
Prior art keywords
fsa
emulation
input stimulus
circuit
input
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.)
Granted
Application number
CN200980000245A
Other languages
English (en)
Other versions
CN101681392B (zh
Inventor
E·塞尔尼
S·A·杜达尼
W·R·迪弗雷纳
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 CN101681392A publication Critical patent/CN101681392A/zh
Application granted granted Critical
Publication of CN101681392B publication Critical patent/CN101681392B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

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)
  • Tests Of Electronic Circuits (AREA)

Abstract

本发明的一个实施例提供一种系统,其通过对电路设计的输入激励进行偏置以满足该电路设计要验证的一个或多个时间覆盖属性来验证电路设计。该系统执行仿真,在所述仿真中随机输入激励被应用到该电路设计。系统通过使用时间覆盖属性的有限状态自动机(FSA)实例来观察电路的输入和输出,以及通过使用与FSA实例相关联的软约束对电路设计的输入激励进行偏置从而该仿真有可能前进穿过满足该时间覆盖属性的状态的序列来执行该仿真。

Description

由覆盖属性所导引的受约束的随机仿真覆盖收敛
技术领域
本发明一般涉及用于验证电路设计的正确性的技术。更为特别地,本发明涉及一种用于基于时间覆盖属性来偏置随机输入激励的实现覆盖收敛的输入矢量生成技术。
背景技术
半导体制造技术的发展使得每个半导体器件中的晶体管数目急剧增加。晶体管数的这种增加使得计算机架构能够创建具有不断增加的设计复杂度的数字电路设计。结果,随着数字电路设计变得越来越复杂,用来验证其实现的正确性所需的努力也变得越来越复杂。
为了验证电路设计的功能,电路设计验证组通常施加随机输入激励到被验证的电路设计(DUV)上以仿真该DUV,并将来自仿真的响应与期望响应作比较。针对随机输入激励来仿真DUV是一个随机过程,其依赖于大量的输入矢量以获得对DUV的行为的合理覆盖。然而,随着电路设计变得越来越复杂,随机输入激励在覆盖DUV的重要边界(corner case)方面变得效率较差。
电路设计验证组已尝试将测试选择过程引导向有效覆盖DUV的重要边界。在这么做时,他们已经尝试使用这样的方法,其使用设计者的指令、作为补充约束的SystemVerilog覆盖组(covergroup)中的未覆盖仓、基因算法、用户提供的附加约束、以及贝叶斯网络或马尔科夫链。遗憾地是,这些方法中的任何一个都没有提供完整且自动的用于朝着获得覆盖收敛(closure)的方向来偏置随机输入激励的解决方法。
因此,需要更为有效的技术用于将输入激励导引向被验证的电路设计的重要情形。
发明内容
本发明的一个实施例提供一种系统,其通过偏置电路设计的输入激励以满足该电路设计要验证的一个或多个时间覆盖属性来验证电路设计。在工作期间,该系统执行仿真,在仿真中随机输入激励被应用到该电路设计。系统通过下述方式来执行仿真:使用针对时间覆盖属性的有限状态自动机(FSA)实例来观察电路的输入和输出,以及使用与FSA实例相关联的软约束对电路设计的输入激励进行偏置,从而仿真有可能前进穿过满足该时间覆盖属性的状态的序列。
在该实施例的一个变体中,该系统基于FSA实例的当前状态使用软约束来偏置输入激励。
在该实施例的一个变体中,如果FSA实例到达时间覆盖属性的接受状态(accepting state),则系统将该时间覆盖属性标记成已满足。
在该实施例的一个变体中,该系统通过下述方式使用FSA实例来观察电路的输入和输出,其同时使用与一个或多个时间覆盖属性相关联的多个FSA实例来观察电路的输入和输出。
在该实施例的一个变体中,该系统通过下述方式来偏执电路的输入激励,其确保靠近接受状态的FSA实例比远离接受状态的FSA实例具有更高的偏置输入激励的可能性。
在该实施例的一个变体中,在执行仿真之前,系统执行在先的无偏置的仿真,其中电路的输入激励未被偏置以满足特定的时间覆盖属性。在完成在先的无偏置的仿真后,仿真随后偏置输入激励以覆盖在无偏置仿真期间未被覆盖的时间覆盖属性。
在该实施例的一个变体中,在执行仿真之前,该方法还包括将时间覆盖属性转换成FSA和软约束。
在该实施例的一个变体中,FSA是确定性的FSA。
附图说明
图1图示了根据本发明的一个实施例的电路验证环境。
图2图示了根据本发明的一个实施例的电路验证系统。
图3图示了根据本发明的一个实施例的转换机构的示例性使用。
图4给出一流程图,其图示了根据本发明的一个实施例的在生成输入矢量以实现覆盖收敛中所包括的步骤。
图5给出一流程图,其图示了根据本发明的一个实施例的在生成针对时间覆盖属性的输入矢量中所包括的步骤。
图6给出一流程图,其图示了根据本发明的一个实施例的在生成针对后续时间帧的随机输入中所包括的步骤。
图7给出一流程图,其图示了根据本发明的一个实施例的在向前推进仿真时间中所包括的步骤。
图8给出一流程图,其图示了根据本发明的一个实施例的在裁剪FSA实例集合中所包括的步骤。
具体实施方式
给出以下描述,目的是使本领域的普通技术人员能够实现并使用本发明,并且这些描述是在特定的应用和其需求的背景下提供的。本领域的普通技术人员容易明白对所公开的实施例的各种修改,并且此处所限定的一般原则可以在不偏离本发明的精神和范围的条件下被应用到其他实施例或应用。因此,本发明并不旨在受限于所示出的实施例,而是要求保护与权利要求相一致的最广范围。
在该详细描述中所描述的数据结构和代码通常被存储在计算机可读存储介质上,其可以是能存储供计算机系统使用的代码和/或数据的任意装置或介质。这包括,但不限于,易失性存储器、非易失性存储器、诸如盘驱动器之类的磁和光存储装置、磁带、CD(致密盘)、DVD(数字多用途盘或数字视频盘)、或者现在公知或以后开发出的能够存储计算机可读介质的其他介质。
电路验证环境
图1图示根据本发明的一个实施例的电路验证环境100。电路验证环境100包括许多计算机系统,该计算机系统通常可包括基于微处理器、大型计算机、数字信号处理器、便携计算装置、个人备忘记事本、设备控制器、或装置内的计算引擎的任意类型的计算机系统。更为具体地,参考图1,电路验证环境100包括工作站102、用户104、网络106和电路仿真器108。
网络106可包括能够将计算机节点耦合起来的任意类型的有线或无线通信通道。这包括,但不限于,局域网、广域网、或这些网络的组合。在本发明的一个实施例中,网络106包括互联网。在本发明的一些实施例中,网络106包括电话和蜂窝电话网络。
工作站102一般可包括包含计算能力以及包含用于与用户104交互的机构的任意装置。工作站102包括操作系统110、监视机构112、测试工作台114、转换机构116、时间覆盖属性数据库118和被验证的电路设计120。
用户104可包括个人或一组个人、机构或一组机构、计算机系统或一组计算机系统、或者可以与电路验证环境100进行交互的任意其他实体。
电路仿真器108一般可包括包含用于执行电路仿真的计算能力的任意装置,其包括基于微处理器、大型计算机、数字信号处理器、便携计算装置、设备控制器、现场可编程门阵列(FPGA)或一组FPGA的任意类型的计算机系统。
注意,本发明的不同实施例可以使用不同配置,而不限于在电路验证环境100中所图示的配置。在本发明的一些实施例中,工作站102通过网络106耦合到电路仿真器108,而在本发明的其他实施例中,工作站102直接耦合到电路仿真器108。在本发明的另一个实施例中,工作站102包括电路仿真器108。
图2图示根据本发明的一个实施例的电路验证系统200。电路验证系统200包括时间覆盖属性数据库204、转换机构206、测试工作台212、被验证的设计(DUV)214、以及监视机构216。
时间覆盖属性数据库204可包括用于将数据存储在非易失性存储器中的任意类型的系统。这包括,但不限于,基于磁、光、或磁-光存储装置的系统,以及基于闪存和/或电池备份存储器的存储装置的系统。注意,时间覆盖属性数据库204可耦合到服务器、客户端(诸如图1中的工作站102),或者可直接耦合到网络。时间覆盖属性数据库204保存时间覆盖属性202的集合,其合起来构成DUV214的验证覆盖方案。
在运行时间期间,转换机构206接受一个或多个时间覆盖属性202作为输入,并生成相应的有限状态自动机(FSA)208和软约束210的集合。时间覆盖属性包括对将由验证输入激励来覆盖的一序列事件的描述,并且可以是可被转换成确定性的有限状态自动机(DFSA)的任意时间覆盖属性。在本发明的一个实施例中,时间覆盖属性可以是正则表达式(regular expression)的形式。有限状态自动机(FSA)包括由顶点V和边E组成的图G(V,E),其中顶点描述相应的时间覆盖属性的允许状态,而边描述允许从第一状态到第二连通状态的状态过渡的条件。此外,FSA可包括初始状态和接受状态,其中当FSA到达接受状态时相应的时间覆盖属性被标记成已满足。软约束210包括允许FSA 208离开相应的激活状态并趋向于覆盖相应的时间属性的多个布尔条件。FSA的实例还包括本地加权变量,该加权变量被用于计算相应的软约束可被用于影响对DUV的输入的选择的概率。
测试工作台212接受DUV 214,并接受FSA 208和相应的软约束210作为输入,以生成针对时间覆盖属性202的输入激励218。测试工作台212在仿真期间创建FSA实例以观察电路设计的输入和输出,并确定可以满足相应的时间覆盖属性的软约束。测试工作台212基于FSA实例的当前状态,使用软约束210来偏置输入激励的随机选择。许多FSA实例给出仿真中相应的时间帧处的软约束,但是具有越高加权值的那些实例给出的相应的软约束具有影响选择DUV的输入选择的越高可能性。
在本发明的一个实施例中,测试工作台212是由用户生成的,作为对电路仿真器的输入。在本发明的另一个实施例中,测试工作台212是针对DUV自动生成的,作为对电路仿真器的输入。在本发明的另一个实施例中,测试工作台212被实现成与电路仿真器交互的软件组件。
监视机构216接受时间覆盖属性数据库204和DUV 214作为输入,并且与测试工作台212进行交互以监视DUV 214的输入和输出,并确定时间覆盖属性数据库204中的已经被输入激励218所覆盖的时间覆盖属性。在本发明的一个实施例中,测试工作台212包括监视机构216。
转换机构
图3图示根据本发明的一个实施例的转换机构304的一个示例性使用。转换机构304接受时间覆盖属性作为输入并产生相应的有限状态自动机和软约束作为输出。图3中所示的例子给出示例性的时间覆盖属性302,其描述对“读-修改-写”指令的允许的事务(transaction)。这个例子使用SystemVerilog的覆盖属性和约束句法,然而,也可以使用任意其他形式。时间覆盖属性302开始于一个输入矢量,在该输入矢量中请求信号“r”被置位且命令信号被设置成针对多个时钟周期的读(cmd=‘READ’),从而存储地址变量“v”被设置成地址总线值“addr”(v==addr)。这种事务之后可以跟随多个其中请求信号“r”未被置位(!r[*0:$])的输入矢量。最后,当前两个属性之后跟随下述输入矢量时,时间覆盖属性302被满足,在所述输入矢量中请求信号“r”被置位且命令信号被设置成写(cmd==‘WRITE’),从而地址总线“addr”被设置成与时间覆盖属性“v”的读事务所使用的相同值(v==addr)。
由转换机构304所产生的FSA包括许多状态和许多过渡。FSA的状态包括开始状态和接受状态,FSA从开始状态开始分析时间覆盖属性,并且仅当时间覆盖属性被给定的输入序列满足时才会到达接受状态。离开开始状态的过渡条件描述了时间覆盖属性的开始条件,而进入接受状态的过渡描述了满足时间覆盖属性的最终条件。FSA的中间状态以及它们之间的过渡条件描述了可以导致满足时间覆盖属性的输入矢量的可能序列。
当在DUV的仿真过程中FSA被例示时,一遇到时钟信号的正边缘,就针对DUV的输入矢量值来计算离开开始状态的过渡条件。如果该过渡条件被仿真的当前值满足,则FSA前进到过渡的目标状态。否则,如果该过渡条件没有被仿真的当前值满足,则FSA实例被消灭。当FSA实例朝着接受状态过渡时,由内部状态的FSA实例执行类似的分析。如果当前输入序列满足时间覆盖属性,则FSA实例将到达接受状态。否则,如果当前输入序列不满足时间覆盖属性,则FSA实例将被消灭并且因此将不再影响激励生成。
对于时间覆盖属性302,转换机构304创建具有开始状态310和接受状态320的FSA 306。当在DUV的仿真期间FSA 306被例示时,一遇到时钟信号的正边缘,就针对DUV的输入矢量值来计算过渡条件312。如果过渡条件312被仿真的当前值所满足,则FSA 306的实例就前进到状态S1。否则,如果过渡条件312未被仿真的当前值所满足,则FSA 306的实例被消灭。当FSA实例跨过状态S1朝向接受状态320过渡时,由内部状态的FSA 306的实例执行类似的分析。如果当前输入序列满足时间覆盖属性302,则FSA 306的实例将到达接受状态320。否则,如果当前输入序列不满足时间覆盖属性302,则FSA 306的实例在它到达接受状态320之前将被消灭。
由转换机构304所产生的软约束308包括许多软约束,其中相应的软约束包括离开FSA中的相应状态的过渡的过渡条件的联合。对于FSA 306,转换机构304从过渡314的过渡条件创建针对状态S0的软约束C0,并且从过渡316和318的过渡条件的联合创建针对状态S1的软约束C1。
多个FSA实例同时监视电路仿真的输入矢量以试图将输入矢量朝着到达相应的接受状态进行偏置。随着仿真时间的前进,新的FSA实例相比已经激活了给定时间段的FSA实例具有低的到达相应的接受状态的可能性。因此,重要的是估量FSA实例将朝着相应的状态偏置输入激励的概率,以及估量FSA实例的软约束将估算为真或假的概率。
软约束的变量w0和w1是用于提供布尔表达式将估算为0或1的概率的权重。这些变量对于FSA实例而言是局部的,因此由一个FSA实例所设置的权值不干扰另一FSA实例所设置的权值。权值w0和w1强加布尔表达式将针对相应的FSA实例估算为1的近似概率w1/(w1+w0),以及强加布尔表达式将估算为0的近似概率w0/(w1+w0)。由此,权值w0和w1被用于提供对应于具有被选择用于在电路仿真的相应的时间实例处偏置输入矢量的概率的FSA实例的软约束。
FSA实例的变量w1在例示时被设置成值w10,并且无论何时FSA实例横穿FSA图的一个过渡就增加值Dw。将FSA实例的w1增加Dw有效地增加了软约束估算为1的近似概率的计算值,并且反映FSA实例将到达接受状态的增大的概率。换言之,随着FSA实例在时间上朝着接受状态前进,FSA实例的权值w1的值一直在增加。这确保了接近到达接受状态的FSA实例相比远离接受状态的FSA实例具有更高的偏置输入激励的可能性。对于FSA 306,无论何时FSA实例到达状态S1(例如,穿过过渡316),权值w1都增加Dw。
受约束的随机仿真
图4给出一流程图,其图示了根据本发明的一个实施例的在生成输入矢量以实现覆盖收敛时所包括的步骤。在系统生成偏置的随机输入矢量之前,系统通过用无偏置的随机输入矢量对电路设计执行仿真来开始(操作401)。一旦无偏置的仿真完成,则系统执行后续仿真,其偏置随机输入激励以满足在无偏置的仿真期间未被覆盖的时间覆盖属性。
为了生成偏置的随机输入矢量,系统首先接收时间覆盖属性的集合(操作402),并选择未被覆盖的时间覆盖属性(操作404)。接着,系统针对所选择的时间覆盖属性来生成输入矢量(操作406)。接着,系统确定是否剩余未被覆盖的时间覆盖属性(操作408)。如果剩余,则系统返回到操作404以选择另一未被覆盖的时间覆盖属性。否则,如果不再有未被覆盖的时间覆盖属性剩余,则覆盖收敛已经被实现并且系统返回覆盖报告(操作410)。
图5给出一流程图,其图示了根据本发明的一个实施例的在针对时间覆盖属性生成输入矢量(操作500)时所包括的步骤。首先,系统将时间覆盖属性转换成FSA和相应的软约束的集合(操作502)。接着,系统针对当前仿真时间帧创建新的FSA实例(操作504)。接着,系统通过从FSA实例的集合中选择软约束以偏置随机输入矢量,从而生成针对下一个时间帧的随机输入(操作506),并且系统推进仿真时间(操作508)。接着,系统确定相应的FSA实例是否处于接受状态(操作510)。如果没有FSA实例处于接受状态,则系统返回到操作504以生成针对下一个仿真时间帧的输入矢量。否则,如果FSA实例处于接受状态,则系统将时间覆盖属性标记成已满足(操作512)。
图6给出一流程图,其图示了根据本发明的一个实施例的在生成后续时间帧的随机输入(操作600)时所包括的步骤。首先,系统裁剪FSA实例集合(操作602)以消灭不能到达接受状态的FSA实例。接着,系统通过将w1增加Dw来更新剩余软约束的w1权值(操作606)。最终,系统生成下一组随机输入,其具有通过多个剩余软约束来进行偏置的值(操作608)。在本发明的一个实施例中,系统通过选择具有最高权值的FSA实例来选择一个软约束以偏置DUV输入的选择。在其他实施例中,系统同时使用软约束的集合,其中对应于具有越高权值的FSA实例的软约束对DUV输入的选择具有越大的影响。使用软约束来偏置输入激励包括基于FSA实例的当前状态来偏置输入激励的随机选择,其中针对输入所生成的随机值具有较高概率以符合具有最高w1权值的软约束中的需求。
图7给出一流程图,其图示了根据本发明的一个实施例的在向前推进仿真时间(操作700)时所包括的步骤。首先,系统将已生成的输入矢量施加到被验证的电路设计的输入处(操作702)。接着,系统将仿真时间向前推进一个时钟周期(操作704),并估计FSA实例的当前状态(操作706)。
图8给出一流程图,其图示了根据本发明的一个实施例的在裁剪FSA实例集合(操作800)时所包括的步骤。为了裁剪FSA实例集合,首先,系统选择待估算的FSA实例(操作802),然后估算该FSA实例的激活状态的软约束表达式(操作804)。接着,系统确定该软约束表达式是否估算为假。如果是估算为假,则系统消灭该FSA实例(操作808)。否则,如果软约束表达式没有估算为假,则该FSA实例被保留在集合中(操作809)。最终,系统确定是否还存在待估算的FSA实例(操作810)。如果还剩余未被估算的FSA实例,则系统返回到操作802以选择并估算还没有被估算的FSA实例。
已经并仅仅出于说明和描述的目的给出了上述的对本发明的实施例的描述。它们不是旨在进行穷举或将本发明限制到所公开的形式。因此,许多修改和变化对于本领域的普通技术人员而言是显而易见的。另外,上述公开不是旨在限制本发明。本发明的范围仅由所附权利要求书来限定。

Claims (24)

1.一种用于验证电路设计的方法,其对所述电路设计的输入激励进行偏置以满足所述电路设计要验证的一个或多个时间覆盖属性,所述方法包括:
执行仿真,其中随机输入激励被应用到所述电路设计;
其中执行所述仿真包括,
使用时间覆盖属性的有限状态自动机(FSA)实例来观察所述电路的输入和输出,以及
使用与所述FSA实例相关联的软约束来偏置所述电路设计的输入激励,从而所述仿真有可能前进穿过满足所述时间覆盖属性的状态的序列。
2.根据权利要求1所述的方法,其中使用所述软约束来偏置所述输入激励包括基于所述FSA实例的当前状态来偏置所述输入激励的随机选择。
3.根据权利要求1所述的方法,其中如果所述FSA实例到达所述时间覆盖属性的接受状态,则所述方法还包括将所述时间覆盖属性标记为已满足。
4.根据权利要求1所述的方法,其中使用所述FSA实例来观察所述电路的输入和输出包括同时使用与一个或多个时间覆盖属性相关联的多个FSA实例来观察所述电路的输入和输出。
5.根据权利要求4所述的方法,其中偏置所述电路的输入激励包括确保接近接受状态的FSA实例比远离接受状态的FSA实例具有更高的偏置所述输入激励的可能性。
6.根据权利要求1所述的方法,其中在执行所述仿真之前,所述方法还包括执行在先的无偏置的仿真,在无偏置的仿真中所述电路的输入激励未被偏置以满足特定的时间覆盖属性;以及
其中,在完成所述在先的无偏置的仿真之后,所述仿真随后偏置所述输入激励以覆盖在所述无偏置的仿真期间未被覆盖的时间覆盖属性。
7.根据权利要求1所述的方法,其中在执行所述仿真之前,所述方法还包括将所述时间覆盖属性转换成所述FSA和所述软约束。
8.根据权利要求7所述的方法,其中所述FSA是确定性的FSA。
9.一种电路验证系统,其对电路设计的输入激励进行偏置以满足所述电路设计要验证的一个或多个时间覆盖属性,所述系统包括:
转换机构,其被配置成将相应的时间覆盖属性转换成相应的有限状态自动机(FSA)和相应的软约束集合,其中所述软约束集合限定所述FSA中的允许的过渡;以及
测试台环境,其被配置成执行仿真,在所述仿真中随机输入激励被应用到所述电路设计,其中所述测试台环境如下执行所述仿真:
使用时间覆盖属性的FSA实例来观察所述电路设计的输入和输出,以及
使用与所述FSA实例相关联的软约束来偏置所述电路设计的输入激励,从而所述仿真有可能前进穿过满足所述时间覆盖属性的状态的序列。
10.根据权利要求9所述的电路验证系统,其中使用所述软约束来偏置所述输入激励包括基于所述FSA实例的当前状态来偏置所述输入激励的随机选择。
11.根据权利要求9所述的电路验证系统,其中如果所述FSA实例到达所述时间覆盖属性的接受状态,则所述方法还包括将所述时间覆盖属性标记成已满足。
12.根据权利要求9所述的电路验证系统,其中使用所述FSA实例来观察所述电路的输入和输出包括同时使用与一个或多个时间覆盖属性相关联的多个FSA实例来观察所述电路的输入和输出。
13.根据权利要求12所述的电路验证系统,其中偏置所述电路的输入激励包括确保靠近接受状态的FSA实例比远离接受状态的FSA实例具有更高的偏置所述输入激励的可能性。
14.根据权利要求9所述的电路验证系统,其中所述FSA是确定性的FSA。
15.根据权利要求9所述的电路验证系统,
其中在执行所述仿真之前,所述方法还包括执行在先的无偏置的仿真,在无偏置的仿真中所述电路的输入激励未被偏置以满足特定的时间覆盖属性;以及
其中,在完成所述在先的无偏置的仿真之后,所述仿真随后偏置所述输入激励以覆盖在所述无偏置的仿真期间未被覆盖的时间覆盖属性。
16.根据权利要求9所述的电路验证系统,还包括监视机构,其被配置成监视在给定输入激励的仿真期间硬件描述的输入和输出,以确定已经被所述输入激励覆盖的时间覆盖属性。
17.一种存储指令的计算机可读存储介质,所述指令当被计算机执行时使得所述计算机执行用于验证电路设计的方法,所述方法对所述电路设计的输入激励进行偏置以满足所述电路设计要验证的一个或多个时间覆盖属性,所述方法包括:
执行仿真,其中随机输入激励被应用到所述电路设计;
其中执行所述仿真包括,
使用时间覆盖属性的有限状态自动机(FSA)实例来观察所述电路的输入和输出,以及
使用与所述FSA实例相关联的软约束来偏置所述电路设计的输入激励,从而所述仿真有可能前进穿过满足所述时间覆盖属性的状态的序列。
18.根据权利要求17所述的计算机可读存储介质,其中使用所述软约束来偏置所述输入激励包括基于所述FSA实例的当前状态来偏置所述输入激励的随机选择。
19.根据权利要求17所述的计算机可读存储介质,其中如果所述FSA实例到达所述时间覆盖属性的接受状态,则所述方法还包括将所述时间覆盖属性标记为已满足。
20.根据权利要求17所述的计算机可读存储介质,其中使用所述FSA实例来观察所述电路的输入和输出包括同时使用与一个或多个时间覆盖属性相关联的多个FSA实例来观察所述电路的输入和输出。
21.根据权利要求20所述的计算机可读存储介质,其中偏置所述电路的输入激励包括确保接近接受状态的FSA实例比远离接受状态的FSA实例具有更高的偏置所述输入激励的可能性。
22.根据权利要求17所述的计算机可读存储介质,其中在执行所述仿真之前,所述方法还包括执行在先的无偏置的仿真,在无偏置的仿真中所述电路的输入激励未被偏置以满足特定的时间覆盖属性;以及
其中,在完成所述在先的无偏置的仿真之后,所述仿真随后偏置所述输入激励以覆盖在所述无偏置的仿真期间未被覆盖的时间覆盖属性。
23.根据权利要求17所述的计算机可读存储介质,其中在执行所述仿真之前,所述方法还包括将所述时间覆盖属性转换成所述FSA和所述软约束。
24.根据权利要求23所述的方法,其中所述FSA是确定性的FSA。
CN2009800002451A 2008-03-31 2009-03-10 由覆盖属性所导引的受约束的随机仿真覆盖收敛 Active CN101681392B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/059,096 US8527921B2 (en) 2008-03-31 2008-03-31 Constrained random simulation coverage closure guided by a cover property
US12/059,096 2008-03-31
PCT/US2009/036595 WO2009123831A2 (en) 2008-03-31 2009-03-10 Constrained random simulation coverage closure guided by a cover property

Publications (2)

Publication Number Publication Date
CN101681392A true CN101681392A (zh) 2010-03-24
CN101681392B CN101681392B (zh) 2013-03-27

Family

ID=40957642

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2009800002451A Active CN101681392B (zh) 2008-03-31 2009-03-10 由覆盖属性所导引的受约束的随机仿真覆盖收敛

Country Status (4)

Country Link
US (1) US8527921B2 (zh)
CN (1) CN101681392B (zh)
TW (1) TW201005567A (zh)
WO (1) WO2009123831A2 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9098619B2 (en) * 2010-04-19 2015-08-04 Honeywell International Inc. Method for automated error detection and verification of software
US8386974B2 (en) 2011-04-14 2013-02-26 Synopsys, Inc. Accelerating coverage convergence using symbolic properties
US8443316B1 (en) 2011-11-09 2013-05-14 Synopsys, Inc. Accelerating coverage convergence and debug using symbolic properties and local multi-path analysis
US9390208B2 (en) * 2013-06-14 2016-07-12 Synopsys, Inc. Formal verification of temporal properties expressed using local variables
US10409941B2 (en) * 2013-10-31 2019-09-10 Synopsys, Inc. Visual representation of circuit related data
US10223486B2 (en) 2013-11-13 2019-03-05 Nxp Usa, Inc. Static modelling of an electronic device
US9104826B2 (en) * 2013-11-13 2015-08-11 Freescale Semiconductor, Inc. Monitoring coverage for static modelling of an electronic device
US9760663B2 (en) 2014-10-30 2017-09-12 Synopsys, Inc. Automatic generation of properties to assist hardware emulation
CN105044531B (zh) * 2015-08-20 2018-03-20 河海大学 一种基于ekf和fsa的动态信号参数辨识方法

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3719885A (en) * 1971-12-13 1973-03-06 Ibm Statistical logic test system having a weighted random test pattern generator
US5414716A (en) * 1993-09-22 1995-05-09 Mitsubishi Electronic Research Laboratories, Inc. Weighting system for testing of circuits utilizing determination of undetected faults
US8024691B2 (en) * 2006-09-28 2011-09-20 Mcgill University Automata unit, a tool for designing checker circuitry and a method of manufacturing hardware circuitry incorporating checker circuitry

Also Published As

Publication number Publication date
WO2009123831A2 (en) 2009-10-08
WO2009123831A3 (en) 2009-12-17
US20090249267A1 (en) 2009-10-01
TW201005567A (en) 2010-02-01
US8527921B2 (en) 2013-09-03
CN101681392B (zh) 2013-03-27

Similar Documents

Publication Publication Date Title
CN101681392B (zh) 由覆盖属性所导引的受约束的随机仿真覆盖收敛
TWI682304B (zh) 基於圖結構模型的異常帳號防控方法、裝置以及設備
US20190370659A1 (en) Optimizing neural network architectures
US10909327B2 (en) Unsupervised learning of interpretable conversation models from conversation logs
US8365125B1 (en) Method and system for power distribution analysis
US20090204931A1 (en) Method And Apparatus For Processing Assertions In Assertion-Based Verification of A Logic Design
EP1387304A1 (fr) Procédé de vérification fonctionnelle d'un modèle de circuit intégré pour constituer une plate-forme de vérification, équipement émulateur et plate-forme de vérification
US8504366B2 (en) Joint factor analysis scoring for speech processing systems
CN109784599A (zh) 一种模型训练、风险识别的方法、装置及设备
US9589087B2 (en) Verification environments utilizing hardware description languages
US20080288903A1 (en) Generating testcases based on numbers of testcases previously generated
Yao et al. Formal modeling and systematic black-box testing of sdn data plane
US9405882B1 (en) High performance static timing analysis system and method for input/output interfaces
US7996801B2 (en) Methods and systems for on-the-fly chip verification
US9582406B1 (en) Method and system for automatically generating executable system-level tests
US20220187368A1 (en) Converting formal verification testbench drivers with nondeterministic inputs to simulation monitors
US20170147739A1 (en) Integration of functional analysis and common path pessimism removal in static timing analysis
Wang et al. Fast reliability exploration for embedded processors via high-level fault injection
US9202004B1 (en) System, method, and computer program product for ensuring that each simulation in a regression is running a unique configuration
US20210342530A1 (en) Framework for Managing Natural Language Processing Tools
US11386322B1 (en) System, method, and computer-program product for routing in an electronic design using deep learning
US7493580B2 (en) Critical path estimating program, estimating apparatus, estimating method, and integrated circuit designing program
US20220269868A1 (en) Structure self-aware model for discourse parsing on multi-party dialogues
CN110659215A (zh) 一种开放式工业app快速开发及测试验证方法
US10540467B1 (en) System, method, and computer program product for handling combinational loops associated with the formal verification of an electronic circuit design

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant