CN116776786A - 一种芯片验证方法、装置及相关设备 - Google Patents

一种芯片验证方法、装置及相关设备 Download PDF

Info

Publication number
CN116776786A
CN116776786A CN202310799052.9A CN202310799052A CN116776786A CN 116776786 A CN116776786 A CN 116776786A CN 202310799052 A CN202310799052 A CN 202310799052A CN 116776786 A CN116776786 A CN 116776786A
Authority
CN
China
Prior art keywords
request transaction
floating point
completion time
input request
package
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
Application number
CN202310799052.9A
Other languages
English (en)
Inventor
邹东斌
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.)
Haiguang Information Technology Co Ltd
Original Assignee
Haiguang Information Technology Co Ltd
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 Haiguang Information Technology Co Ltd filed Critical Haiguang Information Technology Co Ltd
Priority to CN202310799052.9A priority Critical patent/CN116776786A/zh
Publication of CN116776786A publication Critical patent/CN116776786A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Tests Of Electronic Circuits (AREA)

Abstract

本申请实施例提供一种芯片验证方法、装置及相关设备,所述方法包括:获取待测设计的输入请求事务包,所述输入请求事务包对应的操作类型为浮点原子操作或普通操作;获取待测设计的输出请求事务包,所述输出请求事务包为待测设计基于所述输入请求事务包的测试结果信息;若所述输入请求事务包的操作类型为浮点原子操作,基于所对应的输出请求事务包确定对应该浮点原子操作的操作完成时间,其中,所述输出请求事务包至少包括对应浮点原子操作的读操作返回事务包,基于所述读操作返回事务包确定对应该浮点原子操作的读操作完成时间;判断所述输入请求事务包对应的完成时间是否满足操作规则,本方案能够实现对浮点原子操作的顺序验证。

Description

一种芯片验证方法、装置及相关设备
技术领域
本申请实施例涉及芯片技术领域,具体涉及一种芯片验证方法、装置及相关设备。
背景技术
随着半导体技术的发展,SOC(System-on-a-Chip,系统级芯片/片上系统)技术已成为集成电路设计的发展趋势,而且,随着SOC芯片的日趋复杂,在SOC芯片的数据管道中,控制流和数据流大多以包(packet)的形式进行传输和转发,其中,为了提高包的传输效率,SOC芯片中通常会使用虚拟通道VC(Virtual Channel)进行传输,这也使得对SOC芯片验证的同时,需要对包的处理顺序进行检测。
然而,目前的芯片验证方法中并不能实现对浮点原子请求事务包的处理顺序的验证。
发明内容
有鉴于此,本申请实施例提供一种芯片验证方法、装置及相关设备,以实现对浮点原子请求事务包的顺序验证。
第一方面,本申请实施例提供一种芯片验证方法,包括:
获取待测设计的输入请求事务包,所述输入请求事务包对应的操作类型为浮点原子操作或普通操作;
获取待测设计的输出请求事务包,所述输出请求事务包为待测设计基于所述输入请求事务包的测试结果信息;
若所述输入请求事务包的操作类型为浮点原子操作,基于所对应的输出请求事务包确定对应该浮点原子操作的操作完成时间,其中,所述输出请求事务包至少包括对应浮点原子操作的读操作返回事务包,基于所述读操作返回事务包确定对应该浮点原子操作的读操作完成时间;
判断所述输入请求事务包对应的操作完成时间是否满足操作规则。
可选的,所述基于所对应的输出请求事务包确定对应该浮点原子操作的操作完成时间,包括:
判断所述输出请求事务包的传输通道是否对应浮点原子操作的传输通道;
若是,确定对应该传输通道所传输的操作的操作完成时间;
所述基于所述读操作返回事务包确定对应该浮点原子操作的读操作完成时间,包括:
判断所述输出请求事务包是否包括对应浮点原子操作的读操作返回事务包;
若是,确定对应该浮点原子操作的读操作完成时间。
可选的,所述输出请求事务包还包括对应该浮点原子操作的原子操作返回事务包,基于所述原子操作返回事务包确定对应该浮点原子操作的原子操作完成时间;
其中,所述原子操作完成时间对应于该传输通道所传输的操作的操作完成时间。
可选的,还包括:
若所述输入请求事务包的操作类型为普通操作,所对应的输出请求事务包对应普通操作返回事务包,基于所述普通操作返回事务包确定对应该普通操作的操作完成时间。
可选的,所述普通操作包括普通读操作或普通写操作;若所述输入请求事务包的操作类型为普通操作,所述输出请求事务包对应普通读操作返回事务包或普通写操作返回事务包;
所述基于所述输出请求事务包确定对应该普通操作的操作完成时间,包括:
判断所述输出请求事务包是否对应普通读操作返回事务包;
若是,确定对应该普通读操作的操作完成时间;或者,
判断所述输出请求事务包是否对应普通写操作返回事务包;
若是,确定对应该普通写操作的操作完成时间。
可选的,基于所述输入请求事务包,确定对应操作类型的操作开始时间。
可选的,若所述输入请求事务包的操作类型为浮点原子操作,所述判断所述输入请求事务包对应的操作完成时间是否满足操作规则包括:
判断对应该浮点原子操作的读操作完成时间是否大于对应该浮点原子操作的操作开始时间;
若是,确定对应该浮点原子操作的读操作完成,并判断对应该浮点原子操作的原子操作完成时间是否大于对应该浮点原子操作的操作开始时间;
若是,确定对应该浮点原子操作的原子操作完成,并判断对应该浮点原子操作的读操作完成时间是否不大于对应该浮点原子操作的原子操作完成时间;
若是,确定所述输入请求事务包对应的浮点原子操作完成。
可选的,若所述输入请求事务包的操作类型为普通操作,所述判断所述输入请求事务包对应的完成时间是否满足操作规则包括:
判断普通读操作完成时间是否不小于普通写操作完成时间;
若是,确定所述输入请求事务包对应的普通操作完成。
可选的,所述获取待测设计的输入请求事务包,包括:
基于所述输入请求事务包对应的操作类型,对所获取的输入请求事务包进行分类;
将不同类别的输入请求事务包分别写入不同的队列。
可选的,所述输入请求事务包包括序列信息;
在将不同类别的输入请求事务包分别写入不同的队列之后,还包括:
将所述输入请求事务包的序列信息写入对应的队列,并更新对应的操作开始时间。
可选的,所述输出请求事务包包括对应的序列信息;
所述获取待测设计的输出请求事务包,包括:
根据所述输出请求事务包的序列信息,在相应队列中查找对应所述输出请求事务包的输入请求事务包,并更新所述输入请求事务包对应的操作完成时间;或者,
在判断所述输入请求事务包对应的操作完成时间满足操作规则之后,在相应队列中,释放写入的对应所述输入请求事务包的序列信息。
第二方面,本申请实施例提供一种芯片验证装置,包括:
与待测设计相连接的输入端口处理模块,所述输入端口处理模块用于获取所述待测设计的输入请求事务包,所述输入请求事务包对应的操作类型为浮点原子操作或普通操作;
与待测设计相连接的输出端口处理模块,所述输出端口处理模块用于获取待测设计的输出请求事务包,所述输出请求事务包为待测设计基于所述输入请求事务包的测试结果信息;
若所述输入请求事务包的操作类型为浮点原子操作,基于所述输出请求事务包确定对应该浮点原子操作的完成时间,其中,所对应的输出请求事务包包括对应浮点原子操作的读操作返回事务包,基于所述读操作返回事务包确定对应该浮点原子操作的读操作完成时间;
连接所述输入端口处理模块和所述输出端口处理模块的顺序验证模块,所述顺序验证模块用于判断所述输入请求事务包对应的操作完成时间是否满足操作规则。
第三方面,本申请实施例提供一种芯片验证平台,所述芯片验证平台包括如上述第二方面所述的芯片验证装置,以用于执行如上述第一方面所述的芯片验证方法。
第四方面,本申请实施例提供一种存储介质,所述存储介质存储一条或多条计算机可执行指令,所述一条或多条计算机可执行指令被执行时,实现如上述第一方面所述的芯片验证方法。
可以看出,本申请实施例通过输入请求事务包对应的操作类型,在所述输入请求事务包的操作类型为浮点原子操作时,能够基于所对应的输出请求事务包确定对应该浮点原子操作的操作完成时间,并且,在所述输出请求事务包包括对应浮点原子操作的读操作返回事务包的情况下,能够基于所述读操作返回事务包确定对应该浮点原子操作的读操作完成时间,进而判断所述输入请求事务包对应的完成时间是否满足操作规则,从而实现对浮点原子操作的顺序验证。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1是芯片验证装置的可选结构示意图;
图2是浮点原子操作的处理流程示意图;
图3是本申请实施例提供的芯片验证方法的可选流程示意图;
图4是本申请实施例提供的基于输出请求事务包确定操作完成时间的可选流程示意图;
图5是本申请实施例提供的基于操作完成时间对是否满足操作规则的判断的可选流程示意图;
图6是本申请实施例提供的获取输入请求事务包执行的可选流程示意图;
图7是本申请实施例提供的芯片验证装置的可选示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
包(package)是基于系统总线传输的基本单元,系统总线能够发送数据包(packet),以执行数据操作。其中,包由各个不同的域组成,不同操作类型的包,组成的位域不同,从而可以基于包的位域,确定其对应的操作类型。事务(Transaction)是访问并可能更新数据库中各项数据项的一个程序执行单元(unit)。事务由事务开始(begintransaction)和事务结束(end transaction)之间执行的全体操作组成。
当事务包在SOC系统中传输时,为了提高事务包的传输效率,通常会使用虚拟通道VC(Virtual Channel)进行事务包的传输,而且,不同虚拟通道可以用于传输对应不同操作请求的事务包,不同虚拟通道对事务包的传输优先级也不同,且基于虚拟通道对事务包的传输优先级不同,事务包的处理顺序也不同。例如:两条不同的虚拟通道,分别为VC0和VC1,其中,VC0可以用于传输包含读请求的读操作事务包,VC1可以用于传输包含写请求的写操作事务包,且通过VC1传输的事务包(即VC1包)的优先级高于通过VC0传输的事务包(即VC0包)的优先级,则VC0包和VC1包在系统中处理的操作规则可以为:VC1包的优先级高于VC0包,VC1包可以超越或者不超越VC0包,但是,VC0包一定不能超越VC1包。因此,在进行芯片验证时,可以对利用虚拟通道传输的事务包的操作顺序基于操作规则进行验证,以确定SOC系统对事务包顺序处理的准确性。
目前,采用验证方法学是芯片验证的趋势之一,通用验证方法学(UniversalVerification Methodology,简称UVM)是其中的典型代表。UVM是SystemVerilog类为主的通用验证方法学,利用它的通用验证组件(Universal Verification Component),能够构建功能验证环境,即UVM验证环境。其中,UVM验证环境规定了UVM中的验证组件,例如,输入代理(VC In Agent)、输出代理(VC Out Agent)、顺序检查器(Order Checker)、监视器(Monitor)等,验证人员可以在验证组件的基础上进行再次开发,以对每种事务包的操作顺序进行验证,即一个输入包对应一个输出包。
其中,图1示例性的示出了芯片验证装置的可选结构示意图,如图1所示,芯片验证装置可以包括:输入代理和输出代理,以及顺序检查器,其中,输入代理和输出代理中均包括:监视器,并且,对通过虚拟通道传输的VC0包和VC1包在输入代理和输出代理中具有单独的验证组件,即监视器0和监视器1。针对待测设计(DUT,device under test),在芯片验证装置中,对通过虚拟通道传输的VC0包和VC1包的顺序验证流程大致如下:
输入代理:监视器0和监视器1中分别采集到通过虚拟通道传输的VC0包和VC1包的操作开始时间等数据,并发送至顺序检查器;
输出代理:监视器0和监视器1中分别采集到通过虚拟通道传输的VC0包和VC1包的操作完成时间等数据,并发送至顺序检查器;
顺序检查器:将输入代理和输出代理采集到的通过虚拟通道传输的VC0和VC1的数据,基于事务包的操作规则进行比较,例如比较通过虚拟通道传输的VC0包和VC1包的操作完成时间,若通过虚拟通道VC0传输的VC0包的操作完成时间不小于通过虚拟通道VC1传输的VC1包的操作完成时间,则满足操作规则。
然而,针对浮点原子操作(Float atomic)的浮点原子请求事务包,其中,浮点原子操作指的是针对浮点(float)类型的原子操作,其可以包含优先级不同的多个操作。如图2所示浮点原子操作的处理流程示意图,当发起Float atomic时,首先发起读操作,读取对应浮点类型的数据参数值,进而执行读操作返回;之后,判断是否发起atomic0操作,若是,则发起atomic0操作;若否,则判断是否发起atomic1操作,若是,则发起atomic1操作;若否,则操作结束。其中,atomic0操作可以例如是从数据参数值中读取数据的原子操作,atomic1操作可以例如是从数据参数值中写入数据的原子操作,在本申请实施例中,将atomic0操作和atomic1操作统称为原子操作。
需要说明的是,浮点原子操作是不可分割的一系列操作,具有一进多出的特点,在浮点原子操作执行完毕之前不会被任何其它任务或事务中断。而且,浮点原子操作的事务包可以利用传输包含读请求的虚拟通道进行传输,即通过VC0通道传输浮点原子操作对应的浮点原子请求事务包。而针对浮点原子操作对应有多个不同优先级的操作步骤,当采用一个输入包对应一个输出包的验证方式开发得到的验证组件,基于不同虚拟通道传输的事务包的操作顺序,对浮点原子请求事务包对应的浮点原子操作的操作顺序进行验证时,由于浮点原子操作具有一进多出的特点,使得浮点原子请求事务包的顺序验证不能实现。
有鉴于此,本申请实施例提供了一种芯片验证方法、装置及相关设备,通过输入请求事务包对应的操作类型,在所述输入请求事务包的操作类型为浮点原子操作时,能够基于所对应的输出请求事务包确定对应该浮点原子操作的操作完成时间,并且,在所述输出请求事务包至少包括对应浮点原子操作的读操作返回事务包的情况下,能够基于所述读操作返回事务包确定对应该浮点原子操作的读操作完成时间,进而判断所述输入请求事务包对应的完成时间是否满足操作规则,从而实现对浮点原子操作的顺序验证。
图3示例性的示出了本申请实施例中芯片验证方法的可选流程示意图,该流程可基于芯片验证平台的芯片验证装置实现,所述芯片验证平台可以为UVM平台,也可以为其他类型的平台,本申请实施例对此并不设限。如图3所示,该流程可以包括如下步骤:
步骤S10,获取待测设计的输入请求事务包。
在检测待测设计的事务包处理顺序时,待测设计可以通过虚拟通道向验证平台的芯片验证装置发送输入请求事务包,以用于验证待测设计的操作,从而芯片验证装置能够获取该待测设计的输入请求事务包。其中,所述输入请求事务包可以包括待测设计对应测试的操作信息。
在一个示例中,所述待测设计对应测试的操作可以是浮点原子操作,也可以是普通操作,其中,所述普通操作可以例如普通读操作,即在内存地址中读取数据的操作;或者普通写操作,即在内存地址中写入数据的操作。对应测试的操作,所述输入请求事务包可以是对应浮点原子操作的浮点原子请求事务包,也可以是对应普通操作的普通请求事务包。
其中,通过获取待测设计的输入请求事务包可以对待测设计的操作进行测试,可以将获取所述输入请求事务包的时间作为对应操作类型的操作开始时间。
需要说明的是,输入请求事务包对应的操作类型,可以通过所述输入请求事务包的位域体现。并且,待测设计的操作可以是多个,为保证待测设计的操作测试顺序,在一个可选示例中,输入请求事务包可以包含序列信息,所述序列信息用于记录对应操作类型的执行顺序,以浮点原子操作为例,若对应浮点原子操作的输入请求事务包包含的序列信息为1,则该浮点原子操作为第一次执行,若对应浮点原子操作的输入请求事务包包含的序列信息为2,该浮点原子操作为第二次执行,进而,可以在芯片验证装置中设置记录待测设计的输入请求事务包的相关信息的队列,从而能够基于队列中记载的对应输入请求事务包的相关信息进行操作判断。
步骤S20,获取待测设计的输出请求事务包。
基于输入请求事务包对应的操作执行,待测设计可以通过传输输入请求事务包的虚拟通道向芯片验证装置发送输出请求事务包,则芯片验证装置能够获取该待测设计的输出请求事务包,以对待测设计的操作进行验证。其中,所述输出请求事务包可以为待测设计基于所述输入请求事务包的测试结果信息,所述测试结果信息可以包括执行输入请求事务包对应的操作类型所对应的操作状态、操作完成时间等信息。其中,基于所述输入请求事务包对应的操作类型为浮点原子操作或普通操作,所述输出请求事务包可以为浮点原子操作的测试结果信息或普通操作的测试结果信息。
可以理解的是,当待测设计的操作执行完毕,则对应输出输出请求事务包,从而能够将输出请求事务包的输出时间确定为操作完成时间。并且,由于信号传输的瞬时性,芯片验证装置获取待测设计的输出请求事务包的时间可以等同于待测设计对输出请求事务包的输出时间。
作为一种可选实现,若所述输入请求事务包的操作类型为浮点原子操作,基于所述输入请求事务包所对应的输出请求事务包,能够确定对应该浮点原子操作的操作完成时间。其中,基于浮点原子操作的处理流程,在输入请求事务包的操作类型为浮点原子操作时,所述输出请求事务包可以至少包括对应浮点原子操作的读操作返回事务包,从而能够基于所述读操作返回事务包确定对应该浮点原子操作的读操作完成时间。
需要说明的是,输出请求事务包可以包含对应输入请求事务包指示操作类型的位域,以用于确定该输出请求事务包对应的输入请求事务包的操作类型。并且,基于输入请求事务包包含的序列信息,其所对应的输出请求事务包也可以包含相应的序列信息,从而作为一种可选实现,在芯片验证装置设置记录待测设计的输入请求事务包的相关信息的队列情况下,可以根据输出请求事务包的序列信息,在对应操作类型的相应队列中,查找对应的输入请求事务包,将所述输出请求事务包的测试结果信息记录在队列中。
步骤S30,判断所述输入请求事务包对应的操作完成时间是否满足操作规则。
所述操作规则可以理解为输入请求事务包对应的操作类型的执行规则,即操作的优先级处理规则。其中,输入请求事务包对应的操作类型的操作优先级,可以通过其对应的操作完成时间进行反映。在一可选示例中,当输入请求事务包对应的操作类型为普通操作,基于普通操作的不同类别对应不同的虚拟通道,从而可以基于不同虚拟通道传输的优先级,确定普通操作的操作规则,在此不做过多赘述。在一可选示例中,当输入请求事务包对应的操作类型为浮点原子操作,基于浮点原子操作的一进多出特点以及浮点原子操作的操作步骤,浮点原子操作对应的操作规则可以为:浮点原子操作的读操作完成时间不大于对应该浮点原子操作的原子操作完成时间。
可以理解的是,芯片验证装置基于获取的待测设计的输入请求事务包对应的操作类型,以及获取的该待测设计基于输入请求事务包的测试结果信息的输出请求事务包,从而能够判断所述输入请求事务包对应的完成时间是否满足操作规则,验证该待测设计的操作。并且,在芯片验证装置设置有用于记录操作信息的队列的可选实现中,基于所述队列,芯片验证装置可以对所述输入请求事务包对应的操作完成时间是否满足操作规则进行判断。在一个具体示例中,若输入请求事务包对应的操作完成时间满足操作规则,则输入请求事务包对应操作类型的操作完成,满足按序操作的要求,顺序检测完毕;若输入请求事务包对应的操作完成时间不满足操作规则,则输入请求事务包对应操作类型的操作出现错误,从而可以进行报错提示,以对待测设计进行对应改进。
可以看出,本申请实施例通过输入请求事务包对应的操作类型,在所述输入请求事务包的操作类型为浮点原子操作时,能够基于所对应的输出请求事务包确定对应该浮点原子操作的操作完成时间,并且,在所述输出请求事务包包括对应浮点原子操作的读操作返回事务包的情况下,能够基于所述读操作返回事务包确定对应该浮点原子操作的读操作完成时间,进而判断所述输入请求事务包对应的完成时间是否满足操作规则,从而实现对浮点原子操作的顺序验证。
在一些实施例中,基于输出请求事务包为待测设计基于输入请求事务包的测试结果信息,从而通过输出请求事务包能够确定对应操作的操作完成时间,图4示例性的示出了本申请实施例中基于输出请求事务包确定操作完成时间的可选流程示意图。如图4所示,可以包括:
步骤S210,判断输出请求事务包的传输通道是否对应浮点原子操作的传输通道。
需要说明的是,由于不同虚拟通道对事务包的传输优先级不同,因此,本申请实施例通过获取输出请求事务包,在基于所述输出请求事务包确定操作完成时间的过程中需要对输出请求事务包的传输通道进行判断。并且,由于浮点原子操作对应的事务包可以通过传输普通操作的事务包的一虚拟通道进行传输,从而在具有多条虚拟通道的情况下,也使得需要判断出该输出请求事务包对应的传输通道。进一步的,基于浮点原子操作与普通操作的区别,对输出请求事务包对应的传输通道判断,可以通过判断输出请求事务包的传输通道是否对应浮点原子操作的传输通道实现。在一个具体示例中,可以基于输出请求事务包对应浮点原子操作的位域,判断该输出请求事务包对应的传输通道。
作为一种可选实现,当判断结果为是,则执行步骤S211,确定对应该传输通道所传输的操作的操作完成时间。
其中,通过传输通道获取输出请求事务包,则说明待测设计执行操作并对应返回了测试结果信息,从而能够确定对应该传输通道所传输的操作的操作完成时间。
需要说明的是,由于浮点原子操作对应的事务包可以通过传输普通操作的事务包的一虚拟通道进行传输,从而确定的对应该传输通道所传输的操作的操作完成时间可能是浮点原子操作的操作完成时间,也有可能是该传输通道传输的相应普通操作的操作完成时间,因此,基于浮点原子操作与普通操作的区别,需要进一步执行步骤S212。
步骤S212,判断所述输出请求事务包是否包括对应浮点原子操作的读操作返回事务包。
需要说明的是,由于浮点原子操作对应的事务包可以通过传输普通操作的事务包的一虚拟通道进行传输,例如虚拟通道VC0,通过虚拟通道VC0可以传输浮点原子操作的事务包,也可以传输普通读操作的事务包,因此,在输出请求事务包的传输通道对应浮点原子操作的传输通道后,需要进一步确定该输出请求事务包是对应浮点原子操作的测试结果信息。其中,基于浮点原子操作的处理流程,判断输出请求事务包是否对应浮点原子操作的测试结果信息,可以通过判断输出请求事务包是否包括对应浮点原子操作的读操作返回事务包实现。
作为一种可选实现,当判断结果为是,即输出请求事务包包括对应浮点原子操作的读操作返回事务包,则执行步骤S213。
步骤S213,确定对应该浮点原子操作的读操作完成时间。
其中,通过对应浮点原子操作的传输通道,获取对应浮点原子操作的输出请求事务包,并且,该输出请求事务包包括对应浮点原子操作的读操作返回事务包,则说明待测设计执行浮点原子操作中的读操作对应返回了测试结果,从而能够基于输出请求事务包中包含的对应浮点原子操作的读操作返回事务包确定对应该浮点原子操作的读操作完成时间。
进一步的在一些实施例中,基于浮点原子操作的处理流程,在读操作返回后,对应浮点原子操作的输出请求事务包还可以包括对应该浮点原子操作的原子操作返回事务包,其中,基于原子操作返回事务包能够确定对应该浮点原子操作的原子操作完成时间。
可以理解的是,浮点原子操作是不可分割的一系列操作,根据浮点原子操作的处理流程,只有在原子操作执行后才能得到浮点原子操作的测试结果信息,从而,对应浮点原子操作的输出请求事务包的操作完成时间能够反映出原子操作返回事务包对应的原子操作完成时间,原子操作完成时间可以是与对应浮点原子操作的输出请求事务包确定的操作完成时间相同。而且,在传输通道传输浮点原子操作情况下,所述原子操作完成时间可以是对应于该传输通道所传输的操作的操作完成时间。
作为另一种可选实现,若输入请求事务包对应的操作类型为普通操作,基于普通操作具有一进一出的特点,该输入请求事务包所对应的输出请求事务包能够对应普通操作返回事务包,从而基于所述普通操作返回事务包能够确定对应该普通操作的完成时间。
在一个具体示例中,根据待测设计的执行需求,普通操作可以包括普通读操作或普通写操作,普通读操作为在内存的相应地址读取数据,普通写操作为在内存的相应地址写入数据,从而,若输入请求事务包的操作类型为普通操作,所对应的输出请求事务包可以对应普通读操作返回事务包或普通写操作返回事务包。
其中,在基于输出请求事务包确定对应该普通操作的操作完成时间时,由于普通读操作不同于普通写操作,且不同虚拟通道传输的事务包不同,基于不同虚拟通道的优先级不同,传输的事务包的处理顺序也不同,因此,可以基于判断输出请求事务包对应的返回事务包类别,确定对应的操作完成时间。
需要说明的是,由于浮点原子操作对应的事务包可以通过传输普通操作的事务包的一虚拟通道进行传输,例如虚拟通道VC0,通过虚拟通道VC0可以传输浮点原子操作的事务包,也可以传输普通读操作的事务包,因此,若执行步骤S210,在判断输出请求事务包的传输通道对应浮点原子操作的传输通道后,需要进一步确定该输出请求事务包是对应浮点原子操作的测试结果信息,还是该传输通道传输的对应普通操作(例如普通读操作)的测试结果信息;若执行步骤S210,在判断输出请求事务包的传输通道不对应浮点原子操作的传输通道后,则可以确定输出请求事务包的传输通道对应普通操作(例如普通写操作)的传输通道,并且,为保证结果的准确性,需要进一步确定该输出请求事务包是对应相应普通操作(例如普通写操作)的测试结果信息。其中,在判断输出请求事务包是否对应普通操作(例如普通读操作或普通写操作)的测试结果信息时,可以通过判断输出请求事务包是否对应普通操作的操作返回事务包(例如普通读操作返回事务包或普通写操作返回事务包)实现。
下面以浮点原子操作对应的事务包可以通过传输普通读操作的事务包的虚拟通道实现为例,对确定对应普通操作的操作完成时间进行说明。
作为一种可选实现,当步骤S212的判断结果为否时,可以进一步执行步骤S214,判断所述输出请求事务包是否对应普通读操作返回事务包。
若步骤S214的判断结果为是,则执行步骤S215,确定对应该普通读操作的操作完成时间。
作为另一种可选实现,当步骤S210的判断结果为否时,说明输出请求事务包对应的传输通道为普通写操作的传输通道,并进一步执行步骤S216,判断所述输出请求事务包是否对应普通写操作返回事务包。
若步骤S216的判断结果为是,则执行步骤S217,确定对应该普通写操作的操作完成时间。
需要说明的是,在得到输出请求事务包对应的传输通道为普通写操作的传输通道结果后,可以对应记录该传输通道传输的输出请求事务包的输出时间。相应的,在得到输出请求事务包对应的传输通道为浮点原子操作的传输通道的结果后,可以对应记录该传输通道传输的输出请求事务包的输出时间。进而,当确定输出请求事务包对应普通读操作返回事务包后,将记录的该传输通道传输的输出请求事务包的输出时间和,前述对应的传输通道为普通写操作的传输通道所记录的输出时间,作为检测利用虚拟通道传输的相应普通操作是否满足操作规则的依据。其中,由于虚拟通道传输相应的普通操作,如VC1传输VC1包,VC0传输VC0包,因此,步骤S214以及步骤S216的判断结果必然与该传输通道传输的事务包类型相对应,从而能够确定相应普通操作的操作完成时间。
在一些实施例中,芯片验证装置可以将获取待测设计发送的输入请求事务包的时间记录为操作开始时间,因此,基于所述输入请求事务包,能够确定对应操作的操作开始时间。其中,若所述输入请求事务包对应的类型为浮点原子操作,能够确定对应浮点原子操作的开始时间;若所述输入请求事务包对应的类型为普通操作,能够确定对应普通操作的开始时间。
进一步的在一些实施例中,在对应操作类型的操作基于操作规则执行的条件下,通过获取的输出请求事务包确定对应操作类型的操作完成时间,进而通过确定的操作完成时间,能够为判断该操作是否满足操作规则提供支持。其中,图5示例性的示出了本申请实施例中基于操作完成时间对是否满足操作规则的判断的可选流程示意图。如图5所示,可以包括:
步骤S310,判断是否对浮点原子操作的顺序验证。
其中,由于待测设计向芯片验证装置中发送的输入请求事务包的数量可以为多个,为保证输入请求事务包的顺序验证,本申请实施例可以基于与输入请求事务包的获取顺序相对应的队列中所记录的操作类型执行,基于操作完成时间对是否满足操作规则的判断。并且,由于输入请求事务包对应的操作类型可以为浮点原子操作或普通操作,且浮点原子操作相对于普通操作具有一进多出的特点,因此,可以先执行是否对浮点原子操作的顺序验证的判断。
在一可选示例中,若队列中记录的第一个操作类型为浮点原子操作,获取的第一个输入请求事务包的操作类型为浮点原子操作,则步骤S310的判断结果为是。并且,基于浮点原子操作的处理流程特点,执行步骤S311,判断对应该浮点原子操作的读操作完成时间是否大于对应该浮点原子操作的操作开始时间;
若是,确定对应该浮点原子操作的读操作完成,并执行步骤S312,判断对应该浮点原子操作的原子操作完成时间是否大于对应该浮点原子操作的操作开始时间;
若是,确定对应该浮点原子操作的原子操作完成,并执行步骤S313,判断对应该浮点原子操作的读操作完成时间是否不大于对应该浮点原子操作的原子操作完成时间;
若是,确定输入请求事务包对应的浮点原子操作完成。
需要说明的是,基于浮点原子操作的处理特点,以及浮点原子操作包括不可分割的一系列操作,当步骤S311至步骤S313的判断结果出现否定情况时,说明执行浮点原子操作的过程中出现了问题,则可以直接报错,对该操作的验证结束。
在另一可选示例中,若队列中记录的第一个操作类型为普通操作,获取的第一个输入请求事务包的操作类型为普通操作,例如:普通读操作、普通写操作,则步骤S310的判断结果为否。对应普通操作的处理特点,执行步骤S314,判断普通读操作完成时间是否不小于普通写操作完成时间;
若是,确定输入请求事务包对应的普通操作完成。
需要说明的是,在输入请求对应普通操作的情况下,普通操作的执行可以是依据上述VC1和VC0的操作规则,即普通写操作的优先级高于普通读操作,普通写操作可以超越或者不超越普通读操作,但是,普通读操作一定不能超越普通写操作。从而,对应于普通写操作以及普通读操作的操作完成时间表示,普通操作的操作规则为:普通写操作的操作完成时间不可以超过普通读操作的操作完成时间,但是普通读操作的操作完成时间可以超过普通写操作的操作完成时间,也即,普通读操作完成时间不小于普通写操作完成时间。
需要说明的是,基于普通操作的特点,当步骤S314的判断结果出现否定情况时,说明执行普通操作的过程中出现了问题,则可以直接报错,对该操作的验证结束。
在一些实施例中,图6示例性的示出了本申请实施例中获取输入请求事务包执行的可选流程示意图,如图6所示,可以包括:
步骤S111,基于所述输入请求事务包对应的操作类型,对所获取的输入请求事务包进行分类。
在一个具体示例中,可以基于所述输入请求事务包对应操作类型的位域,对所获取的输入请求事务包进行分类,例如将所述输入请求事务包分为浮点原子操作或普通操作。通过分类所获取的输入请求事务包,能够基于不同操作类型的特点,进行相应判断,以确定所述输入请求事务的执行是否满足操作规则。
步骤S112,将不同类别的输入请求事务包分别写入不同的队列。
所述队列可以是用于记录对应操作类型的测试信息以及测试结果信息,以实现判断输入请求事务包对应的操作完成时间是否满足操作规则。
进一步的,在一些实施例中,所述输入请求事务包可以包括序列信息,其中,所述序列信息可以是用于指示所述输入请求事务包对应操作类型的操作顺序。在一个具体示例中,所述序列信息可以是序列号,例如:输入请求事务包对应的操作类型为浮点原子操作,当该输入请求事务包的序列信息为1,则指示第一次执行浮点原子操作,当输入请求事务包的序列信息为2,则指示第二次执行浮点原子操作,依次类推。同理,输入请求事务包对应的操作类型为普通操作,当输入请求事务包的序列信息为1,则指示第一次执行普通操作,当输入请求事务包的序列信息为2,则指示第二次执行普通操作,依次类推,其中,该普通操作可以例如是普通读操作、普通写操作。
基于将不同类别的输入请求事务包分别写入不同的队列,在所述输入请求事务包包括序列信息情况下,在步骤S112之后还可以进一步执行步骤S113,将所述输入请求事务包的序列信息写入对应的队列,并更新对应的操作开始时间。
在一些实施例中,基于输入请求事务包与输出请求事务包的对应关系,所述输出请求事务包可以包括对应的序列信息。从而,对于获取的输出请求事务包可以根据所述输出请求事务包的序列信息,作为一种可选实现,可以在相应队列中查找对应所述输出请求事务包的输入请求事务包,并更新所述输入请求事务包对应的操作完成时间。其中,所述输出请求事务包的序列信息可以是与所述输入请求事务包的序列信息相同。
作为另一种可选实现,可以在判断所述输入请求事务包对应的操作完成时间满足操作规则之后,在相应队列中,释放写入的对应所述输入请求事务包的序列信息。
可以理解的是,在对应序列信息的操作完成后,不存在重复执行该序列信息对应的操作,并且,若执行的操作数量较多,在队列中记录的序列信息的数量相对增加,若保留已操作完成的序列信息,则会增加芯片验证装置中的垃圾数据,从而导致验证效率降低,因此,可以释放已完成操作的序列信息,所述释放已完成操作的序列信息可以理解为是清空队列中记录的已完成操作的序列信息,从而实现优化验证数据,保证验证效率。
可以看出,本申请实施例通过输入请求事务包对应的操作类型,在所述输入请求事务包的操作类型为浮点原子操作时,能够基于所对应的输出请求事务包确定对应该浮点原子操作的操作完成时间,并且,在所述输出请求事务包包括对应浮点原子操作的读操作返回事务包的情况下,能够基于所述读操作返回事务包确定对应该浮点原子操作的读操作完成时间,进而判断所述输入请求事务包对应的完成时间是否满足操作规则,从而实现对浮点原子操作的顺序验证。
本申请实施例还提供一种芯片验证装置,其结构可以参考图7所示,其中,下文描述的内容可以认为是芯片验证装置为实现本申请实施例提供的芯片验证方法,所需设置的功能模块,下文描述的内容可与上文描述内容相互对应参照。该芯片验证装置至少包括:
与待测设计相连接的输入端口处理模块100,所述输入端口处理模块用于获取所述待测设计的输入请求事务包,所述输入请求事务包对应的操作类型为浮点原子操作或普通操作;
与待测设计相连接的输出端口处理模块200,所述输出端口处理模块用于获取待测设计的输出请求事务包,所述输出请求事务包为待测设计基于所述输入请求事务包的测试结果信息;
若所述输入请求事务包的操作类型为浮点原子操作,基于所述输出请求事务包确定对应该浮点原子操作的完成时间,其中,所对应的输出请求事务包包括对应浮点原子操作的读操作返回事务包,基于所述读操作返回事务包确定对应该浮点原子操作的读操作完成时间;
连接所述输入端口处理模块和所述输出端口处理模块的顺序验证模块300,所述顺序验证模块用于判断所述输入请求事务包对应的操作完成时间是否满足操作规则。
可选的,所述输出端口处理模块200,基于所对应的输出请求事务包确定对应该浮点原子操作的操作完成时间的步骤包括:
判断所述输出请求事务包的传输通道是否对应浮点原子操作的传输通道;
若是,确定对应该传输通道所传输的操作的操作完成时间;
所述基于所述读操作返回事务包确定对应该浮点原子操作的读操作完成时间,包括:
判断所述输出请求事务包是否包括对应浮点原子操作的读操作返回事务包;
若是,确定对应该浮点原子操作的读操作完成时间。
可选的,所述输出端口处理模块200,获取的所述输出请求事务包还包括对应该浮点原子操作的原子操作返回事务包,基于所述原子操作返回事务包确定对应该浮点原子操作的原子操作完成时间;
其中,所述原子操作完成时间对应于该传输通道所传输的操作的操作完成时间。
可选的,在所述输出端口处理模块200中,若所述输入请求事务包的操作类型为普通操作,所对应的输出请求事务包对应普通操作返回事务包,基于所述普通操作返回事务包确定对应该普通操作的操作完成时间。
可选的,所述输出端口处理模块200获取的所述输出请求事务包对应的普通操作包括普通读操作或普通写操作;若所述输入请求事务包的操作类型为普通操作,所述输出请求事务包对应普通读操作返回事务包或普通写操作返回事务包;
所述基于所述输出请求事务包确定对应该普通操作的操作完成时间,包括:
判断所述输出请求事务包是否对应普通读操作返回事务包;
若是,确定对应该普通读操作的操作完成时间;或者,
判断所述输出请求事务包是否对应普通写操作返回事务包;
若是,确定对应该普通写操作的操作完成时间。
可选的,所述输入端口处理模块100能够基于所述输入请求事务包,确定对应操作的开始时间。
可选的,若所述输入请求事务包的操作类型为浮点原子操作,所述顺序验证模块300,用于判断所述输入请求事务包对应的操作完成时间是否满足操作规则的步骤包括:
判断对应该浮点原子操作的读操作完成时间是否大于对应该浮点原子操作的操作开始时间;
若是,确定对应该浮点原子操作的读操作完成,并判断对应该浮点原子操作的原子操作完成时间是否大于对应该浮点原子操作的操作开始时间;
若是,确定对应该浮点原子操作的原子操作完成,并判断对应该浮点原子操作的读操作完成时间是否不大于对应该浮点原子操作的原子操作完成时间;
若是,确定所述输入请求事务包对应的浮点原子操作完成。
可选的,若所述输入请求事务包的操作类型为普通操作,所述顺序验证模块300,用于判断所述输入请求事务包对应的完成时间是否满足操作规则的步骤可以包括:
判断普通读操作完成时间是否不小于普通写操作完成时间;
若是,确定所述输入请求事务包对应的普通操作完成。
可选的,所述输入端口处理模块100用于获取待测设计的输入请求事务包的步骤可以包括:
基于所述输入请求事务包对应的操作类型,对所获取的输入请求事务包进行分类;
将不同类别的输入请求事务包分别写入不同的队列。
可选的,所述输入端口处理模块100获取的所述输入请求事务包可以包括序列信息;
所述输入端口处理模块100在将不同类别的输入请求事务包分别写入不同的队列之后,还可以包括步骤:
将所述输入请求事务包的序列信息写入对应的队列,并更新对应的操作开始时间。
可选的,所述输出端口处理模块200获取的所述输出请求事务包可以包括对应的序列信息;
所述输出端口处理模块200用于获取待测设计的输出请求事务包的步骤,可以包括:
根据所述输出请求事务包的序列信息,在相应队列中查找对应所述输出请求事务包的输入请求事务包,并更新所述输入请求事务包对应的操作完成时间;或者,
在判断所述输入请求事务包对应的操作完成时间满足操作规则之后,在相应队列中,释放写入的对应所述输入请求事务包的序列信息。
可以看出,本申请实施例的芯片验证装置能够实现对浮点原子操作的顺序验证,提高了芯片验证的效率,并且,基于本申请实施例的芯片验证装置也能够实现对普通操作的顺序验证,相较于对任一操作类型独立开发验证组件的方式,本申请实施例的芯片验证装置优化了相应的验证组件,简化了对操作的顺序验证复杂度,提高了验证组件的开发效率。
本申请实施例中还提供了一种芯片验证平台,该芯片验证平台可以包括上述的芯片验证装置,以用于执行上述所述的芯片验证方法。
本申请实施例还提供一种存储介质,该存储介质存储一条或多条计算机可执行指令,所述一条或多条计算机可执行指令被执行时,实现上述所述的芯片验证方法。
上文描述了本申请实施例提供的多个实施例方案,各实施例方案介绍的各可选方式可在不冲突的情况下相互结合、交叉引用,从而延伸出多种可能的实施例方案,这些均可认为是本申请实施例披露、公开的实施例方案。
虽然本申请实施例披露如上,但本申请并非限定于此。任何本领域技术人员,在不脱离本申请的精神和范围内,均可作各种更动与修改,因此本申请的保护范围应当以权利要求所限定的范围为准。

Claims (14)

1.一种芯片验证方法,其特征在于,包括:
获取待测设计的输入请求事务包,所述输入请求事务包对应的操作类型为浮点原子操作或普通操作;
获取待测设计的输出请求事务包,所述输出请求事务包为待测设计基于所述输入请求事务包的测试结果信息;
若所述输入请求事务包的操作类型为浮点原子操作,基于所对应的输出请求事务包确定对应该浮点原子操作的操作完成时间,其中,所述输出请求事务包至少包括对应浮点原子操作的读操作返回事务包,基于所述读操作返回事务包确定对应该浮点原子操作的读操作完成时间;
判断所述输入请求事务包对应的操作完成时间是否满足操作规则。
2.根据权利要求1所述的芯片验证方法,其特征在于,所述基于所对应的输出请求事务包确定对应该浮点原子操作的操作完成时间,包括:
判断所述输出请求事务包的传输通道是否对应浮点原子操作的传输通道;
若是,确定对应该传输通道所传输的操作的操作完成时间;
所述基于所述读操作返回事务包确定对应该浮点原子操作的读操作完成时间,包括:
判断所述输出请求事务包是否包括对应浮点原子操作的读操作返回事务包;
若是,确定对应该浮点原子操作的读操作完成时间。
3.根据权利要求2所述的芯片验证方法,其特征在于,所述输出请求事务包还包括对应该浮点原子操作的原子操作返回事务包,基于所述原子操作返回事务包确定对应该浮点原子操作的原子操作完成时间;
其中,所述原子操作完成时间对应于该传输通道所传输的操作的操作完成时间。
4.根据权利要求1所述的芯片验证方法,其特征在于,还包括:
若所述输入请求事务包的操作类型为普通操作,所对应的输出请求事务包对应普通操作返回事务包,基于所述普通操作返回事务包确定对应该普通操作的操作完成时间。
5.根据权利要求4所述的芯片验证方法,其特征在于,所述普通操作包括普通读操作或普通写操作;若所述输入请求事务包的操作类型为普通操作,所述输出请求事务包对应普通读操作返回事务包或普通写操作返回事务包;
所述基于所述输出请求事务包确定对应该普通操作的操作完成时间,包括:
判断所述输出请求事务包是否对应普通读操作返回事务包;
若是,确定对应该普通读操作的操作完成时间;或者,
判断所述输出请求事务包是否对应普通写操作返回事务包;
若是,确定对应该普通写操作的操作完成时间。
6.根据权利要求1所述的芯片验证方法,其特征在于,基于所述输入请求事务包,确定对应操作类型的操作开始时间。
7.根据权利要求1至6任一项所述的芯片验证方法,其特征在于,
若所述输入请求事务包的操作类型为浮点原子操作,所述判断所述输入请求事务包对应的操作完成时间是否满足操作规则包括:
判断对应该浮点原子操作的读操作完成时间是否大于对应该浮点原子操作的操作开始时间;
若是,确定对应该浮点原子操作的读操作完成,并判断对应该浮点原子操作的原子操作完成时间是否大于对应该浮点原子操作的操作开始时间;
若是,确定对应该浮点原子操作的原子操作完成,并判断对应该浮点原子操作的读操作完成时间是否不大于对应该浮点原子操作的原子操作完成时间;
若是,确定所述输入请求事务包对应的浮点原子操作完成。
8.根据权利要求1至6任一项所述的芯片验证方法,其特征在于,
若所述输入请求事务包的操作类型为普通操作,所述判断所述输入请求事务包对应的完成时间是否满足操作规则包括:
判断普通读操作完成时间是否不小于普通写操作完成时间;
若是,确定所述输入请求事务包对应的普通操作完成。
9.根据权利要求1所述的芯片验证方法,其特征在于,所述获取待测设计的输入请求事务包,包括:
基于所述输入请求事务包对应的操作类型,对所获取的输入请求事务包进行分类;
将不同类别的输入请求事务包分别写入不同的队列。
10.根据权利要求9所述的芯片验证方法,其特征在于,所述输入请求事务包包括序列信息;
在将不同类别的输入请求事务包分别写入不同的队列之后,还包括:
将所述输入请求事务包的序列信息写入对应的队列,并更新对应的操作开始时间。
11.根据权利要求10所述的芯片验证方法,其特征在于,所述输出请求事务包包括对应的序列信息;
所述获取待测设计的输出请求事务包,包括:
根据所述输出请求事务包的序列信息,在相应队列中查找对应所述输出请求事务包的输入请求事务包,并更新所述输入请求事务包对应的操作完成时间;或者,
在判断所述输入请求事务包对应的操作完成时间满足操作规则之后,在相应队列中,释放写入的对应所述输入请求事务包的序列信息。
12.一种芯片验证装置,其特征在于,包括:
与待测设计相连接的输入端口处理模块,所述输入端口处理模块用于获取所述待测设计的输入请求事务包,所述输入请求事务包对应的操作类型为浮点原子操作或普通操作;
与待测设计相连接的输出端口处理模块,所述输出端口处理模块用于获取待测设计的输出请求事务包,所述输出请求事务包为待测设计基于所述输入请求事务包的测试结果信息;
若所述输入请求事务包的操作类型为浮点原子操作,基于所述输出请求事务包确定对应该浮点原子操作的完成时间,其中,所对应的输出请求事务包包括对应浮点原子操作的读操作返回事务包,基于所述读操作返回事务包确定对应该浮点原子操作的读操作完成时间;
连接所述输入端口处理模块和所述输出端口处理模块的顺序验证模块,所述顺序验证模块用于判断所述输入请求事务包对应的操作完成时间是否满足操作规则。
13.一种芯片验证平台,其特征在于,所述芯片验证平台包括如权利要求12所述的芯片验证装置,以用于执行如权利要求1至11任一项所述的芯片验证方法。
14.一种存储介质,其特征在于,所述存储介质存储一条或多条计算机可执行指令,所述一条或多条计算机可执行指令被执行时,实现如权利要求1至11任一项所述的芯片验证方法。
CN202310799052.9A 2023-06-30 2023-06-30 一种芯片验证方法、装置及相关设备 Pending CN116776786A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202310799052.9A CN116776786A (zh) 2023-06-30 2023-06-30 一种芯片验证方法、装置及相关设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202310799052.9A CN116776786A (zh) 2023-06-30 2023-06-30 一种芯片验证方法、装置及相关设备

Publications (1)

Publication Number Publication Date
CN116776786A true CN116776786A (zh) 2023-09-19

Family

ID=88006190

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202310799052.9A Pending CN116776786A (zh) 2023-06-30 2023-06-30 一种芯片验证方法、装置及相关设备

Country Status (1)

Country Link
CN (1) CN116776786A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117555741A (zh) * 2024-01-10 2024-02-13 深流微智能科技(深圳)有限公司 基于uvm的原子指令模块验证系统、方法、设备及介质

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117555741A (zh) * 2024-01-10 2024-02-13 深流微智能科技(深圳)有限公司 基于uvm的原子指令模块验证系统、方法、设备及介质
CN117555741B (zh) * 2024-01-10 2024-04-26 深流微智能科技(深圳)有限公司 基于uvm的原子指令模块验证系统、方法、设备及介质

Similar Documents

Publication Publication Date Title
CN108073519B (zh) 测试用例生成方法和装置
US8230370B2 (en) Circuit design assisting apparatus, computer-readable medium storing circuit design assisting program, and circuit design assisting method
US5189365A (en) Method of locating a fault in a logic IC device
CN113434355B (zh) 模块验证方法、uvm验证平台、电子设备及存储介质
US7536662B2 (en) Method for recognizing and verifying FIFO structures in integrated circuit designs
CN116776786A (zh) 一种芯片验证方法、装置及相关设备
US6707313B1 (en) Systems and methods for testing integrated circuits
CN114168200B (zh) 多核处理器访存一致性的验证系统及方法
US20050262399A1 (en) Aggregating and prioritizing failure signatures by a parsing program
CN103365772B (zh) 软件测试自动评价装置以及方法
CN117076337B (zh) 一种数据传输方法、装置、电子设备及可读存储介质
US6615378B1 (en) Method and apparatus for holding failing information of a memory built-in self-test
CN108829903B (zh) 判定fpga冗余设计的代码与综合后电路一致性的方法和系统
US6751752B1 (en) Checking events generated by a device
CN111045948A (zh) 模块间接口信号的检查方法、设备和存储介质
CN115203061B (zh) 接口自动化测试方法、装置、电子设备及存储介质
US20130159241A1 (en) Template clauses based sat techniques
US20060143582A1 (en) Generating testcases based on numbers of testcases previously generated
CN114355171B (zh) 一种可重构芯片性能瓶颈检测平台、检测方法及电子设备
CN112528577A (zh) 时钟复位电路的管理方法、装置和计算机存储介质
US10234502B1 (en) Circuit defect diagnosis based on sink cell fault models
CN115495388B (zh) 用于ai推理芯片的芯片验证方法、装置、设备及介质
CN117076182B (zh) 一种错误上报方法、片上系统、计算机设备及存储介质
CN117236277B (zh) 用于检查寄存器的方法及装置、电子设备
CN117076183B (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