此帖出自FPGA/CPLD论坛
最新回复
TetraMAX使用注意事项
1.在*.spf文件中的扫描状态的初始化过程,即是使系统进入到扫描测试状态的JTAG信号输入流程必须放在“test_setup”过程中,否则生成的测试激励在测试中可能会产生无法匹配错误,从而导致扫描过程出错。2.TetraMAX中的GSV分析工具非常有用。使用GSV可以查看激励运行的各种信息,包括扫描链信息、扫描激励串行移位时load_unload、shift、capture各过程的状态信息值。3.对生成的测试激励的评价主要是故障覆盖率指标。如果故障覆盖率很低的话,可以通过增加测试激励数、去掉不需要测试的电路模块等方法增加覆盖率。
TetraMAX介绍
TetraMAX是一个高速、高性能的自动测试激励产生工具(ATPG automatic test patterngeneration),它能产生最大测试覆盖的测试激励,同时使用最少的测试向量,可以应用了范围广泛的设计类型和设计流图,也适用于百万门级设计。这是synopsys公司的测试工具,它可以和很多EDA工具一起来完成测试工作。
1. TetraMAX具有以下几个主要的ATPG能力:
能够读入以verilog、VHDL和EDIF格式的设计网表和STIL格式的测试协议信息;能够生成各种标准和非标准的测试激励文件:WGL、STIL、VHDL、FujitsuTDL、TITDL91、ToshibaTSTL2;提供ATPG模式的选择:Basic-scan ATPG、Fast-sequential ATPG、full-sequential ATPG;支持以下的design-for-test(DFT)类型:ü Various scan flip-flop types (multiplexed flip-flop,master, slave,transparent latch, and so on);
ü Internal, nondecoded three-state buses
ü Bus keepers
ü RAM and ROM models
ü Proprietary and standard test controllers (such as IEEE1149.1-compliant boundary scan)
产生和验证ATPG激励,避免bus contention和float conditions;提供交互式的分析和调试工具GSV(graphicalschematic viewer);提供连接verilog和VHDL仿真器;提供一个整合的故障仿真器支持功能激励的故障仿真;能够运行direct automatedtestequipment(ATE)诊断,允许你快速定位设计中的故障位置产生的测试错误;2. TetraMAX的测试激励产生支持五种类型的故障模式:
Stuck-at faults:是测试激励产生的标准模式;IDDQ faults:Transition delay faults:Path delay faults:Bridging faults:3. TetraMAX可以兼容大量的design-for-test工具
TetraMAX可以兼容大量的design-for-test工具象DFT compiler。使用了DFT compiler和TetraMAXATPG的设计流程简便并且结果有质量保证。ATPG脚本范例
这是本人参与的一款CPU流片测试时所写的TetraMAX生成测试激励的教本,仅共参考,呵呵!read netlist smic/lib/*.vread netlist map/netlist.vset build -black_box r128x21set build -black_box r128x22set build -black_box r256x128_1set build -black_box dualram128set build -black_boxS018PLLGS_500 run build_model ppc_top_PAD add pi constraint 1 PAD_rst_nadd pi constraint 1 PAD_trst_nadd pi constraint 0 PAD_tms//add pi constraint 0 PAD_tck set drc map/750.spfrun drcreport rules -failreport nonscan cells -summaryreport bus -summaryreport feedback paths -summaryset atpg -abort 50 -pat 1500 -mergehigh //add nofaults here for enhance faultsconverageadd faults -all run atpg -auto//run atpg basic_scan_only//run atpg fast_sequential_only//run atpg full_sequential_onlyreport summariesanalyze faults -class anreport summariesreport faults -level 5 64 -class au -collapse -verbose write patterns ./dft/pattern_dft.v -formatVERILOG_Single_file -serial -replacewrite patterns ./dft/pattern_dft.wgl-format WGL -serial -replaceATPG流程分析(一)
1.读入网表文件 可以使用图形界面设置,或者是命令行设置,具体设置参数见帮助文档。网表文件类型可以是标准ASCII格式或是GZIP(一般UNIX的压缩格式), TetraMAX在读文件前自动检测压缩文件并解压缩。设计中如果有多个文件,可以多次使用readnetlist命令依次读入文件,同样可以使用通配符(如:./sim/*.v)来代替多个文件,如:BUILD>read netlist/proj1234/shared_verilog/*.v–noabort。当网表文件已经读入了,要想重新读入网表文件,需要使用命令 Readnetlist –delete或者Read netlist filename–delete先清除已有的文件。 2.构造ATPG模式 使设计中的各个部分成为TetraMAX过程的一部分,所作工作是删除层次,把它们放入TetraMAX可以使用的内存映象中。同样可以使用图形界面或是命令行runbuild_model。 3.执行设计规则检查 这是最重要的一步。DRC(Design RuleChecking)检查包括:扫描链输入输出是否逻辑连接 是否时钟和异步set/reset针与扫描链翻转的连接由唯一的输入端口控制 是否当从正常模式切换到扫描变换模式时,时钟/set/reset是off TetraMAX完成这些DRC检查,你应该提供以下信息:时钟端口,扫描链以及其他控制信息,这些都在STILtest protocol file(.SPF)中给出.这个文件由DFTCompiler产生,也可以手动产生这个文件。ATPG流程分析(二)
4.开始测试DRC使用命令run drcfilename运行DRC测试。
1) Review DRC结果
2) 在GSV中显示违背规则
在GSV中可以直观的看到违背的规则(GSV grahpical schematicviewer)。
3) 测试设计规则目录
测试设计规则被分成了10个类别分别为
B (Build rules)C (Clock rules)L (LBIST rules)N (Netlistrules)P (Path Delayrules)S (Scan Chainrules)T (Testerrules)V (Vectorrules)X (X-staterules)Z (Tristaterules)在线帮助中对每类都有详细的介绍,详见Contents 中的 Error and WarningMessages
TetraMAX提供命令可改变设计规则严重级别(severity)
每个设计规则都有四个严重级别:Ignore、Warning、Error、Fatal。可以使用命令set rules来改变级别。也可以使用命令reprotrules决定规则级别的设定以及已经发生的违反的规则数目。例如:set rules B5 warning
4) DRC执行的详细过程
在执行DRC过程中,TetraMAX做了以下工作:读.SPF文件收集信息,检查语法和连接(consistency)故障;完成总线和线网逻辑的连接能力检查;(Z rules)在SPF中模拟测试过程,看某些情况是否满足要求;根据定义的测试过程的方向模拟每条扫描链,确保扫描路径对每条扫描链规则来说都是可操作和可靠的。(S rules)分析所有的时钟和定时设备是否满足ATPG规则。(C rules)分析所有的不需要扫描的设备;ATPG流程分析(三)
5.ATPG准备初始化故障列表,选择pattern source. choosesettings for bus contention checking, and specify the patterngeneration effort.
1)使用命令setfaults设置故障列表
例如:
TEST> add faults –all表示包括所有可能的故障。
TEST> read faultsfault_list_filename表示使用名字为fault_list_filename的故障列表
也可以将一些指定的blocks, instances, gates, orpins排除到故障列表外,使用下面的方法:
TEST> addnofault /sub_block_A/adder
TEST> addnofault /io/demux/alu
TEST> addfaults -all
表示先去除模块adder和alu,再添加故障列表。
2) 删除故障列表使用命令removefaults,例如:
TEST> addfaults -all
TEST>remove faults /sub_block_A/adder
TEST>remove faults /io/demux/alu
指定ATPG设置,例如:DRC> set atpg-patterns 400 -abort_limit 5
6运行ATPG使用命令run atpg –random,首先是Basic-ScanATPG,然后是Fast-SequentialATPG,和Full-SequentialATPG。Run atpg–auto_compression
ü Basic-Scan ATPG:
有效的,仅适用于组合电路的全扫描模式。为了得到高的测试覆盖率需要使用该测试模式。
ü Fast-Sequential ATPG
ü Full-Sequential ATPG
ATPG流程分析(四)
7.ATPG激励压缩在测试激励合并的基础上还可以进行测试激励的压缩,使用如下命令:
TEST> run pattern_compress 99 2-noverbose8.ATPG激励压缩在测试激励合并的基础上还可以进行测试激励的压缩,使用如下命令:
TEST> run pattern_compress 99 2-noverbose9.保存故障列表TetraMAX包含了关于设计中潜在的faults的列表,可以使用命令report faults或者write faults。Report faults表示查看故障列表,而write faults表示将故障列表写入文件。
例如:
TEST> write faults faults.AU -class au–replace。
下面的命令写所有的故障列表:
TEST> write faults filename -all–replace;
下面的命令只写undetectable blocked (UB) and undetectable redundant(UR)故障类型:
TEST> write faults filename -class UB -class UR-replace;10.使用脚本文件 写脚本文件*.tcl完成ATPG操作类似于WINDOWS中的批处理文件。在我们的TETRAMAX环境中采用了脚本运行的方式,所有的上面提到的ATPG流程都写到一个脚本文件中(tmax.tcl)。
详情
回复
发表于 2010-11-4 15:14
| ||
|
||
此帖出自FPGA/CPLD论坛
| ||
个人签名一个为理想不懈前进的人,一个永不言败人!
http://shop57496282.taobao.com/ 欢迎光临网上店铺! |
||
EEWorld Datasheet 技术支持