DFT ATPG实验Word下载.docx

上传人:b****6 文档编号:19156012 上传时间:2023-01-04 格式:DOCX 页数:9 大小:172.43KB
下载 相关 举报
DFT ATPG实验Word下载.docx_第1页
第1页 / 共9页
DFT ATPG实验Word下载.docx_第2页
第2页 / 共9页
DFT ATPG实验Word下载.docx_第3页
第3页 / 共9页
DFT ATPG实验Word下载.docx_第4页
第4页 / 共9页
DFT ATPG实验Word下载.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

DFT ATPG实验Word下载.docx

《DFT ATPG实验Word下载.docx》由会员分享,可在线阅读,更多相关《DFT ATPG实验Word下载.docx(9页珍藏版)》请在冰豆网上搜索。

DFT ATPG实验Word下载.docx

script///脚本文件夹

tcrm.con//设计约束

tcrm.tmv//测试时间约束变量设置

tcrm.tp//测试协议

tcrm.tcl//实验完整流程与命令集

SMIC_db///库文件夹

typical.db//前端综合库

src///设计文件夹

tcrm.v//设计数据

report///报告文件夹,用来存放生成的报告

mapped///存放综合过的网表文件

5.实验步骤

A)启动

DFTCompiler是DC_Ultra中一个组件,因此其启动命令与DC相同,在DC中输入DFT相关命令就可以使用DFTCompiler。

[root@svr580Lab1]$design_vision//启动DC图形化界面

B)读入库文件和设计

在图形界面的命令行中输入如下命令,读入库文件和设计文件。

design_vision-xg-t>

settarget_librarySMIC_db/typical.db//工艺库设置

setlink_librarySMIC_db/typical.db//链接库设置

sethdlin_enable_rtldrc_infotrue//设置允许RTLDRC检查

read_verilogsrc/tcrm.v//读入设计

link//连接库文件和设计

以上过程也可以在图形界面下通过菜单操作来完成。

C)设计约束

本设计的所有约束和工作环境定义都写入脚本,直接读入脚本即可。

sourcetcrm.con//运行约束脚本

D)综合

compile

综合后的电路示意图如图5.1所示

图5.1未加入扫描单元的综合示意图

与预想的设计比较完全一样,图2.1中的U1和U2单元分别对应DFFRHQX1实例化后的U1_reg和U2_reg单元。

综合后电路单元的面积是153unit

下文对此设计进行修改,用带扫描单元的器件替换图中不带扫描单元的器件

E)设置扫描类型

在加入扫面单元前要设置插入的扫描单元类型,一共有4中,本文插入常用multiplexed_flip_flop类型,命令如下:

set_scan_configuration-stylemultiplexed_flip_flop

F)测试延时约束变量设置

为满足Tetramax工具中对延时约束,这里对测试中的一些延迟变量做设定,具体参数详见脚本tcrm.tmv

sourcetcrm.tmv

G)带扫描单元的综合

输入如下命令,综合出带有扫描单元的设计。

综合后的结果如图5.2所示

compile-scan

图5.2加入扫描单元的综合示意图

由图可以看出,U1和U2单元发生了变换,用SDFFRHQX1代替了DFFRHQX1,增加了SI和SE两个用于测试的输入。

综合后的面积为179units。

对比不带扫描单元的综合结果,电路面积略有增加,在时序方面也略有变化。

H)输入测试协议

对于测试电路的输入和输出需要做一些初始化设置才能在自动测试中完整的测试每一个被测单元并得到正确的结果,根据本设计编写的测试协议存放在tcrm.tp脚本中,运行即可。

sourcetcrm.tp

I)DRC校验

为成功插入扫描链需要先对设计的DRC(designrulescheck)进行查验,没有规则违背才能进行下一步插入扫描链。

dft_drc

在图形化界面输入dft_drc后会调用ViolationBrowser,图形化的DRC查验工具,当所有违背都修改完毕后关闭ViolationBrowser。

J)插入扫面链

insert_dft

插入扫描后的综合示意图如图5.3所示。

图5.3插入扫描链后的综合示意图

插入扫描链后将U1的输出接入到了U2的SI端,in3分别接入U1和U2的SE端,构成扫面链。

在以上设计中U1_reg/Q端到U2_reg/SI端,没有经过任何组合逻辑,不消耗时间,会造成holdtime的时序违反,因此对此段路径做处理,加入buffer以满足holdtime。

set_min_delay0.2–fromU1_reg/Q–toU2_reg/SI

set_fix_holdclk

compile–incremental_mapping

再次综合后的结果如图5.4所示

图5.4加入buffer后的综合示意图

K)设计输出

保存网表和测试协议,为Tetramax的ATPG实验提供数据输入。

write-formatVerilog–outputmapped/tcrm_scan.vg

write_test_protocol–outputreport/tcrm.spf

实验二TetraMAX的ATPG测试向量生成

熟悉TetraMAX中ATPG的操作流程。

学会利用TetraMAX工具自动生成测试激励文件。

TetraMAX是业界功能最强、最易于使用的自动测试向量生成工具。

针对不同的设计,TetraMAX可以在最短的时间内,生成具有最高故障覆盖率的最小的测试向量集。

TetraMAX支持全扫描、或不完全扫描设计,同时提供故障仿真和分析能力。

本实验以上一节DFTCompiler生成的具有扫描链的tcrm.vg网表文件为输入。

针对此设计,添加故障,自动生成能够检测全部故障的最小测试向量,并自动生成testbench文件,为设计的仿真提供数据。

3.实验流程:

4.文件组织:

TMAX/Lab1/

script///脚本文件夹

tcrm_tmax.tcl//实验完整命令脚本

src///实验数据

tcrm_scan.vg//DFT生成的可测性网表文件

tcrm.spf//DFT生成的测试协议文件

SMIC_db///库文件夹

smic18.v//模型库

output///输出文件夹

5.实验步骤:

A)启动TetraMAX

[root@svr580Lab1]$tmax

如图5.1是TetraMAX工具的显示界面,提供命令行和菜单两种方式命令执行方式。

图5.1TetraMAX工作界面

B)读入设计网表

BUILD>

readnetlistsrc/tcrm_scan.vg

C)读入模型库

readnetlistSMIC_db/smic18.v

D)构造ATPG模型

RUnBuild_modeltcrm//注意大小写

E)DRC检查

DRC>

rundrcsrc/tcrm.spf

F)添加故障

TEST>

addfaults–all

TetraMAX中一个可以设计五种故障,参数-all表示添加所有可能发生的故障。

运行命令后会显示50faultswereaddedtofaultlist。

具体的故障详见文档all_fault.txt

G)运行ATPG,自动生成测试向量

runatpg

生成的报告如下:

可以看出一共生成了5个测试向量,故障覆盖率达到100%

H)保存结果,自动生成测试激励文件

writepatternsoutput/tcrm_testbench.v–formVerilog

命令运行后会在output目录下生成5个文本文件,tcrm_testbench.pis,tcrm_testbench.pos,tcrm_testbench.scn,tcrm_testbench.seq,tcrm_testbench.v。

其中tcrm_testbench.pis测试激励序列,tcrm_testbench.pos存放理想响应序列,tcrm_testbench.v是自动生成的测试文件,可以用于vcs仿真。

表1完备测试序列和理想响应

测试激励

理想响应

01101X

00

100010

01

010011

011011

10

101011

11

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 表格模板 > 调查报告

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1