基于增强型的参数化引用定值链的可观测性覆盖评估方法

文档序号:7176181阅读:150来源:国知局
专利名称:基于增强型的参数化引用定值链的可观测性覆盖评估方法
技术领域
本发明涉及超大规模集成电路的设计验证技术领域,特别是一种基于增强型的参数化引用定值(FUD)链(对FUD链的解释见附录)的可观测性覆盖评估方法。
背景技术
所谓设计验证,就是检验设计方案是否满足规范中提出的要求。随着半导体工艺突飞猛进的发展,集成电路设计的复杂度也呈指数级增长。这使得设计验证面临着越来越严峻的挑战。
传统的设计验证技术可以分为两大类——模拟验证技术和形式验证技术。
形式验证是使用严格的数学推理来证明一个设计方案满足全部的或者部分的规范。这就要求设计方案的规范和设计本身都能够用形式化的方法来描述。而对于实际的设计方案而言,此项要求并不是总能得到满足。目前,形式验证方法在集成电路设计中的应用通常局限于较低的抽象层面(例如,门级网表)。
实际工程应用中,模拟验证方法长久以来占据着主导地位。一般性的模拟验证流程如图1所示。根据设计或者规范来产生激励,然后将激励施加在设计方案的输入上,通过在模拟器上运行,来观察设计方案的响应是否正确(如果将集成电路设计看作用硬件描述语言编写的软件的话,模拟验证就可以视为针对该类软件的调试或者说测试)。模拟验证具有一个先天的弱点,即不完备性。对于小规模的设计而言,可以采用穷举的方法来模拟输入信号的每个组合,就可保证该设计被充分验证了(例如,对一个两输入的设计,需要模拟22,即4种输入组合)。但是对于目前常见的设计规模而言,其IO管脚一般在几百个以上,穷举法显然是不现实的。所以,模拟验证常常与覆盖评估技术结合使用。
覆盖评估技术是量化度量模拟验证完备性的手段。同时,覆盖评估技术能够诊断出,对于当前的激励集合而言,哪部分设计尚未被充分验证,这对于后续激励的生成具有指导意义。根据评估对象的不同,覆盖评估准则可以分为几类功能覆盖准则、代码覆盖准则、电路结构覆盖准则、有限状态机覆盖准则、错误模型覆盖准则,等等。不同的覆盖评估技术,其原理是类似的——为每个待评估的对象设置一个计数器,模拟器“执行到”该对象处,相应的计数器累加1,当模拟完毕时,计数器取值大于某个阈值的评估对象的个数,与总的待评估对象的个数相除,该比值就是相应的覆盖率。例如,所谓语句覆盖准则,就是统计在模拟过程中执行过的语句数目,该数与总的语句数目的比值就是向量集的语句覆盖率。
在现有的覆盖评估准则中,最突出的问题是要么评估意义过于简单,要么计算过于复杂。在工业界得到普遍应用的一些准则,例如语句覆盖准则,仅仅评估设计方案中的每条语句是否被执行过(即,评估激励向量集对语句的控制能力如何),而没有考虑被激活的潜在设计错误是否被验证工程师观察到(即,忽略了激励向量集的可观测性),这对于集成电路的设计验证来讲是不够的。而已有的可观测性覆盖评估的方法,其计算效率不高,使得评估可观测性的开销太大。本发明则提出了一种新的可观测性信息表征方法,以及基于此表征的可观测性覆盖评估方法。
可观测性覆盖评估的概念起源于集成电路测试领域。在该领域中,可观测性是指电路中的故障能否通过其原始输出(即,管脚级的输出)信号体现出来。与测试领域不同,集成电路设计验证中的可观测性是一种“软”的概念。在模拟验证中,硬件的设计方案在模拟器上运行,借助于模拟器的调试功能,设计方案中每个内部变量的值都是可以知道的。然而随着设计规模的扩大,要求验证工程师对所有变量的含义都了如指掌,在模拟过程中监测所有变量的取值是否正确,这是不现实的。所以,可观测性覆盖评估应该从两个角度来考虑一是验证工程师对设计方案的理解,二是设计本身的内部变量之间的数据依赖关系。可观测性的概念可以定义如下1)被验证工程师选来观察程序(即,设计方案)行为的变量,称为观测点。其余的变量称为非观测点。
2)显然,观测点是可以被观测的。在非观测点中,其取值可以传播到,或者说可以影响到观测点的那些内部变量,也是可以被观测的。对于内部变量来讲,如果它本身不是观测点,而且它的值不能够传播到观测点,那么无论这样的变量被执行了多少次,验证工程师也不会了解到该变量的行为,更谈不上发现其中的错误。这样的内部变量,称为不可观测点。

发明内容
本发明的目的在于提供一种基于增强型FUD链的可观测性覆盖评估方法。其基本策略如下1)使用增强型的FUD链表征可观测性信息。
FUD链是编译理论中的一种数据流分析技术,是“引用-定值”链(即UD链)的一种参数化表示形式。它具有两个重要属性一是每个变量引用都只对应唯一的定值;二是对控制流图中的每个汇聚结点而言,如果有多个定值到达该汇聚结点,则在该结点处添加特殊的汇聚操作符——φ-terms(φ为希腊字母,音PHI)。所谓φ-terms,是一种伪赋值(可以理解为,将到达该汇聚结点的某个变量的多个定值统一赋值给一个φ-term,而在该汇聚结点之后,若需要引用该变量在汇聚结点处的某个定值,则统一引用所添加的φ-term),它将到达汇聚结点的多个定值实现参数化,以保证汇聚结点之后的变量引用满足第一条属性。例1给出了一段代码,并解释了相应的UD链和FUD链。
本发明在控制流的汇聚结点处对添加一个“动态分支”域,以此来记录程序动态执行时的轨迹。当程序执行到一个汇聚结点时,其“动态分支”域更新为最新的分支信息,即记录程序是沿着第几个分支到达当前结点的。这样,我们在分析可观测性的时候,就能够为这个控制流汇聚结点的参数选择正确的值。换句话讲,既然汇聚结点的φ-terms记录了所有可能到达的定值(即,沿着它的每个前驱所到达的定值),那么我们选择与“动态分支”域取值相一致的定值,也就是选择了这个时刻汇聚结点处的正确的定值。
例1UD链和FUD链举例。
(1) K=0(1) K1=0 (1) K1=0 (1) K1=0(2) ifT>Kthen (2) ifT2>K3then (2) ifT2>K3→1then (2) ifT2>K3→1then(3) K=K+1 (3) K5=K4+1 (3) K5=K4→1+1 (3) K5=K4→1+1(4) M=K*2 (4) M7=K6*2 (4) M7=K6→5*2 (4) M7=K6→5*2(5) else(5) else (5) else (5) else(6) M=K/2 (6) M9=K8/2 (6) M9=K8→1/2 (6) M9=K8→1/2(7) endif (7) endif(7) endif (7) endif(8) K2=K+2 (8) K211=K10+2(8) K211=K10→1,5+2 φ(K)17→5,1(9) K3=K+3 (9) K313=K12+3(9) K313=K12→1,5+3 φ(M)18→7,9(10)K4=K+M (10)K416=K14+M15(10)K416=K14→1,5+M15→7,9(8) K211=K10→17+2(9) K313=K12→17+3(10)K416=K14→17+M15→18(a) (b) (c)(d)例1中的(a)是原始代码段。为了便于表述,(b)中为每个定值和引用都添加了下标。(c)是该段代码对应的UD链,(d)则是其对应的FUD链。
2)事件驱动分析本发明提出的可观测性覆盖评估方法是事件驱动的。此项策略包括两个方面·当程序执行到控制流的汇聚结点,更新该结点处的“动态分支”域的值。
·当某个观测点的值更新之后,沿着这个变量的FUD链反向追踪,分析设计方案的可观测性覆盖情况。即,某个观测点p的值更新了,意味着此观测点被观察了,那么与此变量引用u0(观测点p对应某个变量的引用u0)相关的定值d0就被观测到了。而d0又是被某些引用u1来定义的,这样u1的效果也体现出来了,即u1也被观测到了。而u1也对应着自己的定值,也可以用分析u0一样的方法来分析。此逆向分析过程可以一直迭代,直到某个变量引用un的FUD链为空(即un是程序的输入,或者是常量)时终止。在此分析过程中,如果遇到了φ-term,则根据相应汇聚结点的“动态分支”域的值来选择一个前驱所对应的定值,继续分析。
3)可观测性覆盖率的计算方法模拟开始时,为每个变量的每次引用和定值都设置一个计数器,其初值设置为0。模拟过程中,如果某个定值或者引用被观测到了,则将其计数器的值累加1。模拟结束时,定值和引用的可观测性信息便体现在其对应的计数器中。利用这些可观测性信息,就可以计算可观测性覆盖率。
需要强调的是,不考虑可控制性而仅仅评估可观测性,这是没有意义的。可观测性覆盖率是对模拟向量集的验证力度的度量,它不可能脱离该向量集所导致的控制流而独立存在。所以,可观测性覆盖率应该与可控制性信息结合起来计算。目前,可控制性覆盖评估准则有许多种,例如前面提到的各种代码覆盖准则,电路结构覆盖准则等等。将可控制性覆盖准则与本发明中提出的可观测性覆盖准则结合,其关键在于如何建立起可控制性覆盖准则的评估对象与程序中变量定值和引用之间的关联关系。
这里,我们解释如何计算可观测性语句覆盖率,其它的可观测性覆盖率的计算与此类似对于用硬件描述语言所写的代码中的语句而言,如果某条语句中所有的引用已经被观测到了,我们就说该语句被观测到了(可以定义为所有引用的计数器值大于0,则该语句被观测到,也可以设置阈值,要求所有引用的计数器的值达到阈值以上,才认为该语句被观测到)。同时,我们定义分支语句的可观测性为,如果某个分支中的语句被观测到了,那么该分支语句的效果就得到体现,即该分支语句被观测到了(例如,在例1中,如果第(3)句被观测到了,那么我们说分支语句(2)被观测到了)。那么,在模拟结束时,分别统计被观测到的语句的数目和总的语句数目。二者的比值就是可观测性语句覆盖率。例2解释了可观测性语句覆盖准则的评估过程(例2中没有设置阈值)。
本发明中所提出的方法是以变量的引用和定值作为评估对象的,对程序行为的刻画力度很强,这使得它可以与现有的多种仅考虑可控制性的覆盖准则(尤其是代码覆盖准则)相结合,来增强原有覆盖准则的评估能力。除了上面提到的可观测性语句覆盖准则之外,我们还可以很容易的衍生出可观测性分支覆盖准则,以及可观测性表达式覆盖准则。分别解释如下·可观测的语句覆盖准则——要求每条语句被执行过,且每条语句中所有的变量引用都被观测到。
·可观测的分支覆盖准则——要求每个分支语句的条件变量取到所有的可能值,并且每个取值(即变量的引用)的效果被观测到。
·可观测的表达式覆盖准则——要求每个表达式中的各个变量取到各种组合,并且每个组合(即变量引用的组合)的效果被观测到。
结合以上所阐述的三方面的策略,本发明所提出的可观测性覆盖评估方法的流程可以总结如下1)构造被评估代码的控制流图。
2)在控制流图的基础上构造被评估代码的数据流图,并且以增强型FUD链的形式来表示。
3)指定被观测变量作为观测点。
4)在被评估代码(或者编译后的中间代码)中为观测点插入触发事件(trigger)。
5)在被评估代码(或者编译后的中间代码)中为控制流的汇聚点插入触发事件。
6)在模拟器上运行被评估代码。当与汇聚点相关的触发事件发生时,跳转到7);当与观测点相关的触发事件发生时,跳转到8);若模拟结束,跳转到9)。
7)记录当前的分支路径号,跳转到6)。
8)沿着当前观测点的FUD链反向追踪,每追踪到一个变量,将其计数器的值累加1。若遇到汇聚结点,则选择与其“动态分支”域相应的分支处的定值,继续分析。直到某个变量引用的FUD链为空,则分析完毕。跳转到6)。
9)统计评估对象的总数,以及其中被观测到的对象的个数,计算基于增强型FUD链的可观测性覆盖率。
为了更清晰的阐述本发明中所提出的方法,举例如下。
例2基于增强型FUD链的可观测性覆盖评估方法应用举例。
<pre listing-type="program-listing">module b01(clock,reset,linel,line2,outp,overflw);input clock;input reset;input line1;input line2;output outp;output overflw;wire clock;wire reset;wire line1;wire line2;reg outp;reg overflw;parameter a=0,b=1,c=2,e=3,f=4,g=5,wf0=6,wf1=7;reg[2∶0]stato;1 always@(posedge clock)2 begin3 if(reset)4 begin5 stato=a;6 outp<=0;7 overflw<=0;8 end9 else10 case(stato)11 abegin12 if(line1&amp;amp;&amp;amp;line2)13 stato=f;14 else15 stato=b;16 outp<=line1^line2;17overflw<=0;18 end...19endcase20 endendmodule</pre>例2是用硬件描述语言Verilog所写的代码。为了简洁起见,这里只列出了部分代码。图2给出了此段代码对应的控制流-数据流图,以及相应的FUD链。
表1.可观测性语句覆盖评估过程时钟周期 Cycle1 Cycle2输入信号取值 line1=0,line2=0,reset=1line1=1,line2=1,reset=0Trigger#1结点6 结点12′触发的动作 分析变量reset的FUD链3 将“动态分支”域的值更新为0(第一个分支)覆盖率信息 观测到语句6,3 NullTrigger#2结点7 结点16触发的动作 分析变量reset的FUD链3 分析变量stato的FUD链10→1→3′→5分析变量reset的FUD链3覆盖率信息 观测到语句7,3 观测到语句16,10,5,3Trigger#3结点3′ 结点17触发的动作 将“动态分支”域的值更新为0(第 分析变量stato的FUD链10→1→3′→5一个分支) 分析变量reset的FUD链3覆盖率信息 Null观测到语句17,10,5,3Trigger#4结点19触发的动作 将“动态分支”域的值更新为0(第一个分支)覆盖率信息 NullTrigger#5结点3′触发的动作 将“动态分支”域的值更新为1(第二个分支)覆盖率信息 Null被执行到的语句 语句3,5,6,7 语句3,10,12,15,16,17被观测到的语句 语句3,6,7 语句3,5,10,16,17表1给出了可观测性语句覆盖评估的详细过程。在第1个时钟周期中,有3个事件被触发,语句3、6和7被观测到。在第2个时钟周期中,有5个事件被触发,语句3、5、10、16、17被观测到。


下面解释本说明书的各个附图的含义。
图1为模拟验证的一般流程图;图2为例2中代码所对应的控制流-数据流图,以及相应的FUD链。
图2中,包含两种结点和两种边。其中,方形结点代表控制流的入口和出口,圆形结点代表计算结点。除了结点12′和3′之外,每个圆形结点对应例2中的一条语句。结点12′代表分支结点12对应的汇聚结点,结点3′代表分支结点3对应的汇聚结点。图2中的实线边代表控制流,虚线边代表FUD链。由于“always”语句意味着一个循环结构,所以添加一条实线边从结点3′指向结点1,同时添加一个伪FUD链,以表示相应的数据流。
具体实施例方式
本发明中提出的基于增强型FUD链的可观测性覆盖评估方法,可以与多种可控制性覆盖评估准则相结合。其具体实施方案可以按照以下步骤进行1)选择一种可控制性覆盖评估准则,建立起该准则的评估对象与程序中变量的定值和引用之间的关联关系;2)选择一种控制流分析算法(可以参考编译理论中成熟的控制流分析算法),并实现该算法;3)选择一种数据流分析算法(可以参考编译理论中成熟的数据流分析算法),并实现该算法,同时扩充其FUD链,在汇聚结点处增加“动态分支”域;4)为程序中每个变量定值和引用设置计数器,并实现代码,其功能是在模拟开始的时刻将计数器清0;5)选择一种事件触发方法(可以采用编程语言提供的接口机制,如Verilog语言的PLI,也可以与编译器整合,即直接在编译器的中间代码中插入专用的语句,或者采用其它方法);6)实现第一类事件的响应代码,即,当程序执行到控制流的汇聚结点,更新该结点处的“动态分支”域的值,以记录最新的程序执行轨迹;7)实现第二类事件的响应代码,即,当某个观测点的值更新之后,沿着该处的FUD链反向追踪,分析设计方案的可观测性覆盖情况,并更新相应的计数器;若遇到汇聚结点,则选择与其“动态分支”域相应的分支处的定值,继续分析。直到某个变量引用的FUD链为空,则分析完毕;8)依据1)中的关联关系,通过变量引用和定值的可观测性信息来统计待评估对象的可观测性信息,并实现计算可观测性覆盖率的代码。该代码在模拟完毕的时刻被调用。
基于增强型FUD链的可观测性覆盖评估方法,步骤1)中的选择一种可控制性覆盖评估准则;可以选择语句覆盖准则,所建立的关联关系为,如果某条语句中所有的变量引用都被观测到,则该语句被观测到了。
另外,步骤1)中的选择一种可控制性覆盖评估准则;可以选择分支覆盖准则,所建立的关联关系为,对于某个分支语句中条件变量的某个取值,或者,当该分支语句含有多个条件变量时,则是对于这些变量的某个取值组合;如果该取值,或取值组合,中所有的变量引用都被观测到,则该取值,或取值组合,对应的分支被观测到了。
再就是,步骤1)中的选择一种可控制性覆盖评估准则;可以选择表达式覆盖准则,所建立的关联关系为,对于某个表达式中的变量的取值组合,如果该取值组合中所有的变量引用都被观测到,则该表达式的这个取值组合被观测到了。
本发明的基于增强型FUD链的可观测性覆盖评估方法,该方法通过添加“动态分支”域扩充了FUD链的功能,使之能够记录程序动态执行轨迹,并利用此增强型FUD链表征硬件设计方案的可观测性信息,进而评估模拟验证的可观测性覆盖率。该方法的基本策略包括三方面(1)使用增强型FUD链表征可观测性信息;(2)事件驱动分析;(3)与可控制性覆盖准则结合的可观测性覆盖率计算方法。本发明所提出的方法可以与现有多种可控制性覆盖准则相结合,使得可控制性与可观测性的覆盖情况可以联合评估,从而提高覆盖准则的评估能力。
附录FUD链及相关定义定义1控制流图控制流图(Control Flow Graph)可以用三元组&lt;V,E,Entry&gt;表示,其中·&lt;V,E&gt;是一个有向图(directed graph);·Entry∈V是一个唯一的源点;·所有结点都是从源点Entry可达的,即(ν∈V)[Entry→ν]。
程序可以被划分成基本块的集合,其中每个基本块都是一个不包含分支的语句序列。在控制流图中,每个结点代表一个基本块,而边则代表基本块之间的潜在的控制流。每个条件分支语句所对应的结点总会有两个或更多后继结点。
定义2引用-定值链(Use-Def chains)变量x的定值(definition)是一个语句,它赋值或可能赋值给x。定值包括二义的和无二义的两类。最常使用的x的二义定值形式有把x作为参数的过程调用(值参数除外);所调用的过程可以访问x;通过引用x的指针对x赋值。
在控制流图上,如果从变量x的定值d到它的某处引用(use)u之间存在一条通路,并且该通路上不包含x的其它定值(无二义定值),那么定值d到达了引用u。
可以把到达-定值信息存储为引用-定值链(或者叫UD链)。
定义3参数化的引用-定值链(Factored Use-Def chains,or FUDchains)FUD链有两个重要属性1)对于变量的每个引用u,仅有唯一的定值d到达u;2)当原始程序中有多个定值到达控制流的汇聚点时,被称作φ-term的专用的汇聚运算符被插入到该汇聚点中。通过必要的“伪赋值语句”实现所到达的多个定值的参数化,并使得汇聚点之后的变量满足第一条属性。
在汇聚点之后,该点的φ-term便作为相关引用的定值来使用。
可以说,FUD链是UD链的一种更优化的表述形式。下面举例说明二者的区别原始代码是一段带有分支语句的代码,如下所示。其中,赋值符号(=)“使用”右侧变量为左侧变量“定义”一个值,所以,赋值号右侧是变量的引用,而左侧是变量的定值。
(1)K=0(2)ifT>Kthen(3) K=K+1(4) M=K*2(5)else(6) M=K/2
(7) endif(8) K2=K+2(9) K3=K+3(10) K4=K+M为了便于区分,将每个变量的定值和引用都添加了下标,如下所示(1) K1=0(2) ifT2>K3 then(3)K5=K4+1(4)M7=K6*2(5) else(6)M9=K8/2(7) endif(8) K211=K10+2(9) K313=K12+3(10) K416=K14+M15在添加了下标的代码段中,将每个变量的引用通过指针指向其定值,就构成了相应的UD链,如下所示。程序执行到第8行之前,控制流可能执行if语句中条件为真的分支,也可能执行条件为假的分支,所以K10的UD链表示为K10→1,5,指向K10的两个可能的定值K1和K5。
(1) K1=0(2) ifT2>K3→1then(3) K5=K4→1+1(4)M7=K6→5*2(5) else(6)M9=K8→1/2(7) endif(8) K211=K10→1,5+2(9) K313=K12→1,5+3(10) K416=K14→1,5+M15→7,9UD链面临着一个问题,即无法有效的利用空间。另外,在编译理论中,UD链面临着又一个问题,即所表示的信息不够准确。从程序结构的角度来看,UD链中包含了所有可能到达的定值,但是,若编译器可以判断出分支语句中的条件为常数值,那么UD链中的部分信息就成为冗余的了。由此,FUD链应运而生。以下是这段对应的FUD链。
(1) K1=0(2) ifT2>K3→1then(3)K5=K4→1+1(4)M7=K6→5*2(5) else(6)M9=K8→1/2(7) endifφ(K)17→5,1φ(M)18→7,9(8) K211=K10→17+2(9) K313=K12→17+3(10)K416=K14→17+M15→18在第(7)行的汇聚结点endif之后,为K添加了φ-term,即φ(K)17→5,1,所以在K10只需要指向φ(K)17即可,而不必向UD链那样需要保持两个指针。
权利要求
1.一种基于增强型FUD链的可观测性覆盖评估方法,包括如下步骤1)选择一种可控制性覆盖评估准则,建立起该准则的评估对象与程序中变量的定值和引用之间的关联关系;2)选择一种控制流分析算法,并实现该算法;3)选择一种数据流分析算法,并实现该算法,同时扩充其FUD链,在汇聚结点处增加“动态分支”域;4)为程序中每个变量定值和引用设置计数器,并实现代码,其功能是在模拟开始的时刻将计数器清0;5)选择一种事件触发方法;6)实现第一类事件的响应代码,即,当程序执行到控制流的汇聚结点,更新该结点处的“动态分支”域的值,以记录最新的程序执行轨迹;7)实现第二类事件的响应代码,即,当某个观测点的值更新之后,沿着该处的FUD链反向追踪,分析设计方案的可观测性覆盖情况,并更新相应的计数器;若遇到汇聚结点,则选择与其“动态分支”域相应的分支处的定值,继续分析,直到某个变量引用的FUD链为空,则分析完毕;8)依据1)中的关联关系,通过变量引用和定值的可观测性信息来统计待评估对象的可观测性信息,并实现计算可观测性覆盖率的代码,该代码在模拟完毕的时刻被调用。
2.根据权利要求1的基于增强型FUD链的可观测性覆盖评估方法,其特征在于,步骤5)中的选择一种事件触发方法;可以采用编程语言提供的接口机制,如Verilog语言的PLI,也可以与编译器整合,即直接在编译器的中间代码中插入专用的语句。
3.根据权利要求1的基于增强型FUD链的可观测性覆盖评估方法,其特征在于,步骤1)中的选择一种可控制性覆盖评估准则;可以选择语句覆盖准则,所建立的关联关系为,如果某条语句中所有的变量引用都被观测到,则该语句被观测到了。
4.根据权利要求1的基于增强型FUD链的可观测性覆盖评估方法,其特征在于,步骤1)中的选择一种可控制性覆盖评估准则;可以选择分支覆盖准则,所建立的关联关系为,对于某个分支语句中条件变量的某个取值,或者,当该分支语句含有多个条件变量时,则是对于这些变量的某个取值组合;如果该取值,或取值组合,中所有的变量引用都被观测到,则该取值,或取值组合,对应的分支被观测到了。
5.根据权利要求1的基于增强性FUD链的可观测性覆盖评估方法,其特征在于,步骤1)中的选择一种可控制性覆盖评估准则;可以选择表达式覆盖准则,所建立的关联关系为,对于某个表达式中的变量的取值组合,如果该取值组合中所有的变量引用都被观测到,则该表达式的这个取值组合被观测到了。
全文摘要
本发明涉及超大规模集成电路的设计验证技术领域,特别是一种基于增强型FUD链的可观测性覆盖评估方法,该方法通过添加“动态分支”域扩充了FUD链的功能,使之能够记录程序动态执行轨迹,并利用此增强型FUD链表征硬件设计方案的可观测性信息,进而评估模拟验证的可观测性覆盖率。该方法的基本策略包括三方面(1)使用增强型FUD链表征可观测性信息;(2)事件驱动分析;(3)与可控制性覆盖准则结合的可观测性覆盖率计算方法。本发明所提出的方法可以与现有多种可控制性覆盖准则相结合,使得可控制性与可观测性的覆盖情况可以联合评估,从而提高覆盖准则的评估能力。
文档编号H01L21/66GK1494122SQ03147260
公开日2004年5月5日 申请日期2003年7月11日 优先权日2003年7月11日
发明者吕涛, 李晓维, 樊建平, 吕 涛 申请人:中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1