mbist问题解决报告.docx

上传人:b****7 文档编号:10069157 上传时间:2023-02-08 格式:DOCX 页数:15 大小:307.86KB
下载 相关 举报
mbist问题解决报告.docx_第1页
第1页 / 共15页
mbist问题解决报告.docx_第2页
第2页 / 共15页
mbist问题解决报告.docx_第3页
第3页 / 共15页
mbist问题解决报告.docx_第4页
第4页 / 共15页
mbist问题解决报告.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

mbist问题解决报告.docx

《mbist问题解决报告.docx》由会员分享,可在线阅读,更多相关《mbist问题解决报告.docx(15页珍藏版)》请在冰豆网上搜索。

mbist问题解决报告.docx

mbist问题解决报告

1.手工输入选项,更改系统语言为英语,删除中文输入法。

之前就是在英文语言环境下操作的,出现上述手动输入不进去的问题。

2.输入文件:

LibraryModel:

是用Mentor语言描述的,用来产生RTLBISTcollar,并且将memory的RTL设计与BISTcollar映射起来,模型里面通常定义了存储器的读写周期。

MBISTArchitectdofile:

mbistarchitect的可执行文件,通常包含了关于产生BIST电路的命令。

ROMContentFile(optional):

只有在给ROM生成BIST电路时才会用到,它说明了存储在ROM存储器中每一行的十六进制的值,用来为ROM存储器提供压缩信号。

(此次只测试了RAM,所以没有用到)

输出文件:

HDLBISTCircuitry:

包含了生成的controller的RTL代码和memorycollar的RTL代码,其中controller包含了一个有限状态机去控制你选择的存储器测试算法的操作,还包含了地址产生器,写数据生成器,期望的数据生成器和控制信号生成器。

Controller通常还包括一个比较器来判断测试结果的正确与否。

BISTcollar不仅包含测试的多路选择器和扫描的bypass逻辑,还从你原来的设计中实例化了存储器。

当你controller不使用比较器时collar中还会包含一个压缩器。

SynthesisDriverScript:

用来给DC做综合用的,可以在DC中将MBIT进行优化。

HDLBIST/RAMConnectionModel:

实例化了BIST电路,并将所有的端口连接起来。

HDLTestbench:

实例化了connection模型,并提供激励来启动BIST电路的测试算法,在测试结束时会报告测试状态。

TB_mbist_dp4096x16m.vhd

文件层次图:

其中,controller和collar都包含在mbist_dp4096x16m16.vhd文件中,collar还将存储器实例化了。

3.外部pin的输入管脚有20个,输出管脚有5个。

它们分别与controller和collar的对应关系如下:

外部pin:

(in)hold_lcontroller:

(in)hold_l

test_htest_h

bist_clkbist_clk

rst_lrst_l

AA_0collar:

(in)AA

AB_0AB

DA_0DA

DB_0DB

WENA_0WENA

WENB_0WENB

CLKA_0CLKA

CLKB_0CLKB

OENA_0OENA

OENB_0OENB

CENA_0CENA

CENB_0CENB

bp_clk_0bp_clk

Test_mode_0Test_mode

scan_en_0scan_en

scan_in_0scan_in

(out)test_donecontroller:

(out)test_done

fail_hfail_h

QB_0collar:

(out)QB

QA_0QA

scan_out_0scan_out

4.表头呢?

输入输出?

文件名

文件的功能

DP4096×16M16.V

供应商提供给用户的verilog仿真模型,它包括了存储器的实际行为和时序信息,是不可综合的。

mbist_dp4096x16m16.vhd

包含了controller、collar、bypass等entity的模型文件,其中collar还调用了厂商提供的verilog仿真模型和bypass。

mbist_dp4096x16m16_con.vhd

是controller和collar的顶层文件,该文件中只有一个entity,调用了controller和collar并把它们连接起来。

TB_mbist_dp4096x16m.vhd

是mbist的test_bench。

mem_model_new.lib

存储器的模型库文件。

bistgen

脚本文件,用来启来mbistarchitect。

run_bgen.do

脚本文件,用来生成bist电路。

DP4096X16M16.v.bak

工程文件,做modelsim仿真时生成的。

5.Modelsim工程打包(见文件夹)

7.Delay不同时的modelsim图加入

(1)当延迟是0.5时,结果如下:

总结:

当延迟为0.5时,输出没有数据,而且没有数据的地方跟时钟也没有延迟。

(2)当延迟为1时结果如下:

总结:

如上图所示,有数据输出,输出与时钟延迟为1ns。

(3)当延迟为1.5时结果如下:

总结:

如上图所示,有数据输出,但是延迟为1ns。

(4)当延迟为2.5时结果如下:

 

总结:

如上图所示,有数据输出,但是延迟为2ns。

由此可见,设置的延迟精确到ps的它都取了最大的整数延迟。

8.涉及到的工具:

MentorGraphics公司下的:

ModelSimvertion10.1c(波形仿真)

MBISTArchitectv8.2007_2.10(生成bist电路)

9.CLK/RST的专门描述(包含RAM不使用CLK如何能工作的问题)

CLK信号有两个:

bist_clkbypass_clk

其中bist_clk是在controller里存在,在测试时提供时钟信号。

而bypass_clk是给bypass模块提供时钟的。

RAM其实是有时钟信号的,testbench中给其加了时钟信号,而且它的时钟信号是与bist_clk同步的。

RST信号:

controller上有一个复位信号rst_l,是控制comtroller的。

11.软件安装步骤:

安装步骤:

1,Copy'dft_2007_2_10.ixe’tolinux。

2,Invoketheixe.

Note:

If'uudecode'ismissing,install'sharutils-4.6.1-2.i386.rpm'

3,-DAgree

4,Installationstartsatcurrentdir(itwillalsoinstalldoc,ifitfindsitundercurrentdir).

5,获得网卡地址,在自己电脑生成license.dat

6,将获得的license.dat复制到软件安装目录下

7,修改环境变量

MGC_HOMEother_mentor_install_dir

MGLS_LICENSE_FILE(fastlicensecheckout,forallmentorproducts)

8,启动软件。

12.MarchC算法解释:

(以下测试的都是DA端口)

wBackgroundUp:

写操作,地址从低到高全写入全0,初始化地址空间。

rwrInvBackgroundUp:

读写读操作,从低地址开始,先读,因为此时没有写操作,所以读出来的数据还是之前初始化后的全0,然后将全1写入,再读,此时读出来的就是写入的全1了,然后地址依次升高,重复之前的读写读操作。

rwrBackgroundUp:

读写读操作,由于之前第二步操作后地址已被写入全1。

从低地址开始,先读,此时为全1,再写入全0,再读就是全0,地址依次升高,重复读写读的操作。

rwrInvBackgroundDown:

读写读操作,上一步操作结束后地址全被写为0。

从高地址开始,先读数据,为全0,再写1,再读就是全1,地址依次降低,重复读写读的操作。

rwrBackgroundDown:

读写读操作,上一步操作结束后地址全被写为1。

从高地址开始,先读数据,为全1,再写0,再读就是全0,地址依次降低,重复读写读的操作。

rBackgroundDown:

读操作,上一步操作结束后地址全被写为0。

从低地址开始,读数据,读出来的数据都为全0,地址依次升高,重复此操作。

当A端口测试完毕后接着测试B端口,依照以上的步骤。

13.StepbyStep的生成方法(GUI,TCL),TCL的脚本逐条解释。

TCL:

/home/soc/Mentor_DFT_MBist/_mentor_dft_2007/bin/mbistarchitect-bistgen\//启动mbistarchitect,进入生成阶段

-lib./libs/mem_model_new.lib\//加载模型库,从指定的路径中选择

-logfile./transcripts/bgen.log-replace\//生成日志文件-dofile./run_bgen.do\//可执行文件的加载

-nogui//启动非图形界面

addmemorymodeldp4096x16m16//加载存储器模型dp4096x16m16

reportmemorymodel-modeldp4096x16m16//报告存储器模型

addmbistalgorithms1march2//给1端口添加march2算法

addmbistalgorithms2march2//给2端口添加march2算法

setcomparatortest–on//确定比较器测试状态为开启

setcontrollerhold–on//确定controller有一个保持位,当断言时,controller和compressor的状态就被保持住了。

setcontrollerdelay2//确定controller的延迟为2ns

setscanlogicdp4096x16m16-addr12-data16-cntrl2-scan-control-reset//确定d4096x16m16的扫描逻辑:

地址需要12个XOR门,

(因为每个端口是12位地址,所以需要6个XOR门,而存储器有AA和AB两个地址端口,所以需要12个XOR门),数据需要16个

XOR,控制信号需要2个XOR(OENA,WENA,CENA),因为控制信号一共有6个,如果使用了2个XOR的话还有两根线没有接,那么这剩下的两根直接与输出接到MUX上,这样一来,输出是32位,输入有地址的12根信号,数据的16根信号,控制的2根XOR信号,再加上剩下的单独两根控制信号刚好也是32位;设置扫描信号scan_in,scan_out,scan_enable;在存储器输出端添加MUX,一端接输出的数据,另一个输入接扫描单元的输出;在bypass模块的寄存器中添加reset信号。

Synthesisenvironmentsynopsys//综合环境为synopsys公司的DC

setvhdldescription-configurationon-logic_typestd_ulogic//在controller和connection文件中描述VHDL的配置,并且它的逻辑类型为std_ulogic。

setupcomparatorfailflag–multifail//设置比较器的失败标志,每一次的比较结果不匹配都为失败而输出

setupcontrollerclock-positive//设置控制器的时钟为上升沿有效

setupcontrollerreset–asynchronous//设置控制器的复位为异步

setupfull_speed–off//full_speed是BIST测试的一种模式,将其设置为关闭

setupmemoryaccess–simultaneous//设置存储器的存取方式为同步

run//运行

setupfilenaming-bist_modelmbist_dp4096x16m16.vhd\//设置文件的名称bist模型文件名为mbist_dp4096x16m16.vhd

-connected_modelmbist_dp4096x16m16_con.vhd\//设置连接模型文件名为mbist_dp4096x16m16_con.vhd

-testbenchTB_mbist_dp4096x16m.vhd\//设置测试模块文件名为TB_mbist_dp4096x16m.vhd

-scriptmbist_dp4096x16m16.dcscript\//设置脚本文件名为mbist_dp4096x16m16.dcscript

-ctdlmbist_dp404096x16m16.ctdf\//设置ctdl文件名为mbist_dp404096x16m16.ctdf

-wglmbist_dp4096x16m16.wgl//设置wgl文件名为mbist_dp4096x16m16.wgl

savebist-vhdl-script–replace//保存bist生成的文件,文件以vhdl语言描述,并且生成一个用于插入阶段的脚本,当文件更新时可以取代之前的文件

reportalgorithmsteps//报告算法的操作步骤

exit//退出

 

GUI模式:

1.在终端上启动图形界面:

2.点击MemoryModels

3.从指定路径中加载存储器模型,路径可以自己指定。

4.点击ReportEnvironment,点击run

5.设置输出文件名称(保存在指定路径下)

6.点击SaveBist,保存生成的文件。

注释:

当你用modelsim仿真时,需要加载的文件时四个,分别是mbist_dp4096X16m16.vhd、mbist_dp4096X16m16_con.vhd、TB_mbist_dp4096X16m.vhd、DP4096X16m16.v。

当你观察波形时只需要查看controller的波形就可以了,而且也可以同时关注一下collar中ram的时钟信号。

原则上ram上加的是系统给的信号,而测试时并没有系统给的信号,所以在testbench中给它加的就是与bist_clk同步的时钟信号。

问题1:

文档格式要求,做成表格或加序号,层次清晰。

如果有并列项尽量用表格。

问题2:

硕士论文格式。

问题3:

信号怎么穿越到顶层?

(注:

可编辑下载,若有不当之处,请指正,谢谢!

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

当前位置:首页 > 表格模板 > 合同协议

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

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