CN110321292A - 芯片测试方法、装置、电子设备及计算机可读存储介质 - Google Patents

芯片测试方法、装置、电子设备及计算机可读存储介质 Download PDF

Info

Publication number
CN110321292A
CN110321292A CN201910738668.9A CN201910738668A CN110321292A CN 110321292 A CN110321292 A CN 110321292A CN 201910738668 A CN201910738668 A CN 201910738668A CN 110321292 A CN110321292 A CN 110321292A
Authority
CN
China
Prior art keywords
chip
test
data
code
tested
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
CN201910738668.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.)
Shanghai Suiyuan Intelligent Technology Co Ltd
Original Assignee
Shanghai Suiyuan Intelligent 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 Shanghai Suiyuan Intelligent Technology Co Ltd filed Critical Shanghai Suiyuan Intelligent Technology Co Ltd
Priority to CN201910738668.9A priority Critical patent/CN110321292A/zh
Publication of CN110321292A publication Critical patent/CN110321292A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/26Functional testing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3604Software analysis for verifying properties of programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/36Preventing errors by testing or debugging software
    • G06F11/3664Environments for testing or debugging software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Test And Diagnosis Of Digital Computers (AREA)

Abstract

本发明实施例提供了一种芯片测试方法、方法、装置、电子设备及计算机可读存储介质,该方法包括:根据目标芯片特征构建虚拟芯片验证测试环境,虚拟芯片验证测试环境包含与目标芯片具有相同逻辑和时序行为的芯片;根据预设测试数据和虚拟芯片验证测试环境进行测试代码的校验;若校验成功,将与目标芯片具有相同逻辑和时序行为的芯片替换为待测试芯片;使用校验成功的测试代码对待测试芯片进行测试,能够无缝切换到用于真实新芯片的测试,将测试代码与芯片测试有机结合起来,缩短了测试周期,降低了测试成本。

Description

芯片测试方法、装置、电子设备及计算机可读存储介质
技术领域
本发明实施例涉及芯片测试技术,尤其涉及一种芯片测试方法、装置、电子设备及计算机可读存储介质。
背景技术
随着芯片技术的不断发展,芯片测试技术得到广泛应用。传统的芯片测试流程为,测试逻辑设计人员设计芯片测试逻辑,并将测试逻辑编写成测试代码。测试逻辑验证人员阅读测试代码,分析测试代码的逻辑错等。之后,测试逻辑验证人员将测试代码发送给测试工程师。测试工程师搭建芯片测试环境后,使用测试代码对待测试芯片进行测试。
在芯片测试过程中出现问题时,记录问题数据。然后将问题数据反馈给测试逻辑验证人员和测试逻辑设计人员,测试逻辑验证人员和测试逻辑设计人员对测试代码进行修改。上述测试方式测试周期较长,测试成本较高。
发明内容
本发明提供一种芯片测试方法、装置、电子设备及计算机可读存储介质,以实现缩短测试周期,降低测试成本。
第一方面,本发明实施例提供了一种芯片测试方法,包括:
根据目标芯片特征构建虚拟芯片验证测试环境,虚拟芯片验证测试环境包含与目标芯片具有相同逻辑和时序行为的芯片;
根据预设测试数据和虚拟芯片验证测试环境进行测试代码的校验;
若校验失败,根据校验结果对测试代码进行循环调试,并进行测试代码的校验;
若校验成功,将与目标芯片具有相同逻辑和时序行为的芯片替换为待测试芯片;
使用校验成功的测试代码对待测试芯片进行测试。
第二方面,本发明实施例还提供了一种芯片测试装置,包括:
芯片验证测试环境构建模块,用于根据目标芯片特征构建虚拟芯片验证测试环境,虚拟芯片验证测试环境包含与目标芯片具有相同逻辑和时序行为的芯片;
测试代码校验模块,用于根据预设测试数据和虚拟芯片验证测试环境进行测试代码的校验;若校验失败,根据校验结果对测试代码进行循环调试,并进行测试代码的校验;
芯片替换模块,用于若校验成功,将与目标芯片具有相同逻辑和时序行为的芯片替换为待测试芯片;
芯片测试模块,用于使用校验成功的测试代码对待测试芯片进行测试。
第三方面,本发明实施例还提供了一种电子设备,包括存储装置、处理装置以及存储在存储装置上并可在处理装置上运行的计算机程序,所述处理装置执行所述程序时实现如第一方面所示的芯片测试方法。
第四方面,本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如第一方面所示的芯片测试方法。
本发明实施例提供的芯片测试方法、装置、电子设备及计算机可读存储介质,能够根据目标芯片特征构建虚拟芯片验证测试环境,并基于构建的虚拟芯片验证测试环境校验测试代码。当测试代码校验成功时,由测试人员进行实际的芯片测试,此时将虚拟芯片验证测试环境中的与目标芯片具有相同逻辑和时序行为的芯片替换为待测试芯片,使用校验成功的测试代码对该待测试芯片进行测试。相对于目前测试代码设计与芯片的测试分离,设计出的测试代码可靠性低,芯片测试出现问题时无法及时反馈,测试周期长,测试成本高。本发明实施例提供的芯片测试方案,能够基于虚拟芯片验证测试环境为测试代码设计人员提供测试代码的仿真测试环境,在测试代码校验成功后,将虚拟芯片验证测试环境中的与目标芯片具有相同逻辑和时序行为的芯片替换为待测试芯片,芯片测试人员使用校验成功的测试代码对待测试芯片进行测试,进而将测试代码与芯片测试有机结合起来,能够提高测试代码的可靠性,缩短测试周期,降低测试成本。
附图说明
图1是本发明实施例中的一种系统架构示意图;
图2是本发明实施例中的一种芯片测试方法的流程图;
图3是本发明实施例中的另一种芯片测试方法的流程图;
图4是本发明实施例中的一种芯片测试装置的结构示意图;
图5是本发明实施例中的一种电子设备的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
目前的芯片测试流程中,测试逻辑设计人员、测试逻辑验证人员以及测试工程师无法在一个统一的工作开发环境中进行测试代码的设计以及待测试芯片的测试,以至于测试代码存在的缺陷智能在对真正的产品(待测试芯片)进行检测阶段才被发现,此时测试代码存在的缺陷的发现、分析和解决所需要的周期较长,拖延了产品测试整体周期,带来了额外的开发成本。
本发明实施例提供的一种芯片测试方法、装置、电子设备及计算机可读存储介质,为测试逻辑设计人员、测试逻辑验证人员以及测试工程师提供了一个统一的工作开发环境。在测试逻辑设计人员、测试逻辑验证人员设计和验证测试代码时,其工作环境为配置根据目标芯片特征构建虚拟芯片验证测试环境,在测试工程师进行真正的产品测试时,将虚拟芯片验证测试环境包含的与目标芯片具有相同逻辑和时序行为的芯片替换为待测试芯片,进而实现在相同工作环境中,对实体的待测试芯片进行测试。
图1为本发明实施例提供的一种系统架构示意图,包括第三方测试工具010、测试向量转换单元020以及虚拟芯片验证测试环境030。其中,第三方测试工具010用于根据测试代码确定测试向量,测试向量转换单元020用于将测试向量转换为目标芯片可识别的输入数据。虚拟芯片验证测试环境030包括存储单元和与目标芯片具有相同逻辑和时序行为的芯片,与目标芯片具有相同逻辑和时序行为的芯片为在生产加工实际芯片前的RTL逻辑行为级的真实芯片,它拥有着和真实的目标芯片相同的逻辑运算以及时序行为。目标芯片指的是满足质量标准的合格的待测试芯片的样例或芯片标准。与目标芯片具有相同逻辑和时序行为的芯片具有与目标芯片相同的输入引脚、输出引脚和时钟信号。存储单元用于存储虚拟测试逻辑运行过程中设计的输入数据、管脚激励数据、输出数据等。
测试逻辑设计人员将自己设计的测试代码通过第三方工具生成测试矢量,虚拟芯片验证测试环境030基于与目标芯片具有相同逻辑和时序行为的芯片为测试逻辑设计人员提供虚拟测试结果。测试逻辑设计人员,根据虚拟测试结果调整测试逻辑代码。当测试逻辑设计人员自检测试代码无误后,由测试逻辑验证人员将测试代码输入至虚拟芯片验证测试环境030,对测试代码进行校验。当测试代码校验成功时,说明测试代码初步认定无误,可以使用测试代码对未进行需要进行检测的待测试芯片进行测试。测试工程师将虚拟芯片验证测试环境030中的与目标芯片具有相同逻辑和时序行为的芯片替换为待测试芯片,测试工程师使用校验成功的测试代码对待测试芯片进行测试。下面对本发明实施例提供的芯片测试方法进行具体说明:
图2为本发明实施例提供的一种芯片测试方法的流程图,本实施例可适用于芯片测试代码设计以及芯片测试的情况,该方法可以由云端的服务器来执行,具体包括如下步骤:
步骤110、根据目标芯片特征构建虚拟芯片验证测试环境。
其中,虚拟芯片验证测试环境包含与目标芯片具有相同逻辑和时序行为的芯片。根据目标芯片功能构建与目标芯片具有相同逻辑和时序行为的芯片,使构建出的芯片与目标芯片具有相同的功能以及输入输出管脚。可以使用LabVIEW构建与目标芯片具有相同逻辑和时序行为的芯片。也可以使用可编程逻辑控制器(Programmable Logic Controller,PLC)实现目标芯片的功能。
步骤120、根据预设测试数据和虚拟芯片验证测试环境进行测试代码校验。
预设测试数据包括输入数据以及输入数据后预期输出的输出数据。导入测试代码后,根据测试代码确定输入数据,将输入数据输入至与目标芯片具有相同逻辑和时序行为的芯片中,并读取与目标芯片具有相同逻辑和时序行为的芯片输出的结果数据。根据与目标芯片具有相同逻辑和时序行为的芯片输出的结果数据和预期输出的输出数据进行校验。如果与目标芯片具有相同逻辑和时序行为的芯片输出的结果数据和预期输出的输出数据相同,则测试代码校验成功。
可选的,步骤120可通过下述方式实施:
步骤121、通过第三方工具生成预设测试数据对应的测试矢量,预设测试数据包括预设输入数据、预设输入数据对应的预期输出数据和管脚激励数据。
第三方工具可以为电子设计自动化(Electronics Design Automation,EDA)工具。测试逻辑设计人员设计出的测试代码可以为C语言、JAVA语言等编写的文档。与目标芯片具有相同逻辑和时序行为的芯片无法直接读取测试代码,因此需要将测试代码转换为与目标芯片具有相同逻辑和时序行为的芯片可识别的测试数据。通过EDA工具,可以将测试代码转化为测试矢量。测试矢量包含多个元素,分别为预设输入数据和管脚激励数据。预设输入数据用于描述某时在某管脚上输入某输入数据,管脚激励数据包括某时在某管脚上触发使能信号等。
步骤122、将测试矢量转换为虚拟芯片验证测试环境可识别的测试数据。
根据虚拟芯片验证测试环境可识别的机器语言,对测试矢量进行数据格式转换,得到测试数据。例如,虚拟芯片验证测试环境可识别16进制的数据,则将测试适量中的预设输入数据转换为16进制的数据,作为测试数据。
步骤123、根据测试数据和虚拟芯片验证测试环境进行测试代码校验。
将测试数据输入至虚拟芯片验证测试环境包含的与目标芯片具有相同逻辑和时序行为的芯片中,并在适当时间根据管脚激励数据对与目标芯片具有相同逻辑和时序行为的芯片上的管脚进行使能和去使能。从与目标芯片具有相同逻辑和时序行为的芯片的输出管脚读取输出的数据。比较与目标芯片具有相同逻辑和时序行为的芯片输出的数据与预期输出数据是否相同。若与目标芯片具有相同逻辑和时序行为的芯片输出的数据与预期输出数据相同,则确定测试代码校验成功。若与目标芯片具有相同逻辑和时序行为的芯片输出的数据与预期输出数据不相同,则确定测试代码校验失败。
可选的,根据多个测试矢量得到多组测试数据,将多组测试数据依次输入至与目标芯片具有相同逻辑和时序行为的芯片,读取与目标芯片具有相同逻辑和时序行为的芯片基于该多组测试数据输出的输出数据。根据输出数据与预期输出数据进行测试代码校验。其中,多组测试数据可以用于执行逻辑迭代测试或逻辑循环测试等。
在一种实现方式中,步骤123可通过下述方式进行实施:
步骤1231、根据管脚激励数据向与目标芯片具有相同逻辑和时序行为的芯片输入预设输入数据。
管脚激励数据可以控制与目标芯片具有相管脚使能,通过该管脚输入预设输入数据。
步骤1232、获取与目标芯片具有相同逻辑和时序行为的芯片输出结果数据。
读取与目标芯片具有相同逻辑和时序行为的芯片的管脚输出的结果数据。
步骤1233、根据结果数据和预期输出数据生成日志数据。
日志数据包括本次校验的输入数据、管脚激励数据、输出数据、循环次数以及预期输出数据等。随着不断的基于与目标芯片具有相同逻辑和时序行为的芯片进行校验,日志数据中存储有进行校验过程的数据输入情况以及数据输出情况。
步骤1234、根据日志数据确定测试代码是否正确。
根据日志数据中记载的预期输出数据以及与目标芯片具有相同逻辑和时序行为的芯片输出的结果数据,确定测试代码是否正确。具体的,如果预期输出数据与结果数据相同,则确定测试代码正确。否则,如果预期输出数据与结果数据不相同,则确定测试代码错误。
本实施方式中,对测试过程进行记录。对于与目标芯片具有相同逻辑和时序行为的芯片输出的数据与预期输出数据不相同时,对测试的循环次数进行记录,并记录失败的管脚名称、预期输出数据、与目标芯片具有相同逻辑和时序行为的芯片输出的数据以及本次测试的管脚激励数据等。能够基于日志数据追溯测试过程,有利于测试逻辑设计人员以及测试逻辑验证人员对测试代码进行调整。
进一步的,在步骤1231、根据管脚激励数据向与目标芯片具有相同逻辑和时序行为的芯片输入预设输入数据之前,还包括:
对与目标芯片具有相同逻辑和时序行为的芯片的目标管脚进行初始化,目标管脚包括联合测试工作组JTAG管脚或系统级芯片SOC控制管脚。
联合测试工作组JTAG管脚的初始化包括:TMS、TCK、TDI、TDO以及测试复位输启动停止(TRST U/L)的初始化。其中,TMS、TCK、TDI、TDO,分别为模式选择、时钟、数据输入和数据输出线。
系统级芯片SOC的初始化,包括:复位PWROK、重启RESET的初始化,以及利用片内基于JTAG预先设计好的IR/DR控制逻辑来设定SoC的工作模式,时钟,工作管脚的输入输出状态等。
进一步的,在步骤1231、根据管脚激励数据向与目标芯片具有相同逻辑和时序行为的芯片输入预设输入数据之前,还包括:根据实际时钟周期确定测试环境的测试时钟周期,实际时钟周期为目标芯片实际测试时使用的时钟周期。
在进行代码测试之前,根据实际时钟周期调整测试环境的测试时钟周期。使得测试时钟周期与实际时钟周期相同。
步骤130、若校验失败,根据校验结果对测试代码进行循环调试,并进行测试代码校验。
可以设置循环位,初始状态循环位数值为0。随着循环次数的增加,循环位数值做加一处理。直至校验成功时,将循环位重置为0。
步骤140、若校验成功,将与目标芯片具有相同逻辑和时序行为的芯片替换为待测试芯片。
在校验成功时,说明测试代码无误。测试逻辑设计人员或测试逻辑验证人员将校验成功的测试代码发送至测试工程师。测试工程师将与目标芯片具有相同逻辑和时序行为的芯片替换为待测试芯片。可选的,测试工程师可以在本地安装待测试芯片,根据校验成功的测试代码输入至待测试芯片进行测试。可选的,测试工程师可以控制将服务器中的与目标芯片具有相同逻辑和时序行为的芯片替换为待测试芯片,在服务器中运行校验成功的测试代码,对待测试芯片进行测试。
步骤150、使用校验成功的测试代码对待测试芯片进行测试。
可以在服务器中创建自动运行流程,实现待测芯片的回归测试。
本发明实施例提供的芯片测试方法,能够根据目标芯片特征构建虚拟芯片验证测试环境,并基于构建的虚拟芯片验证测试环境校验测试代码。当测试代码校验成功时,由测试人员进行实际的芯片测试,此时将虚拟芯片验证测试环境中的与目标芯片具有相同逻辑和时序行为的芯片替换为待测试芯片,使用校验成功的测试代码对该待测试芯片进行测试。相对于目前测试代码设计与芯片的测试分离,设计出的测试代码可靠性低,芯片测试出现问题时无法及时反馈,测试周期长,测试成本高。本发明实施例提供的芯片测试方案,能够基于虚拟芯片验证测试环境为测试代码设计人员提供测试代码的仿真测试环境,在测试代码校验成功后,将虚拟芯片验证测试环境中的与目标芯片具有相同逻辑和时序行为的芯片替换为待测试芯片,芯片测试人员使用校验成功的测试代码对待测试芯片进行测试,进而将测试代码与芯片测试有机结合起来,能够提高测试代码的可靠性,缩短测试周期,降低测试成本。
通过搭建上述实施例所示的芯片测试方法,大多数前期开发工作将由测试工程师、SOC验证工程师(测试逻辑验证人员和测试逻辑设计人员的统称)共同完成。在测试工程师参与待测芯片测试前,能够运行并调试虚拟芯片验证测试环境,从而确定产品测试阶段的实施细节。
图3为本发明实施例提供的一种芯片测试方法的流程图,作为对上述实施例的进一步说明,包括:
步骤210、根据目标芯片特征构建虚拟芯片验证测试环境,虚拟芯片验证测试环境包含与目标芯片具有相同逻辑和时序行为的芯片。
步骤220、第一用户根据预设测试数据和虚拟芯片验证测试环境进行测试代码校验。
其中,第一用户可以为测试逻辑验证人员或测试逻辑设计人员。
步骤230、若校验失败,根据校验结果对测试代码进行循环调试,并进行测试代码校验。
步骤240、若校验成功,第二用户将与目标芯片具有相同逻辑和时序行为的芯片替换为待测试芯片替换为待测试芯片。
其中,第二用户可以为测试工程师。
步骤250、第二用户使用校验成功的测试代码对待测试芯片进行测试。
可选的,第二用户使用校验成功的测试代码对待测试芯片进行测试,得到测试日志;将测试日志发送至第一用户使用的终端。
在第二用户对待测试芯片进行测试时,第一用户根据测试日志可以实时的监控第二用户的测试操作。若第二用户的测试操作存在问题,第一用户可及时纠正。若第二用户的测试操作无误,但测试结果有误,则第一用户可以根据测试日志对测试代码进行调整。
本发明实施例提供的芯片测试方法,能够根据目标芯片特征构建与目标芯片具有相同逻辑和时序行为的芯片,并由第一用户基于构建的与目标芯片具有相同逻辑和时序行为的芯片校验测试代码。当测试代码校验成功时,由第二用户进行实际的芯片测试,此时将与目标芯片具有相同逻辑和时序行为的芯片替换为待测试芯片,使用校验成功的测试代码对待测试芯片进行测试。目前测试代码设计与芯片的测试分离,导致芯片测试出现问题时,测试周期长,测试成本高。本发明实施例提供的芯片测试方案,服务器能够基于虚拟芯片验证测试环境为第一用户(测试代码设计人员)提供测试代码的仿真测试环境,在测试代码校验成功后,将与目标芯片具有相同逻辑和时序行为的芯片替换为待测试芯片,第二用户(芯片测试人员)使用校验成功的测试代码对待测试芯片进行测试,将测试代码与芯片测试有机结合起来,缩短了测试周期,降低了测试成本。同时,在目标芯片测试过程中,第二用户可以将目标芯片的测试数据发送给第一用户,或者第一用户可监控第二用户对目标芯片的测试行为,进而更加便捷的为第一用户提供测试代码逻辑的校验,且第一用户可以为第二用户提供测试支持,提高测试效率。
图4为本发明实施例提供的一种芯片测试装置的结构示意图,该装置位于服务器中,包括:芯片验证测试环境构建模块301、测试代码校验模块302、芯片替换模块303和芯片测试模块304;
芯片验证测试环境构建模块301,用于根据目标芯片特征构建虚拟芯片验证测试环境,虚拟芯片验证测试环境包含与目标芯片具有相同逻辑和时序行为的芯片;
测试代码校验模块302,用于根据预设测试数据和虚拟芯片验证测试环境进行测试代码的校验;若校验失败,根据校验结果对测试代码进行循环调试,并进行测试代码的校验;
芯片替换模块303,用于若校验成功,将与目标芯片具有相同逻辑和时序行为的芯片替换为待测试芯片;
芯片测试模块304,用于使用校验成功的测试代码对待测试芯片进行测试。
在上述实施例的基础上,测试代码校验模块302用于:
通过第三方工具生成预设测试数据对应的测试矢量,预设测试数据包括预设输入数据、预设输入数据对应的预期输出数据和管脚激励数据;
将测试矢量转换为虚拟芯片验证测试环境可识别的测试数据;
根据测试数据和虚拟芯片验证测试环境进行测试代码校验。
在上述实施例的基础上,测试代码校验模块302用于:
根据管脚激励数据向与目标芯片具有相同逻辑和时序行为的芯片输入预设输入数据;
获取与目标芯片具有相同逻辑和时序行为的芯片输出的结果数据;
根据结果数据和预期输出数据生成日志数据;
根据日志数据确定测试代码是否正确。
在上述实施例的基础上,测试代码校验模块302还用于:根据实际时钟周期确定测试环境的测试时钟周期,实际时钟周期为目标芯片实际测试时使用的时钟周期。
在上述实施例的基础上,测试代码校验模块302还用于:对与目标芯片具有相同逻辑和时序行为的芯片的目标管脚进行初始化,目标管脚包括联合测试工作组JTAG管脚或系统级芯片SOC控制管脚。
在上述实施例的基础上,测试代码校验模块302用于,第一用户根据预设测试数据和虚拟芯片验证测试环境进行测试代码校验;
若校验成功,第二用户将与目标芯片具有相同逻辑和时序行为的芯片替换为待测试芯片;
相应的,芯片测试模块304用于,第二用户使用校验成功的测试代码对待测试芯片进行测试。
在上述实施例的基础上,芯片测试模块304用于,
第二用户使用校验成功的测试代码对待测试芯片进行测试,得到测试日志;
将测试日志发送至第一用户使用的终端。
本发明实施例提供的芯片测试装置,芯片验证测试环境构建模块301能够根据目标芯片特征构建虚拟芯片验证测试环境,测试代码校验模块302基于构建的虚拟芯片验证测试环境校验测试代码。当测试代码校验成功时,由测试人员进行实际的芯片测试,此时芯片替换模块303将虚拟芯片验证测试环境中的与目标芯片具有相同逻辑和时序行为的芯片替换为待测试芯片,芯片测试模块304使用校验成功的测试代码对该待测试芯片进行测试。相对于目前测试代码设计与芯片的测试分离,设计出的测试代码可靠性低,芯片测试出现问题时无法及时反馈,测试周期长,测试成本高。本发明实施例提供的芯片测试装置,能够基于虚拟芯片验证测试环境为测试代码设计人员提供测试代码的仿真测试环境,在测试代码校验成功后,将虚拟芯片验证测试环境中的与目标芯片具有相同逻辑和时序行为的芯片替换为待测试芯片,芯片测试人员使用校验成功的测试代码对待测试芯片进行测试,进而将测试代码与芯片测试有机结合起来,能够提高测试代码的可靠性,缩短测试周期,降低测试成本。
上述装置可执行本发明前述所有实施例所提供的方法,具备执行上述方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明前述所有实施例所提供的方法。
图5为本发明实施例提供的一种电子设备的结构示意图。图5示出了适于用来实现本发明实施方式的电子设备512的框图。图5显示的电子设备512仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。设备512典型的是用于进行芯片测试的服务器、个人电脑、平板电脑、平板电脑或智能手机。
如图5所示,电子设备512以通用计算设备的形式表现。电子设备512的组件可以包括但不限于:一个或者多个处理器516,存储装置528,连接不同系统组件(包括存储装置528和处理器516)的总线518。
总线518表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(Industry StandardArchitecture,ISA)总线,微通道体系结构(Micro Channel Architecture,MCA)总线,增强型ISA总线、多媒体电子标准协会(Video Electronics Standards Association,VESA)局域总线以及外围组件互连(Peripheral Component Interconnect,PCI)总线。
电子设备512典型地包括多种计算机系统可读介质。这些介质可以是任何能够被电子设备512访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
存储装置528可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(Random Access Memory,RAM)530和/或高速缓存存储器532。电子设备512可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统534可以用于读写不可移动的、非易失性磁介质(图5未显示,通常称为“硬盘驱动器”)。尽管图5中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如只读光盘(Compact Disc-Read Only Memory,CD-ROM)、数字视盘(Digital Video Disc-Read Only Memory,DVD-ROM)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线518相连。存储装置528可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
具有一组(至少一个)程序模块526的程序536,可以存储在例如存储装置528中,这样的程序模块526包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块526通常执行本发明所描述的实施例中的功能和/或方法。
电子设备512也可以与一个或多个外部设备514(例如键盘、指向设备、摄像头、显示器524等)通信,还可与一个或者多个使得用户能与该电子设备512交互的设备通信,和/或与使得该电子设备512能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口522进行。并且,电子设备512还可以通过网络适配器520与一个或者多个网络(例如局域网(Local Area Network,LAN),广域网Wide Area Network,WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器520通过总线518与电子设备512的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备512使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、磁盘阵列(Redundant Arrays of Independent Disks,RAID)系统、磁带驱动器以及数据备份存储系统等。
处理器516通过运行存储在存储装置528中的程序,从而执行各种功能应用以及数据处理,例如实现本发明上述实施例所提供的芯片测试方法。
本发明实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如本发明实施例所提供的芯片测试方法。
当然,本发明实施例所提供的一种计算机可读存储介质,其上存储的计算机程序不限于如上所示的方法操作,还可以执行本发明任意实施例所提供的芯片测试中的相关操作。
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。

Claims (10)

1.一种芯片测试方法,其特征在于,包括:
根据目标芯片特征构建虚拟芯片验证测试环境,所述虚拟芯片验证测试环境包含与目标芯片具有相同逻辑和时序行为的芯片;
根据预设测试数据和所述虚拟芯片验证测试环境进行测试代码的校验;
若校验失败,根据校验结果对所述测试代码进行循环调试,并进行所述测试代码的校验;
若校验成功,将所述与目标芯片具有相同逻辑和时序行为的芯片替换为待测试芯片;
使用校验成功的测试代码对所述待测试芯片进行测试。
2.根据权利要求1所述的芯片测试方法,其特征在于,所述根据预设测试数据和所述虚拟芯片验证测试环境进行测试代码校验,包括:
通过第三方工具生成预设测试数据对应的测试矢量,所述预设测试数据包括预设输入数据、所述预设输入数据对应的预期输出数据和管脚激励数据;
将所述测试矢量转换为虚拟芯片验证测试环境可识别的测试数据;
根据所述测试数据和所述虚拟芯片验证测试环境进行测试代码校验。
3.根据权利要求2所述的芯片测试方法,其特征在于,根据所述测试数据和所述虚拟芯片验证测试环境进行测试代码校验,包括:
根据管脚激励数据向所述与目标芯片具有相同逻辑和时序行为的芯片输入所述预设输入数据;
获取所述与目标芯片具有相同逻辑和时序行为的芯片输出的结果数据;
根据所述结果数据和预期输出数据生成日志数据;
根据日志数据确定所述测试代码是否正确。
4.根据权利要求3所述的芯片测试方法,其特征在于,在根据管脚激励数据向所述与目标芯片具有相同逻辑和时序行为的芯片输入所述预设输入数据之前,还包括:
根据实际时钟周期确定测试环境的测试时钟周期,所述实际时钟周期为所述目标芯片实际测试时使用的时钟周期。
5.根据权利要求3所述的芯片测试方法,其特征在于,在根据管脚激励数据向所述与目标芯片具有相同逻辑和时序行为的芯片输入所述预设输入数据之前,还包括:
对与目标芯片具有相同逻辑和时序行为的芯片的目标管脚进行初始化,所述目标管脚包括联合测试工作组JTAG管脚或系统级芯片SOC控制,测试管脚。
6.根据权利要求1-5中任一项所述的芯片测试方法,其特征在于,所述根据预设测试数据和所述虚拟芯片验证测试环境进行测试代码校验,包括:
第一用户根据预设测试数据和所述虚拟芯片验证测试环境进行测试代码校验;
相应的,所述若校验成功,将所述与目标芯片具有相同逻辑和时序行为的芯片替换为待测试芯片,包括:
若校验成功,第二用户将所述与目标芯片具有相同逻辑和时序行为的芯片替换为待测试芯片;
相应的,所述使用校验成功的测试代码对所述待测试芯片进行测试,包括:
所述第二用户使用校验成功的测试代码对所述待测试芯片进行测试。
7.根据权利要求6所述的芯片测试方法,其特征在于,所述第二用户使用校验成功的测试代码对所述待测试芯片进行测试,包括:
所述第二用户使用校验成功的测试代码对所述待测试芯片进行测试,得到测试日志;
将所述测试日志发送至所述第一用户使用的终端。
8.一种芯片测试装置,其特征在于,包括:
芯片验证测试环境构建模块,用于根据目标芯片特征构建虚拟芯片验证测试环境,所述虚拟芯片验证测试环境包含与目标芯片具有相同逻辑和时序行为的芯片;
测试代码校验模块,用于根据预设测试数据和所述虚拟芯片验证测试环境进行测试代码的校验;若校验失败,根据校验结果对所述测试代码进行循环调试,并进行所述测试代码的校验;
芯片替换模块,用于若校验成功,将所述与目标芯片具有相同逻辑和时序行为的芯片替换为待测试芯片;
芯片测试模块,用于使用校验成功的测试代码对所述待测试芯片进行测试。
9.一种电子设备,包括存储装置、处理装置以及存储在存储装置上并可在处理装置上运行的计算机程序,其特征在于,所述处理装置执行所述程序时实现如权利要求1-7中任一所述的芯片测试方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的芯片测试方法。
CN201910738668.9A 2019-08-12 2019-08-12 芯片测试方法、装置、电子设备及计算机可读存储介质 Pending CN110321292A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910738668.9A CN110321292A (zh) 2019-08-12 2019-08-12 芯片测试方法、装置、电子设备及计算机可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910738668.9A CN110321292A (zh) 2019-08-12 2019-08-12 芯片测试方法、装置、电子设备及计算机可读存储介质

Publications (1)

Publication Number Publication Date
CN110321292A true CN110321292A (zh) 2019-10-11

Family

ID=68125856

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910738668.9A Pending CN110321292A (zh) 2019-08-12 2019-08-12 芯片测试方法、装置、电子设备及计算机可读存储介质

Country Status (1)

Country Link
CN (1) CN110321292A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112380046A (zh) * 2020-11-10 2021-02-19 北京灵汐科技有限公司 计算结果校验方法、系统、装置、设备及存储介质
CN112986806A (zh) * 2019-12-16 2021-06-18 合肥杰发科技有限公司 一种接口测试方法、测试系统及计算机存储介质
CN113190437A (zh) * 2021-04-21 2021-07-30 西安广和通无线软件有限公司 无线模组的时序分析方法、装置、计算机设备和存储介质
CN113704043A (zh) * 2021-08-30 2021-11-26 地平线(上海)人工智能技术有限公司 芯片功能验证方法、装置、可读存储介质及电子设备
CN114062887A (zh) * 2020-07-30 2022-02-18 合肥本源量子计算科技有限责任公司 一种量子芯片测试方法、装置、系统及存储介质
CN114236276A (zh) * 2021-12-07 2022-03-25 安徽中家智锐科技有限公司 一种电器远程测试的方法和系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002243803A (ja) * 2001-02-19 2002-08-28 Ando Electric Co Ltd 半導体集積回路試験用プログラムのデバッグ方法及び装置並びに半導体集積回路試験用プログラムのデバッグプログラム
JP2004348596A (ja) * 2003-05-23 2004-12-09 Olympus Corp Icテスタ用プログラムのデバッグ装置、方法、及びプログラム
CN109582525A (zh) * 2018-10-19 2019-04-05 京信通信系统(中国)有限公司 测试代码验证方法、验证装置、设备和存储介质
CN109633421A (zh) * 2018-11-27 2019-04-16 珠海欧比特宇航科技股份有限公司 一种soc芯片的测试方法、装置、设备和存储介质
CN110110355A (zh) * 2019-03-25 2019-08-09 电子科技大学 一种基于fpga的原型验证平台

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002243803A (ja) * 2001-02-19 2002-08-28 Ando Electric Co Ltd 半導体集積回路試験用プログラムのデバッグ方法及び装置並びに半導体集積回路試験用プログラムのデバッグプログラム
JP2004348596A (ja) * 2003-05-23 2004-12-09 Olympus Corp Icテスタ用プログラムのデバッグ装置、方法、及びプログラム
CN109582525A (zh) * 2018-10-19 2019-04-05 京信通信系统(中国)有限公司 测试代码验证方法、验证装置、设备和存储介质
CN109633421A (zh) * 2018-11-27 2019-04-16 珠海欧比特宇航科技股份有限公司 一种soc芯片的测试方法、装置、设备和存储介质
CN110110355A (zh) * 2019-03-25 2019-08-09 电子科技大学 一种基于fpga的原型验证平台

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112986806A (zh) * 2019-12-16 2021-06-18 合肥杰发科技有限公司 一种接口测试方法、测试系统及计算机存储介质
CN114062887A (zh) * 2020-07-30 2022-02-18 合肥本源量子计算科技有限责任公司 一种量子芯片测试方法、装置、系统及存储介质
CN112380046A (zh) * 2020-11-10 2021-02-19 北京灵汐科技有限公司 计算结果校验方法、系统、装置、设备及存储介质
CN112380046B (zh) * 2020-11-10 2023-12-22 北京灵汐科技有限公司 计算结果校验方法、系统、装置、设备及存储介质
CN113190437A (zh) * 2021-04-21 2021-07-30 西安广和通无线软件有限公司 无线模组的时序分析方法、装置、计算机设备和存储介质
WO2022222440A1 (zh) * 2021-04-21 2022-10-27 西安广和通无线软件有限公司 无线模组的时序分析方法、装置、计算机设备和存储介质
CN113190437B (zh) * 2021-04-21 2024-05-10 西安广和通无线软件有限公司 无线模组的时序分析方法、装置、计算机设备和存储介质
CN113704043A (zh) * 2021-08-30 2021-11-26 地平线(上海)人工智能技术有限公司 芯片功能验证方法、装置、可读存储介质及电子设备
CN114236276A (zh) * 2021-12-07 2022-03-25 安徽中家智锐科技有限公司 一种电器远程测试的方法和系统
CN114236276B (zh) * 2021-12-07 2022-10-04 安徽中家智锐科技有限公司 一种电器远程测试的方法和系统

Similar Documents

Publication Publication Date Title
CN110321292A (zh) 芯片测试方法、装置、电子设备及计算机可读存储介质
US10204698B2 (en) Method to dynamically inject errors in a repairable memory on silicon and a method to validate built-in-self-repair logic
CN102141962B (zh) 一种安全性分布式测试框架系统及其测试方法
US9355206B2 (en) System and method for automated functional coverage generation and management for IC design protocols
KR20190131445A (ko) 자동 테스팅 동안 디바이스 결함의 근본 원인을 식별하기 위한 트래픽 캡쳐 및 디버깅 툴
CN105738854A (zh) 智能电表嵌入式应用的模拟存储器测试板系统及测试方法
JP6387182B2 (ja) 情報処理方法、装置及びコンピュータ記憶媒体
CN103365770A (zh) 移动终端软件测试系统及软件测试方法
CN106940428A (zh) 芯片验证方法、装置及系统
US10203371B2 (en) Methods and systems for generating functional test patterns for manufacture test
CN115656792B (zh) 芯片可测性设计的测试方法及测试平台
CN102479123A (zh) 卡片操作系统的测试系统及测试方法
CN103376340A (zh) 一种转接板、多平台串行测试系统及方法
US20140149815A1 (en) System and method for programming chips on circuit board through boundary scan technology
CN103796009A (zh) 一种fpga质量诊断测试系统
CN104459522B (zh) 芯片自测方法及系统
CN110209587A (zh) 安全芯片业务流程的测试方法及装置
CN114218882A (zh) 一种SoC芯片检验方法、装置及相关设备
CN111459739B (zh) 一种qdr sram应用验证板及验证方法
US10970442B1 (en) Method of debugging hardware and firmware of data storage
CN103165405A (zh) 一种通过gpib接口实时生成多维变量密码方法
KR101963811B1 (ko) 명령어 기반의 보스트 회로 장치
CN109976963A (zh) 一种基于通用平台的bmc测试系统实现的方法和装置
CN105487035B (zh) Fpga边界扫描系统的验证方法及装置
CN103017815A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20191011