CN116203393B - 一种集成电路测试方法及*** - Google Patents
一种集成电路测试方法及*** Download PDFInfo
- Publication number
- CN116203393B CN116203393B CN202310206780.4A CN202310206780A CN116203393B CN 116203393 B CN116203393 B CN 116203393B CN 202310206780 A CN202310206780 A CN 202310206780A CN 116203393 B CN116203393 B CN 116203393B
- Authority
- CN
- China
- Prior art keywords
- test
- instruction
- integrated circuit
- resource
- transaction packet
- 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
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/2851—Testing of integrated circuits [IC]
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/2851—Testing of integrated circuits [IC]
- G01R31/2894—Aspects of quality control [QC]
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R31/00—Arrangements for testing electric properties; Arrangements for locating electric faults; Arrangements for electrical testing characterised by what is being tested not provided for elsewhere
- G01R31/28—Testing of electronic circuits, e.g. by signal tracer
- G01R31/317—Testing of digital circuits
- G01R31/3177—Testing of logic operation, e.g. by logic analysers
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
Abstract
本发明公开了一种集成电路测试方法,包括:预先配置指令测试模板,所述指令测试模板中具备指令匹配方式、指令类型以及指令操作资源获取方式;拦截原始测试指令,并对所述原始测试指令进行解析,确定所述原始测试指令所对应的指令类型和配置资源;根据确定的指令类型,选择对应的指令测试模板,并根据该指令测试模板和配置资源,生成指令测试事务包;发送指令测试事务包至集成电路测试下位机侧的解码器上,促使解码器解析所述指令测试事务包,获取测试指令并控制集成电路测试下位机进行指令测试。本发明能够在不修改原有各类设备测试指令的情况下,协同实现对昂贵硬件的硬件设备分时共享,从而实现一机多控,一机多任务并行测试的效果。
Description
技术领域
本发明涉及集成电路测试技术领域,具体来说,涉及一种集成电路测试方法及***。
背景技术
IC集成电路于出厂前须历经许多测试以确保质量。目前现有的IC集成电路测试都遵循一定的规则即基本的基尔霍夫定律,通过设定一定的输入电压和电流,测定集成电路的反馈来确认是否发生了某一类故障。简化了说,一套测试电路往往需要包括一个精准的电源模块和一套同样精准的测量设备数字万用表组成(PMU)。
由于现代集成电路的复杂性越来越高,单一的电路是不能完成对IC芯片全面***进行验证的结果;特别在工业生产中,大批量的高复杂逻辑的向量集成电路,验证测试需要的是一套高效完全自动化的测试机来辅助执行,因此同样专用的集成度很高的芯片测试设备--IC集成电路测试机就应运而生,这些设备简化了说就是一组PMU,一组程控继电器开关或者数字开关,一组高精度电容电阻,一系列信号发生器的资源组合体。一个功能强大的测试机,往往根据DUT板的特点,在合理使用其内部资源,通过开关的组合通断,电源的输入输出设定,即可构建出繁杂的各类测试电路,满足验证DUT单板的各类需求。
一般情况下,针对芯片的测试都会包括数字逻辑信号测试和模拟参数测试;但不管是哪一种测试方式,都会需要一部专用的外部测试机设备来辅助进行,测试机宏观上讲至少包括以下两个部分,一是构建电信号的电源模块,和测量反馈的电亚电流测试模块。在测试过程中,测试机通过探针或者插槽,触点,面包板等电路连通设施把晶圆或者芯片接入测试机的测试电路中;并通过一定的编码逻辑控制指令来构建芯片工作的环境,形成芯片工作环境中所需的电压电流,对于复杂的芯片,这些电压电流的输入组合常常被称为测试向量,通过测量芯片的反馈和芯片设计进行对比即分辨芯片是否存在故障。
以LK8820工业教育通用IC测试机为例,主要由工控机、触控显示器、测试主机、专用电源、测试软件、测试终端接口等部分组成。测试主机中包含了电压电流参考和测量模块VM板,四象限电压电流提供模块PV,开关矩阵和引脚矩阵模块PE,波形测量WM,时钟与时间测量模块ST等。其他公司的类似设备例如杭州长川的CTA8280,以及杭州朗迅科技的LK6620,LK8910等教学用集成电路测试设备,基本和LK8820类似,这些设备的特点是工控***通过物理总线直连设备,工控机和完成测试的单板固化一一绑定,工控***上位机通过编程方式把IC测试指令通过总线下发到CM单板,由CM单板通过对IC测试指令进行分析处理,触发电路模拟板卡输出待测SOC芯片所需的电压电流进入工作状态,再有测试电路通过A/C变换完成对芯片的电气特性进行测量,利用测试结果和期待结果的对比确定芯片的功能是否符合预期,完成测试的目的。
当前IC测试机多种多样,架构也不尽相同;技术也存在着代差,使用方法千差万别,然而它们总体依然没有摆脱高端化的仪器的样态,这点上与数字万用表没有区别。受制于工业总线的距离限制,它们一直是一个和DUT紧密靠近的测试仪表,导致这些设备往往以昂贵和高端的形式出现,没有人关注过测试机之间协同,在工业生产开发中和QA测试中如何优化使用,或者在培训和教学环节如何使用,这些场景中往往是需要的是协同和共享。
针对相关技术中的问题,目前尚未提出有效的解决方案。
发明内容
针对相关技术中的问题,本发明提出一种集成电路测试方法及***,能够在不修改原有各类设备测试指令的情况下,通过软件算法的协同实现对昂贵硬件的硬件设备分时共享,从而实现一机多控,一机多任务并行测试的效果。
本发明的技术方案是这样实现的:
根据本发明的第一个方面,提供了一种集成电路测试方法。
该集成电路测试方法,应用于集成电路测试上位机侧的编码器上,包括:
预先配置指令测试模板,所述指令测试模板中具备指令匹配方式、指令类型以及指令操作资源获取方式;
拦截集成电路测试上位机发送的原始测试指令,并对所述原始测试指令进行解析,确定所述原始测试指令所对应的指令类型和配置资源;
根据确定的指令类型,选择对应的指令测试模板,并根据该指令测试模板和配置资源,生成指令测试事务包;
发送指令测试事务包至集成电路测试下位机侧的解码器上,促使解码器解析所述指令测试事务包,获取测试指令并控制集成电路测试下位机进行指令测试。
此外,所述集成电路测试方法,还包括:在生成指令测试事务包之前,根据预先配置的指令统一描述符,对原始测试指令进行转化,形成具备统一描述符的测试指令。
另外,根据指令测试模板和配置资源,生成指令测试事务包包括:获取编码器ID,并根据编码器当前测试序列,获取测试事务ID;根据编码器ID和测试事务ID,生成测试唯一标识符,并将所述测试唯一标识符、所述指令测试模板和所述配置资源打包生成指令测试事务包。
此外,所述集成电路测试方法,还包括:在拦截集成电路测试上位机发送的原始测试指令之前,对编码器的资源Context进行初始化和备份处理,并清空编码器测试序列;在生成指令测试事务包之前,根据所述原始测试指令所对应的指令类型和配置资源对编码器的资源Context进行更新,并将测试指令加入到编码器测试序列;在生成指令测试事务包时,将更新后的资源Context信息加入到指令测试事务包中。
根据本发明的第二个方面,提供了一种集成电路测试***。
该集成电路测试***,应用于集成电路测试上位机侧的编码器上,包括:
模板配置模块,用于预先配置指令测试模板,所述指令测试模板中具备指令匹配方式、指令类型以及指令操作资源获取方式;
指令拦截模块,用于拦截集成电路测试上位机发送的原始测试指令,并对所述原始测试指令进行解析,确定所述原始测试指令所对应的指令类型和配置资源;
测试包生成模块,用于根据确定的指令类型,选择对应的指令测试模板,并根据该指令测试模板和配置资源,生成指令测试事务包;
测试包发送模块,用于发送指令测试事务包至集成电路测试下位机侧的解码器上,促使解码器解析所述指令测试事务包,获取测试指令并控制集成电路测试下位机进行指令测试。
根据本发明的第三个方面,提供了一种集成电路测试方法。
该集成电路测试方法,应用于集成电路测试下位机侧的解码器上,包括:
接收编码器所发送的指令测试事务包,并将所述指令测试事务包加入到解码器测试序列;
根据指令测试事务包的优先级,选择对应的指令测试事务包,并解析指令测试事务包,获得测试指令;
根据所述测试指令,控制集成电路测试下位机进行指令测试。
此外,所述集成电路测试方法,还包括:在接收编码器所发送的指令测试事务包之前,对所述解码器的资源Context进行初始化处理;解析指令测试事务包,获得指令测试事务包中所包含的资源Context信息,并根据该资源Context信息配置所述解码器的资源Context。
另外,所述指令测试事务包的优先级的计算公式如下:
其中,α是时间权重因子,K是时间矫正参数;N是处于活动状态的编码器数量,即活动的编码器测试事务队列;queuei是第i个活动的编码器测试事务队列内处于等待调度状态的测试事务包数量;β是资源差异权重因子;γ是测试事务复杂度权重调整因子;Weightoffset是权重调整偏置;Toffset是时间权重调整偏置;length是测试事务包内包含的指令数量;ΔT是测试事务包等待时间;ΔContext是资源环境差异,
是解码器当前的资源中第i个中继器的开关状态;/>是测试事务包初始资源中第i个中继器的开关状态;/>是解码器当前的资源中第j个电压输出模块的输出电压值;/>是测试事务包初始资源中第j个电压输出模块的输出电压值;/>是测试事务包当前资源中第k个恒流源电流输出值;/>是测试事务包初始资源中第k个恒流源电压输出值。
根据本发明的第四个方面,提供了一种集成电路测试***。
该集成电路测试***,应用于集成电路测试下位机侧的解码器上,包括:
测试包接收模块,用于接收编码器所发送的指令测试事务包,并将所述指令测试事务包加入到解码器测试序列;
测试指令解析模块,用于根据指令测试事务包的优先级,选择对应的指令测试事务包,并解析指令测试事务包,获得测试指令;
测试执行控制模块,用于根据所述测试指令,控制集成电路测试下位机进行指令测试。
根据本发明的第五个方面,提供了一种集成电路测试***。
该集成电路测试***,包括:
编码器,位于集成电路测试上位机侧,且,所述编码器内配置有指令测试模板,所述指令测试模板中具备指令匹配方式、指令类型以及指令操作资源获取方式;
且,所述编码器用于拦截集成电路测试上位机发送的原始测试指令,并对所述原始测试指令进行解析,确定所述原始测试指令所对应的指令类型和配置资源;根据确定的指令类型,选择对应的指令测试模板,并根据该指令测试模板和配置资源,生成指令测试事务包;发送指令测试事务包至集成电路测试下位机侧的解码器上;
解码器,位于集成电路测试下位机侧,用于接收编码器所发送的指令测试事务包,并将所述指令测试事务包加入到解码器测试序列;根据指令测试事务包的优先级,选择对应的指令测试事务包,并解析指令测试事务包,获得测试指令;根据所述测试指令,控制集成电路测试下位机进行指令测试。
有益效果:
本发明在不需要对原有的测试指令进行修改,不改变原有程序逻辑和结果的情况下,实现多个测试任务并行,达到多个开发者同时并行完成在同一台测试主机上进行IC测试和调试的目的。本发明还可以通过网络传输,加入指令映射翻译的方式实现多种不同平台的测试机互相操作的目的。为工业IC生产用测试机进行虚拟化和远程多任务复用提供了底层技术支持,降低了测试机在开发测试过程中的使用成本,实现多人协作开发的目地,特别地,非常适合教育和新员工培训场景,通过部署本***将一台或者多台IC测试机组成一个集群,提供给多个用户同时使用,实现一台测试机多人同时使用的目标,降低高端测试机的使用成本,为高端测试机的推广提供便利。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是根据本发明实施例的应用于编码器侧的一种集成电路测试方法流程示意图;
图2根据本发明实施例的应用于编码器侧的一种集成电路测试***架构图;
图3是根据本发明实施例的应用于解码器侧的一种集成电路测试方法流程示意图;
图4根据本发明实施例的应用于解码器侧的一种集成电路测试***架构图。
图5是根据本发明实施例的一种集成电路测试***的整体架构图;
图6是根据本发明实施例的编码器的流程示意图;
图7是根据本发明实施例的解码器的流程示意图一;
图8是根据本发明实施例的解码器的流程示意图二。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
根据本发明的实施例,提供了一种集成电路测试方法及***。
如图1所示,根据本发明实施例的一种集成电路测试方法,应用于集成电路测试上位机侧的编码器上,包括:
步骤S101,预先配置指令测试模板,所述指令测试模板中具备指令匹配方式、指令类型以及指令操作资源获取方式;
步骤S103,拦截集成电路测试上位机发送的原始测试指令,并对所述原始测试指令进行解析,确定所述原始测试指令所对应的指令类型和配置资源;
步骤S105,根据确定的指令类型,选择对应的指令测试模板,并根据该指令测试模板和配置资源,生成指令测试事务包;
步骤S107,发送指令测试事务包至集成电路测试下位机侧的解码器上,促使解码器解析所述指令测试事务包,获取测试指令并控制集成电路测试下位机进行指令测试。
在一个实施例中,所述集成电路测试方法,还包括:在生成指令测试事务包之前,根据预先配置的指令统一描述符,对原始测试指令进行转化,形成具备统一描述符的测试指令。
在一个实施例中,在根据指令测试模板和配置资源,生成指令测试事务包时,可获取编码器ID,并根据编码器当前测试序列,获取测试事务ID;根据编码器ID和测试事务ID,生成测试唯一标识符,并将所述测试唯一标识符、所述指令测试模板和所述配置资源打包生成指令测试事务包。
在一个实施例中,所述集成电路测试方法,还包括:在拦截集成电路测试上位机发送的原始测试指令之前,对编码器的资源Context进行初始化和备份处理,并清空编码器测试序列;在生成指令测试事务包之前,根据所述原始测试指令所对应的指令类型和配置资源对编码器的资源Context进行更新,并将测试指令加入到编码器测试序列;在生成指令测试事务包时,将更新后的资源Context信息加入到指令测试事务包中。
如图2所示,根据本发明实施例的一种集成电路测试***,应用于集成电路测试上位机侧的编码器上,包括:
模板配置模块201,用于预先配置指令测试模板,所述指令测试模板中具备指令匹配方式、指令类型以及指令操作资源获取方式;
指令拦截模块203,用于拦截集成电路测试上位机发送的原始测试指令,并对所述原始测试指令进行解析,确定所述原始测试指令所对应的指令类型和配置资源;
测试包生成模块205,用于根据确定的指令类型,选择对应的指令测试模板,并根据该指令测试模板和配置资源,生成指令测试事务包;
测试包发送模块207,用于发送指令测试事务包至集成电路测试下位机侧的解码器上,促使解码器解析所述指令测试事务包,获取测试指令并控制集成电路测试下位机进行指令测试。
如图3所示,根据本发明实施例的一种集成电路测试方法,应用于集成电路测试下位机侧的解码器上,包括:
步骤S301,接收编码器所发送的指令测试事务包,并将所述指令测试事务包加入到解码器测试序列;
步骤S303,根据指令测试事务包的优先级,选择对应的指令测试事务包,并解析指令测试事务包,获得测试指令;
步骤S305,根据所述测试指令,控制集成电路测试下位机进行指令测试。
在一个实施例中,所述集成电路测试方法,还包括:在接收编码器所发送的指令测试事务包之前,对所述解码器的资源Context进行初始化处理;解析指令测试事务包,获得指令测试事务包中所包含的资源Context信息,并根据该资源Context信息配置所述解码器的资源Context。
在一个实施例中,所述指令测试事务包的优先级的计算公式如下:
其中,α是时间权重因子,K是时间矫正参数;N是处于活动状态的编码器数量,即活动的编码器测试事务队列;queuei是第i个活动的编码器测试事务队列内处于等待调度状态的测试事务包数量;β是资源差异权重因子;γ是测试事务复杂度权重调整因子;Weightoffset是权重调整偏置;Toffset是时间权重调整偏置;length是测试事务包内包含的指令数量;ΔT是测试事务包等待时间;ΔContext是资源环境差异,
是解码器当前的资源中第i个中继器的开关状态;/>是测试事务包初始资源中第i个中继器的开关状态;/>是解码器当前的资源中第j个电压输出模块的输出电压值;/>是测试事务包初始资源中第j个电压输出模块的输出电压值;/>是测试事务包当前资源中第k个恒流源电流输出值;/>是测试事务包初始资源中第k个恒流源电压输出值。
如图4所示,根据本发明实施例的一种集成电路测试***,应用于集成电路测试下位机侧的解码器上,包括:
测试包接收模块401,用于接收编码器所发送的指令测试事务包,并将所述指令测试事务包加入到解码器测试序列;
测试指令解析模块403,用于根据指令测试事务包的优先级,选择对应的指令测试事务包,并解析指令测试事务包,获得测试指令;
测试执行控制模块405,用于根据所述测试指令,控制集成电路测试下位机进行指令测试。
如图5所示,根据本发明实施例的一种集成电路测试***,包括:
编码器,位于集成电路测试上位机侧,且,所述编码器内配置有指令测试模板,所述指令测试模板中具备指令匹配方式、指令类型以及指令操作资源获取方式;且,所述编码器用于拦截集成电路测试上位机发送的原始测试指令,并对所述原始测试指令进行解析,确定所述原始测试指令所对应的指令类型和配置资源;根据确定的指令类型,选择对应的指令测试模板,并根据该指令测试模板和配置资源,生成指令测试事务包;发送指令测试事务包至集成电路测试下位机侧的解码器上;
解码器,位于集成电路测试下位机侧,用于接收编码器所发送的指令测试事务包,并将所述指令测试事务包加入到解码器测试序列;根据指令测试事务包的优先级,选择对应的指令测试事务包,并解析指令测试事务包,获得测试指令;根据所述测试指令,控制集成电路测试下位机进行指令测试。
为了方便理解本发明的上述技术方案,以下分别从编码器和解码器的角度对本发明的上述方案进行进一步说明。
如图6所示,测试指令的编码器流程可如下:
编码器是工作在测试上位机与测试下位机之间的一个代理模块,代替原来的指令传输总线,编码器可以理解为一个虚拟的测试机硬件设备,将原来从上位机发往测试机下位机物理板卡的测试指令拦截下来,进行指令分析和转换切分,把一个测试序列拆分成一个个可以独立执行的测试事务包,并将测试事务包发送到测试指令解码器模块,实现IC测试指令设计与执行模块之间的解耦和远程部署与执行。
1.指令编码器初始化
当测试机发起一次新的测试时,或者测试机重启或者下位机发生上下电,都会进行指令编码器的初始化,指令编码器初始化时会读取测试指令匹配模板templates,该模板至少包括三部分信息,指令的匹配方式,指令的类型,以及指令操作资源的提取方式。以一款工业IC测试机的指令为例该模板如下所示,指令匹配模板templates用于从原始的测试指令序列中匹配测试指令,确认指令类型,确定指令操作所涉及的资源与以及操作结束后资源对应的状态。
2.资源Context初始化
资源Context初始化的工作,清空Context中的当前资源配置Context_dynaimc和初始资源配置Context_pre,分别记录的是当前指令完成后的资源使用情况,以及在执行本测试事务之前的资源配置情况,两个Context的内容结构是一致的,分别代表了一个测试事务包处理的初始状态和当前状态。资源Context表中记录4种资源类型,
中继器的开关状态(Switch0~Switchn),电源输出模块的设置(V0~Vm,I0~Ip),以及用于逻辑测试的测试向量表(T0~Tq);资源Context初始化过程中,将执行如下逻辑断开所有的中继开关,将所有可调电压与电源调节到最低输出状态,清理测试向量表将所有测试向量表的状态设置为disable。
其中n为中继开关数量,m为可调电源模块数量,p为可调电流模块数量,q为逻辑测试向量表的最大数量。
3.资源Context备份,
同步初始化配置和当前配置Context_dynaimc当前测试资源配置,在一组新的指令被处理时,Context_pre初始资源配置已经是上一次的配置,此时Context_dynaimc的context代表了上一个测试事务组发出时的实时资源占用情况,即本次测试指令执行的初始状态,所以同步的过程就是用Context_dynaimc来更新Context_pre的内容,让两者内容完全一致。
4.清空待执行测试队列
编码器维护一个测试指令队列,用于记录从上一次测试事务发出后到本次测试事务发出前,拦截的所有测试指令以及它们的解析结果,在每一个测试事务开始阶段,都需要清空测试指令队列。
5.原始测试指令拦截
对测试机原始指令的拦截分为两种,一种直接通过API拦截,通过替代现有***的通信API协议包,将传输在总线上的测试指令直接获取,第一种适合于有测试机源码和通信协议包以动态链接库方式存在的情况;第二种是直接拦截上位机和下位机之间的传输指令,适合于无源码的情况,无法修改通信协议的情况;本专利只关注发送在上位机与下位机之间的原始传输指令,两者的处理是一致的,方案二需要对传输指令的序列进行分析,这部分属于通信协议解析范畴,可以通过协议处理完成,本专利不对第二种方案进行具体展开。
6.原始测试指令的解析与分类
原始指令的解析与翻译,原始指令的解析包括两个动作,从拦截到的原始测试指令码或者测试指令的特征字识别出指令的类型,并从原始测试指令中提取出资源配置。把指令从设备专用指令转换为统一描述符的方式,方便对资源Context进行统一的操作。
原始指令解析依赖于步骤1中读取的指令匹配模板templates,模板包括了所有指令的匹配方式,指令的类型以及资源提取方式,本阶段的解析基本是根据每一个指令配置的匹配方法,依次遍历,直至找到一个匹配的指令为止。
7.资源Context进行记录
步骤6中已经得到了匹配的指令以及指令所操作的资源,如果步骤6中的,步骤7根据步骤6中的资源表对Context_dynaimc进行更新,依次修改所有资源的配置值,使其满足指令的执行后的Context状态。
8.测试指令加入待执行测试队列
完成一个测试指令的解析与Context更新之后,需要把测试指令加入待执行测试队列,除了原始指令外,还需要把第6步中指令的解析结果,即指令匹配模板,指令类型,原始指令中提取的资源内容等做为一个整体放入待执行测试队列。
9.测试事务打包与发送
判断是否结束待执行测试队列,如果当前指令包含测量指令match_instrument.instrument_type=measure_and_resource或者measure时,表示当前的指令序列已经形成了一个完整的测试事务包,编码器将当前的初始Context_pre,和待执行instruments队列一起打包成一个测试事务组,同时添加发送设备号和测试事务的唯一标识号,发送到解码器。相反如果本条指令不包含任何测量信息,match_instrument.instrument_type==resource或者management,此时编码器跳转到第5步继续去处理下一条指令。
完成发送后,编码器判断是否是本次测试的最后一条指令,如果是结束,否则跳转到第3步开始等待一个新的测试事务组创建。
如图7-8所示,测试指令的解码器流程可如下:
解码器是直接和测试机硬件部分进行交互的模块,解码器分为收发单元和测试指令调度单元,解码器和测试机硬件部分是一对一的紧密耦合关系,解码器的收发单元接收来自编码器的测试事务包,将这些事务包按照来源的不同加入不同的测试队列,测试指令调度单元负责从测试队列中选取一个非空队列中的最早的一个测试事务包做为一个原子单元进行处理,构造测试事务包工作所需要的资源Context,解析测试事务包中的每一条测试指令,执行测试机可以理解的原始测试指令,调度测试机硬件完成其中的测量指令,并根据测试事务包中的测试事务唯一标识号向对应的编码器返回测试结果;解码器和编码器之间的拓扑关系是自由配置的,编码器和解码器之间可以是多对多的关系;这种互相之间松耦合的部署可以方便的实现多套测试机硬件资源做为计算单元池的方式。即编码器可以自由的决定把测试事务包发送到任意的解码器,解码器可以同时接受多个编码器的测试事务包请求。
1.解码器初始化
解码器的初始化主要是对测试机硬件和解码器的收发单元进行上电和配置操作,这一部分基本是一个网络通信模块的常规操作,在此不详细展开。
2.资源Context初始化
与编码器不同,解码器仅维护的当前资源配置Context_dynaimc,记录的是当前指令完成后的资源使用情况,该结构和编码器完全一致,包括中继器的开关状态(Switch0~Switchn),电源输出模块的设置(V0~Vm,I0~Ip),以及用于逻辑测试的测试向量表(T0~Tq);资源Context初始化过程中,将执行如下逻辑断开所有的中继开关,将所有可调电压与电源调节到最低输出状态,清理测试向量表将所有测试向量表的状态设置为disable。
其中n为中继开关数量,m为可调电源模块数量,p为可调电流模块数量,q为逻辑测试向量表的最大数量。
3.解码器收发单元接收来自编码器的测试事务包并将测试事务包加入等待队列
解码器启动后,便开始异步接收来自编码器的测试事务包,每收到一个新的测试事务包,解码器都需要解析测试事务包的唯一事务id,测试事务ID包含两部分信息,编码器ID和测试包的sequence id;解码器根据编码器ID来判断测试事务的来源,处理这个测试事务包添加当前的时间戳信息,同时将修改后的测试事务包加入该编码器的测试事务队列中,当该测试事务包是编码器的第一条测试事务请求时,解码器为该编码器创建一个测试事务队列,并将测试事务包加入新建的测试事务队列。
解码器测试指令调度单元的工作流程
4.选择一个测试事务包
测试指令调度单元负责为从多个编码器的测试事务队列中选择一个优先级最高的测试事务包,进行调度,测试事务包的优先级和测试事务所依赖的context以及测试事务在等待队列中的等待时间相关。
5.根据Context资源差异恢复资源
当测试指令调度单元完成一个测试事务包的选择后,测试指令调度单元负责把环境所需的测试项恢复到该测试事务包需的初始context,这个context信息从测试事务包中获取,由编码器在编码器流程的第8步加入。
因为测试事务可能来自不同的编码器,每一个测试事务包都有一个初始的Context的需求,在测试执行前必须调整测试机完全满足这个初始Context的需求,同时每一个测试事务包执行后都会对测试机的实际资源配置造成变更,因此解码器在执行测试事务包前,需要***适当的指令,完成资源的对齐。
例如,如果当前context中,relay1开路,relay2闭合,relay3开路,而新context需要的是relay1开路,relay2开路,relay3闭合,则解码器需要首先***一个relay2闭合指令,relay3开路指令,当context需要多种资源同时操作时,原则上是先做电源电流指令,电源指令降低的优先做,升高的推致最后阶段,中间执行开关操作,降低由于电路链接没有完成切换,而突然升高电压电流对DUT和测试机***造成的冲击伤害。
6.指令执行与资源Context记录
解码器完成context恢复工作后,才正式进入指令执行流程,解码器从测试事务包的指令序列中按照顺序,依次提取每一条指令,在编码器第8步中,把每一条指令的原始指令以及资源和指令类型都存储下来,解码器直接执行原始指令,同时根据指令对资源Context所做出的更新Context_dynamic,这一步对Context_dynamic的更新与编码器第7步的工作是相同的,新,通过这种方式实时记录当前的资源状态与占用情况,确保Context_dynamic和实际的资源的状态是一致的,在此不在赘述。在遇到测量指令时,解码器需要将来自硬件的真实测量反馈信息返回编码器,编码器收到结果返回上层调用软件,完成一个完整的流程,如果一个测试事务包中有多条测量指令,则解码器逐条执行,逐一返回结果。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (7)
1.一种集成电路测试方法,其特征在于,包括:
位于集成电路测试上位机侧的编码器预先配置指令测试模板,并拦截集成电路测试上位机发送的原始测试指令,并对所述原始测试指令进行解析,确定所述原始测试指令所对应的指令类型和配置资源;根据确定的指令类型,选择对应的指令测试模板,根据该指令测试模板和配置资源,生成指令测试事务包,并发送指令测试事务包至集成电路测试下位机侧的解码器上,促使解码器解析所述指令测试事务包,获取测试指令并控制集成电路测试下位机进行指令测试;其中,所述指令测试模板中具备指令匹配方式、指令类型以及指令操作资源获取方式;
位于集成电路测试下位机侧的解码器接收编码器所发送的指令测试事务包,并将所述指令测试事务包加入到解码器测试序列,根据指令测试事务包的优先级,选择对应的指令测试事务包,并解析指令测试事务包,获得测试指令;根据所述测试指令,控制集成电路测试下位机进行指令测试;
其中,所述指令测试事务包的优先级的计算公式如下:
其中,α是时间权重因子,K是时间矫正参数;N是处于活动状态的编码器数量,即活动的编码器测试事务队列;queuei是第i个活动的编码器测试事务队列内处于等待调度状态的测试事务包数量;β是资源差异权重因子;γ是测试事务复杂度权重调整因子;Weightoffset是权重调整偏置;Toffset是时间权重调整偏置;length是测试事务包内包含的指令数量;ΔT是测试事务包等待时间;ΔContext是资源环境差异,
是解码器当前的资源中第i个中继器的开关状态;/>是测试事务包初始资源中第i个中继器的开关状态;/>是解码器当前的资源中第j个电压输出模块的输出电压值;/>是测试事务包初始资源中第j个电压输出模块的输出电压值;/>是测试事务包当前资源中第k个恒流源电流输出值;/>是测试事务包初始资源中第k个恒流源电压输出值。
2.根据权利要求1所述的集成电路测试方法,其特征在于,还包括:
在生成指令测试事务包之前,根据预先配置的指令统一描述符,对原始测试指令进行转化,形成具备统一描述符的测试指令。
3.根据权利要求1所述的集成电路测试方法,其特征在于,根据指令测试模板和配置资源,生成指令测试事务包包括:
获取编码器ID,并根据编码器当前测试序列,获取测试事务ID;
根据编码器ID和测试事务ID,生成测试唯一标识符,并将所述测试唯一标识符、所述指令测试模板和所述配置资源打包生成指令测试事务包。
4.根据权利要求1所述的集成电路测试方法,其特征在于,还包括:
在拦截集成电路测试上位机发送的原始测试指令之前,对编码器的资源Context进行初始化和备份处理,并清空编码器测试序列;
在生成指令测试事务包之前,根据所述原始测试指令所对应的指令类型和配置资源对编码器的资源Context进行更新,并将测试指令加入到编码器测试序列;
在生成指令测试事务包时,将更新后的资源Context信息加入到指令测试事务包中。
5.根据权利要求4所述的一种集成电路测试方法,其特征在于,还包括:
在接收编码器所发送的指令测试事务包之前,对所述解码器的资源Context进行初始化处理;
解析指令测试事务包,获得指令测试事务包中所包含的资源Context信息,并根据该资源Context信息配置所述解码器的资源Context。
6.一种集成电路测试***,其特征在于,包括:
模板配置模块,用于预先配置指令测试模板,所述指令测试模板中具备指令匹配方式、指令类型以及指令操作资源获取方式;
指令拦截模块,用于拦截集成电路测试上位机发送的原始测试指令,并对所述原始测试指令进行解析,确定所述原始测试指令所对应的指令类型和配置资源;
测试包生成模块,用于根据确定的指令类型,选择对应的指令测试模板,并根据该指令测试模板和配置资源,生成指令测试事务包;
测试包发送模块,用于发送指令测试事务包;
测试包接收模块,用于接收所发送的指令测试事务包,并将所述指令测试事务包加入到解码器测试序列;
测试指令解析模块,用于根据指令测试事务包的优先级,选择对应的指令测试事务包,并解析指令测试事务包,获得测试指令;
测试执行控制模块,用于根据所述测试指令,控制集成电路测试下位机进行指令测试;
其中,所述指令测试事务包的优先级的计算公式如下:
其中,α是时间权重因子,K是时间矫正参数;N是处于活动状态的编码器数量,即活动的编码器测试事务队列;queuei是第i个活动的编码器测试事务队列内处于等待调度状态的测试事务包数量;β是资源差异权重因子;γ是测试事务复杂度权重调整因子;Weightoffset是权重调整偏置;Toffset是时间权重调整偏置;length是测试事务包内包含的指令数量;ΔT是测试事务包等待时间;ΔContext是资源环境差异,
是解码器当前的资源中第i个中继器的开关状态;/>是测试事务包初始资源中第i个中继器的开关状态;/>是解码器当前的资源中第j个电压输出模块的输出电压值;/>是测试事务包初始资源中第j个电压输出模块的输出电压值;/>是测试事务包当前资源中第k个恒流源电流输出值;/>是测试事务包初始资源中第k个恒流源电压输出值。
7.一种集成电路测试***,其特征在于,包括:
编码器,位于集成电路测试上位机侧,且,所述编码器内配置有指令测试模板,所述指令测试模板中具备指令匹配方式、指令类型以及指令操作资源获取方式;
且,所述编码器用于拦截集成电路测试上位机发送的原始测试指令,并对所述原始测试指令进行解析,确定所述原始测试指令所对应的指令类型和配置资源;根据确定的指令类型,选择对应的指令测试模板,并根据该指令测试模板和配置资源,生成指令测试事务包;发送指令测试事务包至集成电路测试下位机侧的解码器上;
解码器,位于集成电路测试下位机侧,用于接收编码器所发送的指令测试事务包,并将所述指令测试事务包加入到解码器测试序列;根据指令测试事务包的优先级,选择对应的指令测试事务包,并解析指令测试事务包,获得测试指令;根据所述测试指令,控制集成电路测试下位机进行指令测试;
其中,所述指令测试事务包的优先级的计算公式如下:
其中,α是时间权重因子,K是时间矫正参数;N是处于活动状态的编码器数量,即活动的编码器测试事务队列;queuei是第i个活动的编码器测试事务队列内处于等待调度状态的测试事务包数量;β是资源差异权重因子;γ是测试事务复杂度权重调整因子;Weightoffset是权重调整偏置;Toffset是时间权重调整偏置;length是测试事务包内包含的指令数量;ΔT是测试事务包等待时间;ΔContext是资源环境差异,
是解码器当前的资源中第i个中继器的开关状态;/>是测试事务包初始资源中第i个中继器的开关状态;/>是解码器当前的资源中第j个电压输出模块的输出电压值;/>是测试事务包初始资源中第j个电压输出模块的输出电压值;/>是测试事务包当前资源中第k个恒流源电流输出值;/>是测试事务包初始资源中第k个恒流源电压输出值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310206780.4A CN116203393B (zh) | 2023-02-27 | 2023-02-27 | 一种集成电路测试方法及*** |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310206780.4A CN116203393B (zh) | 2023-02-27 | 2023-02-27 | 一种集成电路测试方法及*** |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116203393A CN116203393A (zh) | 2023-06-02 |
CN116203393B true CN116203393B (zh) | 2023-09-26 |
Family
ID=86519007
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310206780.4A Active CN116203393B (zh) | 2023-02-27 | 2023-02-27 | 一种集成电路测试方法及*** |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116203393B (zh) |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1489306A (zh) * | 2002-10-10 | 2004-04-14 | 华为技术有限公司 | 一种测试装置 |
CN102075844A (zh) * | 2009-11-25 | 2011-05-25 | 鸿富锦精密工业(深圳)有限公司 | 测试装置及测试方法 |
CN105004984A (zh) * | 2015-06-25 | 2015-10-28 | 深圳市芯海科技有限公司 | 一种自动化芯片测试方法 |
CN106325259A (zh) * | 2016-08-17 | 2017-01-11 | 中国航空工业集团公司西安飞行自动控制研究所 | 一种多lru并行安全性测试方法 |
CN109541437A (zh) * | 2018-11-21 | 2019-03-29 | 武汉虹识技术有限公司 | 集成电路及*** |
CN110634530A (zh) * | 2019-09-10 | 2019-12-31 | 珠海博雅科技有限公司 | 芯片的测试***和测试方法 |
CN110989551A (zh) * | 2019-11-22 | 2020-04-10 | 天津津航计算技术研究所 | 一种基于VxWorks***通用型接口板的测试*** |
CN113238925A (zh) * | 2021-04-13 | 2021-08-10 | 厦门路桥信息股份有限公司 | 应用服务测试方法、介质、设备及*** |
CN114527371A (zh) * | 2022-02-15 | 2022-05-24 | 上海御渡半导体科技有限公司 | 一种提升ate芯片测试速度的装置和方法 |
CN114598617A (zh) * | 2021-03-26 | 2022-06-07 | 公安部第三研究所 | 针对安防监控联网实现大规模多任务并行检测处理的装置 |
CN115527603A (zh) * | 2022-09-30 | 2022-12-27 | 苏州浪潮智能科技有限公司 | 一种硬盘性能测试方法、中央控制机及测试机 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9003246B2 (en) * | 2012-09-29 | 2015-04-07 | Intel Corporation | Functional memory array testing with a transaction-level test engine |
-
2023
- 2023-02-27 CN CN202310206780.4A patent/CN116203393B/zh active Active
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1489306A (zh) * | 2002-10-10 | 2004-04-14 | 华为技术有限公司 | 一种测试装置 |
CN102075844A (zh) * | 2009-11-25 | 2011-05-25 | 鸿富锦精密工业(深圳)有限公司 | 测试装置及测试方法 |
CN105004984A (zh) * | 2015-06-25 | 2015-10-28 | 深圳市芯海科技有限公司 | 一种自动化芯片测试方法 |
CN106325259A (zh) * | 2016-08-17 | 2017-01-11 | 中国航空工业集团公司西安飞行自动控制研究所 | 一种多lru并行安全性测试方法 |
CN109541437A (zh) * | 2018-11-21 | 2019-03-29 | 武汉虹识技术有限公司 | 集成电路及*** |
CN110634530A (zh) * | 2019-09-10 | 2019-12-31 | 珠海博雅科技有限公司 | 芯片的测试***和测试方法 |
CN110989551A (zh) * | 2019-11-22 | 2020-04-10 | 天津津航计算技术研究所 | 一种基于VxWorks***通用型接口板的测试*** |
CN114598617A (zh) * | 2021-03-26 | 2022-06-07 | 公安部第三研究所 | 针对安防监控联网实现大规模多任务并行检测处理的装置 |
CN113238925A (zh) * | 2021-04-13 | 2021-08-10 | 厦门路桥信息股份有限公司 | 应用服务测试方法、介质、设备及*** |
CN114527371A (zh) * | 2022-02-15 | 2022-05-24 | 上海御渡半导体科技有限公司 | 一种提升ate芯片测试速度的装置和方法 |
CN115527603A (zh) * | 2022-09-30 | 2022-12-27 | 苏州浪潮智能科技有限公司 | 一种硬盘性能测试方法、中央控制机及测试机 |
Also Published As
Publication number | Publication date |
---|---|
CN116203393A (zh) | 2023-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102604010B1 (ko) | 온-칩-시스템 테스트 제어기를 사용하는 자동 테스트 장비 | |
CN106940428B (zh) | 芯片验证方法、装置及*** | |
CN102092477B (zh) | 飞机音频综合***自动测试与故障诊断装置及方法 | |
CN101523232B (zh) | 联网测试*** | |
US20040210798A1 (en) | Test emulator, test module emulator, and record medium storing program therein | |
CN113342583B (zh) | 芯片验证***、方法、装置、设备和存储介质 | |
CN105094783A (zh) | 安卓应用稳定性测试的方法及装置 | |
US20090240457A1 (en) | Testing in a hardware emulation environment | |
CN113514759B (zh) | 一种多核测试处理器及集成电路测试***与方法 | |
CN102035896A (zh) | 一种适用于软件***的基于ttcn-3的分布式测试框架 | |
CN111859834B (zh) | 一种基于uvm的验证平台开发方法、***、终端及存储介质 | |
CN114019938A (zh) | 一种微控制器芯片通信类接口测试***及其方法 | |
CN106093897B (zh) | 一种雷达***的测试***及测试方法 | |
CN110750446A (zh) | 一种***测试的方法及相关装置 | |
CN109977012A (zh) | ***的联调测试方法、装置、设备及计算机可读存储介质 | |
CN116089281A (zh) | 一种芯片测试方法、测试平台和设备 | |
CN115543797A (zh) | 基于uvm的总线转换桥验证方法、装置、设备及存储介质 | |
CN115496018A (zh) | 一种SoC芯片多版本验证方法、装置及设备 | |
CN111262753A (zh) | 一种numa节点个数自动配置方法方法、***、终端及存储介质 | |
US20170277613A1 (en) | Multiple mode testing in a vector memory restricted test environment | |
CN111624475B (zh) | 大规模集成电路的测试方法及*** | |
CN116203393B (zh) | 一种集成电路测试方法及*** | |
CN117787155A (zh) | 一种芯片可测性代码动态仿真测试***及测试方法 | |
US20200327027A1 (en) | Automated Self-Check of a Closed Loop Emulation Replay | |
CN111176995A (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 |