闫丽琴,冯建呈,王占选,殷 晔,刘 莹,李小龙
(1.北京航天测控技术有限公司,北京 100041; 2.北京微电子技术研究所,北京 100076)
集成电路测试是保证集成电路设计效果、制造质量等的重要手段,是集成电路产业不可或缺的重要组成部分。集成电路测试设备贯穿于集成电路全产业链的始终,尤其对于超大规模集成电路测试来说,其所需测试设备在测试速度、测试精度、自动化程度和测试可靠性等方面有着较高要求[1-2]。
当前高端集成电路测试设备主要集中在芯片生产大国日本和美国,其测试能力也代表了国际上最先进的集成电路测试水平,如日本Advantest的V93000测试系统、美国Teradyne的Ultra Flex测试系统等,上述测试设备在高端集成电路测试市场始终占据领先地位,具有较强的技术和品牌优势。国内少数优秀的测设备制造企业通过多年的研发和积累,目前也掌握了集成电路测试设备的相关核心技术,所研制生产的集成电路测试系统拥有自主知识产权,占据了一定市场份额,如长川科技、华峰测控等,有力推动了国内集成电路测试产业的飞速发展[3]。
而新研集成电路测试系统投入市场测试应用前需开展一系列详细充分地验证试验,开展验证工作的目的就是要保证测试系统的设计能够完全满足系统定义的要求,包括系统的工作指标、系统功能、性能稳定性等,试验验证已经成为测试系统设计流程中设计成本和推向市场时间的一个重要技术壁垒[4]。目前国内许多小型测试系统在进入测试应用前也都采取相应的验证方法开展了一系列测试试验工作,如一种基于PMU的集成电路测试系统,其试验性能分析方法侧重于对集成电路测试精度和测试速度的要求,且测试系统只针对直流参数测试[5];一种基于FPGA的设计系统采用与传统系统对比测试的论证分析方法,验证所设计系统具有更快的测试速度[6];基于LK8810平台的性能验证采用了基于典型数字芯片进行系统化测试的性能测试验证方法,进一步验证系统测试结果的精准性[7]。上述验证方法均从单一角度验证所设计测试系统的合理性和优越性。本文给出一种系统性的综合试验验证方法,分成不同的试验验证阶段,分别验证测试系统的技术指标、系统软硬件功能以及系统所具备的测试能力,进而达到全方位验证测试系统工作指标和功能性能的目的,为后续测试系统能够快速有效地进入市场应用奠定技术基础。
基于模块化构建的国产超大规模集成电路测试系统,能够适用于包含数字、模拟、数模混合等接口和功能的超大规模集成电路的测试需求。测试系统主要由测试头和辅助单元组成的硬件平台、上位机软件平台和测试接入装置等组成,如图1所示。
图1 测试系统组成
其中,硬件平台作为系统的支撑平台,装载系统所有的测试资源,包含数字测试模块、模拟测试模块、射频测试模块、高速串行接口测试模块、DPS模块和PMU模块,此外硬件平台还包括测试头正常工作所必需的辅助单元,如计算机、配电单元、校准单元和散热单元,为待测芯片的供断电、信号收发、功能控制、参数测试等提供硬件基础[8]。软件平台主要由测试开发、测试运行和数据分析3个子平台组成,实现集成电路测试矢量和测试程序的开发调试、测试程序运行控制、测试数据存储分析等功能;测试接入装置是连接测试系统硬件资源和被测集成电路的接口装置。
硬件平台工作原理如图2所示。计算机作为系统的主控制单元,安装上位机测试软件,通过高性能PXIe高速测试总线实现对各测试功能模块的时钟分配、通信、同步等控制功能,进而在测试过程中完成芯片时序、功能、功耗、直流参数等功能性能测试。系统所有测试资源通过各自的测试线缆、转接连接器、弹簧针(Pogo Pin)和相应的结构件连接到统一的测试资源接口,实现系统所有测试资源基于Pogo Pin组件的对外转接。上述所有测试资源安装在测试头中。
图2 硬件平台主要工作原理
测试接口板对接固定在基于Pogo Pin组件的测试资源接口连接器上,在测试接口板上安装针对待测芯片设计的Socket插座[9]。
软件平台由测试开发子平台、测试运行子平台和数据分析子平台组成。其中,测试开发子平台提供多样化的测试程序开发编辑入口,包括芯片引脚Pin、资源映射Package、电源Power、电平Level、时序Timing、矢量Pattern、直流参数配置DC、测试项目Test、测试流程Flow等;测试运行子平台提供测试程序的执行引擎,按照用户配置的测试流程要求,实现测试程序对硬件测试资源的有序控制与调度,并提供一系列调试功能,实现在调试模式下的运行控制,提高测试过程的可操作性;数据分析子平台首先提供一系列可视化调试数据分析工具,完成过程数据和结果数据的分析工作,完成数据报表和日志信息的输出,另外可对测试执行过程中产生的大量测试数据进行统计、相关性和趋势分析。
软件平台的主要工作原理如图3所示。首先将待测芯片的仿真设计文件转换为本系统数字测试资源可以识别的标准测试接口语言(STIL,standard test interface language)格式矢量文件[10],在测试开发子平台开发待测芯片的测试流程,通过流程加载测试矢量文件,在运行前完成测试矢量的编译工作,将编译无误的矢量文件下载至测试头内部相应的功能模块中[11]。测试程序执行过程中,根据软件平台运行环境配置信息,控制测试流程进行单项、全流程等测试操作,完成对仪器资源的调度控制过程,将流程配置参数和矢量数据转换为仪器可执行的具体动作,实现多仪器资源的协同工作,完成对测试资源的调度与管理,读取和存储测试结果数据[12],利用可视化数据分析工具完成调试过程数据分析和测试结果的离线处理及分析。
图3 软件平台主要工作原理
针对所研制的国产超大规模集成电路测试系统开展综合试验验证工作,既包含测试系统本身的仪器技术指标验证、软硬件功能验证,也包括系统测试能力的试验验证。因此,国产超大规模集成电路测试系统综合试验验证过程主要包含3个阶段:测试系统仪器技术指标测试试验验证、系统软硬件功能测试试验验证和系统集成电路测试能力试验验证,如图4所示。
图4 系统综合试验验证阶段
第一阶段:测试系统仪器技术指标测试试验验证,通过外部标准仪器,如数字多用表、示波器、频率计等,对系统提供的仪器模块主要技术指标进行测试验证,确保测试系统提供的仪器模块技术指标能够满足测试指标要求。
第二阶段:系统软硬件功能测试试验验证,主要针对系统软硬件具备的基本功能开展测试验证,采用基于无需复杂测试矢量数据的集成电路,实现对测试系统内部测试板卡的硬件电路功能和软件平台基本功能的验证,达到验证系统软硬件基本功能并优化改进系统设计等目的。
第三阶段:系统集成电路测试能力试验验证,是在第一阶段和第二阶段测试验证的基础上,选取典型超大规模集成电路作为测试试验验证对象,如千万门级FPGA、超高速高精度ADC/DAC等。通过测试系统对具有代表性的超大规模集成电路开展测试试验,完成测试系统对超大规模集成电路测试能力的全面试验验证。
4.1.1 试验验证方法
系统仪器技术指标验证主要针对国产超大规模集成电路测试系统提供的数字测试模块、模拟测试模块、高速串行接口测试模块、射频测试模块、DPS和PMU等各测试模块开展信号指标测试试验验证。通过外部经计量合格的标准仪器作为信号源或信号分析设备,进行各模块技术指标的试验验证,主要验证内容如表1所示。
表1 系统测试模块主要指标测试验证内容
系统仪器技术指标测试试验验证如图5所示,根据不同测试模块的信号特性和指标内容,将模块通过测试工装和测试线缆连接至相应的测试仪器,如对数字信号测试模块进行指标测试时,需将模块连接数字多用表、任意波形发生器、高速数字示波器等标准仪器,进行数据信号速率、电压范围和驱动电流等指标的测试。
图5 系统仪器技术指标测试试验验证原理框图
4.1.2 试验验证分析
以数字测试模块的数据速率技术指标测试试验为例,为验证其最大数据速率指标1.6 Gbps,分别从数字信号的发生和采集两方面进行数据收发速率的测试验证。
通过上位机软件控制数字测试模块输出800 MHz周期方波(1.6 Gbps),使用高速数字示波器测量模块输出信号的频率,以此来验证数字信号测试模块输出信号的最大数据速率;利用外部任意波形发生器输出20 MHz周期波形,通过上位机控制数字测试模块采样该信号,每个采样周期包含80±1个采样点。根据上述测试原理进行数字测试模块输出信号和采集信号最大数据率指标的测试。数字测试模块最大数据率指标测试试验验证原理如图6所示。
图6 数字测试模块最大数据率指标测试试验验证原理
数字测试模块采集数据速率指标测试时,将外部任意波形发生器连接至测试工装,实现模块通道和外部任意波形发生器的连接,控制任意波形发生器输出5 V/20 MHz周期波形,上位机软件控制模块进行信号采集,查看模块的捕获数据,将每周期的采样点数进行记录,查看每个周期是否包含80±1个采样点,验证数字测试模块采集速率是否满足1.6 Gbps最大数据率指标要求。
数字测试模块输出信号数据速率指标测试时,将高速数字示波器通过测试工装、测试线缆与数字测试模块通道连接,在上位机编写1.6 Gbps数字信号发生的测试矢量文件,并下载矢量文件,控制模块输出信号,通过高速数字示波器查看数字通道输出的信号波形,测量模块输出的信号频率。利用高速示波器测量数字测试模块输出的800 MHz周期波形(1.6 Gbps)如图7所示,可以看出所测波形频率f=1/Δx=803.568 MHz(约1.6 Gbps),满足信号输出的数据速率指标。
图7 高速数字示波器测量数字通道输出信号速率
按照试验方法依次测试系统各项仪器技术指标,可以方便、清晰地验证系统仪器技术指标是否满足要求,为后续开展集成电路测试试验奠定基础。
4.2.1 试验验证方法
系统软硬件功能的测试试验验证主要针对测试系统的电路连接关系、软硬件基本功能、测试接口板设计等开展基本验证,主要采用基于验证芯片的试验验证方法。其中,验证芯片考虑采用不需要复杂测试矢量的数字集成电路、并行或低速串行存储器等。针对验证芯片在上位机软件平台开发单独的测试程序,通过对芯片的测试调试过程,完成测试系统工作过程、测试接口连接关系、软硬件基本功能、芯片测试流程等方面的基本功能验证,并根据试验验证结果对系统进行优化改进。系统软硬件功能测试试验验证总体流程如图8所示。
图8 系统软硬件功能测试试验验证总体流程
4.2.2 试验验证分析
以某计数器芯片作为面向本系统基本功能的测试试验验证对象,该芯片主要功能为预置数据同步4位二进制计数器,其测试过程无需复杂的测试矢量数据。该芯片测试验证方案所需硬件资源主要包括数字通道和供电电源,测试资源接入过程采用子母板的接口形式,在上位机软件平台开发芯片测试验证流程示例,主要包括以下测试项目:连接性测试、功能测试、DC参数测试(Iil/Iih、Vol/Voh等)、AC参数测试(Tpd等)等基本测试项。
其中,通过连接性测试验证测试接口板设计、测试资源通道与待测芯片引脚连接关系设计的正确性;通过功能测试验证系统具备测试矢量编译、下载和运行等功能;通过DC参数测试验证DPS模块的供断电功能以及数字测试模块的PPMU功能,进一步验证系统具备DC参数基本测试功能;通过AC参数测试验证系统具备时间量相关参数的基本测试功能。在上位机软件平台运行上述测试项目,根据运行结果不断丰富和完善测试系统的软硬件基本功能、人机交互显示功能等,使得系统满足用户测试的基本需求。通过反复运行测试项目,验证系统运行过程的稳定性。该计数器芯片部分直流参数测试结果如图9所示。
图9 计数器芯片直流参数部分测试运行结果
将测试流程所有参数的运行结果与芯片数据手册电参数特性相比较可知, 芯片参数测试结果均在正常范围内,优化改进后的测试系统能够满足集成电路测试的基本要求,测试运行过程稳定可靠,测试结果精度较高。由此,采用基于验证芯片的试验验证方法能够有效验证并改进测试系统的软硬件功能,使得系统满足集成电路的基本测试需求。
4.3.1 试验验证方法
集成电路测试能力试验验证是在第一阶段和第二阶段测试试验验证的基础上,针对性开展满足超大规模集成电路测试需求的系统测试能力的验证。通过分析典型超大规模集成电路的测试需求[13],验证系统对超大规模集成电路的测试方法、大规模向量处理能力、多模块数字信号同步能力等关键技术,实现代表性产品的高覆盖率测试,最终全面验证系统的测试能力。典型超大规模集成电路主要包括CPU等高端芯片、FPGA等可编程器件、存储类芯片和数模混合类芯片等4类。
1)CPU、SoC、DSP等高端芯片:集高性能运算、通讯、存储、控制以及各种接口于一体,功能强大。在电路设计时通常考虑采用可测试性设计思路,在电路中增加测试结构,方便实现芯片的测试,所采用的测试方法主要有功能点测试、基于扫描链的测试、边界扫描测试等[14-15]。
2)FPGA等可编程器件:具备高密度、高集成度、高速、高带宽和可编程特性,集成多种IP模块。大容量、高速度的FPGA 通常内嵌可配置高速RAM、PLL、LVDS、LVTTL以及硬件乘法累加器等模块,加上其灵活的可配置特性以及先进的开发工具,可很好地解决数字信号处理的并行性和速度问题。上述可配置高性能资源模块一般可通过內建自测试(BIST)来完成高覆盖率测试,进而验证各项功能特性是否满足要求[16]。
3)存储类芯片:SRAM、DRAM、FLASH等主流存储器芯片朝着容量更大,体积更小,速度更快,功耗更低的趋势快速发展。存储器测试需要给器件提供大量的测试激励并读取大量的单元数据信息,其功能测试是按照逐个周期施加向量。测试向量一般基于不同的测试算法生成,主要包括全0全1(MSCAN)算法、March算法、棋盘格算法、漫游(GALPAT)算法等[17-18]。算法的选择一方面要满足故障覆盖率广,另一方面测试效率要尽可能高。
4)A/D、D/A等数模混合类芯片:具备数字电路的规模,具备模拟电路的精度,同时其测试参数横跨时域、频域的传输特性,测试难度较大,尤其对于目前应用较广的高速高精度转换器,其接口速度已大大超过数字信号的处理速度,进一步增加了测试激励的难度。在该领域测试技术研究方面,国内外已经做了大量的研究工作,对于高速高精度转换器的测试研究主要集中于参数的测试方法、测试理论以及动态测试技术等方面[19]。
通过针对性的分析上述不同类型超大规模集成电路的特点及测试特性,选取具有代表性的国产超大规模集成电路覆盖上述类型,开发相应测试试验方案,完成代表性超大规模集成电路的高覆盖率测试,从而验证本测试系统对超大规模集成电路的测试能力。
4.3.2 试验验证分析
本文以国产BQ5V系列某型FPGA作为系统测试能力的验证对象之一,它是等效系统门数达到千万门级的SRAM型FPGA,内部包含了可编程逻辑模块(CLB)、通用输入输出模块(IOB)以及各种IP资源,可通过JTAG、串行模式或并行模式现场配置,灵活实现各种所需功能,主要性能指标与国外Xilinx公司产品兼容,适用于逻辑控制、数据处理等多种应用。主要试验验证内容及试验方案如下:
1)连接性测试:利用数字测试模块PPMU功能,完成被测FPGA的连接性测试;
2)供电功能:利用DPS模块,完成FPGA内核、外围IO的供电功能;
3)功能测试:利用数字测试模块,结合SCAN/BIST测试技术,完成CLB模块、IR模块、DLL模块、IOB模块和回读模块等功能测试内容;
4)参数测试:利用数字测试模块完成DC、AC参数测试内容。其中,DC参数包括输出电平、漏电流、功耗等;AC参数包括CCLK输出延迟、PLL最大锁定时间、PLL最大输出频率等。
千万门级FPGA测试验证试验方案原理如图10所示。
图10 FPGA测试验证试验方案原理框图
根据上述测试验证试验方案,设计并研制测试系统与待测FPGA芯片适配连接的测试接口板,在上位机软件平台开发FPGA的测试项目和测试流程,测试验证需完成FPGA芯片的电参数测试及功能测试[20-21]。SRAM 型FPGA电路与普通数字电路测试最大的区别在于所有的测试参数和功能必须先运行配置程序,使被测电路处于特定的工作状态后才能施加相应测试条件和激励,从而完成测试。
该型FPGA电路IO引脚共766个,因此测试验证过程需由数字测试模块提供766 pin数字通道,至少涉及6块数字板卡(每板128 Pin),用于进行DC参数、AC参数和功能测试。FPGA芯片部分直流参数测试结果如图11所示。
图11 FPGA参数测试验证部分运行结果
将FPGA测试流程所有参数的运行结果与芯片手册电参数特性数据相比较可知, 芯片参数测试试验验证结果均在电参数特性规定的范围内,该测试系统能够满足国产千万门级FPGA芯片的测试需求,具备国产超大规模FPGA测试能力。通过对FPGA芯片的测试流程开展调试和测试试验,进一步验证了系统在针对超大规模集成电路的测试方法、大规模矢量数据处理、多数字模块信号同步处理[22]以及批量数字IO信号处理等方面的测试能力。通过试验方案和验证结果可知,选取典型超大规模集成电路作为验证对象开展试验验证,能够有效完成测试系统对超大规模集成电路测试能力的验证试验,达到第三阶段的试验验证目的。
对于研制集成电路测试系统在投入实际测试应用之前急需解决的试验验证问题,本文提出了一种综合试验验证方法,从系统仪器技术指标、系统软硬件功能和系统测试能力3个阶段出发,更加系统、全面地验证测试系统的技术指标和功能性能。该方法也为所有新研集成电路测试系统的功能性能验证提供了一种有效的试验验证思路。按照所述试验验证方法,在测试系统投入应用前开展全方位、深层次的测试试验验证工作,重点从各类典型集成电路的故障模型覆盖、测试方法、大规模矢量转换优化等方面进行深入试验,进一步验证国产超大规模集成电路系统设计的合理性和实用性。