基于SOPC技术的芯片批量测试板设计与实现

2023-06-25 02:38易凡马静怡
现代信息科技 2023年6期
关键词:现场可编程门阵列上位机

易凡 马静怡

摘  要:为提高SoC芯片测试板效率及稳定性,考虑芯片测试需求和设计模块化等因素,采用可编程片上系统和上位机配置技术,充分利用FPGA开发板上的HSTC扩展接口,设计了一款面向多芯片同步测试的批量测试板,有效解决了芯片批量测试中的难题,实现效率与性能的双优。主要阐述了该测试板的上位机控制方法、嵌入式控制系统的功能组成以及片上测试程序的设计流程。

关键词:SoC;批量测试;现场可编程门阵列;上位机

中图分类号:TP311;TN407  文献标识码:A  文章编号:2096-4706(2023)06-0088-04

Design and Implementation of Chip Batch Testing Board Based on SOPC Technology

YI Fan, MA Jingyi

(Zhengzhou University of Science and Technology, Zhengzhou  450064, China)

Abstract: To improve the efficiency and stability of SoC chip testing board, this paper considers the testing requirement of chip and the modular design and other factors, uses System on Programmable Chip (SOPC) and master computer configuration technology, makes full use of the HSTC expansion interfaces of FPGA development board, designs a batch testing board for multi-chip synchronization testing. It effectively solves the difficult problems in the chip batch testing, and realizes both efficiency and stability. This paper mainly expounds the master computer control method of the testing board, the functional composition of the embedded control system and the design process of the testing program on the chip.

Keywords: SoC; batch testing; FPGA; master computer

0  引  言

“十四五”期間,我教研室与合作校企共同研发了一款通用可编程SoC芯片,该芯片内部集成了32位RISC结构嵌入式处理器,有专用的软件集成开发环境和可扩展指令,适用于数字签名与身份认证、存储保护、数据传输、嵌入式控制,具备高安全性、多指令扩展、多通信接口等特点,受到了广大客户的青睐。

随着芯片大批量生产使用,SoC(System on Chip)芯片测试效率成为一个不可忽视的问题。目前,市面上常见SoC测试仪如T2000SOC测试系统、Advantest Model T6682测试仪、惠锐捷V93000等成本高昂,设备庞大,且往往每次只能测试一颗芯片,另外,当应用于特定型号芯片测试时,一般需要进行二次开发,修改底层测试驱动,改变测试变量,大大提高了成本[1]。与此同时,SoC测试DEMO板存在稳定性差、测试效率低、测试接口少等问题,只支持常用通信接口如USB、GPIOA等接口的测试。

为缩减芯片测试时间,提高功能测试的接口覆盖率,兼顾测试效率与测试成本,本文采用上位机与下位机联动的测试方法[2],设计实现了一款基于SOPC技术的批量测试板(以下简称测试板)。测试板结构轻巧,通过PC端上位机和FPGA开发板即可对芯片完成测试工作,有多个高速I/O接口与待测芯片底座相连,每次可进行8颗芯片的功能测试,基本覆盖了全部芯片接口与存储单元,并且可以对芯片密码处理模块协处理器单元进行测试,有效降低了功能测试的复杂度以及测试过程中对昂贵测试设备的依赖。

1  测试板总体架构设计

测试板架构设计包括硬件架构设计与软件架构设计两部分。

测试板硬件架构由上位机、嵌入式控制系统和测试板三部分组成,如图1所示。其中,上位机在PC机端编程实现,控制待测芯片的接口例程选择;嵌入式控制系统基于SOPC技术实现[3],完成对上位机控制信号的解析与转接;测试板为自制PCB板,采用多槽设计,为多芯片同步测试提供必要条件。

软件架构由上位机软件层、NIOS II驱动层和功能驱动层共同组成[4],如图2所示。其中,上位机完成测试功能点选择、测试数据生成、反馈数据分析等功能;NIOS II驱动层基于USB设备驱动实现,完成上位机软件层与功能驱动层的交互数据的多路转发;功能驱动层提供所有待测IP(即通信接口、存储单元、协处理器)的功能函数,供上位机选择。

2  测试板硬件设计

2.1  嵌入式控制系统设计

嵌入式控制系统采用基于Stratix Ⅲ系列FPGA的DE3开发板实现,DE3开发板包含丰富的器件资源及外设接口,充足的开关、LED灯、按键,能够满足测试板的各种需求;开发板上的4个高速I/O扩展接口(High Speed Terasic Connector, HSTC),用于与芯片待测接口(如存储接口、通信接口等)的通信,可以提高上位机与下位机数据传输的速度。此外,Altera公司提供的SOPC技术可将处理器、存储器、I/O接口、LVDS、CDR等系统设计需要的功能模块集成到一个可编程逻辑器件上,构建一个可编程的片上系统,具有可裁剪、可扩充、可升级、可编程的特点,对于嵌入式控制系统的构建必不可少[5]。

整个控制系统以EP3SL150F1152C3为核心,通过内部NIOS II处理器与各种功能模块完成整个系统的逻辑功能,主要由SOPC模块、时钟控制模块、JTAG控制模块、复位模块、流水灯模块、UDI控制模块等功能单元组成。

其中,时钟控制模块为整个嵌入式控制系统提供时钟控制;JTAG控制模块控制JTAG下载器与对应芯片的JTAG接口相连,实现主机TAG下载器与下位机8颗待测芯片JTAG通信接口的依次连接控制;复位模块用来实现8颗芯片的流水复位,结合软件实现自动控制,减少了烦琐的手工操作;流水灯模块控制GPIO流水灯的运行和停止,用来表示测试板的工作状态,如果工作正常则8颗LED灯呈流水状态运行;UDI控制模块保证了正在测试芯片的UDI接口控制信号有效。

2.2  测试板设计

为满足多芯片同步测试需求,测试板采用多槽设计自制PCB板实现,每个测试工位都有单独的晶振电路和复位电路,通过HSTC接口与嵌入式控制系统连接,测试板硬件架构如图3所示。

由于HSTC接口引脚数量有限,待测芯片某些接口的数据线(如用户自定义UDI接口、USB接口、7816接口)要与其他芯片共用。同时,由于测试板需要三种完全不同的电源电压:1.8 V、3.3 V和5 V。其中,SoC内核电压为1.8 V,通信接口电压为3.3 V。为防止8颗芯片同时工作时的功耗超出两颗电源芯片的承受能力,本文设计了两种供电方法:稳压电源供电,主要供测试板设计验证阶段使用,使用台湾明纬开关电源(MW)生产的MPS-3005IK-3型稳压电源直接供电;电源芯片供电,主要供测试板实际工作阶段使用,来用LINEAR TECHNOLOCE公司系列产品中的LT1585A-3.3V和LT1764-1.8V两款芯片分别提供3.3 V和1.8 V工作电压。

3  軟件设计

3.1  上位机软件设计

上位机通过USB数据线连接测试板,用于发送控制及测试命令并显示结果。为方便上位机与下位机的数据及命令交互,本文遵循Mas Storage协议,通过批量端点传输(Bulk传输)来组织数据和处理命令,其数据传输的结构和过程共分为三个阶段:CBW(命令块包)、CSW(状态块包)和批量数据。数据传输时,首先传输CBW包;通过解析CBW包决定返回或者接受相应的数据;数据传输完毕后进入状态阶段,返回命令执行的情况。至此,一次上位机的数据通信结束。本设计中,上位机主要用来发送命令,因此上位机数据通信格式为CBW,其数据结构如下所示。

根据芯片测试需求,本文共设计JtagConnectSelCMD、SoCResetSelCMD、BatchTestingCMD三大类命令,具体功能如表1所示。

3.2  片上驱动程序设计

3.2.1  片上驱动程序的功能组成

SoC片上驱动程序是芯片功能测试的主体,主要分为三部分:存储单元测试、接口测试及协处理器功能测试。其中芯片存储单元通过直接存取测试的方法来完成故障检测;通信接口采用读写数据并比对的方法进行测试。协处理器采用命令、数据注入方式完成基本配置和功能测试,在存储单元、接口测试完成后,即可测试协处理器功能。

3.2.2  测试代码分层

为提高测试模块的硬件响应速度,驱动程序由启动代码(BootLoader)和应用程序(Application)组成[6],测试时使用编译工具生成映像文件,通过JTAG接口烧写到Elash中,启动代码在SRAM测试完成后,将应用程序拷贝到SRAM中运行。

本设计中,启动代码主要完成SRAM、ROM等存储单元的初始化与检测,设置各个部分的时钟及片选信号,完成SRAM的测试并保存测试信息;应用程序针对具体的测试要求来进行设计,完成硬件寄存器的初始化、数据区和栈指针的初始化,初始化完成后依次进行并行测试、串行测试和协处理器测试。

并行测试是指对在测试板上有单独的数据线和控制信号的模块的测试,包括SRAM、Elash存储单元及GPIO、SPI、UART、Nand Flash等接口,用GPIOA[3:5]依次表示并行测试项的测试结果。

串行测试是指对有共用数据线并且有单独的控制信号的模块的测试,包括用户自定义接口UDI、USB接口和7816接口。并行测试时,用GPIOA[0:2]依次表示并行测试项的测试结果。

4  测试板实现与验证

4.1  测试流程

本设计的FPGA硬件逻辑采用VHDL编写,借助于Altera FPGA集成开发环境Quartus II编译并完成配置;采用NIOS II开发环境,通过C代码实现对硬件逻辑的控制;SoC片上驱动程序,采用Xilinx SDK开发套件,通过C语言编程实现。FPGA硬件逻辑开发界面如图4所示。

测试板测试流程如图5所示,具体步骤如下:

(1)PCB板与DE3开发板连接测试。使用上位机模块对JAG接口进行测试时,系统会自动对选中的每颗芯片进行三次JTAG连接测试。如果连接失败,测试板自动停止对该芯片的测试,此时可更换芯片并记录。

(2)程序下载。JTAG接口测试完成之后开始进行程序的下载。由于芯片的存储功能至关重要,当芯片的存储模块测试出现异常时,测试系统会自动停止对该芯片的测试并记录。

(3)各通信接口测试。上位机按照并行接口测试、串行并行测试的顺序依次发送测试指令,分别完成SRAM、eFLASH存储单元、GPIO、SPI、UART、Nand Flash等并行接口及UDI接口、USB接口和7816接口等串行接口的功能测试。

(4)协处理器功能测试。协处理器采用命令、数据注入方式完成基本配置和功能测试,在存储单元、接口测试完成后,即可测试协处理器功能。

(5)测试结果读取。在协处理器模块测试完成后,用户可以通过观察流水灯的状态和显示界面的信息来进行相应的记录。

4.2  实验验证与分析

实验验证主要分为测试板功能验证和性能验证两部分[7]。

4.2.1  功能测试

按照前文所述测试流程,采取混杂问题芯片的测试方法验证测试板功能,人为筛选问题芯片参与批量测试,验证测试板的纠错功能。

以Nand Flash接口测试为例,筛选2块Nand Flash接口存在通信问题的芯片和6块正常芯片进行测试,对8颗SoC芯片进行同步测试,测试结果表明,除芯片2与芯片7的Nand Flash存在问题需要进一步排查外,其余芯片功能正常,与预期测试结果相同。测试结果如图6所示。

同理,采取相似验证方案对测试板其他接口功能进行验证。结果表明,本测试板能够完成所有接口功能的测试,达到预期目标。

4.2.2  性能测试

按前文所述测试流程,选取千次完整测试中的误测率、漏测率为稳定性评判标准;千次完整测试的平均测试时间为效率评判标准,完成性能测试。

大批量多次芯片测试结果显示,相比单颗SoC测试板的4分钟测试时间,测试板完成8颗芯片所有功能模块的测试大约需要14分钟,单颗芯片的测试效率提高超过50%;千次测试中,测试稳定性达到95%,准确性保证在98%以上。

5  结  论

本设计的可编程SoC芯片批量测试板,高效利用了DE3开发板的HSTC接口,测试板共焊接8颗芯片底座,可同时对芯片的通信接口、存储单元及协处理器进行测试。每次测试的芯片数量及待测项选择灵活,设计中加入的复位电路模块减少了手工操作次数,测试流程清晰明了,操作简单,测试结果清晰易懂。测试板能够满足日常测试需求,在完成多颗芯片逻辑功能测试的同时,准确率高,稳定性好,大大提高了工作效率。

参考文献:

[1] 巫新民,任艳频,秦俭,等.基于FPGA 的实验室常用芯片测试仪 [J].半导体技术,2010,35(7):637-639.

[2] 牛爽.基于FPGA的数字IC逻辑功能测试仪研制 [D].哈尔滨:黑龙江大学,2020.

[3] 金真平.基于FPGA的电路板多功能测试仪设计与开发 [D].南昌:南昌航空大學,2018.

[4] 肖安兵.基于FPGA的SoC测试验证系统设计 [D].上海:上海交通大学,2016.

[5] 陈波寅,胡晓琛,张智,等.用于FPGA的高效可测性设计 [J].电子与封装,2022,22(9):59-63.

[6] MURALI M,UMADEVI S,SAKTHIVEL S M. Verification IP for AMBAAXI Protocol using System Verilog [J]. International Journal of Engineering Research,2017,12(17):6534-6541.

[7] 李志威,潘中良,叶小敏.超大规模集成电路的板级测试研究 [J].重庆理工大学学报:自然科学,2019,33(9):170-175.

作者简介:易凡(1990—),男,汉族,河南信阳人,中级工程师,硕士,研究方向:嵌入式设计与实现;马静怡(1995—),女,汉族,四川巴中人,助教,硕士,研究方向:目标检测。

收稿日期:2022-09-21

猜你喜欢
现场可编程门阵列上位机
论网络通信技术
D—BLAST基带系统的FPGA实现研究
基于云的短波发射机机房中央空调自动控制系统的设计与实现
基于上位机、NRF多点无线温度监控系统
一种千兆以太网SerDes 接口与电接口的转换方法
基于FPGA的遗传算法在交通控制中的应用
基于ZigBee网络的Android平台粮情移动监测系统
基于FPGA的颜色识别触摸屏系统设计与实现