掌桥专利:专业的专利平台
掌桥专利
首页

一种用于测试芯片的方法和装置

文献发布时间:2023-06-19 18:32:25


一种用于测试芯片的方法和装置

技术领域

本申请涉及集成电路技术领域,并且更为具体地,涉及一种用于测试芯片的方法和装置。

背景技术

随着大规模集成电路(Integrated Circuit,IC)技术的发展,芯片的逻辑规模和电路的复杂程度越来越高,为了保证芯片质量,需要将芯片作为待测系统(Design UnderTest,DUT)进行准确快速的仿真测试。在仿真测试中,如何对芯片的功能正确性进行测试是亟需解决的技术问题。

发明内容

本申请提供一种用于测试芯片的方法和装置,该方法和装置通过对地址进行编码作为验证测试芯片的测试数据,从而实现对待测系统的功能正确性进行测试。

第一方面,提供了一种用于测试芯片的方法,包括:获取写事件,并解析所述写事件以获取写地址;通过编码方案对所述写地址进行编码以获得写数据,并根据所述写地址将所述写数据写入待测系统;获取读事件,并解析所述读事件以获取读地址;通过所述编码方案对所述读地址进行编码以获得第一比较数据,其中所述写地址与所述读地址相同;根据所述读地址从所述待测系统获取第二比较数据;根据所述第一比较数据和所述第二比较数据,确定所述待测系统的测试结果。

在第一方面提供的方法中,给待测系统的写数据是根据写地址用编码方案编码的,用于比较的第一比较数据是根据读地址用同一编码方案编码的,用于比较的第二比较数据是由用读地址从待测系统获得的。因此在待测系统正确运行的情况下,由于写地址与读地址相同,第一比较数据与第二比较数据应相同。在第一比较数据与第二比较数据不同的情况下,可以确定待测系统运行出错。利用该方法,通过地址即可生成用于测试芯片的待测数据,实现对芯片功能正确性进行测试的需求。

结合第一方面,在第一方面的某些实现方式中,在解析所述写事件时,还获取写传输数据包,在解析所述读事件时,还获取读传输数据包,从而正确测试目标系统。其中,写传输数据包可以为写Burst,读传输数据包可以为读Burst。

结合第一方面,在第一方面的某些实现方式中,所述写传输数据包包括第一长度类型,所述第一长度类型指示所述写数据的数据数量,所述读传输数据包包括第二长度类型,所述第二长度类型指示所述第一比较数据的数据数量。利用该方式可以确定写数据和第一比较数据的数量,从而正确编码并输出写数据信号,对系统进行测试。

其中,第一长度类型、第二长度类型可以为Burst length。

结合第一方面,在第一方面的某些实现方式中,在获取所述写事件之后,所述方法还包括:再次写入写地址时,写地址互相不重叠。从而可以正确对数据进行比对,提高测试芯片的正确性。

结合第一方面,在第一方面的某些实现方式中,所述写传输数据包与所述读传输数据包相同,从而可以正确对数据进行比对,提高测试芯片的正确性。

第二方面,提供了一种用于测试芯片的方法,包括:获取写事件,并解析所述写事件以获取写地址,并通过编码方案对所述写地址进行编码以获得写数据,并根据所述写地址将所述写数据写入待测系统;获取读事件,并解析所述读事件以获取读地址,其中所述写地址与所述读地址相同;根据所述读地址从所述待测系统获取读数据,并通过所述编码方案对所述读数据进行解码以获得比较地址;对所述读地址和所述比较地址进行比较;输出比较结果。

在第二方面提供的方法中,给待测系统的写数据是根据写地址用编码方案编的,读数据是用读地址从待测系统获得的,用于比较的比较地址是根据读数据用同一编码方案解码的,因此在待测系统正确运行的情况下,由于写地址与读地址相同,比较地址与读地址应相同。在比较地址与读地址不同的情况下,可以确定待测系统运行出错。利用该方法,通过地址即可生成用于测试芯片的待测数据,实现对芯片功能正确性进行测试的需求。

结合第二方面,在第二方面的某些实现方式中,在解析所述写事件时还获取写传输数据包,在解析所述读事件时还获取读传输数据包,从而正确测试目标系统。其中,写传输数据包可以为写Burst,读传输数据包可以为读Burst。

结合第二方面,在第二方面的某些实现方式中,所述写传输数据包包括第一长度类型,所述读传输数据包包括第二长度类型,所述第一长度类型指示所述写数据数量,所述第二长度类型指示所述读数据的数量,所述第一长度类型和所述第二长度类型指示的所述写数据数量和读数据数量为1。即每次只传输一个数据,从而可以正确对数据进行比对,提高测试芯片的正确性。

其中,第一长度类型、第二长度类型可以为Burst length。

结合第二方面,在第二方面的某些实现方式中,所述写传输数据包包括第一宽度类型,所述读传输数据包包括第二宽度类型,所述第一宽度类型和所述第二宽度类型相同,指数据位宽相同,从而可以正确对数据进行比对,提高测试芯片的正确性。

其中,第一宽度类型、第二宽度类型可以为Burst Size。

结合第一方面和第二方面,在第一方面和第二方面的某些实现方式中,所述方法应用在通用总线模型上。在一些实现方式中,所述通用总线模型应用在硬件上。在一些实现方式中,所述通用总线模型应用在基于AXI协议接口的硬件设备上。

第三方面,提供了一种用于测试芯片的装置,包括:第一解析器,用于获取写事件,并解析所述写事件以获取写地址;第一发生器,用于从所述第一解析器获得所述写地址,并通过编码方案对所述写地址进行编码以获得写数据,并根据所述写地址将所述写数据写入待测系统;第二解析器,用于获取读事件,并解析所述读事件以获取读地址;第二发生器,用于获得所述读地址,并通过所述编码方案对所述读地址进行编码以获得第一比较数据,其中所述写地址与所述读地址相同;比较器,用于根据所述读地址从所述待测系统获取第二比较数据,并对第一比较数据和第二比较数据进行比较,并输出比较结果。

在一些实现方式中,第二发生器可以从第二解析器获得读地址。在另一些实现方式中,第二解析器可以将读地址存储进查找表中,第二发生器从查找表获取读地址。

在第三方面的装置中,第一发生器给待测系统的写数据是根据写地址用编码方案编码的,用于比较的第一比较数据是第二发生器根据读地址用同一编码方案编码的,用于比较的第二比较数据是由比较器用读地址从待测系统获得的。因此在待测系统正确运行的情况下,由于写地址与读地址相同,第一比较数据与第二比较数据应相同。在第一比较数据与第二比较数据不同的情况下,可以确定待测系统运行出错。利用该装置,通过地址即可生成用于测试芯片的待测数据,实现对芯片功能正确性进行测试的需求。

结合第三方面,在第三方面的某些实现方式中,在所述第一解析器解析所述写事件时还获取写传输数据包,在所述第二解析器解析所述读事件时还获取读传输数据包,从而正确测试目标系统。其中,写传输数据包可以为写Burst,读传输数据包可以为读Burst。

结合第三方面,在第三方面的某些实现方式中,所述第一发生器还用于从所述第一解析器获得写传输数据包包括的第一长度类型,所述第一长度类型指示所述写数据的数量;所述第二发生器还用于从所述第二解析器获得读传输数据包包括的第二长度类型,所述第二长度类型指示所述第一比较数据的数量。利用该方式可以确定写数据和第一比较数据的数量,从而正确编码并输出写数据信号,对系统进行测试。

其中,第一长度类型、第二长度类型可以为Burst length。

结合第三方面,在第三方面的某些实现方式中,在所述比较器输出比较结果后,再次写入写地址时,写地址互相不重叠。从而可以正确对数据进行比对,提高测试芯片的正确性。

结合第三方面,在第三方面的某些实现方式中,装置还包括:第一激励发生器,用于生成所述写事件,所述写事件能够被所述第一解析器解析,以获得所述所述写传输数据包;第二激励发生器,用于生成所述读事件,所述读事件能够被所述第二解析器解析,以获得所述读传输数据包,所述写传输数据包和所述读传输数据包相同,从而可以正确对数据进行比对,提高测试芯片的正确性。

第四方面,提供了一种用于测试芯片的装置,包括:第一解析器,用于获取写事件,并解析所述写事件以获取写地址;第一发生器,用于从所述第一解析器获得所述写地址,并通过编码方案对所述写地址进行编码以获得写数据,并根据所述写地址将所述写数据写入待测系统;第二解析器,用于获取读事件,并解析所述读事件以获取读地址;第二发生器,用于根据所述读地址从所述待测系统获取读数据,并通过所述编码方案对所述读数据进行解码以获得比较地址;比较器,对所述读地址和所述比较地址进行比较,并输出比较结果。

在一些实现方式中,比较器可以从第二解析器获得读地址。在另一些实现方式中,第二解析器可以将读地址存储进查找表中,比较器从查找表获取读地址。

在第四方面提供的装置中,第一发生器给待测系统的写数据是根据写地址用编码方案编的,读数据是第二发生器用读地址从待测系统获得的,用于比较的比较地址是第二发生器根据读数据用同一编码方案解码的,因此在待测系统正确运行的情况下,由于写地址与读地址相同,比较地址与读地址应相同。在比较地址与读地址不同的情况下,可以确定待测系统运行出错。利用该装置,通过地址即可生成用于测试芯片的待测数据,实现对芯片功能正确性进行测试的需求。

结合第四方面,在第四方面的某些实现方式中,在所述第一解析器解析所述写事件时还获取写传输数据包,在所述第二解析器解析所述读事件时还获取读传输数据包,从而正确测试目标系统。

其中,写传输数据包可以为写Burst,读传输数据包可以为读Burst。

结合第四方面,在第四方面的某些实现方式中,装置还包括:第一激励发生器,用于生成所述写事件,所述写事件能够被所述第一解析器解析,以获得所述写传输数据包;第二激励发生器,用于生成所述读事件,所述读事件能够被所述第二解析器解析,以获得所述读传输数据包;所述写传输数据包包括第一长度类型,所述读传输数据包包括第二长度类型,所述第一长度类型指示所述写数据数量,所述第二长度类型指示所述读数据的数量,所述第一长度类型和所述第二长度类型指示的所述写数据数量和读数据数量为1。即每次只传输一个数据,从而可以正确对数据进行比对,提高测试芯片的正确性。

其中,第一长度类型、第二长度类型可以为Burst length。

结合第四方面,在第四方面的某些实现方式中,装置还包括:第一激励发生器,用于生成所述写事件,所述写事件能够被所述第一解析器解析,以获得所述写传输数据包;第二激励发生器,用于生成所述读事件,所述读事件能够被所述第二解析器解析,以获得所述读传输数据包;所述写传输数据包包括第一宽度类型,所述读传输数据包包括第二宽度类型,所述第一宽度类型指示所述写数据的数据位宽,所述第二宽度类型指示所述读数据的数据位宽,所述第一宽度类型和所述第二宽度类型相同,指数据位宽相同,从而可以正确对数据进行比对,提高测试芯片的正确性。

其中,第一宽度类型、第二宽度类型可以为Burst Size。

第五方面,提供一种用于测试芯片的设备,其包括处理器,所述处理器与存储器耦合,所述存储器用于存储计算机程序,所述处理器用于执行所述存储器中存储的计算机程序,使得上述第一方面及其任一种可能的实现、第二方面及其任一种可能的实现中所述的方法的部分或全部步骤被执行。

第六方面,提供一种计算机可读存储介质,其存储介质中存储有计算机程序或指令,当所述计算机程序或指令被处理器执行时,使得上述第一方面及其任一种可能的实现、第二方面及其任一种可能的实现中所述的方法的部分或全部步骤被执行。

附图说明

图1是包括通用总线模型的仿真测试系统示意图。

图2是本申请的一种用于测试芯片的方法。

图3是本申请的另一种用于测试芯片的方法。

图4是本申请的一种用于测试芯片的装置。

图5是本申请的另一种用于测试芯片的装置。

图6是本申请的另一种用于测试芯片的装置。

图7是本申请的另一种用于测试芯片的装置。

图8是本申请的一种对待测系统进行测试的系统示意性结构框图。

具体实施方式

首先简单介绍本申请中涉及的相关术语。

高速总线标准协议(Advanced eXtensible Interface,AXI):总线作为芯片内部各子系统和模块之间的连接接口,是芯片设计中不可缺少的部分。高级微控制器总线架构(Advanced Microcontroller Bus Architecture,AMBA)总线是由ARM公司提出的一种开放性的片上总线标准,它独立于处理器和工艺技术,作为子系统模块之间共享的通信链路。AXI属于AMBA总线中的一种高速总线标准协议,用于高性能、高带宽、低延迟的片内总线场景。芯片内的主设备(Master设备),如CPU、GPU等多采用AXI总线接口。

AXI协议是基于突发事件传输(Burst Transaction),每个突发传输(Burst)中传输一至多个一拍数据(Beat)。

AXI协议定义了以下5个独立的传输通道:读地址通道、读数据通道、写地址通道、写数据通道、写响应通道。写入数据的流程为主设备(Master设备)通过写地址通道发出写入请求,从设备(Slave设备)通过写数据通道发送写入的数据,从设备在完成动作后,通过写响应通道发送确认信息。读取数据的流程为主设备通过读地址通道发出读取请求,从设备通过读数据通道将读取的数据发送给主设备。

读/写地址通道:读、写传输每个都有自己的地址通道,对应的地址通道承载着对应传输的地址控制信息。

读数据通道:读数据通道承载着读数据和读响应信号包括数据总线(8/16/32/64/128/256/512/1024 bit)和指示读传输完成的读响应信号。

写数据通道:写数据通道的数据信息被认为是缓冲(buffered)了的,主设备无需等待从设备对上次写传输的确认即可发起一次新的写传输。写通道包括数据总线(8/16...1024 bit)和字节线(用于指示8 bit 数据信号的有效性)。

写响应通道:从设备使用写响应通道对写传输进行响应。所有的写传输需要写响应通道的完成信号。

其中,写地址通道主要包括信号如表1所示:

表1

读地址通道主要包括信号如表2所示:

表2

读数据通道和写数据主要包括信号如表3所示:

表3

随着大规模集成电路(Integrated Circuit,IC)技术的发展,芯片的逻辑规模和电路的复杂程度越来越高,为了保证芯片质量,需要将芯片作为待测系统(Design undertest,DUT)进行准确快速的仿真测试。在仿真测试中,如何对芯片的功能正确性进行测试是亟需解决的技术问题。

在仿真测试中,在测试芯片的总架构合理性和稳定性的同时,还需要测试芯片功能的正确性。以片上系统(System on Chip,SoC)为例,其中总线通路和对应知识产权(Intellectual Property,IP)的功能正确性需要测试。如SoC包括双倍速率控制器(DoubleData Rate Controller,DDR Controller)和双倍速率存储器(Double Data Rate Memory,DDR Mem),在对其功能的正确性进行测试时,应对双倍速率控制器功能进行测试,并保证双倍速率存储器读写行为的正确性。

鉴于此,本申请提供了一种用于测试芯片的方法和装置,该方法和装置通过对地址进行编码作为验证测试芯片的测试数据,从而实现对待测系统的功能正确性进行测试。

下面,对本申请的用于测试芯片的方法和装置的应用场景进行说明。

作为一种实现方式,本申请所述的方法和装置可以应用于一种通用总线模型(General Bus Model,GBM)中。图1是包括通用总线模型的仿真测试系统示意图。仿真测试系统10中包括激励发生器11、调度器12以及通用总线模型13(GeneralBus Model,GBM)。其中,激励发生器11用于生成激励文件,调度器12用于将激励文件加载到通用总线模型13。通用总线模型13用于根据激励文件产生激励信号输入到待测系统20(DesignUnder Test,DUT),并接收DUT输出的响应信号,从而进行仿真行为,以对DUT的功能进行测试。其中DUT是在硬件仿真平台上实现的待测系统,例如片上系统、芯片的子系统或功能模块等。GBM与DUT基于总线协议(例如AXI接口)进行信号交互。

上述过程中,激励文件的生成以及调度都可以在DUT的仿真行为开始前完成,调度器12从通用总线模型13获取测试结果信息可以在接收到GBM发送的测试结束信号之后。因此,仿真行为中DUT和仿真测试系统10的信号交互可以只发生在硬件环境中的GBM和DUT之间,仿真测试的运行过程不依赖系统内软件部分和硬件部分的信息交互。

在仿真系统10中,激励发生器11和调度器12可以运行在软件测环境中(例如服务器或个人计算机的操作系统),通用总线模型13运行在硬件环境中(例如硬件仿真器(Emulator)或现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)等)。除此之外,激励发生器11和调度器12根据系统需要也可以在硬件环境中实现,例如,可以将激励发生器以功能模块的形式集成在GBM中,从而由硬件实现激励发生器和调度器的相应功能。

本申请的用于测试芯片的方法和装置可以应用在上述的通用总线模型13上。在一些实现方式中,通用总线模型13可以应用在硬件上。在一些实现方式中,通用总线模型13可以应用在在硬件上的仿真(Emulation)、模拟(Simulation)或者现场可编程逻辑门阵列(Field Programmable Gate Array,FPGA)仿真平台。

在一些实现方式中,通用总线模型也可以应用在具有基于AXI协议总线接口的硬件设备上。通用总线模型13可以基于AXI总线协议,写操作使用三个通道:写地址通道、写数据通道、写响应通道,GBM通过写地址通道向DUT发送指示写入数据的地址的信号,通过写数据通道向DUT发送指示写入的数据的信号,通过写响应通道接收DUT发送的写操作的响应信号。读操作使用两个通道:读地址通道、读响应通道,GBM通过读地址通道向DUT发送指示读取数据的地址的信号,通过写响应通道接收DUT发送的读操作的响应信号以及读取的数据的信号。可选地,GBM根据使用需求可以只包括写操作所用的通道,或只包括读操作所用的通道,也可以同时包括写操作和读操作所用的通道。

除了上述的通用总线模型13以外,本申请所述用于测试芯片的方法和装置也可以根据实际情况应用在其它软件、硬件或是固件中,或是应用在其它仿真器、服务器中等,编写代码可以为Verilog、Python等,本申请不对此作出限制。

下面,对本申请提供的用于测试芯片的方法进行说明。

图2是本申请的一种用于测试芯片的方法。如图2所示,该方法可以包括步骤S210-步骤S250。

步骤S210,获取写事件,并解析写事件以获取写地址,并通过编码方案对写地址进行编码以获得写数据,并根据写地址将写数据写入待测系统。

该步骤中,在解析写事件以获取写地址时,还可以获取写传输数据包,从而对写地址进行编码获得写数据,从而正确测试目标系统。

在该步骤中,编码方案根据实际情况进行选择。

方式1:编码方案可以为写数据等于写地址+n,n为大于或者等于1的自然数。

方式2:在解析写事件以获取写地址时,还可以获取写传输数据包。

作为一种获取写传输数据包后实现编码的方式,写传输数据包包括第一长度类型,第一长度类型指示编码获得的写数据的数据数量m,即写数据包括m个数据。其中,m为大于或者等于1的自然数。在通过编码方案对写地址进行编码以获得写数据时,写数据编码方案可以为写数据中第1个数据等于写地址+1,第2个数据等于写地址+2,……,第m个数据等于写地址+m。

在该步骤中,可选地,在获取所述写事件之后,再次写入写地址时,写地址互相不重叠。从而可以正确对数据进行比对,提高测试芯片的正确性。

步骤S220,获取读事件,并解析读事件以获取读地址,通过与步骤S210中相同的编码方案对读地址进行编码以获得第一比较数据,其中写地址与读地址相同。

该步骤中,在解析读事件以获取读地址时,还可以获取读传输数据包,从而对读地址进行编码获得第一比较数据,从而正确测试目标系统。

在该步骤中,编码方案与步骤S210中相同。

方式1:编码方案可以为读数据等于读地址+n,n为大于或者等于1的自然数。

方式2:在解析读事件以获取读地址时,还可以获取读传输数据包。

作为一种获取读传输数据包后实现编码的方式,读传输数据包包括第二长度类型,第二长度类型指示编码获得的读数据的数据数量m,即读数据包括m个数据。其中,m为大于或者等于1的自然数。在通过编码方案对读地址进行编码以获得读数据时,读数据编码方案可以为读数据中第1个数据等于读地址+1,第2个数据等于读地址+2,……,第m个数据等于读地址+m。

步骤S230,根据读地址从待测系统获取第二比较数据。

步骤S240,对第一比较数据和第二比较数据进行比较。

步骤S250, 输出比较结果。

作为一种输出比较结果的方式,可以在S240步骤中第一比较数据和第二比较数据不同的情况下,输出比对出错的结果。

在图2中,可选地,步骤S210中的写传输数据包和步骤S220中的读传输数据包相同,从而可以正确对数据进行比对,提高测试芯片的正确性。

在图2所示的方法应用于具有AXI协议接口的硬件设备时,写事件可以为写transaction,写传输数据包可以为写Burst,写地址可以为AWADDR,写数据可以为WDATA。读事件可以为读transaction,读传输数据包可以为读Burst,读地址可以为ARADDR。Burst包括Burst type,Burst length, Burst size。第一长度类型、第二长度类型可以为Burstlength,Burst length指示一拍数据(beat)的数量。

在图2的用于测试芯片的方法中,给待测系统的写数据是根据写地址用编码方案编码的,用于比较的第一比较数据是根据读地址用同一编码方案编码的,用于比较的第二比较数据是由用读地址从待测系统获得的。因此在待测系统正确运行的情况下,由于写地址与读地址相同,第一比较数据与第二比较数据应相同。在第一比较数据与第二比较数据不同的情况下,可以确定待测系统运行出错。利用该方法,通过地址即可生成用于测试芯片的待测数据,实现对芯片功能正确性进行测试的需求。同时也避免使用来自其它服务器或者平台的额外激励源对数据进行比较,在硬件中实现测试芯片的需求。

在图2所示的用于测试芯片的方法中,由于没有对地址范围的限制,因此具有逻辑设计简单,适用性广的特点。

图3是本申请的另一种用于测试芯片的方法。如图3所示,该方法可以包括步骤S310-步骤S350。

S310, 获取写事件,并解析写事件以获取写地址,并通过编码方案对写地址进行编码以获得写数据,并根据写地址将写数据写入待测系统。

在该步骤中,在解析写事件以获取写地址时,还可以获取写传输数据包,从而对写地址进行编码获得写数据,从而正确测试目标系统。

在该步骤中,编码方案根据实际情况进行选择。例如,编码方案可以为写数据等于写地址+n,n为大于或者等于1的自然数。

S320, 获取读事件,并解析读事件以获取读地址,其中写地址与读地址相同。

在解析读事件以获取读地址时,还可以获取读传输数据包,从而完成后续读数据的解码,从而正确测试目标系统。

S330, 根据读地址从待测系统获取读数据,通过与步骤S320中同一编码方案对读数据进行解码以获得比较地址。

在步骤S320的编码方案为写数据等于写地址+n,n为大于或者等于1的自然数的情况下,解码的方法为比较地址等于读数据-n。

S340, 对读地址和比较地址进行比较。

S350, 输出比较结果。

作为一种输出比较结果的方式,可以在S340步骤中读地址和比较地址不同的情况下,输出比对出错的结果。

在图3中,可选地,S310步骤中写传输数据包包括第一长度类型,第一长度类型指示写数据的数据数量,第一长度类型为0,即写数据中只有一个数据。S320步骤中读传输数据包包括第二长度类型,第二长度类型指示读数据的数据数量,第二长度类型为0,即读数据中只有一个数据。通过每次只传输一个数据,可以正确对数据进行比对,提高测试芯片的正确性。

可选地,S310步骤中写传输数据包包括第一宽度类型,S320步骤中读传输数据包包括第二宽度类型,第一宽度类型和第二宽度类型相同,指数据位宽相同,从而可以正确对数据进行比对,提高测试芯片的正确性。

在图3所示的方法应用于具有AXI协议接口的硬件设备时,写事件可以为写transaction,写传输数据包可以为写Burst,写地址可以为AWADDR,写数据可以为WDATA。读事件可以为读transaction,读传输数据包可以为读Burst,读地址可以为ARADDR。Burst包括Burst type,Burst length, Burst size。第一长度类型、第二长度类型可以为Burstlength。第一宽度类型、第二宽度类型可以为Burst size。第一长度类型、第二长度类型可以为Burst length,Burst length指示一拍数据(beat)的数量。第一宽度类型、第二宽度类型可以为Burst size,Burst size指示传输数据位宽。

在图3的用于测试芯片的方法中,给待测系统的写数据是根据写地址用编码方案编的,读数据是用读地址从待测系统获得的,用于比较的比较地址是根据读数据用同一编码方案解码的,因此在待测系统正确运行的情况下,由于写地址与读地址相同,比较地址与读地址应相同。在比较地址与读地址不同的情况下,可以确定待测系统运行出错。利用该方法,通过地址即可生成用于测试芯片的待测数据,实现对芯片功能正确性进行测试的需求。同时也避免使用来自其它服务器或者平台的额外激励源对数据进行比较,在硬件中实现测试芯片的需求。

在图3所示的用于测试芯片的方法中,由于没有对地址范围的限制,因此具有逻辑设计简单,适用性广的特点。

上文结合图2和图3,详细描述了本申请实施例的方法实施例,下面描述本申请实施例的装置实施例,装置实施例与方法实施例相互对应,因此未详细描述的部分可参见前面各方法实施例,装置可以实现上述方法中任意可能实现的方式。

图4是本申请的一种用于测试芯片的装置,该装置包括:

第一解析器411,用于获取写事件,并解析写事件以获取写地址。

其中,第一解析器411在解析写事件以获取写地址时,还可以获取写传输数据包,从而对写地址进行编码获得写数据,从而正确测试目标系统。

可选地,在第一解析器411获取所述写事件之后,再次写入写地址时,写地址互相不重叠。从而可以正确对数据进行比对,提高测试芯片的正确性。

第一发生器421,用于从第一解析器411获得写地址,通过编码方案对写地址进行编码以获得写数据,根据写地址将写数据写入待测系统430。

方式1:编码方案可以为写数据等于写地址+n,n为大于或者等于1的自然数。

方式2:在第一解析器411解析写事件以获取写地址时,还获取写传输数据包的情况下。

作为一种第一发生器421从第一解析器411获取写传输数据包后实现编码的方式,写传输数据包包括第一长度类型,第一长度类型指示编码获得的写数据的数据数量m,即写数据包括m个数据。其中,m为大于或者等于1的自然数。在通过编码方案对写地址进行编码以获得写数据时,写数据编码方案可以为写数据中第1个数据等于写地址+1,第2个数据等于写地址+2,……,第m个数据等于写地址+m。

第二解析器412,用于获取读事件,并解析读事件以获取读地址。

其中,第二解析器412在解析读事件以获取读地址时,还可以获取读传输数据包,从而对读地址进行编码获得写数据,从而正确测试目标系统。

第二发生器422,用于获得读地址,并通过与第一发生器421中相同的编码方案对读地址进行编码以获得第一比较数据,其中写地址与读地址相同。

作为一种第二发生器422获得读地址的方式,例如在待处理操作(Outstanding)为1的情况下,第二发生器422可以直接从第二解析器412获得读地址。

作为另一种第二发生器422获得读地址的方式,第二发生器422中可以包括存储结构,第二发生器将从第二解析器412获得的读地址存储进入存储结构中,并根据待测系统的读取标签(Read ID)获得读地址。

第二发生器422所使用的编码方案与第一发生器421相同:

方式1:编码方案可以为读数据等于读地址+n,n为大于或者等于1的自然数。

方式2:在第二解析器412解析读事件以获取读地址时,还获取读传输数据包的情况下。

作为一种第二发生器422从第二解析器412获取读传输数据包后实现编码的方式,读传输数据包包括第二长度类型,第二长度类型指示编码获得的读数据的数据数量m,即读数据包括m个数据。其中,m为大于或者等于1的自然数。在通过编码方案对读地址进行编码以获得读数据时,读数据编码方案可以为读数据中第1个数据等于读地址+1,第2个数据等于读地址+2,……,第m个数据等于读地址+m。

比较器440,用于根据读地址从待测系统430获取第二比较数据,并对第一比较数据和第二比较数据进行比较,输出比较结果。

作为一种输出比较结果的方式,比较器440可以在第一比较数据和第二比较数据不同的情况下,输出比对出错的结果。

可选地,装置中还可以包括查找表450。如图5所示,作为另一种第二发生器422获得读地址的方式,第二解析器412可以将读地址存储进入查找表450中,第二发生器422根据待测系统的读取标签(Read ID,RID)获得读地址。

在一些实现方式中,第二解析器412还可以将读标签、第一长度类型存储进入查找表450中,第二发生器422也可以根据待测系统的读取标签(Read ID,RID)获得第二长度类型。

可选地,图4和图5所示的装置中还包括第一激励发生器,第二激励发生器。第一激励发生器用于生成写事件,写事件能够被第一解析器411解析,以获得写地址和写传输数据包。第二激励发生器用于生成读事件,读事件能够第二解析器412解析,以获得读地址和读传输数据包。其中,写传输数据包和读传输数据包相同,从而可以正确对数据进行比对,提高测试芯片的正确性。

在图4和图5所示的装置应用于具有AXI协议接口的硬件设备时,写事件可以为写transaction,写传输数据包可以为写Burst,写地址可以为AWADDR,写数据可以为WDATA。读事件可以为读transaction,读传输数据包可以为读Burst,读地址可以为ARADDR。Burst包括Burst type,Burst length, Burst size。第一长度类型、第二长度类型可以为Burstlength,Burst length指示一拍数据(beat)的数量。读标签可以为ARID。

在图4和图5所示的装置中,第一发生器421给待测系统的写数据是根据写地址用编码方案编码的,用于比较的第一比较数据是第二发生器422根据读地址用同一编码方案编码的,用于比较的第二比较数据是由比较器440用读地址从待测系统获得的。因此在待测系统正确运行的情况下,由于写地址与读地址相同,第一比较数据与第二比较数据应相同。在第一比较数据与第二比较数据不同的情况下,可以确定待测系统运行出错。利用该装置,通过地址即可生成用于测试芯片的待测数据,实现对芯片功能正确性进行测试的需求。同时也避免使用来自其它服务器或者平台的额外激励源对数据进行比较,在硬件中实现测试芯片的需求。

在图4和图5所示的用于测试芯片的装置中,由于没有对地址范围的限制,因此具有逻辑设计简单,适用性广的特点。

图6是本申请的一种用于测试芯片的装置,该装置包括:

第一解析器511,用于获取写事件,并解析写事件以获取写地址。

其中,第一解析器511在解析写事件以获取写地址时,还可以获取写传输数据包,从而对写地址进行编码获得写数据,从而正确测试目标系统。

第一发生器521,用于从第一解析器511获得写地址,并通过编码方案对写地址进行编码以获得写数据,根据写地址将写数据写入待测系统530。

其中,第一发生器521所使用的编码方案根据实际情况进行选择。例如,编码方案可以为写数据等于写地址+n,n为大于或者等于1的自然数。

第二解析器512,用于获取读事件,并解析读事件以获取读地址。

其中,第二解析器512在解析读事件以获取读地址时,还可以获取读传输数据包,从而对读地址进行编码获得写数据,从而正确测试目标系统。

第二发生器522,用于根据读地址从待测系统530获取读数据,并通过第一发生器521中相同的编码方案对读数据进行解码以获得比较地址。

例如,第一发生器521中的编码方案为写数据等于写地址+n,n为大于或者等于1的自然数的情况下,解码的方法为比较地址等于读数据-n。

比较器540,对读地址和比较地址进行比较,并输出比较结果。

作为一种比较器540获得读地址的方式,例如在待处理操作(Outstanding)为1的情况下,比较器540可以直接从第二解析器512获得读地址。

作为另一种比较器540获得读地址的方式,比较器540中可以包括存储结构,比较器540将从第二解析器512获得的读地址存储进入存储结构中,并根据待测系统的读取标签(Read ID,RID)获得读地址。

作为一种输出比较结果的方式,比较器540可以在读地址和比较地址不同的情况下,输出比对出错的结果。

可选地,装置中还可以包括查找表550。如图7所示,作为另一种比较器540获得读地址的方式,第二解析器512可以将读地址存储进入查找表550中,比较器540根据待测系统的读取标签(Read ID,RID)获得读地址。在一些实现方式中,第二解析器512还可以将读标签存储进入查找表550中。

可选地,图6和图7所示的装置中还包括第一激励发生器,第二激励发生器。第一激励发生器用于生成写事件,写事件能够被第一解析器511解析,以获得写地址和写传输数据包。第二激励发生器用于生成读事件,读事件能够第二解析器512解析,以获得读地址和读传输数据包。第一发生器521所解析的写数据传输包包括第一长度类型,第一长度类型指示写数据的数据数量,写长度类型为0,即写数据中只有一个数据。第二发生器522所解析的读传输数据包包括第二长度类型,第二长度类型指示读数据包括的数据数量,第二长度类型为0,即读数据中只有一个数据。通过每次只传输一个数据,可以正确对数据进行比对,提高测试芯片的正确性。

可选地,图6和图7所示的装置中还包括第一激励发生器,第二激励发生器。第一激励发生器用于生成写事件,写事件能够被第一解析器511解析,以获得写地址和写传输数据包。第二激励发生器用于生成读事件,读事件能够第二解析器512解析,以获得读地址和读传输数据包。第一发生器521所解析的写传输数据包包括第一宽度类型,第二发生器522所解析的读传输数据包包括第二宽度类型,第一宽度类型和第二宽度类型相同,指数据位宽相同,从而可以正确对数据进行比对,提高测试芯片的正确性。

在图6和图7所示的装置应用于具有AXI协议接口的硬件设备时,写事件可以为写transaction,写传输数据包可以为写Burst,写地址可以为AWADDR,写数据可以为WDATA。读事件可以为读transaction,读传输数据包可以为读Burst,读地址可以为ARADDR。Burst包括Burst type, Burst length, Burst size。第一长度类型、第二长度类型可以为Burstlength。第一宽度类型、第二宽度类型可以为Burst size。第一长度类型、第二长度类型可以为Burst length,Burst length指示一拍数据(beat)的数量。第一宽度类型、第二宽度类型可以为Burst size,Burst size指示传输数据位宽。读标签可以为ARID。

在图6和图7所示的装置中,第一发生器521给待测系统的写数据是根据写地址用编码方案编的,读数据是第二发生器522用读地址从待测系统获得的,用于比较的比较地址是第二发生器522根据读数据用同一编码方案解码的,因此在待测系统正确运行的情况下,由于写地址与读地址相同,比较地址与读地址应相同。在比较地址与读地址不同的情况下,可以确定待测系统运行出错。利用该装置,通过地址即可生成用于测试芯片的待测数据,实现对芯片功能正确性进行测试的需求。同时也避免使用来自其它服务器或者平台的额外激励源对数据进行比较,在硬件中实现测试芯片的需求。

在图6和图7所示的用于测试芯片的装置中,由于没有对地址范围的限制,因此具有逻辑设计简单,适用性广的特点。

本申请如图2-图7的方法和装置实施例可以应用于一种对待测系统进行测试的系统600中。如图8所示,系统600包括:总线602、处理器604、存储器606和通信接口608。处理器604、存储器606和通信接口608之间通过总线602通信。应理解,本申请不限定系统500中的处理器、存储器的个数。

总线602可以是外设部件互连标准(Peripheral Component Interconnect,PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,EISA)总线等。总线可以分为地址总线、数据总线、控制总线等。为便于表示,图6中仅用一条线表示,但并不表示仅有一根总线或一种类型的总线。总线602可包括在系统600各个部件(例如,存储器606、处理器604、通信接口608)之间传送信息的通路。

处理器604可以包括中央处理器(Central Processing Unit,CPU)、图形处理器(Graphics Processing Unit,GPU)、微处理器(Micro Processor,MP)或者数字信号处理器(Digital Signal Processor,DSP)等处理器中的任意一种或多种。

存储器606可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM)。处理器604还可以包括非易失性存储器(non-volatilememory),例如只读存储器(Read-Only Memory,ROM),快闪存储器,机械硬盘(Hard DiskDrive,HDD)或固态硬盘(Solid State Drive,SSD)。

存储器606中存储有可执行的程序代码,处理器604执行该可执行的程序代码以分别实现前述系统中激励发生器、调度器、通用总线模型或各模块的功能,从而实现上述仿真测试的方法。也即,存储器606上存有用于执行上述仿真测试的方法的指令。

通信接口608使用例如但不限于网络接口卡、收发器一类的收发模块,来实现系统600与其他设备或通信网络之间的通信。

此外,本申请实施例还提供一种用于测试芯片的设备,该设备获取指令并执行该指令来实现上述图2或者图3的方法。

可选地,作为一种实现方式,该设备包括处理器与通信接口,该处理器通过该通信接口读取存储器上存储的指令,执行上述方法。

可选地,作为一种实现方式,该设备还可以包括存储器,该存储器中存储有指令,该处理器用于执行该存储器上存储的指令,当该指令被执行时,该处理器用于执行上述方法。

本申请实施例还提供一种计算机可读存储介质,该计算机可读存储介质存储有指令,该指令用于上述图2或者图3方法实施例中的方法。

本申请实施例还提供一种包含指令的计算机程序产品,该指令用于实现上述方法实施例中的方法。

在本说明书中使用的术语“部件”、“模块”、“系统”等用于表示计算机相关的实体、硬件、固件、硬件和软件的组合、软件、或执行中的软件。例如,部件可以是但不限于,在处理器上运行的进程、处理器、对象、可执行文件、执行线程、程序和/或计算机。通过图示,在计算设备上运行的应用和计算设备都可以是部件。一个或多个部件可驻留在进程和/或执行线程中,部件可位于一个计算机上和/或分布在2个或更多个计算机之间。此外,这些部件可从在上面存储有各种数据结构的各种计算机可读介质执行。部件可例如根据具有一个或多个数据分组(例如来自与本地系统、分布式系统和/或网络间的另一部件交互的二个部件的数据,例如通过信号与其它系统交互的互联网)的信号通过本地和/或远程进程来通信。

本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。

所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。

以上所述,仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以所述权利要求的保护范围为准。

相关技术
  • 一种芯片过温保护的测试装置及测试方法
  • 一种存储芯片的测试方法以及测试装置
  • 一种用于测试导热硅胶垫导热率的测试装置及测试方法
  • 芯片烧录测试设备及其用于芯片的测试或程序烧录方法
  • 一种用于扁平形橡胶囊制品承压能力的测试装置及测试方法
  • 芯片测试器、用于提供定时信息的方法、测试夹具套装、用于对传输延迟信息进行后处理的装置、用于对延迟信息进行后处理的方法、用于测试待测试器件的芯片测试设施和方法
  • 用于可测试芯片的测试方法、装置及可测试芯片内置电路
技术分类

06120115600078