CN112579367B - 一种测试过程中设置数据空间的处理方法 - Google Patents
一种测试过程中设置数据空间的处理方法 Download PDFInfo
- Publication number
- CN112579367B CN112579367B CN201910931879.4A CN201910931879A CN112579367B CN 112579367 B CN112579367 B CN 112579367B CN 201910931879 A CN201910931879 A CN 201910931879A CN 112579367 B CN112579367 B CN 112579367B
- Authority
- CN
- China
- Prior art keywords
- test
- data
- item
- thread
- stage
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2205—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing using arrangements specific to the hardware being tested
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/22—Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
- G06F11/2247—Verification or detection of system hardware configuration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3684—Test management for test design, e.g. generating new test cases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
- G06F11/3688—Test management for test execution, e.g. scheduling of test suites
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)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明提供一种测试过程中设置数据空间的处理方法,包括以下步骤:S1根据测试流程,创建一主线程并创建各测试站点子线程;S2申请并开辟专属数据空间,各测试项的Meas阶段时向所述空间写入获取的数据,Upload阶段读取所述空间的数据并通过总线上传给工作站进行处理;S3根据步骤S2,启动并运行主线程执行测试项1的Setup和Meas阶段;执行线程调度:主线程只负责各测试项的Setup和Meas阶段,并且在测试项1的Setup和Meas结束后立即启动测试项2的Setup和Meas,同时启动测试站点1子线程执行Upload和Calc及Judge阶段,并且在测试站点1的Upload结束后启动测试站点2子线程执行Upload和Calc及Judge,以此类推,这样依次完成所有测试站点的所有测试项的测试。
Description
技术领域
本发明涉及集成电路测试领域,特别涉及一种测试过程中设置数据空间的处理方法。
背景技术
随着社会的发展,人们对电子产品功能的多样性和丰富性提出了越来越高的需求。而随着集成电路设计和制造技术的进步,这一需求的实现变为了可能,但芯片规模越来越大,一个芯片中不仅集成了中央处理器CPU、存储器Memory、通用外设接口USB、MIPI、SPI等,还集成了图形处理器GPU、图像处理器VPU、音频处理器Audio,甚至加密引擎AES、SHA等各种复杂的功能模块。
而芯片功能的复杂性和规模的扩大性,对芯片的测试提出了严峻的挑战,不仅增加了测试程序开发时间,还极大地增加了芯片的测试时间,提高了测试成本。
目前芯片的测试基本都是应用通用ATE测试机完成。常见的ATE测试机有V93000、T2000、J750等。通用ATE测试机主要由工作站、测试头组成,其中测试头由多块测试板卡组成,测试板卡内置测试向量发生器、时钟发生器、驱动器、比较器,并包含多个测试通道,可以实现与各Site待测器件的连接,对待测器件施加激励或捕获响应。
工作站负责对测试板卡的控制,通过API编程建立测试向量及相应的控制指令,通过下行总线发送给目标测试板卡,测试板卡执行测试并获取芯片响应数据,再通过上行总线上传到工作站,然后工作站对数据进行处理和判断,得出芯片的测试结果。如图1为ATE测试连接图。
芯片的测试往往包含多个测试项,每个测试项都分为测试向量建立(Setup)、测试数据获取(Meas)、测试数据上传(Upload)、测试数据处理(Calc)、结果判断(Judge)五个阶段,而ATE测试机一般也只能完成一个测试项的整个流程再进行下一个测试项的测试,相当于是测试项一个接一个的串行执行。
传统的提高芯片测试效率的做法是芯片的多测试站点(Site)并行测试,即设置同样的测试向量,同时启动测试卡对多个芯片进行测试,但由于测试板卡是共享与工作站之间的通信总线,工作站获取各Site芯片测试数据需要依次选中对应板卡通过总线顺序进行上传,然后再进行数据处理和结果判定。
传统的多测试站点(site)并行测试,只能实现芯片单个测试项的部分并行,即测试向量的设置及数据获取阶段,数据的上传、处理及结果判断site间依然是串行处理,整体并行度并不高,导致芯片测试效率及测试成本并不理想。
发明内容
为了解决上述问题,本发明的目的在于克服现有技术的不足,提供一种多线程的处理技术,实现了测试项测试数据上传、测试数据处理及结果判断三个阶段的时间隐藏,无论单Site还是多Site都极大地提高了芯片测试并行率,成倍地减少了测试时间,显著地降低了测试成本,具有很高的应用价值。
具体地,提供一种测试过程中设置数据空间的处理方法,包括以下步骤:
S1,根据测试流程,创建一主线程并创建各测试站点子线程;
S2,申请并开辟专属数据空间,各测试项的数据获取阶段时向所述空间写入获取的数据,数据上传阶段读取所述空间的数据并通过总线上传给工作站进行处理;
S3,根据步骤S2的设置,启动并运行主线程执行测试项1的测试向量建立和获取阶段;执行线程调度:主线程只负责各测试项的数据建立和获取阶段,并且在测试项1的数据建立和获取结束后立即启动测试项2的数据建立和获取,同时启动测试站点1子线程执行数据上传和数据处理及结果判断阶段,并且在测试站点1的数据上传结束后启动测试站点2子线程执行数据上传和数据处理及结果判断,以此类推,这样依次完成所有测试站点的所有测试项的测试。
由此,本申请的优势在于:在测试过程中设置数据空间,将后续测试中的数据预先存放到所述空间中,以备需要之时所用。这样利用测试机测试板卡双端口RAM可以同时读写的特性,在线程设置前提前申请并开辟板卡专属数据空间,可以实现各测试项Upload、Calc、Judge时间的隐藏,Upload、Calc、Judge实现了错位隐藏,节省了测试时间。
本发明还可以通过对多线程的应用,合理分配资源,隐藏了测试数据上传、计算及处理判断时间,实现了测试项及测试站点Site间的并行,达到了很高的测试效率,极大地缩短了测试时间,减少了测试成本,具有很高的实用价值及推广价值。
附图说明
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,并不构成对本发明的限定。
图1是本发明涉及的现有技术的ATE测试连接示意框图。
图2是本发明涉及的测试过程中设置数据空间的处理方法的示意流程图。
图3是本发明涉及的一个测试执行的流程图。
图4是传统单site测试执行时间图。
图5是传统多site测试执行时间图。
图6是多线程多site测试执行时间图。
图7是多线程数据隐藏单site测试执行时间图。
图8是多线程数据隐藏多site测试执行时间图。
具体实施方式
为了能够更清楚地理解本发明的技术内容及优点,现结合附图对本发明进行进一步的详细说明。
如图2所示,本发明提供一种测试过程中设置数据空间的处理方法,包括以下步骤:
S1,根据测试流程,创建一主线程并创建各测试站点子线程;
S2,申请并开辟专属数据空间,各测试项的数据获取阶段时向所述空间写入获取的数据,数据上传阶段读取所述空间的数据并通过总线上传给工作站进行处理;
S3,根据步骤S2的设置,启动并运行主线程执行测试项1的测试向量建立和获取阶段;执行线程调度:主线程只负责各测试项的数据建立和获取阶段,并且在测试项1的数据建立和获取结束后立即启动测试项2的数据建立和获取,同时启动测试站点1子线程执行数据上传和数据处理及结果判断阶段,并且在测试站点1的数据上传结束后启动测试站点2子线程执行数据上传和数据处理及结果判断,以此类推,这样依次完成所有测试站点的所有测试项的测试。
所述的步骤S2中,所述的数据空间的大小设为测试项所需获取最大数据量的大小。
所述的步骤S2中,所述的空间是利用测试机板卡双端口RAM可以同时读写的特性。
所述的步骤S1中,所述主线程用于执行各测试项的数据测试向量建立、数据测试获取阶段,测试站点子线程用于执行各对应测试站点的数据上传、数据处理、结果判断阶段。
所述的步骤S1中,所述的子线程为独立子线程。
进一步包括,根据芯片的规格定义,建立所需所有测试项,测试项总数为Nitem。
进一步包括,根据测试机资源,建立多测试站点测试,总测试站点个数为Nsite。所述的多测试站点为2n测试站点,其中,n为大于等于1的正整数,包括但不限于2测试站点(2site)、4测试站点(4site)、8测试站点(8site)。
此外,以北京君正集成电路股份有限公司的一款SOC芯片的测试为例,执行流程如附图3,具体为:
1.根据芯片的规格定义,建立所需所有测试项,测试项总数为Nitem。
2.根据测试机资源,建立多site测试,总site个数为Nsite。常用的如2site、4site、8site等。
3.在测试机执行各测试项,获取每个测试项执行时各阶段的测试时间。即测试向量建立(Setup)阶段、测试数据获取(Meas)阶段、测试数据上传(Upload)阶段、测试数据计算(Calc)及结果判断(Judge)阶段所需时间。如附图4为传统单Site测试执行时间图,附图5为传统多Site测试执行时间图,并且以2个Site为例。
4.根据Site个数建立线程池,可容纳线程数为Nthread=Nsite+1,其中一个为主线程,其余为各site独立子线程。
5.根据测试流程,从线程池创建主线程。
6.启动并运行主线程执行测试项1的测试向量建立及获取阶段,即Setup与Meas阶段。
7.主线程执行Site1测试项1的Upload阶段,完成后启动Site1子线程执行Site1测试项1的Calc+Judge阶段,同时主线程执行Site2测试项1的Upload阶段,待完成后启动Site2子线程执行Site2测试项1的Calc+Judge阶段。
8.如步骤7,依次由主线程执行各Site的Upload,并按顺序调度启动各Site子线程执行其对应Site的Calc+Judge阶段,然后进行线程同步,待全部执行完毕后释放各Site子线程。
9.循环执行步骤6-8,依次按顺序完成测试项1、测试项2到测试项Nitem的测试,即完成整个测试流程,如附图6为多线程多site测试执行时间图。
10.进一步地,为充分利用测试机板卡双端口RAM可以同时读写的特性,可以在步骤5创建主线程前申请并开辟专属数据空间,各测试项Meas阶段时向此空间写入获取的数据,upload阶段读取此空间的数据并通过总线上传给工作站进行处理。数据空间的大小应设为测试项所需获取最大数据量的大小。
11.根据步骤10的设置,调整步骤6-8执行的线程调度。主线程只负责各测试项的Setup+Meas阶段,并且在测试项1的Setup+Meas结束后立即启动测试项2的Setup+Meas,同时启动Site1子线程执行Upload+Calc+Judge阶段,并且在Site1的Upload结束后启动Site2子线程执行Upload+Calc+Judge,这样依次完成所有Site所有测试项的测试,最后同步各Site子线程并释放回收完成整个测试流程,如附图7为多线程数据隐藏单Site测试,附图8为多线程数据隐藏多Site测试。
12.更进一步地,可以根据步骤3对各测试项时间的获取,合并调整优化测试项,使各测试项Upload+Calc+Judge的时间小于并尽量与其Setup+Meas时间相等,这样就可以将各测试项Upload+Calc+Judge阶段最大限度地完全隐藏起来,获得更好的测试并行度,减少测试时间,降低测试成本。
以Site个数为Nsite,测试项个数为Nitem,单位测试项测试时间为Titem,单位测试项Setup、Meas、Upload、Calc、Judge阶段的测试时间分别为Tsetup、Tmeas、Tuplod、TCalc及TJudge。
对比图4和图5可以看出,传统单Site测试,每个测试项都需要Setup、Meas、Upload、Calc、Judge五个阶段的测试时间,传统多Site测试,每个测试项的每个Site间Setup、Meas阶段并行执行,相当于节省了Site个数减一倍的Setup加Meas时间,即节省(Nsite-1)*(Tsetup+Tmeas)。
对比图4和图7可以看出,单Site测试下,本发明的多线程数据隐藏方式只需要各测试项的Setup、Meas时间,每个测试项的Upload、Calc、Judge阶段都隐藏到了后一测试项的Setup、Meas阶段,相当于比传统单Site测试节省了测试项个数减一倍的Upload、Calc、Judge时间,即节省(Nitem-1)*(Tuplod+TCalc+TJudge)。
对比图5和图8可以看出,多Site测试下,本发明的多线程数据隐藏方式每个测试项的Upload、Calc、Judge阶段也都隐藏到了后一测试项的Setup、Meas阶段,Site间Setup、Meas阶段为并行执行,相当于比传统多Site测试节省了测试项个数减一并乘以Site个数倍的Upload、Calc、Judge时间,即节省Nsite*(Nitem-1)*(Tuplod+TCalc+TJudge)。
对比图4和图8可以看出,本发明的多线程数据隐藏方式比传统单Site测试,不仅每个测试项Site间Setup、Meas阶段并行执行,前一测试项的Upload、Calc、Judge阶段还都会被隐藏到后一测试项的Setup、Meas阶段,节省了
(Nsite-1)*Nitem*(Tsetup+Tmeas)+Nsite*(Nitem-1)*(Tuplod+TCalc+TJudge)
=(Nsite-1)*(Nitem-1)*(Tsetup+Tmeas)+(Nsite-1)*(Tsetup+Tmeas)+(Nsite-1)*(Nitem-1)*(Tuplod+TCalc+TJudge)+(Nitem-1)*(Tuplod+TCalc+TJudge)
=(Nsite-1)*(Nitem-1)*Titem+(Nsite-1)*(Tsetup+Tmeas)+(Nitem-1)*(Tuplod+TCalc+TJudge)
即相当于节省了Site个数减一乘以测试项个数减一倍的单位测试项时间加Site个数减一倍的Setup、Meas时间和测试项个数减一倍的upload、Calc、Judge时间,而且,随Site个数和测试项数目的增加而增加,在更多的测试项数目需求更多的Site个数应用下会获得更高的测试收益,更大地减少测试时间。
由此可见,本发明方法无论在单Site还是多Site测试都能够完全隐藏测试数据上传、处理及判定阶段,获得非常理想的并行度,可以成倍地减少测试时间,极大地降低了测试成本,获得很好的使用效益。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (8)
1.一种测试过程中设置数据空间的处理方法,其特征在于,包括以下步骤:
S1,根据测试流程,创建一主线程并创建各测试站点子线程;
S2,申请并开辟专属数据空间,各测试项的数据获取阶段时向所述空间写入获取的数据,数据上传阶段读取所述空间的数据并通过总线上传给工作站进行处理,所述的空间是利用测试机板卡双端口RAM可以同时读写的特性;
S3,根据步骤S2的设置,启动并运行主线程执行测试项1的测试向量建立和获取阶段;执行线程调度:主线程只负责各测试项的数据建立和获取阶段,并且在测试项1的数据建立和获取结束后立即启动测试项2的数据建立和获取,同时启动测试站点1子线程执行数据上传和数据处理及结果判断阶段,并且在测试站点1的数据上传结束后启动测试站点2子线程执行数据上传和数据处理及结果判断,以此类推,这样依次完成所有测试站点的所有测试项的测试。
2.根据权利要求1所述的一种测试过程中设置数据空间的处理方法,其特征在于,所述的步骤S2中,所述的数据空间的大小设为测试项所需获取最大数据量的大小。
3.根据权利要求1所述的一种测试过程中设置数据空间的处理方法,其特征在于,所述的步骤S1中,所述主线程用于执行各测试项的数据测试向量建立、数据测试获取阶段,测试站点子线程用于执行各对应测试站点的数据上传、数据处理、结果判断阶段。
4.根据权利要求1所述的一种测试过程中设置数据空间的处理方法,其特征在于,所述的步骤S1中,所述的子线程为独立子线程。
5.根据权利要求1所述的一种测试过程中设置数据空间的处理方法,其特征在于,进一步包括,根据芯片的规格定义,建立所需所有测试项,测试项总数为Nitem。
6.根据权利要求1所述的一种测试过程中设置数据空间的处理方法,其特征在于,进一步包括,根据测试机资源,建立多测试站点测试,总测试站点个数为Nsite。
7.根据权利要求6所述的一种测试过程中设置数据空间的处理方法,其特征在于,所述的多测试站点为2n测试站点,其中,n为大于等于1的正整数。
8.根据权利要求6所述的一种测试过程中设置数据空间的处理方法,其特征在于,所述的2n测试站点为2测试站点、4测试站点、8测试站点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910931879.4A CN112579367B (zh) | 2019-09-29 | 2019-09-29 | 一种测试过程中设置数据空间的处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910931879.4A CN112579367B (zh) | 2019-09-29 | 2019-09-29 | 一种测试过程中设置数据空间的处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112579367A CN112579367A (zh) | 2021-03-30 |
CN112579367B true CN112579367B (zh) | 2023-09-22 |
Family
ID=75111033
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910931879.4A Active CN112579367B (zh) | 2019-09-29 | 2019-09-29 | 一种测试过程中设置数据空间的处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112579367B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101364219A (zh) * | 2007-08-06 | 2009-02-11 | 北京华大泰思特半导体检测技术有限公司 | 面向集成电路测试的测试数据转换方法 |
JP2009289108A (ja) * | 2008-05-30 | 2009-12-10 | Advantest Corp | 試験装置およびその制御方法、ならびに試験システム |
CN102707225A (zh) * | 2012-06-21 | 2012-10-03 | 上海华岭集成电路技术股份有限公司 | 集成电路测试优化方法及其测试装置 |
CN109782153A (zh) * | 2019-01-14 | 2019-05-21 | 大唐微电子技术有限公司 | 一种芯片测试的方法、装置、芯片及计算机存储介质 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6779140B2 (en) * | 2001-06-29 | 2004-08-17 | Agilent Technologies, Inc. | Algorithmically programmable memory tester with test sites operating in a slave mode |
US7487422B2 (en) * | 2005-04-29 | 2009-02-03 | Teradyne, Inc. | Delayed processing of site-aware objects |
US20090119084A1 (en) * | 2007-11-05 | 2009-05-07 | Advantest Corporation | System, method, and program product for simulating test equipment |
WO2017129242A1 (en) * | 2016-01-27 | 2017-08-03 | Advantest Corporation | Deterministic concurrent test program executor for an automated test equipment |
-
2019
- 2019-09-29 CN CN201910931879.4A patent/CN112579367B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101364219A (zh) * | 2007-08-06 | 2009-02-11 | 北京华大泰思特半导体检测技术有限公司 | 面向集成电路测试的测试数据转换方法 |
JP2009289108A (ja) * | 2008-05-30 | 2009-12-10 | Advantest Corp | 試験装置およびその制御方法、ならびに試験システム |
CN102707225A (zh) * | 2012-06-21 | 2012-10-03 | 上海华岭集成电路技术股份有限公司 | 集成电路测试优化方法及其测试装置 |
CN109782153A (zh) * | 2019-01-14 | 2019-05-21 | 大唐微电子技术有限公司 | 一种芯片测试的方法、装置、芯片及计算机存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112579367A (zh) | 2021-03-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8127187B2 (en) | Method and apparatus of ATE IC scan test using FPGA-based system | |
US10551438B2 (en) | Wafer with dio bidirectional lead, n dies, domains, clock leads | |
JP4380907B2 (ja) | 複数の仮想テスタをサポートする半導体テストシステム | |
US20170115346A1 (en) | Scan system interface (ssi) module | |
JP4279751B2 (ja) | デバイスの試験装置及び試験方法 | |
CN113514759B (zh) | 一种多核测试处理器及集成电路测试系统与方法 | |
US20080221824A1 (en) | Test apparatus, test method and recording medium | |
US7243278B2 (en) | Integrated circuit tester with software-scaleable channels | |
CN1879027B (zh) | 测试装置及测试方法 | |
CN114035031B (zh) | 一种基于数字向量测试实现模拟波形采集装置与方法 | |
CN114646867B (zh) | 一种集成电路并发测试装置及方法 | |
CN113407396B (zh) | 一种基于ate芯片测试的同步方法和系统 | |
CN112579367B (zh) | 一种测试过程中设置数据空间的处理方法 | |
CN113433450B (zh) | 一种基于图形化控制的混合信号测试装置 | |
CN112579306B (zh) | 一种线程设置和线程调度的方法 | |
CN112579262B (zh) | 一种具有测试项调整的多线程并行的处理方法 | |
CN112578259B (zh) | 一种具有数据空间设置的线程调度方法 | |
CN112578260B (zh) | 一种基于多线程技术提高芯片测试效率的方法 | |
JP2002311090A (ja) | 半導体集積回路およびテスト用ボード | |
JPH10185999A (ja) | テスト回路及びテスト方法 | |
TWI334187B (en) | Wafer, test system thereof, test method thereof and test fixture thereof | |
CN112014719A (zh) | 量产芯片的筛选方法及装置 | |
JP4208127B2 (ja) | 半導体集積回路装置 | |
Zhang et al. | Cost-driven optimization of coverage of combined built-in self-test/automated test equipment testing | |
JP2000082300A (ja) | 半導体メモリ試験装置及び試験方法 |
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 |