收藏 分销(赏)

数字系统测试与可测性设计实验指导书ATPG应用.doc

上传人:胜**** 文档编号:1765923 上传时间:2024-05-08 格式:DOC 页数:22 大小:593KB
下载 相关 举报
数字系统测试与可测性设计实验指导书ATPG应用.doc_第1页
第1页 / 共22页
数字系统测试与可测性设计实验指导书ATPG应用.doc_第2页
第2页 / 共22页
数字系统测试与可测性设计实验指导书ATPG应用.doc_第3页
第3页 / 共22页
数字系统测试与可测性设计实验指导书ATPG应用.doc_第4页
第4页 / 共22页
数字系统测试与可测性设计实验指导书ATPG应用.doc_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、数字系统测试与可测性设计 实验指导书(二)实验教师:2012年4月9日I 实验名称和目的实验名称:ATPG应用实验目的:了解Mentor公司的FastScan-(ATPG生成工具)业界最杰出的测试向量自动生成工具。了解测试各种基准电路的标准输入格式,运用FastScan工具生成测试向量。深入理解单固定故障模型相关概念。II实验前的预习及准备工作:1、 充分理解课堂上学习的故障模型相关概念。2、 Mentor公司的测试相关工具的介绍缩略语清单:ATPG:Automatic Test Pattern GenerationATE:Automated Test EquipmentBIST:Built

2、In Self TestCUT:Chip/Circuit Under TestDFT:Design For TestabilityDRC:Design Rule CheckingPI:Primary InputPO:Primary Output组合ATPG生成工具FastScanFastScan是业界最杰出的测试向量自动生成(ATPG)工具,为全扫描IC设计或规整的部分扫描设计生成高质量的测试向量。FastScan支持所有主要的故障类型,它不仅可以对常用的Stuck-at模型生成测试向量,还可针对transition模型生成at-speed测试向量、针对IDDQ模型生成IDDQ测试向量。此外F

3、astScan还可以利用生成的测试向量进行故障仿真和测试覆盖率计算。另外,FastScan MacroTest模块支持小规模的嵌入模块或存储器的测试向量生成。针对关键时序路径,Fastscan CPA模块可以进行全面的分析。主要特点:支持对全扫描设计和规整的部分扫描设计自动生成高性能、高质量的测试向量;提供高效的静态及动态测试向量压缩性能,保证生成的测试向量数量少,质量高;支持多种故障模型:stuck-at、toggle、transition、critical path和IDDQ;支持多种扫描类型:多扫描时钟电路,门控时钟电路和部分规整的非扫描电路结构;支持对包含BIST电路,RAM/ROM和

4、透明Latch的电路结构生成ATPG;支持多种测试向量类型:Basic,clock-sequential,RAM-Sequential,clock PO,Multi-load;利用简易的Procedure文件,可以很方便地与其他测试综合工具集成;通过进行超过140条基于仿真的测试设计规则检查,保证高质量的测试向量生成;FastScan CPA选项支持at-speed测试用的路径延迟测试向量生成;FastScan MacroTest选项支持小规模的嵌入模块或存储器的测试向量生成;FastScanDiagnostics选项可以通过分析ATE机上失败的测试向量来帮助定位芯片上的故障;ASICVect

5、or Interfaces选项可以针对不同的ASIC工艺与测试仪来生成测试向量;最新的ATPG Accelerator技术可以支持多CPU 分布式运算;智能的 ATPG专家技术简单易用,用户即使不懂ATPG,也能够由工具自动生成高质量的测试向量;支持32位或64位的UNIX平台(Solaris,HP-PA)及LINUX操作平台;FastScan的ATPG流程由上图可知,在启动FastScan时,FastScan 首先读入、解释并检查门级网表和一个DFT库。如果遇到问题,FastScan会退出并发布一个消息。如果没有遇到问题,FastScan直接进入到配置(Setup)模式。在配置模式,可以使用

6、交互方式或者使用Dofile批处理方式,来建立关于电路和扫描的基本信息,以及指定在设计展平(flattening)阶段时影响生成仿真模型的条件。完成所有配置后,退出配置模式就直接进入到DRC检查阶段,进行DRC检查。如果检查通过,那么直接进入到ATPG模式。进入ATPG模式后由上图可看出,有四个过程:生成错误列表,生成测试模式,压缩测试模式和储存测试向量。FastScan的输入需要以下几个文件:带Scan chain 的电路网表,库描述文件和FastScan的三个控制文件(*.dofile,*.testproc,Timplate),下面分别进行详细解释。1.电路网表(*.v)已经带有扫描链的V

7、erilog格式的网表。2.库描述文件(fs_lib)用于连接厂家提供的Mentor模型库。3.timeplate文件timeplate文件描述了ATPG向量中各时间点(输入跳变点,输出取样点,时钟沿位置,周期等) timescale 和测试过程文件(procedure file)文件名,可以根据需要加以修改。FastScan是以事件为基础的。其时序模型是基于以测试周期划分事件的,主要包含了下列一些事件:force_pi:对PI(Primary Input)输入值。measure_po:测量PO(Primary Output)的输出值。capture_clock_on:把捕获时钟打开。capt

8、ure_clock_off:把捕获时钟关闭。ram_clock_on:把用于读写RAM的时钟打开。ram_clock_off:把用于读写RAM的时钟关闭。其基本格式如下:timeplate “timeplate_name”=timeplate_statement;.end;以下是一个实例:/ Example Timeplare/ 指定了以后所有的时间单位为纳秒(ns),刻度为1,这一步是必须的。set time scale 1nS;/ 指定采样(strobe)窗口的宽度为1,由于前面定义了时间刻度为1ns,所以strobe窗口实际宽度为1nsset strobe_window time 1;/

9、 定义了名字为tp0的timeplate文件timeplate tp0 =/ 定义了在0时刻对PI输入 force_pi 0;/ 定义了在80时刻对PO采样 measure_po 80;/ 定义了在100时刻把捕获时钟打开 capture_clock_on 100;/ 定义了在120时刻把捕获时钟关闭 capture_clock_off 120;/ 定义了周期为200,即在200时刻所有动作结束,重新开始新一周期动作 period 200;end;/ 指定后面要用到的测试过程文件名为design.testproc,scan group名为grp1set procedure file grp1

10、design.testproc;4.design.dofile.dofile文件主要是Mentor提供的一个批处理文件,可以自动控制FastScan的操作。下列design.dofile中主要描述了Scan chain的组成管脚和group定义(见下例中 add scan chains 命令和add scan group命令)。时钟的定义及其值,由于FastScan认为所有改变时序元件的状态的信号都为时钟,包括了复位信号,置位信号和系统时钟信号等。reset信号表示为时钟,其值赋为无效电平。在测试状态下需要保持恒定逻辑值的管脚如TEST_ENABLE,测试覆盖率的设定。/sample .dof

11、ile/ 定义了scan groupadd scan groups grp1 design.testproc/ 定义了Scan chain的组成管脚add scan chains chain1 grp1 SCAN_IN SCAN_OUT/ 使RESET信号无效add clocks 1 RESET/ 使SCAN_CLOCK信号有效add clocks 0 SCAN_CLOCK/ 设置TEST_ENABLE为恒1add pin constraints TEST_ENABLE C1/ 设置最大覆盖率set atpg li -test_coverage 905. 测试过程文件(*.testproc)测

12、试过程文件定义了扫描电路的操作,主要包括时钟的定义和一些管脚的逻辑值设定, 可以手工生成,也可自动生成。测试过程文件仅仅包含了扫描相关事件的时序信息,然而ATPG过程本身不需要测试过程文件来包含实际时序信息,自动测试设备(ATE)和某些仿真器需要这些信息。因此必须修改用于ATPG的测试过程文件来包含实际时序信息。 定义了扫描电路的操作。测试过程文件有自己的规则如: 每一句必须占一单行,双斜杠/后面的内容都是注释,所有语句必须在procedure和end之间,可以有空白行等等。其基本格式如下:procedure =procedure_statement;.end;在一个测试过程文件中通常有以下几

13、个过程: Test_Setup(optional)这个过程用来为Load_Unload过程设置非扫描元件的状态。如果在设置了管脚约束之后运行ATPG,需要在这个过程中限制这些管脚,否则FastScan自动会为你限制这些管脚,但可能会导致时序冲突。在下面这个实例中,设置了SCAN_ENABLE和TEST_ENABLE的初始值,并定义了周期。procedure test_setup = / at time 0 force the SCAN_ENABLE a value of 0 force SCAN_ENABLE 0 0; / at time 0 force the TEST_ENABLE a v

14、alue of 1 force TEST_ENABLE 1 0; / 表明整个周期在400ns结束,即周期为400ns period 400;end; Shift(required)这个过程描述了如何通过翻转时钟,在输入端输入值以及采样输出端等方式来将数据顺着扫描链移动一个位置。其数据流向如下图:1 移位过程在这个过程中,必须要包括force命令,force_sci命令(或者force_sci_equiv命令)和measure_sco命令。在下面这个实例中,定义了一个典型扫描移位操作。由于我们前面定义了时间刻度为1ns,所以在测试过程文件中所有的时间都以1ns为刻度,即所有时间数字都倍乘1ns

15、。procedure shift = / force scan chain input at time 20ns force_sci 20; / measure scan chain output at time 40ns measure_sco 40; / pulse the clock force cp.0 1 100; force cp.0 0 200; / a unit of dead time for stability period 400;end;针对上面实例的详细时序见下图:1 移位过程时序显然在这个过程包含了四个扫描事件:在20ns时刻输入,在40ns采样,时钟在100ns变

16、为1,在200ns变为0,周期为400ns。图中引入X是为了表示测试过程文件执行的顺序性,X表示任何一个时刻。 Load_Unload(required)这个过程描述了如何装载和卸载扫描链。为了扫描链顺利装载,必须为移位寄存器保持在一个合适的状态,在这个状态时钟、复位和RAM的写信号等信号无效,而且如果扫描输出端是双向端口,则双向端口处在输出状态。然后可以使用apply shift语句来指定移位周期数,这个数目等于所有扫描链中的最大扫描元件数目。在下面这个实例中,定义了一个典型的load_unload过程,其中假设所有扫描链中的最大扫描元件数目是N。procedure load_unload

17、= / force clocks off at time 0 force SCAN_ENABLE 1 0; force RESET 1 0; / force scan clocks on at time 0 force SCAN_CLK 0 0; / shift data thru each of N cells, N is the maximum scan cell number in all chains apply shift N 200; period 200;end;注意,为apply语句指定的时间仅仅是相对于load_unload过程的时刻。因此,为load_unload过程指定的

18、周期200ns并不包含执行内嵌apply命令的时间。实际的周期是(200+400*N)ns,其详细时间关系见下图:1 load_unload过程的时间顺序示意图由于开始shift时刻是200ns,而period也是200ns,因此在shift过程结束的同时load_unload过程结束。上面三个文件可分开成三个测试过程文件,也可合成一个扫描测试文件。其中在编辑时需注意各值的设定和单链上最大cell数的设定。以上各文件除电路网表外均可以人工编辑生成,也可以运行一次DFTadvisor得到模版文件加以修改。有了以上各控制文件就可以用FastScan生成ATPG测试向量。Design for Tes

19、t可测性设计技术随着SoC/ASIC设计技术的迅猛发展,可测性设计(Design-For-Test)逐渐为SoC/ASIC设计流程不可缺少的必要环节, DFT的应用也逐渐变得深入, Mentor Graphics公司作为全球SoC/ASIC设计中DFT领域的领导者, 一直以来倡导高质量和低成本(High Quality & Low Cost)的DFT设计理念,并拥有业界最为优秀和完善的全线DFT设计工具, 多年来一直居于业界领导地位,引领着EDA行业DFT工具的技术发展方向。测试综合工具DFTAdvisorDFTAdvisor利用友好的图形用户界面引导完成可测性分析并优化测试结构的插入,执行全

20、面的测试规则检查,从而保证在ATPG之前不存在任何遗留的可测性设计问题。DFTAdvisor 测试综合工具自动插入测试结构电路,支持全扫描或部分扫描的测试逻辑,能够自动识别电路中的时序单元并自动转换成可扫描的单元,并能够把电路中可扫描的单元串接成扫描链,从而大大增强了IC和ASIC设计的可测试性。此外,利用它在设计过程的早期阶段进行可测性分析,测试综合生成和测试向量自动生成之前发现并修改违反测试设计规则的问题,尽可能提高ATPG的效率并缩短测试开发的周期。III实验项目一、 熟悉FastScan的图形化界面(GUI)二、 演示生成测试向量的过程(以pipe_net_noscan.v 文件为例)

21、扫描插入之前做的准备进入以下路径DFT/ATPG/atpg_data/lab2/exercise_1/1、启动DFTAdvisor shell dftadvisor pipe_net_noscan.v verilog -lib ././libraries_1_to_4/adk.atpg-log results/ex_1dfta.log rep .log 日志文件,存相关信息,可以打开查看pipe_net_noscan.v-没插入扫描链的网表文件 2.自动分析时钟信号/控制信号SETUP analyze control signals -auto_fix3. 进入 DFT 模式.SETUP se

22、t system mode dft此时报告了哪些信息?此时可以看电路,在DFTAdvisor Control Panel 里点击 Open DFTVisualizer4. 设置扫描识别.DFT setup scan identification full_scanDFT setup test_point identification -control 0 -observe 0DFT report cell models -type mux默认的扫描类型是什么? _mux21_cacro_5.开始扫描.DFT runDFT report statistics在本设计中有多少个连续的单元?_1_识

23、别了多少个扫描单元?_1_生成插入扫描的网表并生成ATPG配置文件1.插入扫描链DFT insert test logic -scan on -test_point on -ram on -number 12.报告结果.DFT report statistics连续的单元数量是多少? _1_插入的扫描链的数量? _1_新插入的pins的数量? _2_3.报告插入扫描单元和扫描链的结果.DFT report scan cells4. 保存Verilog 网表和ATPG的配置文件.DFT write_design output_file results/pipe_scan.v replacepip

24、e_scan.v已插入扫描链的网表文件DFT write_atpg_setup results/pipe_scan -replace -procfile5. 退出DFTAdvisor.DFT exit产生测试向量Basic ATPG Flow1. 启动fastscan.shell fastscan results/pipe_scan.v -verilog -lib ././libraries_1_to_4/adk.atpg -log results/ex_1tk.log -rep 此时可以看电路,在FastScan Control Panel 里点击 Open DFTVisualizer,点击

25、windows下的brower,下面的pipe右键选择Add to Design,可以看到插入扫描链后的电路图。2. 导入dofile文件 pipe_scan.dofile.SETUP dofile results/pipe_scan.dofile批处理包含了一个导入测试过程文件(test procedure file)的命令,是什么?command: add_scan_groups grp1 results/pipe_scan.testprocFAST所需的文件 编译库文件(library) 读入插入扫描链后的网表文件(pipe_scan.v) 读入测试过程文件(test procedure

26、 file) 读入批处理文件(pipe_scan.dofile)3. 进入 ATPG 模式.SETUP set system mode atpg4.加入故障、生成测试向量.ATPG set fault type stuckATPG add faults -allATPG create patterns5.检查结果.ATPG report statistics写出运行结果#test_patterns _5_#simulated_patterns _32_CPU_time (secs) _0.3_test_coverage _100%_ fault_coverage _94%_atpg_effec

27、tiveness _100%_6.通过三种压缩方法压缩测试向量.ATPG compress patterns 3写出三种压缩方法的结果#patternssimulatedtest coverage#faults in list#faults detected# eff. patterns# test patternsprocess CPUtimePass15100%033550Pass25100%033550Pass35100%0335507.保存测试向量.(并行)ATPG save patterns results/pat1_par.v -verilog -procfile -paralle

28、l -begin 0 -all_test -mode_internal replace8. 保存测试向量.(串行).ATPG set pattern filtering -sample 5ATPG save patterns results/pat1_ser.v -verilog -procfile -serial -all_test -mode_internal -replace9.退出.ATPG exit三简单的组合电路ACB1、 用verilog语言(门级)描述电路(库DFT/ATPG/atpg_data/libraries_1_to_4/adk.atpg)2、按照上面的演示用ATPG生

29、成测试向量,最后要求列出ATPG完成后生成的测试向量文件内容。3、分别画出插入扫描链前后的电路图插入扫描链前的电路图:在设置成dft模式前查看。图形化界面:open DFTvisulalizer插入扫描链后的电路图:Dftadvisor完成后,把设计导入Fastscan,这时可以看插入扫描链的电路图。四测试一位加法器加法器是数字电路中应用比较广泛的器件。一位全加器的电路图如下所示:图2 一位加法器该加法器的表达式为:1、用verilog语言(门级)描述电路(库DFT/ATPG/atpg_data/libraries_1_to_4/adk.atpg)2、按照上面的演示用ATPG生成测试向量(要求列出ATPG完成后的生成的测试向量文件内容)3、分别画出插入扫描链前后的电路图插入扫描链前的电路图:在设置成dft模式前查看。图形化界面:open DFTvisulalizer 插入扫描链后的电路图:Dftadvisor完成后,把设计导入Fastscan,这时可以看插入扫描链的电路图。IV实验步骤1、用fastscan对组合电路进行ATPG。2、对一位全加器,寻找测试向量。V评分标准项目分值的比例检查时间实验预习15实验开始前演示实验补充过程15实验过程中组合电路代码书写10实验过程中测试向量生成10%1位加法器代码书写10测试向量生成10完成实验报告30实验结束后

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 应用文书 > 技术指导

移动网页_全站_页脚广告1

关于我们      联系我们       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号  |  icp.png浙ICP备2021020529号-1 浙B2-2024(办理中)  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服