CN117952041A - 基于驱动源码的x值追踪方法、电子设备和介质 - Google Patents
基于驱动源码的x值追踪方法、电子设备和介质 Download PDFInfo
- Publication number
- CN117952041A CN117952041A CN202410348705.6A CN202410348705A CN117952041A CN 117952041 A CN117952041 A CN 117952041A CN 202410348705 A CN202410348705 A CN 202410348705A CN 117952041 A CN117952041 A CN 117952041A
- Authority
- CN
- China
- Prior art keywords
- signal
- target
- value
- root cause
- tracking
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 36
- 230000014509 gene expression Effects 0.000 claims description 27
- 230000006870 function Effects 0.000 claims description 15
- 238000004458 analytical method Methods 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 6
- 239000000758 substrate Substances 0.000 claims 4
- 239000000523 sample Substances 0.000 claims 1
- 238000010586 diagram Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 5
- 238000001914 filtration Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000012795 verification Methods 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
-
- 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/337—Design optimisation
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)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及芯片技术领域,尤其涉及一种基于驱动源码的X值追踪方法、电子设备和介质,步骤S1、将目标时间值为X的信号确定为目标信号;步骤S2、获取有效驱动源码集合;步骤S3、基于Ak进行第一优先级X根因追踪,若追踪到第一X根因类型代码,则确定Ak的目标X根因,否则,执行步骤S4;步骤S4、获取Ak中值为X的中间目标信息集合;步骤S5、若中间目标信息集合为空,则执行步骤S7,否则,执行步骤S6;步骤S6、将Gn k更新为目标信号,将Tn k更新为目标时间,返回步骤S2;步骤S7、基于Ak进行第二优先级X根因追踪,若追踪到第二X根因类型代码,则确定Ak的目标X根因。本发明提高了X值的追踪效率。
Description
技术领域
本发明涉及芯片技术领域,尤其涉及一种基于驱动源码的X值追踪方法、电子设备和介质。
背景技术
在芯片开发和验证过程中,Verilog语法中的X值(不确定的状态值)有多种语义,且在不同设计阶段有着不同的作用。一些情况下,是根据需求设置的X值,但一些情况下,是因为芯片设计存在问题,产生了X值。为了确定X值的存在是否符合芯片设计要求,是否隐含着某些设计缺陷的问题,需要分析和确定X值发生的根因。现有技术中,通常需要基于芯片设计代码生成电路图,再通过分析电路图的方式来追踪X值产生的根因,现有的追踪X值产生根因的过程十分繁琐,需要耗费大量时间和人力,追踪效率低。由此可知,如何提高X值的追踪效率成为亟待解决的技术问题。
发明内容
本发明目的在于,提供一种基于驱动源码的X值追踪方法、电子设备和介质,提高了X值的追踪效率。
根据本发明第一方面,提供了一种基于驱动源码的X值追踪方法,包括:
步骤S1、将目标时间值为X的信号确定为目标信号,X为不确定状态;
步骤S2、在目标时间对所述目标信号进行驱动源码分析,获取有效驱动源码集合{A1,A2,…,Ak,…,AK},Ak为第k个有效驱动源码,k的取值范围为1到K,K为有效驱动源码总数;
步骤S3、基于Ak进行第一优先级X根因追踪,若追踪到预设的第一X根因类型代码,则将追踪到的第一X根因类型代码确定为Ak对应的目标X根因Bk,结束基于Ak的追踪流程,否则,执行步骤S4;
步骤S4、获取Ak中值为X的中间目标信息集合{(G1 k,T1 k),(G2 k,T2 k),…,(Gn k,Tn k),…,(GN k,TN k)},其中,Gn k为Ak中第n个中间目标信号,Tn k为Gn k的值变为X的时间,n的取值范围为1到N,N为Ak中值为X的中间目标信号总数;
步骤S5、若{(G1 k,T1 k),(G2 k,T2 k),…,(Gn k,Tn k),…,(GN k,TN k)}为空,则执行步骤S7,否则,执行步骤S6;
步骤S6、将Gn k更新为目标信号,将Tn k更新为目标时间,返回执行步骤S2;
步骤S7、基于Ak进行第二优先级X根因追踪,若追踪到预设的第二X根因类型代码,则将追踪到的第二X根因类型代码确定为Ak对应的目标X根因Bk,结束基于Ak的追踪流程。
根据本发明第二方面,提供一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被设置为用于执行本发明第一方面所述的方法。
根据本发明第三方面,提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机指令用于执行本发明第一方面所述的方法。
本发明与现有技术相比具有明显的优点和有益效果。借由上述技术方案,本发明提供的一种基于驱动源码的X值追踪方法、电子设备和介质可达到相当的技术进步性及实用性,并具有产业上的广泛利用价值,其至少具有以下有益效果:
本发明无需生成电路图,而是直接基于目标信号和目标时间对驱动源码分析,并分两个优先级对驱动源码进行X根因分析,提高了X值的追踪效率。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的基于驱动源码的X值追踪方法流程图;
图2为本发明实施例提供的具体实例对应的源码示意图;
图3为本发明实施例提供的具体实例对应的信号波形示意图;
图4为本发明实施例提供的具体实例对应的追踪结果显示示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例提供了一种基于驱动源码的X值追踪方法,如图1所示,包括:
步骤S1、将目标时间值为X的信号确定为目标信号,X为不确定状态。
其中,步骤S1获得的目标信号为原始目标信号,对应的目标时间为原始目标时间。原始目标信号和原始目标时间可以由用户直接指定。
步骤S2、在目标时间对所述目标信号进行驱动源码分析,获取有效驱动源码集合{A1,A2,…,Ak,…,AK},Ak为第k个有效驱动源码,k的取值范围为1到K。
其中,K为有效驱动源码总数,K≥1,目标信号的驱动源码可能有一个,也可能有多个。
步骤S3、基于Ak进行第一优先级X根因追踪,若追踪到预设的第一X根因类型代码,则将追踪到的第一X根因类型代码确定为Ak对应的目标X根因Bk,结束基于Ak的追踪流程,否则,执行步骤S4。
需要说明的是,对于每一Ak均需执行步骤S3,获取每一有效驱动源码对应的目标X根因,目标X根因为使得目标信号在目标时间值为X的代码。
步骤S4、获取Ak中值为X的中间目标信息集合{(G1 k,T1 k),(G2 k,T2 k),…,(Gn k,Tn k),…,(GN k,TN k)},其中,Gn k为Ak中第n个中间目标信号,Tn k为Gn k值变为X的时间,n的取值范围为1到N。
其中,N为Ak中值为X的中间目标信号总数,N≥0。
步骤S5、若{(G1 k,T1 k),(G2 k,T2 k),…,(Gn k,Tn k),…,(GN k,TN k)}为空,则执行步骤S7,否则,执行步骤S6。
步骤S6、将Gn k更新为目标信号,将Tn k更新为目标时间,返回执行步骤S2。
步骤S7、基于Ak进行第二优先级X根因追踪,若追踪到预设的第二X根因类型代码,则将追踪到的第二X根因类型代码确定为Ak对应的目标X根因Bk,结束基于Ak的追踪流程。
需要说明的是,通常经过步骤S1-步骤S7即可确定目标X根因,若经过步骤S1-步骤S7仍无法确定目标X根因,则生成提示信息。
作为一种实施例,所述步骤S2包括:
步骤S21、对所述目标信号进行驱动源码分析,获取候选驱动源码集合{D1,D2,…,Dr,…,DR},Dr为第r个候选驱动源码,所述候选驱动源码为可能使得目标信号值变为X的代码,r的取值范围为1到R。
步骤S22、获取Dr所在的语法树结构,从Dr所在的语法树结构中提取出Dr需要满足的表达式集合Er。
其中,需要提取出的表达式为语法结构中类型为if/else条件、case分支条件、事件触发等待、wait等待条件以及always_comb块的驱动源码。
步骤S23、获取Dr需要满足的表达式集合中所有表达式所包含的信号集合Fr。
步骤S24、从预设的波形数据库中获取Fr中在目标时间的取值并代入Er中的表达式中,若Er中所有表达式均成立,则将Dr确定为有效驱动源码。
需要说明的是,预设波形数据库中包括信号、信号值以及信号值对应的时刻,基于预设的波形数据库能够准确获取到任何一个信号在任何一个时刻对应的信号值。若Er中存在不成立的表达式,则将该候选驱动源码过滤掉。
步骤S25、基于所有确定的有效驱动源码生成有效驱动源码集合{A1,A2,…,Ak,…,AK}。
作为一种实施例,所述步骤S3包括:
步骤S31、获取Ak中所包含的信号值集合{(Q1 k,V1 k),(Q2 k,V2 k),…,(Qm k,Vm k),…,(QM k,VM k)},Qm k为信号值集合中的第m个信号,Vm k为Qm的信号值,m的取值范围为1到M。
其中,M为Ak中所包含的信号总数。
步骤S32、基于{(Q1 k,V1 k),(Q2 k,V2 k),…,(Qm k,Vm k),…,(QM k,VM k)}、目标时间、目标信号和Ak进行第一优先级X根因追踪,若满足预设的第一优先级X根因中的任意一个,则将追踪到的第一X根因类型代码确定为Ak对应的目标X根因Bk,结束基于Ak的追踪流程,否则,执行步骤S4。
作为一种实施例,预设的第一优先级X根因包括:
Ak为其中一个用户自定义原语(User Defined Primitive,简称 UDP),用户自定义原语为Verilog中的语法,可以定义组合逻辑和时序逻辑,目标信号为该用户自定义原语的输出,且输入信号不匹配用户自定义原语真值表中的任何一项,该第一优先级X根因类型可设置为Mismatch UDP Entry,表示不匹配UDP真值表中的任何一项,导致输出为X值。
Ak为预设系统函数,所述目标信号为预设系统函数的输出;所述预设系统函数具体可以为fread函数、 fscanf函数、readmemh函数或 readmemb函数。即是因为读取外部文件时产生的X值,使得原始目标信号在原始目标时间的值为X,该第一优先级X根因类型可设置为Read External File,表示读取外部文件时产生的X值。
Ak为连续赋值语句,且目标时间为0,目标信号使用了延时声明,该第一优先级X根因类型可设置为Net Decl Delay,表示信号有声明延时,在0时刻初始化的值为X值。
Assign Delay:Ak为连续赋值语句,且目标时间为0,且连续赋值语句使用了声明延迟,该第一优先级X根因类型可设置为Assign Delay,表示信号有赋值延时,在0时刻初始化的值为X值。
作为一种实施例,为了避免执行无用操作,进入无用循环,所述步骤S6包括:
步骤S61、判断Gn k是否已被分析,若是,则基于Gn k生成路径环(Loop Path)提示信息,否则,执行步骤S62。
步骤S62、将Gn k更新为目标信号,将Tn k更新为目标时间,返回执行步骤S2。
作为一种实施例,所述步骤S7包括:
步骤S71、获取Ak中所包含的信号值集合{(Q1 k,V1 k),(Q2 k,V2 k),…,(Qm k,Vm k),…,(QM k,VM k)},Qm k为信号值集合中的第m个信号,Vm k为Qm的信号值,m的取值范围为1到M。
其中,M为Ak中所包含的信号总数。
步骤S32、基于{(Q1 k,V1 k),(Q2 k,V2 k),…,(Qm k,Vm k),…,(QM k,VM k)}、目标时间、目标信号和Ak进行第二优先级X根因追踪,若满足预设的第二优先级X根因中的任意一个,则将追踪到的第二X根因类型代码确定为Ak对应的目标X根因Bk,结束基于Ak的追踪流程。
作为一种实施例,预设的第二优先级X根因包括:
Ak为声明语句,且声明语句不包含初始化的表达式,该第二优先级X根因类型可设置为Uninitialized Value,表示未被初始化的寄存器,默认为X值。
Ak包含的信号集合中包含了值为z的wire信号,该第二优先级X根因类型可设置为Floating Net,表示未连接的wire信号,其值为z,在和其他信号做运算后,结果会为X值。
Ak为用户自定义原语,并且目标信号为用户自定义原语的输出信号,并且输入信号匹配了该用户自定义原语中真值表的其中一项,该第二优先级X根因类型可设置为UDPOutput,表示匹配了UDP真值表中的某一项,并且该项的输出值为X。
Ak为库单元(libcell)实例,并且目标信号为库单元的输出信号,该第二优先级X根因类型可设置为Libcell Output。
所述目标信号对应的赋值表达式的计算结果为常值X,该第二优先级X根因类型可设置为Const X,表示常值表达式的计算结果为X,该第二优先级X根因类型可设置为ConstX,表示常值表达式的计算结果为X。
Ak为连续赋值语句(continuous assignment),且赋值表达式的计算结果为非X,该第二优先级X根因类型可设置为Bus Contention,表示总线竞争产生的未定值X。
作为一种实施例,所述步骤S7之后还包括:步骤S7、将Ak的追踪路径和追踪结果呈现在预设显示界面上。
所述步骤S7具体包括:
步骤S71、获取Ak的追踪结果信息{H1 k,H2 k,…,Hw k,…,HW k},Hw为第w个追踪结果信息,w的取值范围为1到W,Hw k为{A1,A2,…,Ak,…,AK}中的一个有效驱动源码对应的追踪结果,W≤K,Hw={h11 wk,h21 wk,h12 wk,h22 wk,…,h1i wk,h2i wk,…,h1f(w) wk,h2f(w) wk},h11 wk为Hw对应的原始目标信号信息,h21 wk为h11 wk对应的有效驱动源码信息,h1i wk为Hw k对应的第(i-1)个中间目标信号信息,h2i wk为Hw k对应的有效驱动源码信息,i的取值范围为2到f(w),f(w)为Hw k对应的目标信号数量。
步骤S72、将h21 wk设置为h11 wk的子节点,将h2i wk设置为h1i wk的子节点,将h1i wk设置为h2i-1 wk的子节点,以树形结构在预设显示界面上展示。
通过步骤S71-步骤S72,能够将X值追踪结果和追踪路径清晰地在显示界面上进行展示。
需要说明的是,在一些应用场景中,目标信号存在多个目标X根因,一些目标根因对应的追踪路径也较长,如果展示全部的追踪路径和目标X根因,会导致需要展示的信息量比较大,且一些应用需求下,只需关注目标X根因,因此,可以直接只展示目标根因,具体只展示h11 wk和h2f(w) wk的信息即可,为了灵活控制,也可设置折叠标识,根据具体应用需求来折叠或展开h21 wk,h12 wk,h22 wk,…,h1i wk,h2i wk,…,h1f(w) wk的信息。
作为一种实施例,h11 wk包括原始目标信号对应的信号标识、信号值变化信息、时间信息、位置信息和所属代码范围信息;h22 wk包括原始目标信号对应的有效驱动源码表达式、时间信息、位置信息和所属代码范围信息;h1i wk包括第(i-1)个中间目标信号对应的信号标识、信号值变化信息、时间信息、位置信息和所属代码范围信息;h21 wk包括第(i-1)个中间目标信号对应的有效驱动源码表达式、时间信息、位置信息和所属代码范围信息;h2f(w) wk还包括目标X根因类型标识。
作为一种实施例,h11 wk的节点设置折叠标识,当折叠标识设置为展开标识时,在预设显示界面上显示{h11 wk,h21 wk,h12 wk,h22 wk,…,h1i wk,h2i wk,…,h1f(w) wk,h2f(w) wk}对应的所有节点信息;当折叠标识设置为收起状态时,在预设显示界面上仅显示显示h11 wk和h2f(w) wk对应的节点信息。当当折叠标识设置为收起状态时,树形图仅显示两层,第一层为原始的目标信号,第二层为追踪得到的所有目标X根因。
以下结合一个具体实例对本发明进行进一步说明,图2为具体实例对应的源码,图3为具体实例对应的信号波形,具体执行以下步骤进行X值追踪:
步骤C1、用户指定目标时间为120,目标信号为data,目标信号data在目标时间值为X。
步骤C2、在目标时间对目标信号执行驱动源码的状态分析,获取结果:
reg data = 0; (inactive)
data<= mid1; (active)。
其中,inactive表示不生效状态,active表示生效状态。
步骤C3、过滤掉不生效(state = inactive)的表达式结果,剩下有效驱动源码:
data<= mid1。
步骤C4、基于data<= mid1执行第一优先级X根因追踪,没有分析出结果,进行下一步骤。
步骤C5、基于data<= mid1收集赋值表达式中的值为X的信号集。结果为:
信号:mid1,时间:110(未被分析过)。
步骤C6、更新目标信号为mid1,目标时间为110,做一次驱动源码的状态分析,获取结果:
reg mid1 = 0; (inactive)
mid1<= mid2; (active)。
步骤C7、过滤掉不生效(state = inactive)的表达式结果,剩下有效驱动源码:
mid1<= mid2。
步骤C8、基于mid1<= mid2执行第一优先级X根因追踪,没有分析出结果,进行下一步骤。
步骤C9、基于data<= mid1收集赋值表达式中的值为X的信号集。结果为:
信号:mid2,时间:100(未被分析过)。
步骤C11、更新目标信号为mid2,目标时间为:100,做一次驱动源码的状态分析,获取结果:
reg mid2 = 0; (inactive)
mid2<= in; (active)。
步骤C12、过滤掉不生效(state = inactive)的表达式结果,剩下有效驱动源码:
mid2<= in。
步骤C13、基有效驱动源码mid2<= in执行第一优先级X根因追踪,没有分析出结果,进行下一步骤。
步骤C14、基于mid2<= in收集赋值表达式中的值为X的信号集。结果为:
信号:in,时间:100 (未被分析过)
步骤C15、更新目标信号为in,目标时间为100,做一次驱动源码的状态分析,获取结果:
reg in = 0; (inactive)
initial #100 in =‘bx; (active)
步骤C16、过滤掉不生效(state = inactive)的表达式结果,剩下有效驱动源码:
initial #100 in =‘bx。
步骤C17、基于initial #100 in =‘bx执行第一优先级X根因追踪,没有分析出结果,进行下一步骤。
步骤C18、基于initial #100 in =‘bx收集赋值表达式中的值为X的信号集。没有搜集到结果。
步骤C19、基于initial #100 in =‘bx进行第二优先级X根因追踪,分析结果为Const X(常量表达式产生的X)。
步骤C20、将追踪路径和追踪结果呈现在预设显示界面上,如图4所示,图4中呈现的内容逐行表示为:
第一行:用户指定的原始目标信号为data,时间是120ns(该时刻该信号的值为X)。
第二行:data的直接生效的驱动源码是“data<= mid1;”。
第三行:在“data<= mid1;”这条语句中,X值是由中间信号mid1在时间110ns时刻传递过来的。
第四行:中间信号mid1在时间110ns的生效驱动源码是“mid1<= mid2;”这条语句。
第五行:在“mid1<= mid2;”这条语句中,X值是由中间信号mid2在时间100ns时刻传递过来的。
第六行:中间信号mid2在时间100ns的生效驱动源码是“mid2<= in;”这条语句。
第七行:在“mid2<= in;”这条语句中,X值是由中间信号in在时间100ns时刻传递过来的。
第八行:中间信号in在时间100ns的生效驱动源码是“initial #100 in =‘bx;”这条语句。
第九行:“initial #100 in =‘bx;”即为最终找到的根因,分析X的根因为(ConstX),即X由一个常量表达式而来的(‘bx)。
本发明实施例还提供一种电子设备,包括:至少一个处理器;以及,与所述至少一个处理器通信连接的存储器;其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被设置为用于执行本发明实施例所述的方法。
本发明实施例还提供一种计算机可读存储介质,存储有计算机可执行指令,所述计算机指令用于执行本发明实施例所述的方法。
本发明实施例无需生成电路图,而是直接基于目标信号和目标时间对驱动源码分析,并分两个优先级对驱动源码进行X根因分析,提高了X值的追踪效率。
需要说明的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各步骤描述成顺序的处理,但是其中的许多步骤可以被并行地、并发地或者同时实施。此外,各步骤的顺序可以被重新安排。当其操作完成时处理可以被终止,但是还可以具有未包括在附图中的附加步骤。处理可以对应于方法、函数、规程、子例程、子程序等等。
以上所述,仅是本发明的较佳实施例而已,并非对本发明作任何形式上的限制,虽然本发明已以较佳实施例揭露如上,然而并非用以限定本发明,任何熟悉本专业的技术人员,在不脱离本发明技术方案范围内,当可利用上述揭示的技术内容作出些许更动或修饰为等同变化的等效实施例,但凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与修饰,均仍属于本发明技术方案的范围内。
Claims (9)
1.一种基于驱动源码的X值追踪方法,其特征在于,包括:
步骤S1、将目标时间值为X的信号确定为目标信号,X为不确定状态;
步骤S2、在目标时间对所述目标信号进行驱动源码分析,获取有效驱动源码集合{A1,A2,…,Ak,…,AK},Ak为第k个有效驱动源码,k的取值范围为1到K,K为有效驱动源码总数;
步骤S3、基于Ak进行第一优先级X根因追踪,若追踪到预设的第一X根因类型代码,则将追踪到的第一X根因类型代码确定为Ak对应的目标X根因Bk,结束基于Ak的追踪流程,否则,执行步骤S4;
步骤S4、获取Ak中值为X的中间目标信息集合{(G1 k,T1 k),(G2 k,T2 k),…,(Gn k,Tn k),…,(GN k,TN k)},其中,Gn k为Ak中第n个中间目标信号,Tn k为Gn k的值变为X的时间,n的取值范围为1到N,N为Ak中值为X的中间目标信号总数;
步骤S5、若{(G1 k,T1 k),(G2 k,T2 k),…,(Gn k,Tn k),…,(GN k,TN k)}为空,则执行步骤S7,否则,执行步骤S6;
步骤S6、将Gn k更新为目标信号,将Tn k更新为目标时间,返回执行步骤S2;
步骤S7、基于Ak进行第二优先级X根因追踪,若追踪到预设的第二X根因类型代码,则将追踪到的第二X根因类型代码确定为Ak对应的目标X根因Bk,结束基于Ak的追踪流程。
2.根据权利要求1所述的方法,其特征在于,
所述步骤S3包括:
步骤S31、获取Ak中所包含的信号值集合{(Q1 k,V1 k),(Q2 k,V2 k),…,(Qm k,Vm k),…,(QM k,VM k)},Qm k为信号值集合中的第m个信号,Vm k为Qm的信号值,m的取值范围为1到M;
步骤S32、基于{(Q1 k,V1 k),(Q2 k,V2 k),…,(Qm k,Vm k),…,(QM k,VM k)}、目标时间、目标信号和Ak进行第一优先级X根因追踪,若满足预设的第一优先级X根因中的任意一个,则将追踪到的第一X根因类型代码确定为Ak对应的目标X根因Bk,结束基于Ak的追踪流程,否则,执行步骤S4。
3.根据权利要求2所述的方法,其特征在于,
预设的第一优先级X根因包括:
Ak为其中一个用户自定义原语,目标信号为该用户自定义原语的输出,且输入信号不匹配用户自定义原语真值表中的任何一项;
Ak为预设系统函数,所述目标信号为预设系统函数的输出;
Ak为连续赋值语句,且目标时间为0,目标信号使用了延时声明;
Ak为连续赋值语句,且目标时间为0,且连续赋值语句使用了声明延迟。
4.根据权利要求3所述的方法,其特征在于,
所述预设系统函数为fread函数、fscanf函数、readmemh函数或 readmemb函数。
5.根据权利要求1所述的方法,其特征在于,
所述步骤S7包括:
步骤S71、获取Ak中所包含的信号值集合{(Q1 k,V1 k),(Q2 k,V2 k),…,(Qm k,Vm k),…,(QM k,VM k)},Qm k为信号值集合中的第m个信号,Vm k为Qm的信号值,m的取值范围为1到M;
步骤S32、基于{(Q1 k,V1 k),(Q2 k,V2 k),…,(Qm k,Vm k),…,(QM k,VM k)}、目标时间、目标信号和Ak进行第二优先级X根因追踪,若满足预设的第二优先级X根因中的任意一个,则将追踪到的第二X根因类型代码确定为Ak对应的目标X根因Bk,结束基于Ak的追踪流程。
6.根据权利要求5所述的方法,其特征在于,
预设的第二优先级X根因包括:
Ak为声明语句,且声明语句不包含初始化的表达式;
Ak包含的信号集合中包含了值为z的wire信号;
Ak为用户自定义原语,并且目标信号为用户自定义原语的输出信号,并且输入信号匹配了该用户自定义原语中真值表的其中一项;
Ak为库单元实例,并且目标信号为库单元实例的输出信号;
所述目标信号对应的赋值表达式的计算结果为常值X;
Ak为连续赋值语句,且赋值表达式的计算结果为非X。
7.根据权利要求1所述的方法,其特征在于,
所述步骤S6包括:
步骤S61、判断Gn k是否已被分析,若是,则基于Gn k生成路径环提示信息,否则,执行步骤S62;
步骤S62、将Gn k更新为目标信号,将Tn k更新为目标时间,返回执行步骤S2。
8.一种电子设备,其特征在于,包括:
至少一个处理器;
以及,与所述至少一个处理器通信连接的存储器;
其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被设置为用于执行前述权利要求1-7中任一项所述的方法。
9.一种计算机可读存储介质,其特征在于,存储有计算机可执行指令,所述计算机可执行指令用于执行前述权利要求1-7中任一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410348705.6A CN117952041B (zh) | 2024-03-26 | 2024-03-26 | 基于驱动源码的x值追踪方法、电子设备和介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410348705.6A CN117952041B (zh) | 2024-03-26 | 2024-03-26 | 基于驱动源码的x值追踪方法、电子设备和介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117952041A true CN117952041A (zh) | 2024-04-30 |
CN117952041B CN117952041B (zh) | 2024-06-07 |
Family
ID=90796534
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410348705.6A Active CN117952041B (zh) | 2024-03-26 | 2024-03-26 | 基于驱动源码的x值追踪方法、电子设备和介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN117952041B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7870369B1 (en) * | 2005-09-28 | 2011-01-11 | Oracle America, Inc. | Abort prioritization in a trace-based processor |
WO2021189899A1 (zh) * | 2020-09-24 | 2021-09-30 | 平安科技(深圳)有限公司 | 链路状态的追踪方法、装置、电子设备及计算机存储介质 |
CN115904855A (zh) * | 2023-03-02 | 2023-04-04 | 上海合见工业软件集团有限公司 | 基于信号动态追踪确定目标驱动源码的系统 |
CN116090375A (zh) * | 2023-03-01 | 2023-05-09 | 上海合见工业软件集团有限公司 | 基于覆盖率数据确定目标驱动源码的系统 |
TW202344999A (zh) * | 2021-12-06 | 2023-11-16 | 美商賽發馥股份有限公司 | 事件追蹤 |
CN117150995A (zh) * | 2023-10-30 | 2023-12-01 | 北京云枢创新软件技术有限公司 | 驱动源码追踪方法、电子设备和介质 |
-
2024
- 2024-03-26 CN CN202410348705.6A patent/CN117952041B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7870369B1 (en) * | 2005-09-28 | 2011-01-11 | Oracle America, Inc. | Abort prioritization in a trace-based processor |
WO2021189899A1 (zh) * | 2020-09-24 | 2021-09-30 | 平安科技(深圳)有限公司 | 链路状态的追踪方法、装置、电子设备及计算机存储介质 |
TW202344999A (zh) * | 2021-12-06 | 2023-11-16 | 美商賽發馥股份有限公司 | 事件追蹤 |
CN116090375A (zh) * | 2023-03-01 | 2023-05-09 | 上海合见工业软件集团有限公司 | 基于覆盖率数据确定目标驱动源码的系统 |
CN115904855A (zh) * | 2023-03-02 | 2023-04-04 | 上海合见工业软件集团有限公司 | 基于信号动态追踪确定目标驱动源码的系统 |
CN117150995A (zh) * | 2023-10-30 | 2023-12-01 | 北京云枢创新软件技术有限公司 | 驱动源码追踪方法、电子设备和介质 |
Non-Patent Citations (3)
Title |
---|
吴哲;谢冬青;: "基于随机包标记的不重复标记追踪模型", 计算机应用研究, no. 12, 15 December 2009 (2009-12-15), pages 352 - 354 * |
周颖;: "高速网络中可控攻击源追踪标记方法研究", 电子设计工程, no. 11, 5 June 2019 (2019-06-05), pages 138 - 141 * |
昝云龙;薛颂东;曾建潮;: "绝对定位机制下目标位置估计辅助的群机器人搜索", 模式识别与人工智能, no. 04, 15 April 2013 (2013-04-15), pages 3 - 9 * |
Also Published As
Publication number | Publication date |
---|---|
CN117952041B (zh) | 2024-06-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8417504B2 (en) | Conversion of circuit description to a transaction model | |
CN107861870A (zh) | 接口测试及测试数据生成方法、装置、终端和存储介质 | |
US7895575B2 (en) | Apparatus and method for generating test driver | |
CN112444731B (zh) | 芯片测试方法、装置、处理器芯片及服务器 | |
US20070101302A1 (en) | Mixed signal circuit simulator | |
CN116341428A (zh) | 构建参考模型的方法、芯片验证方法及系统 | |
JP2009301231A (ja) | シミュレーション装置,シミュレーション方法,シミュレーションプログラム及び同プログラムを記録したコンピュータ読取可能な記録媒体 | |
CN117150995B (zh) | 驱动源码追踪方法、电子设备和介质 | |
CN109144848B (zh) | 一种Verilog HDL代码白盒测试辅助平台及其工作过程 | |
US20060020441A1 (en) | Method and system for creating timing constraint library | |
CN117952041B (zh) | 基于驱动源码的x值追踪方法、电子设备和介质 | |
JP2003016134A (ja) | 論理回路モデルの変換方法 | |
CN116302344A (zh) | 一种批量生成硬件仿真自动化过程的方法及系统 | |
JP5163172B2 (ja) | ソフトウェアテスト項目編集支援装置およびソフトウェアテスト項目編集支援方法 | |
CN116090373A (zh) | 激励自动生成方法、系统及计算机可读介质 | |
CN115062571A (zh) | 应用于集成电路器件的数据区域动态选取方法、系统、设备和计算机可读存储介质 | |
CN108664384A (zh) | 数据处理装置和数据处理方法 | |
CN117150996B (zh) | 产生毛刺信号的问题源码确定方法、电子设备和介质 | |
CN110188274A (zh) | 搜索纠错方法及装置 | |
CN114020738B (zh) | 结果数据库快速生成opc测试版图的方法和系统、存储介质 | |
CN116011395B (zh) | 基于模块交换的电路示意图模块列排序方法、设备和介质 | |
JP5774468B2 (ja) | 状態遷移表生成装置 | |
EP4160331A1 (en) | Resiliency verification of modular plants | |
JP2001290855A (ja) | 階層化設計の遅延計算方法 | |
CN116893803A (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 | ||
GR01 | Patent grant |