CN115684897A - 芯片测试的方法和装置 - Google Patents
芯片测试的方法和装置 Download PDFInfo
- Publication number
- CN115684897A CN115684897A CN202211702020.4A CN202211702020A CN115684897A CN 115684897 A CN115684897 A CN 115684897A CN 202211702020 A CN202211702020 A CN 202211702020A CN 115684897 A CN115684897 A CN 115684897A
- Authority
- CN
- China
- Prior art keywords
- read
- write
- data packet
- address set
- management unit
- 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
- 238000012360 testing method Methods 0.000 title claims abstract description 139
- 238000013523 data management Methods 0.000 claims abstract description 125
- 238000004590 computer program Methods 0.000 claims abstract description 10
- 238000000034 method Methods 0.000 claims description 65
- 230000015654 memory Effects 0.000 claims description 29
- 238000013507 mapping Methods 0.000 claims description 20
- 238000004364 calculation method Methods 0.000 claims description 6
- 238000004458 analytical method Methods 0.000 claims description 5
- 230000008569 process Effects 0.000 description 24
- 238000004088 simulation Methods 0.000 description 19
- 230000006870 function Effects 0.000 description 10
- 238000004891 communication Methods 0.000 description 9
- 238000010586 diagram Methods 0.000 description 8
- 238000012795 verification Methods 0.000 description 8
- 238000013500 data storage Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 238000012546 transfer Methods 0.000 description 6
- 238000013461 design Methods 0.000 description 5
- 230000005284 excitation Effects 0.000 description 5
- 239000011324 bead Substances 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000013524 data verification Methods 0.000 description 4
- 238000005516 engineering process Methods 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 230000004044 response Effects 0.000 description 4
- 230000006399 behavior Effects 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 230000003993 interaction Effects 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 208000005017 glioblastoma Diseases 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Landscapes
- Tests Of Electronic Circuits (AREA)
Abstract
本申请提供了一种芯片测试的方法、装置、计算设备、计算机程序产品和计算机可读存储介质,涉及芯片技术领域。本申请实施例可以将从DUT获取的读数据与从数据管理单元中获取的写数据进行比对,以获得比较结果。本申请实施例通过数据管理单元实现数据比对,可以确保读数据与写数据的匹配度,使得比较结果能够反映DUT的读写能力,从而提高了芯片测试的效率。
Description
技术领域
本申请涉及芯片技术领域,并且具体地,涉及一种芯片测试的方法、装置、计算设备、计算机程序产品和计算机可读存储介质。
背景技术
大规模集成电路(integrated circuit,IC)技术蓬勃发展,芯片的逻辑规模以及芯片中的电路越来越复杂,为确保芯片的质量并早日上市,需要把芯片作为待测系统(design under test,DUT)进行准确而快速的仿真测试。待测系统如何实现芯片的功能性正确测试成为亟需解决的技术问题。
发明内容
本申请提供一种芯片测试方法、装置、计算设备、计算机程序产品和计算机可读存储介质。该方法可以在数据管理单元中获取写数据,将该写数据与从待测系统(designunder test,DUT)中获得的读数据相比对,并反馈比较结果。本申请无需将读数据发送到服务器,在测试端即可实现对DUT的测试,提高了DUT测试的效率。
第一方面,提供了一种芯片测试方法,包括:从待测系统(DUT)中接收读数据包和读数据标识,其中,该读数据包存储在读地址集所覆盖的存储单元中,该存储单元属于该DUT;根据该读数据标识和查找表,获取数据管理单元中存储的写数据包,其中,该查找表包括该读地址集与读地址标识之间的映射,该读数据标识对应于该读地址标识,该数据管理单元还存储写地址集以及该写地址集与该写数据包之间的映射,该读地址集的范围与该写地址集的范围至少部分地重叠;比对该写数据包和该读数据包,以获得比较结果;输出该比较结果。
本申请实施例可以将从DUT获取的读数据与从数据管理单元中获取的写数据进行比对,以获得比较结果。本申请实施例通过数据管理单元实现数据比对,可以确保读数据与写数据的匹配度,使得比较结果能够反映DUT的读写能力,从而提高了芯片测试的效率。
结合第一方面,在第一方面的某些实现方式中,在所述待测系统DUT中接收读数据包和读数据标识之前,该方法还包括:
通用总线模型GBM生成所述写地址集和所述写数据包,所述GBM通过硬件实现;或者,解析单元解析GBM生成的写请求以获取所述写地址集和所述写数据包。
结合第一方面,在第一方面的某些实现方式中,该方法还包括:
所述GBM生成所述读地址集和所述读地址标识;或者,所述解析单元解析GBM生成的读请求以获取所述读地址集和所述读地址标识。
在传统的技术方案中,写数据包、写地址集通过软件调度而向DUT发送。在这种情况下,由于不清楚写数据包和写地址集的硬件实现逻辑,该技术方案无法在测试压力较大时覆盖各种验证的组合,例如当突发(burst)长度(length)较大时,该技术方案难以保证芯片测试的完备性。
本申请从运行在硬件侧的GBM中获取写数据包,将该写数据包与从DUT中接收的读数据包进行比对,输出比较结果。由于在硬件侧执行比对操作,实现了软件与硬件的解耦,即使在测试压力较大时也能覆盖各种验证的组合,从而提高了芯片测试的效率。
结合第一方面,在第一方面的某些实现方式中,根据该读数据标识和该查找表,从该数据管理单元中获取该写数据包,包括:根据该读数据标识匹配该读地址标识;根据该读地址标识从该查找表中匹配该读地址集;根据该读地址集从该数据管理单元中获取该写数据包。
本申请实施例通过读数据标识匹配读地址标识,从而匹配读地址集,再根据读地址集从数据管理单元中获取写数据包。本申请实施例的技术方案可以高效地获取写数据包,从而提高了数据比对的效率。
结合第一方面,在第一方面的某些实现方式中,比对该写数据包和该读数据包,以获得比较结果,包括:根据突发(burst)类型比对该写数据包和该读数据包,以获得比较结果,其中,burst类型包括burst宽度和burst长度,该写数据包和该读数据包中最小的burst宽度为比对宽度,该写数据包和该读数据包中最小的burst长度为比对次数。
本申请实施例可以根据burst类型比对写数据包和读数据包,当读数据包和写数据包的burst类型不同时,仍然可以对齐读数据与写数据,从而输出可以反映DUT读写能力的比较结果。本申请实施例的技术方案提升了DUT读写能力测试的鲁棒性,从而提高了芯片测试的效率。
结合第一方面,在第一方面的某些实现方式中,该数据管理单元为栈结构,其中,该写数据包根据写指针被存入该数据管理单元,该写指针由该写地址集生成,该写指针顺序增长,读指针用于从该数据管理单元中获取写数据包,该读指针是根据该读地址集计算而获得的。
本申请实施例中数据管理单元的数据存储结构可以是具有相邻关系的堆栈结构,当读数据包和写数据包的burst类型不同时,仍然可以根据该数据管理单元对齐读数据与写数据,确保读数据包与写数据包的匹配度,从而输出可以反映DUT读写能力的比较结果。本申请实施例的技术方案提升了DUT读写能力测试的鲁棒性,从而提高了芯片测试的效率。
结合第一方面,在第一方面的某些实现方式中,该数据管理单元为高速缓冲存储器(cache)结构,其中,该写数据包被存入该数据管理单元,该写地址集生成与该写数据包对应的有效比特信息,该读地址集用于从该数据管理单元中获取该写数据包,该有效比特信息用于指示该写数据包中的有效数据比特。
本申请实施例中,数据管理单元可以采用cache结构进行数据存储,当读地址集和写地址集的首地址不相同、读数据包和写数据包的burst类型不相同或者多笔写请求的地址重叠时,仍然可以根据该数据管理单元对齐读数据与写数据,确保读数据包与写数据包的匹配度,从而输出可以反映DUT读写能力的比较结果。本申请实施例的技术方案提升了DUT读写能力测试的鲁棒性,从而提高了芯片测试的效率。另一方面,本申请利用了cache结构中hit-miss的功能来进行数据校验,由于利用了现成的机制,便于进行芯片测试过程的设计。
结合第一方面,在第一方面的某些实现方式中,该写数据包和该读数据包的burst长度为0。
写数据包和读数据包的burst长度为0,也就是说,写数据包和读数据包均为一个beat传输,在这种情况下,数据管理单元的结构较为简单,确保了读数据包和写数据包的匹配度,从而输出可以反映DUT读写能力的比较结果,提高了芯片测试的效率。
第二方面,提供了一种芯片测试装置,包括:
接收单元,用于从待测系统(DUT)中接收读数据包和读数据标识,其中,该读数据包存储在读地址集所覆盖的存储单元中,该存储单元属于该DUT;
获取单元,用于根据该读数据标识和查找表单元,获取数据管理单元中存储的写数据包,其中,该查找表单元包括该读地址集与读地址标识之间的映射,该读数据标识对应于该读地址标识,该数据管理单元还存储写地址集以及该写地址集与该写数据包之间的映射,该读地址集的范围与该写地址集的范围至少部分地重叠;
比对单元,用于比对该写数据包和该读数据包,以获得比较结果;
输出单元,用于输出该比较结果。
本申请实施例可以将从DUT获取的读数据与从数据管理单元中获取的写数据进行比对,以获得比较结果。本申请实施例通过数据管理单元实现数据比对,可以确保读数据与写数据的匹配度,使得比较结果能够反映DUT的读写能力,从而提高了芯片测试的效率。
结合第二方面,在第二方面的某些实现方式中,该装置还包括:
通用总线模型GBM,用于生成所述写地址集和所述写数据包,所述GBM通过硬件实现;或者,解析单元,用于解析GBM生成的写请求以获取所述写地址集和所述写数据包。
结合第二方面,在第二方面的某些实现方式中,所述GBM还用于生成所述读地址集和所述读地址标识;或者,所述解析单元还用于解析GBM生成的读请求以获取所述读地址集和所述读地址标识。
在传统的技术方案中,写数据包、写地址集通过软件调度而向DUT发送。在这种情况下,由于不清楚写数据包和写地址集的硬件实现逻辑,该技术方案无法在测试压力较大时覆盖各种验证的组合,例如当突发(burst)长度(length)较大时,该技术方案难以保证芯片测试的完备性。
本申请从运行在硬件侧的GBM中获取写数据包,将该写数据包与从DUT中接收的读数据包进行比对,输出比较结果。由于在硬件侧执行比对操作,实现了软件与硬件的解耦,即使在测试压力较大时也能覆盖各种验证的组合,从而提高了芯片测试的效率。
结合第二方面,在第二方面的某些实现方式中,该获取单元还用于:根据该读数据标识匹配该读地址标识;根据该读地址标识从该查找表单元中匹配该读地址集;根据该读地址集从该数据管理单元中获取该写数据包。
本申请实施例通过读数据标识匹配读地址标识,从而匹配读地址集,再根据读地址集从数据管理单元中获取写数据包。本申请实施例的技术方案可以高效地获取写数据包,从而提高了数据比对的效率。
结合第二方面,在第二方面的某些实现方式中,该比对单元还用于:根据突发(burst)类型比对该写数据包和该读数据包,以获得比较结果,其中,burst类型包括burst宽度和burst长度,该写数据包和该读数据包中最小的burst宽度为比对宽度,该写数据包和该读数据包中最小的burst长度为比对次数。
本申请实施例可以根据burst类型比对写数据包和读数据包,当读数据包和写数据包的burst类型不同时,仍然可以对齐读数据与写数据,从而输出可以反映DUT读写能力的比较结果。本申请实施例的技术方案提升了DUT读写能力测试的鲁棒性,从而提高了芯片测试的效率。
结合第二方面,在第二方面的某些实现方式中,该数据管理单元为栈结构,其中,该写数据包根据写指针被存入该数据管理单元,该写指针由该写地址集生成,该写指针顺序增长,读指针用于从该数据管理单元中获取写数据包,该读指针是根据该读地址集计算而获得的。
本申请实施例中数据管理单元的数据存储结构可以是具有相邻关系的堆栈结构,当读数据包和写数据包的burst类型不同时,仍然可以根据该数据管理单元对齐读数据与写数据,确保读数据包与写数据包的匹配度,从而输出可以反映DUT读写能力的比较结果。本申请实施例的技术方案提升了DUT读写能力测试的鲁棒性,从而提高了芯片测试的效率。
结合第二方面,在第二方面的某些实现方式中,该数据管理单元为高速缓冲存储器cache结构,其中,该写数据包被存入该数据管理单元,该写地址集生成与该写数据包对应的有效比特信息,该读地址集用于从该数据管理单元中获取该写数据包,该有效比特信息用于指示该写数据包中的有效数据比特。
本申请实施例中,数据管理单元可以采用cache结构进行数据存储,当读地址集和写地址集的首地址不相同、读数据包和写数据包的burst类型不相同或者多笔写请求的地址重叠时,仍然可以根据该数据管理单元对齐读数据与写数据,确保读数据包与写数据包的匹配度,从而输出可以反映DUT读写能力的比较结果。本申请实施例的技术方案提升了DUT读写能力测试的鲁棒性,从而提高了芯片测试的效率。另一方面,本申请利用了cache结构中hit-miss的功能来进行数据校验,由于利用了现成的机制,便于进行芯片测试过程的设计。
结合第二方面,在第二方面的某些实现方式中,该写数据包和该读数据包的burst长度为0。
写数据包和读数据包的burst长度为0,也就是说,写数据包和读数据包均为一个beat传输,在这种情况下,数据管理单元的结构较为简单,确保了读数据包和写数据包的匹配度,从而输出可以反映DUT读写能力的比较结果,提高了芯片测试的效率。
第三方面,提供了一种计算设备,包括处理器和存储器,该处理器用于执行该存储器中存储的指令,以使得该计算设备执行第一方面或者其任意实现方式的芯片测试方法。
第四方面,提供了一种包含指令的计算机程序产品,当该指令被计算设备运行时,使得该计算设备执行第一方面或者其任意实现方式的芯片测试方法。
第五方面,提供了一种计算机可读存储介质,包括计算机程序指令,当该计算机程序指令由计算设备执行时,该计算设备执行第一方面或者其任意实现方式的芯片测试方法。
附图说明
图1是本申请实施例的系统架构示意图。
图2是本申请实施例的一种应用场景的例子的示意图。
图3是本申请实施例的一种芯片测试方法的示意性流程图。
图4是本申请实施例的另一种芯片测试方法的示意性流程图。
图5是本申请实施例的又一种芯片测试方法的示意性流程图。
图6是本申请实施例的一种数据管理单元结构的示意性框图。
图7是本申请实施例的一种芯片测试装置的示意性框图。
具体实施方式
下面将结合附图,对本申请中的技术方案进行描述。
本申请将围绕包括多个设备、组件、单元等的系统来呈现各个方面、实施例或特征。应当理解和明白的是,各个系统可以包括另外的设备、组件、单元等,并且/或者可以并不包括结合附图讨论的所有设备、组件、单元等。此外,还可以使用这些方案的组合。
另外,在本申请实施例中,“示例的”、“例如”等词用于表示作例子、例证或说明。本申请中被描述为“示例”的任何实施例或设计方案不应被解释为比其它实施例或设计方案更优选或更具优势。确切而言,使用示例的一词旨在以具体方式呈现概念。
本申请实施例描述的业务场景是为了更加清楚地说明本申请实施例的技术方案,并不构成对于本申请实施例提供的技术方案的限定,本领域普通技术人员可知,随着网络架构的演变和新业务场景的出现,本申请实施例提供的技术方案对于类似的技术问题,同样适用。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
本申请实施例中出现的第一、第二等描述,仅作示意与区分描述对象之用,没有次序之分,也不表示本申请实施例中对个数的特别限定,不能构成对本申请实施例的任何限制。
应理解,在本申请的各种实施例中,各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
随着大规模集成电路(integrated circuit,IC)技术的发展,芯片的逻辑规模和电路的复杂程度越来越高,为了保证芯片质量以及上市时间,需要对芯片进行准确快速的仿真测试。硬件仿真加速(emulation)技术通过将待测系统(design under test,DUT)映射到硬件仿真器(emulator)的硬件平台上,能够提高DUT的逻辑规模和运行速度。在测试总线架构合理性和稳定性的同时,还需要测试片上系统(system of chips,SoC)中总线通路的功能正确性。但是,DUT的读数据往往需要发送到服务器中进行比对,导致DUT测试的速度受限。因此,如何提高DUT测试的效率成为亟需解决的技术问题。
鉴于此,本申请提供一种芯片测试方法、装置、计算设备和计算机可读存储介质。该方法可以在数据管理单元中获取写数据,将该写数据与从DUT中获得的读数据相对比,并反馈比较结果。本申请无需将读数据发送到服务器,在测试端即可实现对DUT的测试,提高了DUT测试的效率。
图1是本申请实施例的系统架构示意图。如图1所示,仿真测试系统10至少包括激励发生器11、调度器12以及通用总线模型13(general bus model,GBM)。其中,激励发生器11和调度器12运行在软件测环境中(例如服务器或个人计算机的操作系统),激励发生器11用于生成激励文件,调度器12用于将激励文件加载到通用总线模型13。通用总线模型13运行在硬件环境中(例如硬件仿真器(emulator)或现场可编程逻辑门阵列(fieldprogrammable gate array,FPGA)等),用于根据激励文件产生激励信号输入到待测系统20(design under test,DUT),并接收DUT输出的响应信号,从而进行仿真行为,以对DUT的功能进行测试。其中DUT是在硬件仿真平台上实现的待测试逻辑电路,例如系统级芯片(system on chip,SoC)、芯片的子系统或功能单元等。GBM与DUT基于总线协议(例如高级可扩展接口(advanced extensible interface,AXI))进行信号交互。
如图1所示,仿真测试系统10中调度器12可以调度多个GBM,每个GBM可以如图中所示对应同一个DUT,例如分别用于测试同一芯片的不同功能单元,也可以分别对应不同的DUT,例如在多台硬件仿真器上实现多个芯片的协同测试。对应的,激励发生器11也可以生成多个激励文件,激励发生器11可以根据需求在GBM中加载一个或多个激励文件,不同的GBM中可以加载的不同的激励文件,也可以加载相同的激励文件。
上述过程中,激励文件的生成以及调度都可以在DUT的仿真行为开始前完成,调度器12从通用总线模型13获取测试结果信息可以在接收到GBM发送的测试结束信号之后。因此,仿真行为中DUT和仿真测试系统10的信号交互可以只发生在硬件环境中的GBM和DUT之间,仿真测试的运行过程不依赖系统内软件部分和硬件部分的信息交互。从而能够实现硬件与软件的解耦,提高可仿真的逻辑规模以及仿真运行速度,提高仿真测试的效率。
应理解,图1所示的系统架构仅以软件和硬件两部分实现的方式为例,为了说明本申请实施例中仿真测试的系统能够实现软件部分和硬件部分的解耦,并不限定激励发生器11和调度器12只能在软件环境中实现。激励发生器11和调度器12根据系统需要也可以在硬件环境中实现,例如,可以将激励发生器以功能单元的形式集成在GBM中,从而由硬件实现激励发生器和调度器的相应功能。
为了更好地理解本申请实施例的方案,下面先结合图2对本申请实施例可能的应用场景进行简单的介绍。
图2是本申请实施例的一个应用场景的例子的示意图。如图2所示,DUT和本申请实施例提供的仿真测试系统的GBM完成信号交互的仿真行为,因此DUT和本系统的GBM构成了该应用场景中的测试平台(testbench)。其中,DUT可以是图1所示系统架构中的待测系统20,GBM可以是图1所示系统架构中的通用总线模型13。DUT由硬件描述性语言(例如Verilog或SystemVerilog,SV等)编写,GBM由可综合的Verilog代码(或其它可由真实电路实现的语言)编写,因此二者构成的是可综合testbench,即该测试平台能够综合成真实电路,从而在硬件平台中实现。例如图2所示应用场景中该可综合testbench工作在硬件仿真器(emulator)上。
应理解,图2所示的testbench由可综合代码编写,因此不仅可以应用于硬件仿真(emulation)平台,也可以应用于其他平台,例如软件仿真(simulation)平台或FPGA平台等,本申请不做具体限定。为了简洁起见,下面以GBM应用于硬件加速平台为例描述本申请的部分实施例,但本领域技术人员很清楚,此描述不构成对本申请的范围的限制。
图3是本申请实施例提供的一种芯片测试方法300的示意性流程图。如图3所示,该方法300可以包括步骤310-320。下面进行详细描述。
步骤310,获取写地址集和写数据包,并将该写地址集和该写数据包存入数据管理单元中,其中,该数据管理单元还存储该写地址集与该写数据包之间的映射。
首先介绍本申请实施例中写数据包以及读数据包的含义。传输事务(transaction)是一个并发控制单位,是用户定义的操作序列,该操作序列不可分割。也就是说,transaction中的操作可以都不执行,或者全部执行。在一个transaction中,可以包括至少一个突发传输(burst),一个burst可以包括至少一拍(beat)的传输(transfer)。在本申请实施例中,写数据包可以为一个burst的写数据的集合,第一写数据可以为一个beat的写数据。相应地,读数据包可以为一个burst的读数据的集合,第一读数据可以为一个beat的读数据。
可以理解,写地址集包括多个写地址。其中,每个写地址可以是直接的、明示的,例如这些写地址指示写数据希望存储的地址,这些写地址也可以是间接的、默示的,例如写地址集可以包括首个写地址以及用于根据首个写地址计算其他读地址的参数。在一种可能的实现方式中,写地址集包括首个写地址和写burst模式(type),写burst模式可以用于指示根据首个写地址计算其他写地址的方法。例如,burst模式可以是固定(fixed),这种情况下每次写地址都与首个写地址相同。又例如,burst模式可以是增加(incr),这种情况下每次写地址都比前一个写地址增大。再例如,burst模式可以是包裹(wrap),这种情况下,写地址从中间开始,当写地址增长到一定的高位地址时,写地址循环到低位地址。
数据管理单元还存储写数据包与写地址集的映射,例如,数据管理单元可以存储第一写数据与第一写地址的映射、第二写数据与第二写地址的映射等。在具体实现形态中,数据管理单元可以是一个存储器。
应理解,写数据包可以根据写地址集写入或存入DUT中。例如,DUT可以根据写请求将第一写数据写入DUT的第一写地址中。步骤310的执行主体可以获取写数据包和写地址集,并根据写地址集在DUT中存入写数据包,该执行主体也可以不进行这一过程,而由其他主体进行,例如,可以由GBM执行写入DUT的过程,也可以由其他主(master)设备执行写入DUT的过程。
在一种可能的实现方式中,GBM向DUT发送写请求,写请求包括写数据包和写地址集,以实现将写数据包根据写地址集存入DUT中。此时,在步骤310中,获取写数据包的执行主体不是DUT,而可以是本申请实施例的芯片测试装置,或者是其他类型的测试装置。
可选地,该方法还包括:将该写数据包根据写地址存入DUT中。
例如,可以向DUT发送写请求,该写请求指示将写数据包根据写地址存入DUT中。
步骤320,获取读地址集和读地址标识,并将该读地址集和该读地址标识存入查找表中,其中,该查找表还包含该读地址集与读地址标识之间的映射,该读地址集的范围与该写地址集的范围至少部分地重叠。
可以理解,读地址集包括多个读地址。其中,多个读地址可以是直接的、明示的,例如这些读地址指示读数据存储的地址,这些读地址也可以是间接的、默示的,例如读地址集可以包括首个读地址以及用于根据首个读地址计算其他读地址的参数。在一种可能的实现方式中,读地址集包括首个读地址和读burst模式(type),读burst模式可以用于指示根据首个读地址计算其他读地址的方法。例如,burst模式可以是固定(fixed),这种情况下每次读地址都与首个读地址相同。又例如,burst模式可以是增加(incr),这种情况下每次读地址都比前一个读地址增大。再例如,burst模式可以是包裹(wrap),这种情况下,读地址从中间开始,当读地址增长到一定的高位地址时,读地址循环到低位地址。
读地址标识对应于读地址集。例如,读地址标识可以对应于读地址集中的多个读地址。又例如,读地址标识可以对应于读地址集中的首地址,在这种情况下,读地址集还可以包括burst模式,根据该burst模式可以处理首个读地址以获得其他读地址。
读地址标识和读地址集可以由master设备发送。读地址标识和读地址集也可以由GBM发送,即,读地址标识和读地址集可以从GBM处获取。读地址标识可以是公共标识资源池(pool)中的标识,在这种情况下,GBM可以维护该公共标识资源池,当某个读地址标识发出但是未返回时,该读地址标识为不可用(invalid)状态。读地址标识不是invalid状态时,表示该读地址标识可用。如果公共标识资源池中的读地址标识均为invalid状态,则GBM不发送该读地址标识,进入停滞(wait)状态,直到出现可用的读地址标识为止。
以AXI总线协议为例,读请求可以使用读地址通道。GBM通过读地址通道向DUT发送指示读取数据的地址的信号,该信号可以承载读地址包,GBM还可以通过读地址通道向DUT发送指示读取数据的地址标识的信号,该信号可以承载读地址标识。应理解,本申请仅是以AXI总线协议为例说明GBM与DUT信号交互的过程,不构成对GBM具体接口的限定,根据需要GBM也可以提供其他总线标准协议所需的其他接口。可选地,GBM根据测试需要还可以扩展总线标准协议之外的控制信号,例如测试完成信号(gbm_test_done)用于指示仿真测试完成。
在一种可能的实现方式中,GBM向DUT发送读请求,读请求包括读地址集和读地址标识,以实现对DUT执行读取操作。应理解,步骤320的执行主体可以从DUT中获取读地址集和读地址标识,至于DUT如何接收读地址集和读数据标识,本申请不做限定,例如,DUT可以从GBM处接收读地址集和读地址标识。
可选地,该方法还包括:将读地址集和读地址标识向DUT发送。
步骤310的执行主体可以发送读地址集和读地址标识,并根据读地址集在DUT中请求获取读数据包,该执行主体也可以不进行这一过程,而由其他主体进行,例如,可以由GBM执行读取DUT的过程,也可以由其他master设备执行读取DUT的过程。
图3详细说明了数据管理单元和查找表的配置过程,下面参照图4描述在芯片测试中进行数据比较的过程。方法400包括步骤410-440。
步骤410,从待测系统(DUT)中接收读数据包和读数据标识,其中,该读数据包存储在读地址集所覆盖的存储单元中,该存储单元属于该DUT。
GBM可以配置读请求,使得步骤410的执行主体可以根据该读请求中的读地址集从DUT中获取读数据包和读数据标识。读数据标识与读地址标识相对应,例如,读数据标识可以匹配出数值相同的读地址标识。
步骤420,根据该读数据标识和查找表,获取数据管理单元中存储的写数据包,其中,该查找表包括该读地址集与读地址标识之间的映射,该读数据标识对应于该读地址标识,该数据管理单元还存储写地址集以及该写地址集与该写数据包之间的映射,该读地址集的范围与该写地址集的范围至少部分地重叠。
例如,读数据标识输入数据管理单元后,可以用读数据标识匹配读地址标识。在查找表中,读地址标识与读地址集存在映射关系,读地址标识可以匹配读地址集。根据读地址集可以生成读指针,读指针指向数据管理单元,从而获取写数据包。
步骤430,比对该写数据包和该读数据包,以获得比较结果。
写数据包为希望获得的数据,读数据包为实际获得数据。将读数据包与写数据包比对,可以获得该读数据包的有效数据的字节或比特,从而可以获得比较结果。例如,当读数据包的有效数据少于应当获得的有效数据时,可以产生比较结果。
步骤440,输出该比较结果。
本申请实施例可以将写数据包和写地址集存入数据管理单元,并将从DUT获取的读数据与从数据管理单元中获取的写数据进行比对,以获得比较结果。本申请实施例通过数据管理单元实现数据比对,可以确保读数据与写数据的匹配度,使得比较结果能够反映DUT的读写能力,从而提高了芯片测试的效率。
图5示出了本申请实施例提供的一种芯片测试方法的示意性流程图,图5以栈结构为例,但是本领域技术人员很清楚,本申请实施例不限于栈结构,例如,还可以是高速缓冲存储器(cache)结构。
参见图5,将写数据包和写地址集对应地存入数据管理单元中。具体地,写地址集中的写地址生成写指针,随着写指针的移动,将写地址和该写地址对应的写数据存入数据管理单元中。
写数据包和写地址集发送至DUT,DUT将写数据包存入写地址集映射的存储单元中。读地址标识和读地址集发送至DUT,DUT根据读地址集读取读数据包。
从DUT中获取读数据标识后,可以用读数据标识匹配读地址标识。在查找表中,读地址标识与读地址集存在映射关系,读地址标识可以匹配读地址集。根据读地址集可以生成读指针,读指针指向数据管理单元,从而获取写数据包。
比对单元获取写数据包,将写数据包与读数据包进行对比,以获得比较结果,然后输出该比较结果。
可选地,在所述待测系统DUT中接收读数据包和读数据标识之前,该方法还包括:
通用总线模型GBM生成所述写地址集和所述写数据包,所述GBM通过硬件实现;或者,解析单元解析GBM生成的写请求以获取所述写地址集和所述写数据包。
本申请实施例中,GBM可以向芯片测试装置发送写地址集和写数据包,也可以先通过解析单元解析写请求以获得写地址集和写数据包,再向芯片测试装置发送。解析单元可以是GBM的一部分,也可以是单独的装置。
可以理解,本申请实施例可以将写地址集和写数据包存入数据管理单元,以便于执行步骤420中获取写数据包。
可选地,该方法还包括:
所述GBM生成所述读地址集和所述读地址标识;或者,所述解析单元解析GBM生成的读请求以获取所述读地址集和所述读地址标识。
本申请实施例中,GBM可以向芯片测试装置发送读地址集和读地址标识,也可以先通过解析单元解析读请求以获得读地址集和读地址标识,再向芯片测试装置发送。解析单元可以是GBM的一部分,也可以是单独的装置。可以理解,本申请实施例可以将读地址集和读地址标识存入查找表。
可以理解,GBM可以发送写地址集和写数据包,即,写地址集和写数据包可以从GBM处获取。GBM可以根据标准协议、以电信号的方式发送写地址集和写数据包。具体地,图1中的激励发生器可以生成激励文件,该激励文件用于指示对DUT进行操作。例如,激励发生器能够生成GBM可读的指令信息和对应的调试信息,其中指令信息使用二进制指示GBM对DUT进行的操作,例如写入数据或读取数据等,调试信息使用十六进制对指令信息所指示的操作进行解释。应理解,指令信息的编码格式并不限于二进制,也可以使用硬件设备能够理解的其他编码格式;同样地,调试信息的编码格式也不限于十六进制,可以使用其他方便用户的测试人员阅读的编码格式。
GBM可以根据激励文件生成激励信号,激励信号是DUT可识别的输入信号。以AXI总线协议为例,写请求可以使用三个通道:写地址通道、写数据通道、写响应通道。GBM通过写地址通道向DUT发送指示写入数据的地址的信号,该信号可以承载写地址集;通过写数据通道向DUT发送指示写入的数据的信号,该信号可以承载写数据包;还可以通过写响应通道接收DUT发送的对写请求的响应信号。应理解,本申请仅以AXI总线协议为例说明GBM与DUT信号交互的过程,这不构成对GBM具体接口的限定,GBM也可以提供其他总线标准协议所需的其他接口。例如,GBM根据测试需要还可以扩展总线标准协议之外的控制信号,例如测试完成信号(gbm_test_done)用于指示仿真测试完成。
在传统的技术方案中,写数据包、写地址集通过软件调度而向DUT发送。在这种情况下,由于不清楚写数据包和写地址集的硬件实现逻辑,该技术方案无法在测试压力较大时覆盖各种验证的组合,例如当突发(burst)长度(length)较大时,该技术方案难以保证芯片测试的完备性。
本申请从运行在硬件侧的GBM中获取写数据包,将该写数据包与从DUT中接收的读数据包进行比对,输出比较结果。由于在硬件侧执行比对操作,实现了软件与硬件的解耦,即使在测试压力较大时也能覆盖各种验证的组合,从而提高了芯片测试的效率。
可选地,根据该读数据标识和该查找表,从该数据管理单元中获取该写数据包,包括:
根据该读数据标识匹配该读地址标识;
根据该读地址标识从该查找表中匹配该读地址集;
根据该读地址集从该数据管理单元中获取写数据包。
根据读数据标识获取写数据包的过程请参见前述内容,此处不再赘述。本申请实施例通过读数据标识匹配读地址标识,从而匹配读地址集,再根据读地址集从数据管理单元中获取写数据包。本申请实施例的技术方案可以高效地获取写数据包的准确性,从而提高了数据比对的效率。
可选地,比对该写数据包和该读数据包,以获得比较结果,包括:
根据突发(burst)类型比对该写数据包和该读数据包,以获得比较结果,其中,burst类型包括burst宽度和burst长度,该写数据包和该读数据包中最小的burst宽度为比对宽度,该写数据包和该读数据包中最小的burst长度为比对次数。
本申请实施例的burst类型可以包括burst模式(type)、burst长度(length)和burst宽度(size)。bursttype可以用于指示根据首地址计算其他读地址的方法。例如,burs模式可以是固定(fixed),这种情况下每个地址都与首地址相同。又例如,burst模式可以是增加(incr),这种情况下每个地址都比前一个读地址增大。再例如,burst模式可以是包裹(wrap),这种情况下,首地址从中间开始,当地址增长到高位时,该地址可以循环到低位。
本申请实施例的burst长度可以用于指示该burst包括多少个transfer,即多少个beat传输。例如,burst长度为0时,表示该burst为一个beat传输;burst长度为5时,表示该burst为六个beat传输。
本申请实施例的burst宽度可以用于指示burst的有效数据字节数,具体地,burst宽度可以用于指示burst中每个transfer的有效数据字节数。例如,burst宽度为4,表示该burst的每个transfer包括128 bits的有效数据;burst宽度为5,表示该burst的每个transfer包括256 bits的有效数据。
具体来说,例如,写数据包的burst宽度为5、burst长度为3,读数据的burst宽度为4、burst长度为5。写数据包与读数据包的burst长度相比,写数据包的burst长度最小,burst长度为3表示四个beat传输,因此比对次数为4。写数据包与读数据包的burst宽度相比,读数据包的burst宽度最小,burst宽度为4表示128 bits,因此比对宽度为128 bits。也就是说,在这个例子中,需要对读数据包和写数据包进行4次比对,每次对比128 bits的数据。如果采用较大的burst长度作为比对次数,或者采用较大的burst宽度作为比对宽度,在读数据包与写数据包的burst类型不同时,会出现读数据与写数据无法对齐的问题。根据上述示例,假如设置比对宽度为256 bits,则读数据的burst宽度没有达到比对宽度,可能会导致比对失败,从而输出的比较结果包括数据比对失败的信息,但是该数据比对失败的信息不能正确地反映DUT的读写能力。本领域技术人员可以理解,根据上述示例,假如设置比对次数为5,同样会出现读数据与写数据无法对齐的问题。
本申请实施例可以根据burst类型比对写数据包和读数据包,当读数据包和写数据包的burst类型不同时,仍然可以对齐读数据与写数据,从而输出可以反映DUT读写能力的比较结果。本申请实施例的技术方案提升了DUT读写能力测试的鲁棒性,从而提高了芯片测试的效率。
可选地,该数据管理单元为栈结构,其中,该写数据包根据写指针被存入该数据管理单元,该写指针由该写地址集生成,该写指针顺序增长,读指针用于从该数据管理单元中获取写数据包,该读指针是根据该读地址集计算而获得的。
数据管理单元的数据存储结构可以是栈结构,如图5所示,在本申请实施例中,写指针可以顺序增长,读指针的增长可以与写数据包的burst长度相同。当写指针写到数据管理单元的最后时,可以卷绕到该数据管理单元的首地址,以继续进行写入操作。
本申请实施例中数据管理单元的数据存储结构可以是具有相邻关系的堆栈结构,当读数据包和写数据包的burst类型不同时,仍然可以根据该数据管理单元对齐读数据与写数据,确保读数据包与写数据包的匹配度,从而输出可以反映DUT读写能力的比较结果。本申请实施例的技术方案提升了DUT读写能力测试的鲁棒性,从而提高了芯片测试的效率。
可选地,该数据管理单元为高速缓冲存储器(cache)结构,其中,该写数据包被存入该数据管理单元,该写地址集生成与该写数据包对应的有效比特信息,该读地址集用于从该数据管理单元中获取该写数据包,该有效比特信息用于指示该写数据包中的有效数据比特。
在本申请实施例中,数据管理单元的数据存储结构可以是cache结构。图6示出了本申请实施例的cache结构架构示意图,该cache结构是组相连的,为清楚说明cache结构,图6以64位总线、256 bits数据位宽、32 Mbytes大小的数据管理单元、8个路(ways)、128 K的组(sets)为例,本领域技术人员可以理解,上述参数仅为举例说明,不意味着本申请实施例仅限于上述参数,只要应用了cache结构的数据管理单元,均在本申请的范围内。
参见图6,一行(line)数据包括标签(tag)比特、组(set)比特和strb比特。其中,strb比特用于确定该行数据的有效数据(validdata)比特,继而计算burst宽度。所以,strb比特也可以称为有效比特信息。图6中的set比特用于确定写数据包中的写数据存放于哪一组way中,本申请实施例的每个set包括八个way,本领域技术人员可以理解,set中也可以包括四个way,具体包括多少个way可以根据实际物理资源使用情况设定,本申请对此不做限定。
上述burst宽度(size)可以根据如下公式计算:
例如,数据位宽为256 bits时,根据上述公式可以计算得到burst宽度为5。
上述set的位宽可以根据如下公式计算:
例如,数据管理单元大小为32 Mbytes、每个set包括8个way、数据位宽为256 bits时,可以得到set位宽为128 K。
参见图6,cache结构的数据管理单元可以包括标签(tag)模块和数据(data)模块。应理解,标签模块和数据模块可以是一种逻辑的划分,例如标签模块和数据模块可以在一个存储器中实现,标签模块和数据模块也可以属于两个存储器。标签模块和数据模块可以由随机存取存储器(random access memory,RAM)实现。
标签模块可以包括valid比特和标签比特,valid比特用于指示该行数据是否有效(例如,valid比特为1表示该行数据有效,valid比特为0表示该行数据无效)。当数据管理单元中没有数据时,各个数据行都是无效的,因为此时还没有任何数据。随着芯片测试的进行,数据管理单元中包括有效的数据行和无效的数据行。标签比特用于指示写地址集,当数据行有效时,可以根据标签比特匹配写地址集,继而根据该写地址集获取写数据包。换言之,标签模块可以用于确定针对该数据管理单元的读或写是否命中。
数据模块可以用于存储数据(data),该数据模块的深度可以与组的数量相同,该数据模块的宽度可以是数据位宽。例如,当数据位宽为256 bits时,该数据模块的宽度可以是256 bits。
当写数据包被存入数据管理单元时,写地址集生成与该写数据包对应的有效比特信息,即strb比特。具体地,cache结构的数据管理单元可以获取写数据包和写地址集,根据写地址集选取set。例如,如果该set内的way均未被使用,即valid比特未置起,可以随机选用一个way,将写数据包中的写数据写入该way,并将valid比特置起,将写地址集中的写地址高位写入标签模块。又例如,如果该set内存在空的way,可以将写数据包中的写数据写入该way,将写地址集中的写地址高位写入对应的标签模块。再例如,如果该set内的way均被使用,即valid比特均被置起,则用写数据和写地址替换掉权重最低的way中的地址和数据,其中,way的权重可以用最少使用(leastrecentlyused,LRU)算法获得,也可以用LRU的变种算法,如最不常用(leastfrequencyused,LFU)算法,本申请对此不做限定。
当需要从cache结构的数据管理单元中读取之前存储的写数据包时,可以根据读数据标识匹配读地址集,根据该读地址集搜索数据管理单元。具体地,可以根据读地址集中的读地址搜索数据管理单元。
本申请实施例中,数据管理单元可以采用cache结构进行数据存储,当读地址集和写地址集的首地址不相同、读数据包和写数据包的burst类型不相同或者多笔写请求的地址重叠时,仍然可以根据该数据管理单元对齐读数据与写数据,确保读数据包与写数据包的匹配度,从而输出可以反映DUT读写能力的比较结果。本申请实施例的技术方案提升了DUT读写能力测试的鲁棒性,从而提高了芯片测试的效率。另一方面,本申请利用了cache结构中hit-miss的功能来进行数据校验,由于利用了现成的机制,便于进行芯片测试过程的设计。
在一种可能的实现方式中,数据管理单元的宽度(size)可以小于读地址集或写地址集的宽度(size)。这样可以确保数据管理单元中的地址没有空位,提高了根据读数据标识匹配写数据集的命中概率,从而提高了芯片测试的效率。
可选地,该写数据包和该读数据包的burst长度为0。
写数据包和读数据包的burst长度为0,也就是说,写数据包和读数据包均为一个beat传输,在这种情况下,数据管理单元的结构较为简单,确保了读数据包和写数据包的匹配度,从而输出可以反映DUT读写能力的比较结果,提高了芯片测试的效率。
上文结合图3、图4、图5和图6,详细描述了本申请实施例的方法实施例,下面描述本申请实施例的装置实施例,装置实施例与方法实施例相互对应,因此未详细描述的部分可参见前面各方法实施例,装置可以实现上述方法中任意可能实现的方式。
本申请实施例还提供一种芯片测试装置,包括获取单元510、数据管理单元520、查找表单元530、接收单元540、比对单元550和输出单元560。该装置可以执行上述本申请实施例的芯片测试方法。
该装置可以包括:
接收单元540,用于从待测系统DUT中接收读数据包和读数据标识,其中,该读数据包存储在读地址集所覆盖的存储单元中,该存储单元属于该DUT;
获取单元510,用于根据该读数据标识和查找表单元530,获取数据管理单元520中存储的写数据包,其中,该查找表单元530包含该读地址集与读地址标识之间的映射,该读数据标识对应于该读地址标识,该数据管理单元520还存储写地址集以及该写地址集与该写数据包之间的映射,该读地址集的范围与该写地址集的范围至少部分地重叠;
比对单元550,用于比对该写数据包和该读数据包,以获得比较结果;
输出单元560,用于输出该比较结果。
本申请实施例可以将从DUT获取的读数据与从数据管理单元中获取的写数据进行比对,以获得比较结果。本申请实施例通过数据管理单元实现数据比对,可以确保读数据与写数据的匹配度,使得比较结果能够反映DUT的读写能力,从而提高了芯片测试的效率。
可选地,该装置还包括:
通用总线模型(GBM),用于生成所述写地址集和所述写数据包,所述GBM通过硬件实现;或者,解析单元,用于解析GBM生成的写请求以获取所述写地址集和所述写数据包。
可选地,该GBM还用于生成所述读地址集和所述读地址标识;或者,该解析单元还用于解析GBM生成的读请求以获取所述读地址集和所述读地址标识。
在传统的技术方案中,写数据包、写地址集通过软件调度而向DUT发送。在这种情况下,由于不清楚写数据包和写地址集的硬件实现逻辑,该技术方案无法在测试压力较大时覆盖各种验证的组合,例如当突发(burst)长度(length)较大时,该技术方案难以保证芯片测试的完备性。
本申请从运行在硬件侧的GBM中获取写数据包,将该写数据包与从DUT中接收的读数据包进行比对,输出比较结果。由于在硬件侧执行比对操作,实现了软件与硬件的解耦,即使在测试压力较大时也能覆盖各种验证的组合,从而提高了芯片测试的效率。
可选地,该获取单元510还用于:
根据该读数据标识匹配该读地址标识;
根据该读地址标识从该查找表单元530中匹配该读地址集;
根据该读地址集从该数据管理单元520中获取写数据包。
本申请实施例通过读数据标识匹配读地址标识,从而匹配读地址集,再根据写地址集从数据管理单元中获取写数据包。本申请实施例的技术方案可以高效地获取写数据包,从而提高了数据比对的效率。
可选地,该比对单元550还用于:
根据突发(burst)类型比对该写数据包和该读数据包,以获得比较结果,其中,burst类型包括burst宽度和burst长度,该写数据包和该读数据包中最小的burst宽度为比对宽度,该写数据包和该读数据包中最小的burst长度为比对次数。
本申请实施例可以根据burst类型比对写数据包和读数据包,当读数据包和写数据包的burst类型不同时,仍然可以对齐读数据与写数据,从而输出可以反映DUT读写能力的比较结果。本申请实施例的技术方案提升了DUT读写能力测试的鲁棒性,从而提高了芯片测试的效率。
可选地,该数据管理单元520为栈结构,其中,该写数据包根据写指针被存入该数据管理单元520,该写指针由该写地址集生成,该写指针顺序增长,读指针用于从该数据管理单元520中获取写数据包,该读指针是根据该读地址集计算而获得的。
本申请实施例中数据管理单元的数据存储结构可以是具有相邻关系的堆栈结构,当读数据包和写数据包的burst类型不同时,仍然可以根据该数据管理单元对齐读数据与写数据,确保读数据包与写数据包的匹配度,从而输出可以反映DUT读写能力的比较结果。本申请实施例的技术方案提升了DUT读写能力测试的鲁棒性,从而提高了芯片测试的效率。
可选地,该数据管理单元520为高速缓冲存储器cache结构,其中,该写数据包被存入该数据管理单元520,该写地址集生成与该写数据包对应的有效比特信息,该读地址集用于从该数据管理单元520中获取该写数据包,该有效比特信息用于指示该写数据包中的有效数据比特。
本申请实施例中,数据管理单元可以采用cache结构进行数据存储,当读地址集和写地址集的首地址不相同、读数据包和写数据包的burst类型不相同或者多笔写请求的地址重叠时,仍然可以根据该数据管理单元对齐读数据与写数据,确保读数据包与写数据包的匹配度,从而输出可以反映DUT读写能力的比较结果。本申请实施例的技术方案提升了DUT读写能力测试的鲁棒性,从而提高了芯片测试的效率。另一方面,本申请利用了cache结构中hit-miss的功能来进行数据校验,由于利用了现成的机制,便于进行芯片测试过程的设计。
可选地,该写数据包和该读数据包的burst长度为0。
写数据包和读数据包的burst长度为0,也就是说,写数据包和读数据包均为一个beat传输,在这种情况下,数据管理单元的结构较为简单,确保了读数据包和写数据包的匹配度,从而输出可以反映DUT读写能力的比较结果,提高了芯片测试的效率。
图7示出了本申请实施例一个芯片测试设备的示意图。如图7所示,计算设备700包括:总线702、处理器704、存储器706和、通信接口708。处理器704、存储器706和通信接口708之间通过总线702通信,待测设备通过通信接口708与计算设备通信。应理解,本申请不限定计算设备700中的处理器、存储器的个数。
总线702可以是外设部件互连标准(peripheral component interconnect,PCI)总线或扩展工业标准结构(extended industry standard architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。总线702可包括在系统700各个部件(例如,存储器706、处理器704、通信接口708)之间传送信息的通路。
处理器704可以包括中央处理器(central processing unit,CPU)、图形处理器(graphics processing unit,GPU)、微处理器(micro processor,MP)或者数字信号处理器(digital signal processor,DSP)等处理器中的任意一种或多种。
存储器706可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。处理器704还可以包括非易失性存储器(non-volatilememory),例如只读存储器(read-only memory,ROM),快闪存储器,机械硬盘(hard diskdrive,HDD)或固态硬盘(solid state drive,SSD)。
存储器706中存储有可执行的程序代码,存储器706还可以存储写数据包、写地址集、读数据标识和读地址集,即,存储器706可以实现数据管理单元520的功能。处理器704执行该可执行的程序代码以分别实现前述装置各单元的功能,从而实现上述芯片测试的方法。也即,存储器706上存有用于执行上述芯片测试的方法的指令。处理器704还可以实现获取单元510、接收单元540、比对单元550、输出单元560和解析单元(图5中未示出)的功能。
通信接口708使用例如但不限于网络接口卡、收发器一类的收发单元,来实现系统700与其他设备或通信网络之间的通信。
本申请实施例还提供了一种计算机可读存储介质。该计算机可读存储介质可以是计算设备能够存储的任何可用介质或者是包含一个或多个可用介质的数据中心等数据存储设备。该可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘)等。该计算机可读存储介质包括指令,该指令指示计算设备执行上述芯片测试的方法。
本申请实施例还提供了一种包含指令的计算机程序产品。该计算机程序产品可以是包含指令的,能够运行在计算设备上或被储存在任何可用介质中的软件或程序产品。当该计算机程序产品在至少一个计算设备上运行时,使得至少一个计算设备执行上述芯片测试方法。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
该作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
该功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例该方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上内容,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以该权利要求的保护范围为准。
Claims (19)
1.一种芯片测试的方法,其特征在于,包括:
从待测系统DUT中接收读数据包和读数据标识,其中,所述读数据包存储在读地址集所覆盖的存储单元中,所述存储单元属于所述DUT;
根据所述读数据标识和查找表,获取数据管理单元中存储的写数据包,其中,所述查找表包括所述读地址集与读地址标识之间的映射,所述读数据标识对应于所述读地址标识,所述数据管理单元还存储写地址集以及所述写地址集和所述写数据包之间的映射,所述读地址集的范围与所述写地址集的范围至少部分地重叠;
比对所述写数据包和所述读数据包,以获得比较结果;
输出所述比较结果。
2.根据权利要求1所述的方法,其特征在于,在所述待测系统DUT中接收读数据包和读数据标识之前,还包括:
通用总线模型GBM生成所述写地址集和所述写数据包,所述GBM通过硬件实现;或者,
解析单元解析GBM生成的写请求以获取所述写地址集和所述写数据包。
3.根据权利要求2所述的方法,其特征在于,还包括:
所述GBM生成所述读地址集和所述读地址标识;或者,
所述解析单元解析GBM生成的读请求以获取所述读地址集和所述读地址标识。
4.根据权利要求1至3中任意一项所述的方法,其特征在于,根据所述读数据标识和所述查找表,从所述数据管理单元中获取所述写数据包,包括:
根据所述读数据标识匹配所述读地址标识;
根据所述读地址标识从所述查找表中匹配所述读地址集;
根据所述读地址集从所述数据管理单元中获取写数据包。
5.根据权利要求1至3中任意一项所述的方法,其特征在于,所述数据管理单元为栈结构,其中,所述写数据包根据写指针被存入所述数据管理单元,所述写指针由所述写地址集生成,所述写指针顺序增长,读指针用于从所述数据管理单元中获取所述写数据包,所述读指针是根据所述读地址集计算而获得的。
6.根据权利要求5所述的方法,其特征在于,比对所述写数据包和所述读数据包,以获得比较结果,包括:
根据突发burst类型比对所述写数据包和所述读数据包,以获得比较结果,其中,burst类型包括burst宽度和burst长度,所述写数据包和所述读数据包中最小的burst宽度为比对宽度,所述写数据包和所述读数据包中最小的burst长度为比对次数。
7.根据权利要求1至3中任意一项所述的方法,其特征在于,所述数据管理单元为高速缓冲存储器cache结构,其中,所述写数据包被存入所述数据管理单元,所述写地址集生成与所述写数据包对应的有效比特信息,所述读地址集用于从所述数据管理单元中获取所述写数据包,所述有效比特信息用于指示所述写数据包中的有效数据比特。
8.根据权利要求7所述的方法,其特征在于,所述写数据包和所述读数据包的burst长度为0。
9.一种芯片测试装置,其特征在于,包括:
接收单元,用于从待测系统DUT中接收读数据包和读数据标识,其中,所述读数据包存储在读地址集所覆盖的存储单元中,所述存储单元属于所述DUT;
获取单元,用于根据所述读数据标识和查找表单元,获取数据管理单元中存储的写数据包,其中,所述查找表单元包括所述读地址集和读地址标识之间的映射,所述读数据标识对应于所述读地址标识,所述数据管理单元还存储写地址集以及所述写地址集和所述写数据包之间的映射,所述读地址集的范围与所述写地址集的范围至少部分地重叠;
比对单元,用于比对所述写数据包和所述读数据包,以获得比较结果;
输出单元,用于输出所述比较结果。
10.根据权利要求9所述的装置,其特征在于,还包括:
通用总线模型GBM,用于生成所述写地址集和所述写数据包,所述GBM通过硬件实现;或者,
解析单元,用于解析GBM生成的写请求以获取所述写地址集和所述写数据包。
11.根据权利要求10所述的装置,其特征在于,所述GBM还用于生成所述读地址集和所述读地址标识;或者,
所述解析单元还用于解析GBM生成的读请求以获取所述读地址集和所述读地址标识。
12.根据权利要求9至11中任意一项所述的装置,其特征在于,所述获取单元具体用于:
根据所述读数据标识匹配所述读地址标识;
根据所述读地址标识从所述查找表单元中匹配所述读地址集;
根据所述读地址集从所述数据管理单元中获取写数据包。
13.根据权利要求9至11中任意一项所述的装置,其特征在于,所述数据管理单元为栈结构,其中,所述写数据包根据写指针被存入所述数据管理单元,所述写指针由所述写地址集生成,所述写指针顺序增长,读指针用于从所述数据管理单元中获取所述写数据包,所述读指针是根据所述读地址集计算而获得的。
14.根据权利要求13所述的装置,其特征在于,所述比对单元具体用于:
根据突发burst类型比对所述写数据包和所述读数据包,以获得比较结果,其中,burst类型包括burst宽度和burst长度,所述写数据包和所述读数据包中最小的burst宽度为比对宽度,所述写数据包和所述读数据包中最小的burst长度为比对次数。
15.根据权利要求9至11中任意一项所述的装置,其特征在于,所述数据管理单元为高速缓冲存储器cache结构,其中,所述写数据包被存入所述数据管理单元,所述写地址集生成与所述写数据包对应的有效比特信息,所述读地址集用于从所述数据管理单元中获取所述写数据包,所述有效比特信息用于指示所述写数据包中的有效数据比特。
16.根据权利要求15所述的装置,其特征在于,所述写数据包和所述读数据包的burst长度为0。
17.一种计算设备,其特征在于,包括处理器和存储器,所述处理器用于执行所述存储器中存储的指令,以使得所述计算设备执行如权利要求1至8中任意一项所述的方法。
18.一种包含指令的计算机程序产品,其特征在于,当所述指令被计算设备运行时,使得所述计算设备执行如权利要求的1至8中任意一项所述的方法。
19.一种计算机可读存储介质,其特征在于,包括计算机程序指令,当所述计算机程序指令由计算设备执行时,所述计算设备执行如权利要求1至8中任意一项所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211702020.4A CN115684897B (zh) | 2022-12-29 | 2022-12-29 | 芯片测试的方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211702020.4A CN115684897B (zh) | 2022-12-29 | 2022-12-29 | 芯片测试的方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115684897A true CN115684897A (zh) | 2023-02-03 |
CN115684897B CN115684897B (zh) | 2024-01-26 |
Family
ID=85055410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211702020.4A Active CN115684897B (zh) | 2022-12-29 | 2022-12-29 | 芯片测试的方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115684897B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010003409A (ja) * | 2009-10-05 | 2010-01-07 | Advantest Corp | 半導体試験装置 |
CN112331253A (zh) * | 2020-10-30 | 2021-02-05 | 深圳市宏旺微电子有限公司 | 一种芯片的测试方法、终端和存储介质 |
CN114444422A (zh) * | 2022-01-29 | 2022-05-06 | 上海阵量智能科技有限公司 | 芯片验证系统、方法及存储介质 |
CN114639434A (zh) * | 2022-05-09 | 2022-06-17 | 长鑫存储技术有限公司 | 存储芯片的测试方法、装置、设备及存储介质 |
CN114996067A (zh) * | 2022-06-15 | 2022-09-02 | 西安爱芯元智科技有限公司 | 适用于芯片验证的序列生成器的配置方法及其装置 |
-
2022
- 2022-12-29 CN CN202211702020.4A patent/CN115684897B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010003409A (ja) * | 2009-10-05 | 2010-01-07 | Advantest Corp | 半導体試験装置 |
CN112331253A (zh) * | 2020-10-30 | 2021-02-05 | 深圳市宏旺微电子有限公司 | 一种芯片的测试方法、终端和存储介质 |
CN114444422A (zh) * | 2022-01-29 | 2022-05-06 | 上海阵量智能科技有限公司 | 芯片验证系统、方法及存储介质 |
CN114639434A (zh) * | 2022-05-09 | 2022-06-17 | 长鑫存储技术有限公司 | 存储芯片的测试方法、装置、设备及存储介质 |
CN114996067A (zh) * | 2022-06-15 | 2022-09-02 | 西安爱芯元智科技有限公司 | 适用于芯片验证的序列生成器的配置方法及其装置 |
Also Published As
Publication number | Publication date |
---|---|
CN115684897B (zh) | 2024-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN115841089B (zh) | 一种基于uvm的系统级芯片验证平台及验证方法 | |
CN111931445B (zh) | 用于调试逻辑系统设计的方法、仿真器及存储介质 | |
CN112861468B (zh) | 一种软硬件协同仿真验证的方法、装置和介质 | |
CN115202947A (zh) | 基于调试接口的芯片测试向量生成方法 | |
CN113486625B (zh) | 芯片的验证方法与验证系统 | |
CN115685785B (zh) | 通用总线模型和仿真测试的方法 | |
CN116256621B (zh) | 芯粒的测试方法、装置、电子设备及存储介质 | |
CN115691651A (zh) | 一种用于测试芯片的方法和装置 | |
US20110225559A1 (en) | Logic verifying apparatus, logic verifying method, and medium | |
CN115496018A (zh) | 一种SoC芯片多版本验证方法、装置及设备 | |
CN115686655A (zh) | 用于gpu ip验证的联合仿真系统 | |
CN114970411A (zh) | 一种仿真验证方法及系统 | |
Idris et al. | A VHDL implementation of UART design with BIST capability | |
CN117076337B (zh) | 一种数据传输方法、装置、电子设备及可读存储介质 | |
CN115659885B (zh) | 仿真测试的系统和方法 | |
CN116956801B (zh) | 芯片验证方法、装置、计算机设备和存储介质 | |
CN112100014B (zh) | 无源无线通信芯片验证平台、构建方法及芯片验证方法 | |
CN112162879A (zh) | 一种实时多核dsp软件的日志系统 | |
US7516430B2 (en) | Generating testcases based on numbers of testcases previously generated | |
CN115684897A (zh) | 芯片测试的方法和装置 | |
CN115629928A (zh) | 一种面向类脑处理器的软硬协同验证方法及系统 | |
CN115658411B (zh) | 一种激励发生器以及激励发生方法 | |
CN115658413B (zh) | 一种激励发生器和激励发生方法 | |
Li et al. | Functional verification of QSPI module based on UVM implementation | |
CN115983172B (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 | ||
GR01 | Patent grant |