IC测试仪测试方案.docx
《IC测试仪测试方案.docx》由会员分享,可在线阅读,更多相关《IC测试仪测试方案.docx(12页珍藏版)》请在冰豆网上搜索。
![IC测试仪测试方案.docx](https://file1.bdocx.com/fileroot1/2023-4/17/a1712944-ba81-42d3-8403-200978e47c13/a1712944-ba81-42d3-8403-200978e47c131.gif)
IC测试仪测试方案
IC测试仪及其配套软件测试方案
一、软件调试
二、软硬件通信测试方案
三、测试仪功能测试方案
电子科技大学
2007年7月
一、软件调试
测试仪软件是基于VC++6.0设计生成的基于Windows2000的视窗软件平台,其大局部功能可在与硬件无关的条件下,在VC++6.0内调试,局部功能需与测试仪硬件结合进展调试。
1.1界面调试
1.参数软件
调试手段:
软件调试。
调试目标:
集成pattern编辑器,可按与TR6010兼容的pattern的书写格式录入pattern,非法录入时有信息提示,录入过程中可随时存储为project.ptn文件。
调试手段:
软件调试。
2.测试程序设置界面,分测试仪资源设置和测试程序生成局部。
Ø测试仪资源设置局部
调试手段:
软件调试。
调试目标:
集成资源设置图形窗口,完成原TR6010对不同测试bin的测试模式设置、测试时间设置、通道设置、电平位移设置〔Vih、Vil、Voh、Vol设置〕、PMU设置〔relay设置、force设置、measure设置〕等,并可存储为project.test;
Ø测试程序生成局部
调试手段:
软件调试。
调试目标:
集成编译系统,读取project.test及project.ptn文件,生成对应于测试仪的测试指令程序project.prog。
3.生产界面,分待测工程选择、待测工程运行、芯片测试状态实时显示局部。
Ø待测工程选择
调试手段:
软件调试。
调试目标:
能在用户指定的目录下选定待测工程。
Ø待测工程运行
调试手段:
软件调试。
调试目标:
调用PCI通信系统,将待测工程指令程序下载至测试仪,调用RS232通信系统,获取prober状态,为测试控制函数〔见第2节〕提供测试仪是否运行测试程序的控制标志。
Ø芯片测试状态实时显示
调试手段:
软件调试。
调试目标:
对读回的测试结果进展译码,实时显示测试结果,存储设计结果;生成统计报告文件、map文件、位图文件。
4.报表输出界面
调试手段:
软件调试。
调试目标:
选择并显示测试报告文件、map文件及位图文件。
5.帮助界面
调试手段:
软件调试。
调试目标:
集成简单的软件操作说明页面。
6.定位回测界面
调试手段:
软件调试。
调试目标:
具体功能实现在第一阶段中暂不涉及,仅设计根本界面。
1.2后台函数调试
1.测试控制函数
调试手段:
软件调试。
调试目标:
通过调用PCI通信函数、RS232通信函数,获得相应的控制字,完成测试仪与PC的数据交互,以及测试仪与prober的协调控制。
2.PCI通信函数
调试手段:
软硬件调试。
调试目标:
对测试仪进展写操作,下载测试工程程序,返回标志字至测试控制函数;对测试仪进展读操作,读回测试结果,返回标志字至测试控制程序。
3.RS232通信函数
调试手段:
软硬件调试。
调试目标:
对prober进展读操作(写操作在第一阶段中暂不涉及),返回prober状态标志字至测试控制函数。
二、软硬件通信测试方案
通信局部的整体电路如图2-1所示,它由两块板卡组成,第一块板卡为PCI板卡,它由PCI9054,FPGA1,电平位移电路,逻辑组合电路以及局部LVDS电路构成。
第二块板卡由测试卡,FPGA2以及电平位移电路和局部LVDS电路组成。
从图2-1可以看出此通信通路涉及到PC与PCI9054的通信,PCI9054与FPGA1的,FPGA1与FPGA2的通信以及FPGA2与测试卡的通信。
通信的过程是相当复杂的,为了测试各局部是否满足相应的功能,特制定了前、中、后期的测试方案来检测。
图2-1读数据原理图〔测试卡向PC机传送数据〕
※前期的测试方案
前期主要调试PC与PCI9054,以及PCI9054与FPGA1的通信。
PCI9054与PC机的接口的连接都是标准接法,它们的联接是否正确不便直接的测试,可以通过PCI9054与FPGA1的通信来验证。
所以我们只要关注PCI9054与FPGA1的通信就即可。
首先我们必须了解它们之间有哪些信号的联接以及各自具有哪些相应的功能。
信号列表:
信号名功能
ADS*地址选通信号,有效时表示一次传输的开场。
BLAST*突发完毕信号线,有效时表示本次突发传输已到最后一个数据周期,下一个周期完毕本次突发传输。
LW/R*读/写选择信号,当它为高时为写,为低时为读。
LCLK时钟信号。
LBE[3:
0]*通过它来控制数据长度。
LBE3*使能LD[31:
24],LBE2*使能LD[23:
16],LBE1*使能LD[15:
8],LBE1*使能LD[7:
0]。
CCS*它是一个输入信号,当它被置为低电平时,PCI9054内部的存放器就被选择了。
在本地端对PCI9054进展配置时使用。
READY*当PCI9054为总线上的主设备时,表示在总线上读的数据有效或者表示写数据传输完成。
当本地总线进入PCI9054时表示在总线上读的数据有效或者表示写数据传输完成。
LSERR*积偶校验错误时发起。
DP[3:
0]积偶校验位,PCI9054为偶校验。
它在每次当本地总线从PCI9054读时以及PCI9054向本地总线写时发起。
在PCI9054从本地总线读时以及本地总线向PCI9054写时检查。
如果检测到错误就发出LSERR*中断〔只有在READY*有效时才行〕
WAIT*作为输入时,它被发起时,在本地PCIinitiator进入PCI总线插入等待状态;作为输出时,做为PCI内部等待状态的标志位。
LINE*本地总线的中断信号,映射到PCI端的INTA信号。
由于,在我们的设计方案中用到了数据的积偶校验以及中断信号,下面我们特截取了关于积偶校验以及LOCAL端的中断引起PCI端中断的时序图来加以说时相应信号的功能,以下是相应的波形图。
图2-2奇偶校验位的产生
由图2-2我们可以看出在ADS*为低时,发起一次传输;BLAST*为低时表示有效时表示本次突发传输已到最后一个数据周期,下一个周期完毕本次突发传输。
从图中我们还可以看出,在每个数据发出时,PCI9054都自动的产生相应的积偶校验位,如图中的DP0与DP1。
图2-3本地中断引起PCI端的中断
由图2-3我们可以看出当一个LINT*本地端的中断信号被发起之后,立即引起一个PCI的中断INTA*来向PC机发起中断。
了解了主要的通讯信号之后,接下来就是如何检测PC机与FPGA1的通信了。
由于我们在前期的实验准备阶段在熟悉PCI9054通信的时候已经设计过一个存储器,我们可以借用前面所设计的程序在FPGA1里面设计一个存储器。
在这里我们先做Single传输的实验,我们利用PL*公司所开发的软件PL*MON将PCI9054修改成Single的模式。
通过DriverWizard对存储器中的任一个地址单元进展读写,然后观察它的波形是否符合相应的功能,理想的PCITargetSingleWriteCycle模式的写应该为图2-4所示的波形图。
然后再利用PL*公司所开发的软件PL*MON将PCI9054配置成突发的方式,由于利用DriverWizard只能对单个字节进展相应的读写,所以我们就在PC机端编写了一个应用程序,持续的发数据,然后对它的波形进展观察,预期的突发写波形如图2-5所示。
图2-4PCITargetSingleWriteCycle
图2-5PCITargetBurstWrite
※中期的测试方案
在前期调通了PC机、PCI9054以及FPGA1的通道之后,接下来的任务就是测试FPGA1与FPGA2的通信是否正常。
由于PC向测试卡发数据的过程〔写数据过程〕,主要涉及的就是这PC机、PCI9054、FPGA1的通信,以及FPGA1与FPGA2的通信,所以这个时期的任务主要是检测写数据通道是否顺畅,是否符合我们要要求的功能。
由于在两块板卡的时钟不一样,所以这就涉及到了异步通信的问题。
我们在FPGA1中设计了一个异步的FIFO。
下面先来讨论一下关于异步FIFO的设计。
〔1〕异步FIFO的设计
异步FIFO是一种先进先出的电路,使用在需要数据接口的局部,用来存储、缓冲在两个异步时钟之间的数据传输。
在异步电路中,由于时钟之间的周期和相位完全独立,因而数据的丧失概率不为零。
如何设计一个高可靠性、高速的异步FIFO电路便成为一个难点。
图2-6为异步FIFO的原理图。
图2-6异步FIFO原理图
从图2-6可以看出:
异步FIFO整个系统分为两个完全独立的时钟域—读时钟域和写时钟域;FIFO的存储介质为一块双端口RAM,可以同时进展读写操作。
在写时钟域局部,上写地址产生逻辑产生写控制信号和写地址;读时钟局部由读地址产生逻辑产生读控制信号和读地址。
在空/满标志产生局部,由读写地址相互比拟产生空/满标志。
下面一个异步FIFO的端口程序,由一个主存储器以及读写逻辑组成,还包括各种FIFO标志逻辑。
Modulefifo(reset,wr_clk,rd_clk,data_in_en,data_in,data_out,data_out_en,empty,full,aio,led);
inputreset,wr_clk,rd_clk,data_in_en,data_out_en;
input[31:
0]data_in;
output[31:
0]data_out;
outputempty,full;
inputiol
outputled;
FIFO的程序主要包括读写使能〔data_in_en、data_out_en〕、独立的读写数据线〔data_in、data_out〕、读写时钟〔wr_clk、rd_clk〕以及状态标志信号空/满。
〔2〕LVDS工作原理
由于两块板卡的连线的距离长,考虑到信号有可能被衰减,特采用了LVDS技术来传输数据。
现对LVDS技术作一个简单的介绍。
图2-7LVDS工作原理示意图
如图2-7所示其驱动器由一个恒流源〔通常为3.5mA〕驱动一对差分信号线组成。
在接收端有一个高的直流输入阻抗〔几乎不会消耗电流〕,所以几乎全部的驱动电流将流经100欧的终端电阻在接收器输入端产生约350mA的电压,当驱动状态反转时,流经电阻的电流改变,于是在接收端产生一个有效的“0〞或“1〞的逻辑状态。
由于LVDS分为发送器和接收器,为单向传输的器件,在图2-8中可以看出特别在硬件图中设计了逻辑组合电路来控制它的使能和流向。
〔3〕写过程
从PC向数据写的流程如图2-8所示。
数据从PC机发出经过PCI9054,当经过PCI9054时,PCI9054自动产生一个偶校验位〔PCI9054为偶校验〕DP[3:
0],它跟数据一起发送到FPGA1里面的FIFO中。
这时PCI9054的ADS*信号产生一个写使能信号wr_en,同时从测试卡发送过来的读使能信号,以及读时钟信号。
FPGA1里面的FIFO在这几个信号的作用下,开场向下发送数据。
数据经过LVDS传输到FPGA2。
在FPGA2里面设计了一个偶校验电路,用了检测数据是否出错。
如果出错则发出错误信号ERRO往回传,经FPGA1传递到PCI9054的LINT*端,当PCI9054检测到LINT*被之后,就向PCI一端发起INTA*,PC机接到中断后重新发起数据。
如果检查没有错误,则数据继续往下传递。
由于32位数据中有数据也有地址,这时候就将地址送到译码电路和控制电路,翻开八块测试卡中与传递过来地址相符合的测试卡开关。
相应的测试卡就开场接收PC机传递过来的数据。
图2-8写数据原理图〔测试卡向PC传数据〕
我们所设计的中期的测试FPGA1与FPGA2的通信方案,就是基于相对简单的写过程来进展的。
我们在FPGA1里面设计一个异步FIFO,FPGA2里面设计一个存储器和一个奇偶校验电路。
对FPGA1里面的FIFO我们利用ADS*信产生的写使能以用测试卡产生的读使能,和读时钟来控制FIFO,来检测异步通信的正确性。
当从FPGA1端数据传递过来的时候,如果检测没有错误则放到存储器中,如有错误则发出错误信号发送到PCI9054的LINT*端,引起PCI9054向PCI的中断INTA*,然后PC机重新发送数据。
※后期的测试方案
后期的测试方案主要是针对读过程来进展的,这个过程全面检测两块板卡的通信功能。
如图2-1所示,当测试卡上的数据准备完毕之后即发出一个中断信号interrupt,传递到PCI9054的LINT*端从而引起INTA*的中断,当PC机接收到中断之后即接收数据。
在FPGA2中设计了一个偶校验产生电路,当数据传送到FPGA2里面时,就产生偶校验位DP[3:
0],然后经过LVDS传递到FPGA1里面的FIFO中。
与写过程相对应的,PCI9054与测试卡产生相应的读写使能信号,以及读写使能时钟来控制FIFO。
数据传递到FPGA1中先经过一奇偶校验电路,如果检测有错就发出错误信号ERRO,如果没错就继续从FIFO传递到PCI9054,由于PCI9054自有偶校验,当检测到数据有错时,就向LOCAL端发出LSERR*信号〔也就是偶校验错误信号〕,向PCI端发出PERR*信号。
当测试卡接收到错误信号之后,就执行重新发送数据的操作。
后期的测试方案主要是针对上述的读过程进展。
后期的测试还有个测试内容就是,从读写过程的原理图可以看出其中的ERRO信号与interrupt信号都占用了LINT*端口,从而可能异致PC机可能分辨不出到底是哪个信号引发的中断。
我们在这里设计了两种方案来解决这个问题。
方案1:
PC机对中断信号都先执行一个读的操作。
对于ERRO信号和interrupt信号产生时,在FIFO中产生两个不同的数据,等待PC来读。
当PC执行读操作之后即可根据所读的不同数据执行不同的操作。
方案2:
在PC机软件上定时读和写的时间,在规定的时间内读或者在规定的时间内写。
通过测试和比拟我们将采用一个综合指标比拟高的方案来解决这个问题。
三、测试仪功能测试方案
1.测试仪功能测试的根本方法
※常规测试方法〔测试仪开发前期〕
在测试仪开发前期将采用常规测试方法,其测试平台的根本构成如图3-1所示。
图3-1常规测试方法
如图3-1所示,常规测试平台由PC机、FPGA开发板和逻辑分析仪或示波器等构成。
FPGA开发板用来接收由PCI通信卡送出的数据,而FPGA开发板的输出信号则可通过逻辑分析仪、示波器等仪器来进展监测;同样,也可对FPGA的相应端口人为的施加鼓励,观察PC端数据接收情况。
此平台可测试PC与测试仪通信板卡之间的通信,当PC发送测试pattern向量时,可在FPGA开发板的相应端口用逻辑分析仪测试输出的信号是否为期望信号,可测试pattern向量接收,开关I/O设定,程控电源电压设定,总线控制,测试结果回收等工程,确定通信系统无误。
※生产测试方法〔测试仪开发后期〕
在测试仪开发后期将采用生产测试方法,其测试平台的根本构成为PC机、测试仪、探针台、DUT等。
2.本地内存测试方案
PEB板载本地内存用于存储由PCI发送过来的测试向量和控制设定数据,在上述FPGA通信系统完全通过之后,可将内存电路接入到FPGA测试板卡的输出端口,利用FPGA通信将数据写入到内存当中,再通过FPGA程序读取内存中指定地址的数据,PCI通信回收到PC中,确定内存中的数据被正确写入。
图3-2本地内存测试
3.总线控制器/多内存读写测试方案
在单个内存测试通过之后,可进展多内存测试。
由总线控制系统选择每个FEB板卡的地址,确定来自PCI通信系统的数据能准确地写入到指定的PEB板卡内存当中,同样,储存在PEB板载内存上的测试结果也由PCI通信系统回送到PC中生成测试结果文件。
由通信板卡上的FPGA作为总线控制的master设备,首先发送指定的PEB板卡地址至中线,将指定PEB内存接入总线,准备数据发送。
总线测试可在上一节单内存读写通过的根底上,挂接多个地址不同的内存,通过通信板卡上的FPGA总线控制程序,将不同的数据写入到不同地址的内存中。
然后再由PCI通信系统回读每个内存里的数据至PC,确定数据写入无误。
图3-3总线控制器/多内存读写测试方案
4.PEB板卡主控制器测试方案
PEB板卡的工作方式为读取本地的内存中的测试向量数据,并根据内存中的数据输出指定的测试波形,并将测试结果回送到本地内存中,换句话说,PEB板是将接收到的数据和指令具体翻译为用于测试的信号。
所以PEB只应与本地内存发生交互,而不应干预通信系统。
可使用的FPGA通用开发板,在PC中人为的施加测试向量数据以模拟从板载内存中送出的数据,然后使用示波器观察指定的引脚是否输出了正确的测试波形。
同样,可人为的在FPGA的信号回收端口添加回收信号,测试FPGA内部的期望响应和实际响应比拟功能是否正确。
图3-4PEB主控制功能测试
在利用PC模拟鼓励下的主控制功能测试通过之后,可将PEB控制FPGA和内存对接,对整个系统进展测试,从PC向PEB本地内存发送数据,由FPGA控制器读取内存中的测试向量及控制数据,同样用示波器观察FPGA输出测试波形是否正确。
图3-5带本地内存的PEB主控制功能测试
5.程控电源、振荡器测试方案
程控电源为模拟模块,可通过FPGA开发板对程控电源的D/A转换器写入电压及电流的设定值,然后利用常规模拟电路测试方法,用普通电表对输出的电压或电流进展精度测量,通过外接可变电阻测量电源输出功率能力。
确定电源无误之后,可使用电源对E818电平转换芯片直接供电,由上述已经通过的系统对E818端口供电,用示波器测试E818输出,确定E818端口能输出指定电平的测试波形。
振荡器仅为PEB系统提供时钟信号,可采用普通晶振实现,利用示波器可测试其输出波形是否正确。
6.PMU测试方案
PMU就数字Pattern测试而言相对较为独立,可参照模拟测试仪工程中的相关模块,用FPGA开发板向D/A转换写入数据,用电表测试相关输出电压电流,同样,可使用外接精细电流/电压源对PMU测试端口施加电压/电流鼓励,由A/D转换将数据通过FEB控制FPGA经PCI通信回送到PC中,检测A/D转换是否正确即转换精度能否到达要求。
7.I/O继电器测试方案
同Pattern测试数据一样,I/O设定信号由PCI写入到PEB本地内存中,由PEB板载FPGA译码,在指定的端口给出继电器的开关信号,该测试可在进展本地FPGA和PC通信时完成。
而对于继电器的测试,可在继电器控制口施加控制信号,用电表测试两端电阻大小,根据电阻的大小来确定继电器是否开关正确。
8.双PMU协作、模拟总线、PMU通信测试方案
在PMU、程控电源、I/O继电器测试通过之后,可对整个模拟参数测试系统进展整体测试。
施加的测试电压及电流由PC端给出,同样通过PCI通信及总线控制,将测试数据分别送到各PEB本地内存中,由PEB本地FPGA读取内存中的数据,根据要求设定I/O端口,将PMU电压或电流送到模拟总线或本地测试输出端口,然后用精细电表测试PMUforce输出口电压或电流是否正确,同时外接精细电阻,将电阻上的电流或电压值由PMUSense回收到FPGA中,然后通过PCI通信回送结果至PC。
图3-6双PMU协作测试
9.软硬件协同的生产测试方案
生产测试是测试仪开发后期的测试。
生产测试主要是实现软硬件协同在真实的生产环境中进展。
生产测试的平台构成包括:
PC机、测试仪配套软件、测试仪、探针台、DUT等。
生产测试的内容:
·Function测试
·Idd测试
·Voh测试
·Vol测试
·Ioh测试
·Iol测试
·Iih测试
·Iil测试
·连续测试
·定位回测
〔THEEND〕