CN112131109A - 基于Python的芯片自动化验证测试系统及方法 - Google Patents
基于Python的芯片自动化验证测试系统及方法 Download PDFInfo
- Publication number
- CN112131109A CN112131109A CN202010992183.5A CN202010992183A CN112131109A CN 112131109 A CN112131109 A CN 112131109A CN 202010992183 A CN202010992183 A CN 202010992183A CN 112131109 A CN112131109 A CN 112131109A
- Authority
- CN
- China
- Prior art keywords
- chip
- test
- tested
- interface
- verification
- 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
Links
Images
Classifications
-
- 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/3664—Environments for testing or debugging software
-
- 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
- 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/26—Functional testing
- G06F11/273—Tester hardware, i.e. output processing circuits
- G06F11/2733—Test interface between tester and unit under test
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Microelectronics & Electronic Packaging (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Tests Of Electronic Circuits (AREA)
Abstract
本发明公开了基于Python的芯片自动化验证测试系统及方法,特别适用于低功耗MCU芯片的IP功能验证,接口电特性参数,芯片性能的自动化测试。本发明使用Python开发的PC端上位机框架,涵盖UART/SPI/I2C/芯片JTAG调试四种连接模式与自定义通讯协议,并以透传指令的形式直接对单个或多个待测板进行通信,对待测芯片进行测试验证。同时使用程控的方式对可编程测试设备进行自动化控制,配合透传指令与数据采集算法以实现对芯片的实时数据监控与采集。本发明简化了传统芯片IP功能的验证操作流程,可适用于复杂IP与测试项的芯片验证环境。
Description
技术领域
本发明涉及芯片验证技术领域的一种测试及控制技术,尤其是对于芯片功能验证中的多待测板的透传指令下发与程控测试仪器自动化测量方面。
背景技术
近年来,随着集成电路开发与制造技术的飞速发展,越来越多高集成度且功能复杂的芯片被设计出来,以满足不同行业的需求。芯片验证作为芯片开发中关键的一环,其不仅是对功能模块的逻辑设计进行检验与分析,更是整个开发流程中耗费人力与时间成本最多,脚本设计最为复杂的工程。
目前现有的芯片验证过程中,PC端上位机脚本与仪器测量在系统层面上普遍是分离的,大部分验证工作都需要手动配置好测试仪器后,再进行脚本指令的下发,直到测试数据被仪器检测到时再进行录入,这样浪费了大量的人力成本与调试时间。而一些含有程控仪器的测试系统,普遍只兼容一种或两种设备,其功能同时也受限于仪器动态库函数的限制,无法满足自定义功能的拓展,而后期添加新设备的工作也存在开发周期较长,难以短期实现。在验证流程上,需遍历大量多层级的测试参数,以达到全功能覆盖的目的。当面对较大量样品同时测量时,人为的仪器调试与操作难免会存在失误风险,影响到测试质量与结果。
发明内容
本发明主要解决的技术问题是提供了一种使用Python编程为基础的高拓展性芯片自动化验证测试方法,其整合仪器控制框架,多接口透传协议框架,芯片JTAG调试功能,数据分析以及脚本运行功能的自动化测试系统。
为了解决上述问题,本发明的芯片自动化验证测试方法包含如下四个步骤:
步骤1:硬件环境搭建,PC端上位机连接待测板与程控测试仪器。通过USB转串口转接板与待测板建立物理连接。其中PC端需与转接板的USB端口进行连接,待测板根据测试需求,选择合适的通讯接口(UART、SPI、I2C)并使用杜邦线与转接板串口端对应接口进行连接。程控测试仪器可通过其所支持的USB,COM,LAN或GPIB与PC端直接进行连接。在完成与PC端的连接后,程控设备的测试接口需根据需求与待测板上引出的功能pin脚进行连接。
步骤2:软件环境搭建,PC端安装Python运行环境与IEEE 488.2程控驱动协议后搭建PC端上位机测试软件环境。测试软件环境通过辨别设备的描述信息与物理地址进行自动筛选分类。即当检测到设备为单台或多台待测板时,通讯通道切换至测试指令下发的透传接口等待下一步操作的流程为:
上述代码中的“USBtoUART”为USB转接板设备名称,可根据需求进行自定义修改。
当检测到程控测试仪器时,PC端上位机与仪器使用IEEE 488.2标准协议的握手通讯指令“*IDN?”,用于获取设备返回的身份信息,并自动建立连接等待下一步仪器操作指令:
上述代码中的“Dev_ADDR”为IEEE 488.2标准的程控仪器固定的连接端口物理地址,可在PC端设备管理器中查看。
步骤3,在软硬件环境搭建好之后,通过测试软件环境即可进行透传指令的下发,并配合程控指令搭建测试流程。
PC端上位机使用可自定义帧格式的透传指令进行测试动作下发。自定义帧格式目的是使透传信息与芯片的通讯指令解析相互匹配,通讯指令总体结构定义为:
身份ID信息+指令字节长度+指令数据+结束码
其中的身份ID信息的作用是供芯片判别此条指令的来源,可自定义不同私有的身份ID,应用于多台上位机指令下发的测试应用场景。
其中的指令字节长度作用是定义指令数据长度,供芯片进行实际接收的指令的长度判断。
其中结束码的作用是,供芯片判别接收是否结束的特定字节。
为满足测试流程中,对芯片寄存器的直接修改与读写操作的需求。PC端上位机可通过测试软件环境的JTAG通道,进行芯片寄存器级的操作。其包含的功能函数如下:
JTAG_Open(JTAG_ID) (3)
(3)中函数用于打开芯片的JTAG调试接口,其中“JTAG_ID”为JTAG身份信息。
JTAG_Read(address) (4)
(4)中函数用于读取芯片寄存器中的数值,其中“address”为需读取的寄存器物理地址。
JTAG_Write(address,var) (5)
(5)中函数用于对芯片寄存器写入指定数值,其中“address”为需写入数值的寄存器物理地址,“var”为写入具体的数值。
JTAG_Reset() (6)
(6)中函数用于重置JTAG调试通道,在出错情况下进行参数复位操作。
程控测试仪器的程控指令使用基于Python开发且符合IEEE 488.2通信协议的功能函数。函数主体功能包含:仪器测量参数配置;测量通道选择;仪器状态查询;测量数据回读。在使用时,通过Python threading模块中对多线程运行的支持,实现与透传指令协同并发的工作模式,使仪器控制与测试指令紧密结合。
步骤4,在测试流程运行中或结束时,根据PC端下发给程控测试仪器的量数据回读指令,测试设备会将数据实时采集回PC端,在PC端中进行包含数据解析,绘图与文档记录的流程。
从以上描述可以看出,本发明在软硬件环境搭建上进行了结构简化且清晰,对连接的设备都会进行自动编码与地址整理,进一步增强了PC端上位机仪器自动化的调度统一性;在对芯片进行指令下发时,自定义的指令结构确保了一定安全性与兼容性;在JTAG调试功能的使测试流程中,无需经过芯片的通讯协议,便可修改芯片寄存器数值用于配置芯片的不同功能;仪器自动化控制与回传数据的打包分析,在实现了仪器控制与透传指令协同并发的工作模式的同时,也使仪器控制与测试指令紧密结合,缩短了人为操作时间与测试流程运行效率。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1为本发明硬件环境连接示意图;
图2为本发明软件设计总体流程图;
图3为本发明总体架构图;
具体实施方式
下面结合具体软硬件操作搭建为例对本发明专利做详细说明:
图1中包含1.PC端,2.USB转串口转接板,3.JTAG调试通道,4.待测板,5.待测芯片,6.可编程电源,7.程控测试仪器(根据需求可拓展),8.仪器适配连接线(USB、COM、LAN、GPIB),9.(同8),10.测试设备夹线,11.电源夹线,12.杜邦线,13.(同12),14.USB连接线,15.(同14)。
下面结合附图与具体实施方式对本发明作进一步详细的说明:
图1所示为本发明的芯片自动化验证测试系统的总体结构图。测试系统的PC端1使用基于Python开发的开源架构,通过物理联连接的方式与待测板4和程控测试仪器7进行连接。通过统一的脚本流程,对仪器控制,芯片测试操作与数据记录进行同步执行。测试系统主体由PC端1,待测件4及待测芯片5,程控测试仪器7,USB转串口转接2部分组成。PC端1负责总体测试流程控制,对程控测试仪器所采集的数据进行包含记录,绘制与报告生成的可视化处理。待测板4与待测芯片5使用焊接的方式连接,并引出芯片的各pin脚供测试使用。程控测试仪器7可根据测试需求进行拓展,上位机可扩容兼容IEEE 488.2协议的设备,将其工控指令进行功能函数封装。待测板4连接调试部分主要包含USB转串口转接板2与JTAG调试通道3,主要用于建立PC端1与待测板4的物理连接,透传指令下发与数据回读通路。总体测试流程通过三个步骤来实现:
步骤一:PC端1使用仪器适配连接线8、9与可编程电源6和程控测试仪器7进行连接。可编程电源6使用电源夹线11与待测板4上的Vin引脚连接,程控测试仪器7使用测试设备夹线10与待测板4上的测试引脚连接。接下来,PC端1使用USB连接线14、15分别与USB转串口转接板2和JTAG调试通道3进行连接。USB转串口转接板2使用杜邦线13与待测板4上的选定通讯端口进行连接,JTAG调试通道3使用杜邦线12与待测板4上引出的芯片JTAG调试端口进行连接。
PC端1上位机的软件流程如图2所示,进入测试流程前,首先开启PC端1的上位机设备检测,并自动进行归类与握手操作,确保设备通讯正常;根据需求,进行测试脚本流程的设置,流程中包含透传指令,设备控制指令与JTAG调试指令的下发操作;待PC端1接收到测试仪器数据与芯片返回的信息后,进行数据绘图与测试报告的生成。
步骤二:测试流程中,使用选定的芯片指令下发接口,通过USB转串口转接板2对待测板4上的待测芯片5进行流水式的测试指令下发,仪器控制指令通过仪器适配连接线8、9,在测试流程中保持与测试指令并发,以达到同步配置与测量的操作。可编程电源6根据测试需求,实时改变待测芯片5的工作电压环境。程控测试仪器7将所采集的数据实时传回至PC端1,生成直观的数据图像与图表等数据报告,供测试人员进行分析。如图3所示,总体架构为软件与硬件的结合,配合使用PC端1的测试脚本,可进行自定义的测试流程设计。
以上通过结合具体实施方式对本发明作了详细的说明,并非构成对本发明的限制,在不脱离本发明原理的情况下,可做出若干变形和改进,这些也应视为属于本发明的保护范围。
Claims (8)
1.基于Python的芯片自动化验证测试方法,其特征在于PC端上位机集成多接口透传协议,芯片JTAG调试,程控测试仪器自动化控制框架以及脚本自动化运行功能,对待测板上的芯片进行单线程或多线程的透传指令下发,并配合使用程控测试对数据进行自动化采集与分析,以便对芯片IP功能,电特性以及性能指标进行全覆盖验证。
2.根据权利要求1所述的芯片自动化验证测试方法,其特征在于,所述多接口透传协议,兼容芯片通用的三种接口UART/SPI/I2C,开放出可根据需求修改的通讯指令帧格式,以兼容不同芯片通信协议;测试指令直接被从PC端上位机传入到芯片应用层,验证其各模块功能。
3.根据权利要求1所述的芯片自动化验证测试方法,其特征在于,所述芯片JTAG调试,使用Python开发的基于JTAG调试基础的寄存器读写功能,可通过芯片的JTAG接口,可使PC端上位机绕过芯片的通讯协议,通过JTAG接口调试设备直接对芯片的寄存器进行操作调试。
4.根据权利要求1所述的芯片自动化验证测试方法,其特征在于,所述程控测试仪器自动化控制框架,其通过IEEE 488.2程控协议直接操作设备,在芯片功能测试流程中,使用电源与测量析仪实现实时的电源域修改,数据测量与数据采集功能;理论上兼容市面上NI标准的所有可编程测试仪器,可根据需求进行设备库的扩容。
5.根据权利要求1所述的芯片自动化验证测试方法,其特征在于,所述脚本自动化运行功能,针对芯片那些闭环多层级且遍历项繁多的功能测试,可根据预先配置的层级数与每层的遍历条件,自动遍历运行测试脚本,过程中的每次异常都会自动进行记录并生成测试报告供分析使用。
6.根据权利要求1所述的芯片自动化验证测试方法,其特征在于,所述对待测板测试板上的芯片进行单线程或多线程的透传指令下发,PC端上位机在手动选定通讯接口后,将根据芯片物理地址中的设备ID编码进行自动存储与识别;支持设备的通讯方式如下:一、单设备单接口通讯;二、多设备单接口通讯;三、多设备多接口通讯;支持的指令下发方式如下:一、流水式下发;二、多线程并发。
7.根据权利要求1所述的芯片自动化验证测试方法,其特征在于,所述对数据进行自动化采集,程控测试仪器功能开启后,对待测板外部管脚上的信息进行实时测量并将所测得数据回传给PC端上位机,接收到数据后将进行包含图像绘制与数据报告的自动生成。
8.基于Python的芯片自动化验证测试系统,用于实现权利要求1至7所述的芯片自动化验证测试方法,其特征在于,所述的芯片自动化验证测试系统总共包含四个主体部分:一,PC端,主要用于总体流程控制与功能集成,通过串口和程控接口下发测试与程控指令给下位机待测芯片与程控测试仪器,同时接收测试结果与反馈信息;二,待测件及待测芯片,为测端主体,通过UART,SPI,I2C三种连接方式接收指令或回传反馈结果给PC端;三,程控测试仪器,主要通过程控接口接收来自PC端的控制指令,用于待测芯片的测试数据采集与激励条件输入;四,JTAG调试通道,通过JTAG接口让PC端对待测芯片直接进行寄存器级的操作,从底层对芯片进行基本功能测试,并通过JTAG接口将调试结果回传给PC端。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010992183.5A CN112131109A (zh) | 2020-09-21 | 2020-09-21 | 基于Python的芯片自动化验证测试系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010992183.5A CN112131109A (zh) | 2020-09-21 | 2020-09-21 | 基于Python的芯片自动化验证测试系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112131109A true CN112131109A (zh) | 2020-12-25 |
Family
ID=73841473
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010992183.5A Pending CN112131109A (zh) | 2020-09-21 | 2020-09-21 | 基于Python的芯片自动化验证测试系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112131109A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112882884A (zh) * | 2021-03-24 | 2021-06-01 | 深圳市蔚来芯科技有限公司 | 一种电子芯片的测试方法、系统及装置 |
CN113552467A (zh) * | 2021-06-28 | 2021-10-26 | 苏州裕太微电子有限公司 | 一种用于芯片系统功能测试的装置及方法 |
CN115808612A (zh) * | 2023-01-30 | 2023-03-17 | 成都爱旗科技有限公司 | 一种芯片物理ip测试系统、方法及电子设备 |
CN115993525A (zh) * | 2023-03-22 | 2023-04-21 | 山东华翼微电子技术股份有限公司 | 基于Ymodem协议的芯片批量样本测试、验证方法 |
CN117910401A (zh) * | 2024-03-19 | 2024-04-19 | 英诺达(成都)电子科技有限公司 | 工作模式配置方法、装置、设备、存储介质及程序产品 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101799506A (zh) * | 2010-04-21 | 2010-08-11 | 广州市广晟微电子有限公司 | 基于脚本控制的芯片测试方法、装置及系统 |
WO2017166211A1 (zh) * | 2016-03-31 | 2017-10-05 | 华为技术有限公司 | 测试功能组件及数据调试方法 |
CN107290646A (zh) * | 2017-06-09 | 2017-10-24 | 苏州迅芯微电子有限公司 | 高速adc芯片的自动测试平台及测试方法 |
CN109143034A (zh) * | 2018-09-10 | 2019-01-04 | 上海华虹集成电路有限责任公司 | 芯片adc性能自动化测试系统及方法 |
CN109684672A (zh) * | 2018-11-30 | 2019-04-26 | 上海芯钛信息科技有限公司 | 一种soc芯片系统级验证系统及方法 |
CN110568345A (zh) * | 2019-09-27 | 2019-12-13 | 北京中电华大电子设计有限责任公司 | 一种自动化测试设备及其控制方法 |
CN211180801U (zh) * | 2019-11-21 | 2020-08-04 | 北京中电华大电子设计有限责任公司 | 一种多接口se芯片验证装置 |
-
2020
- 2020-09-21 CN CN202010992183.5A patent/CN112131109A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101799506A (zh) * | 2010-04-21 | 2010-08-11 | 广州市广晟微电子有限公司 | 基于脚本控制的芯片测试方法、装置及系统 |
WO2017166211A1 (zh) * | 2016-03-31 | 2017-10-05 | 华为技术有限公司 | 测试功能组件及数据调试方法 |
CN107290646A (zh) * | 2017-06-09 | 2017-10-24 | 苏州迅芯微电子有限公司 | 高速adc芯片的自动测试平台及测试方法 |
CN109143034A (zh) * | 2018-09-10 | 2019-01-04 | 上海华虹集成电路有限责任公司 | 芯片adc性能自动化测试系统及方法 |
CN109684672A (zh) * | 2018-11-30 | 2019-04-26 | 上海芯钛信息科技有限公司 | 一种soc芯片系统级验证系统及方法 |
CN110568345A (zh) * | 2019-09-27 | 2019-12-13 | 北京中电华大电子设计有限责任公司 | 一种自动化测试设备及其控制方法 |
CN211180801U (zh) * | 2019-11-21 | 2020-08-04 | 北京中电华大电子设计有限责任公司 | 一种多接口se芯片验证装置 |
Non-Patent Citations (1)
Title |
---|
李建伟;李英丹;张培艳;刘云;谢毅;: "基于虚拟仪器的UWB超宽带射频芯片自动测试系统的研究", 现代科学仪器, no. 06 * |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112882884A (zh) * | 2021-03-24 | 2021-06-01 | 深圳市蔚来芯科技有限公司 | 一种电子芯片的测试方法、系统及装置 |
CN113552467A (zh) * | 2021-06-28 | 2021-10-26 | 苏州裕太微电子有限公司 | 一种用于芯片系统功能测试的装置及方法 |
CN115808612A (zh) * | 2023-01-30 | 2023-03-17 | 成都爱旗科技有限公司 | 一种芯片物理ip测试系统、方法及电子设备 |
CN115993525A (zh) * | 2023-03-22 | 2023-04-21 | 山东华翼微电子技术股份有限公司 | 基于Ymodem协议的芯片批量样本测试、验证方法 |
CN115993525B (zh) * | 2023-03-22 | 2023-08-22 | 山东华翼微电子技术股份有限公司 | 基于Ymodem协议的芯片批量样本测试、验证方法 |
CN117910401A (zh) * | 2024-03-19 | 2024-04-19 | 英诺达(成都)电子科技有限公司 | 工作模式配置方法、装置、设备、存储介质及程序产品 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112131109A (zh) | 基于Python的芯片自动化验证测试系统及方法 | |
US10948540B2 (en) | Integrated protocol analyzer configured within automated test equipment (ate) hardware | |
EP1451599B1 (en) | Method and apparatus for embedded built-in self-test (bist) of electronic circuits and systems | |
CN102541707B (zh) | 复用jtag接口的fpga片内逻辑分析仪系统和方法 | |
CN102549443B (zh) | 可编程协议发生器 | |
US20110078525A1 (en) | Method and Apparatus of ATE IC Scan Test Using FPGA-Based System | |
WO2006133106A2 (en) | System and methods for functional testing of embedded processor-based systems | |
CN112014788B (zh) | 基于录波文件回放的负荷辨识模组检测方法 | |
CN101071155A (zh) | 一种可实现边界扫描多链路测试的装置及方法 | |
CN109143034A (zh) | 芯片adc性能自动化测试系统及方法 | |
CN114019938A (zh) | 一种微控制器芯片通信类接口测试系统及其方法 | |
CN109656756B (zh) | 多核cpu板卡调试方法及装置、移动存储介质 | |
CN1243307C (zh) | 通过jtag对单板进行测试的方法以及设备 | |
JP2006162285A (ja) | 半導体集積回路のテスト装置および方法 | |
CN109581197A (zh) | 一种基于JTAG接口的SiP封装用测试系统 | |
CN111722968A (zh) | 一种硬件调试方法、装置、系统及可读存储介质 | |
CN113325297A (zh) | 一种芯片系统级测试系统和方法 | |
CN112485699A (zh) | 一种服务器电源测试系统 | |
CN214669306U (zh) | 非侵入负荷辨识模组检测装置 | |
CN115509834A (zh) | 一种基于jtag协议的微处理器在线调试系统及调试方法 | |
CN114692540A (zh) | 一种基于fpga的flash应用验证系统 | |
CN217766718U (zh) | 一种芯片测试系统 | |
CN218938940U (zh) | 一种i2c总线测试工装 | |
CN109416385B (zh) | 一种现场可编程门电路及其在线测试方法 | |
CN101982787B (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 |