mbist问题解决报告
1.⼿⼯输⼊选项,更改系统语⾔为英语,删除中⽂输⼊法。
之前就是在英⽂语⾔环境下操作的,出现上述⼿动输⼊不进去的问题。2.输⼊⽂件:
Library Model:是⽤Mentor语⾔描述的,⽤来产⽣RTL BIST collar,并且将memory的RTL 设计与BIST collar映射起来,模型⾥⾯通常定义了存储器的读写周期。
MBISTArchitect dofile:mbistarchitect的可执⾏⽂件,通常包含了关于产⽣BIST电路的命令。
ROM Content File(optional):只有在给ROM⽣成BIST电路时才会⽤到,它说明了存储在ROM存储器中每⼀⾏的⼗六进制的值,⽤来为ROM存储器提供压缩信号。(此次只测试了RAM,所以没有⽤到)输出⽂件:
HDL BIST Circuitry:包含了⽣成的controller的RTL代码和memory collar的RTL代码,其中controller包含了⼀个有限状态机去控制你选择的存储器测试算法的操作,还包含了地址产⽣器,写数据⽣成器,期望的数据⽣成器和控制信号⽣成器。Controller通常还包括⼀个⽐较器来判断测试结果的正确与否。BIST collar不仅包含测试的多路选择器和扫描的bypass逻辑,还从你原来的设计中实例化了存储器。当你controller不使⽤⽐较器时collar中还会包含⼀个压缩器。
Synthesis Driver Script:⽤来给DC做综合⽤的,可以在DC中将
MBIT进⾏优化。
HDL BIST/RAM Connection Model:实例化了BIST电路,并将所有的端⼝连接起来。
HDL Testbench:实例化了connection模型,并提供激励来启动BIST电路的测试算法,在测试结束时会报告测试状态。
⽂件层次图:
其中,controller和collar都包含在mbist_dp4096x16m16.vhd⽂件中,collar还将存储器实例化了。
3.外部pin的输⼊管脚有20个,输出管脚有5个。它们分别与controller 和collar的对应关系如下:
小学所有古诗外部pin:
(in) hold_l controller: (in) hold_l
test_h test_h
bist_clk bist_clk
rst_l rst_l
AA_0 collar:(in) AA
AB_0 AB
DA_0 DA
篮球巨星排名
DB_0 DB
WENA_0 WENA
WENB_0 WENB
CLKA_0 CLKA
CLKB_0 CLKB
OENA_0 OENA
OENB_0 OENB
CENA_0 CENA
CENB_0 CENB
bp_clk_0 bp_clk
Test_mode_0 Test_mode
scan_en_0 scan_en
scan_in_0 scan_in (out) test_done controller:(out) test_done fail_h fail_h
QB_0 collar:(out) QB
QA_0 QA
scan_out_0 scan_out
5.Modelsim⼯程打包(见⽂件夹)阿里巴巴和四十大盗
7. Delay 不同时的modelsim图加⼊
(1)当延迟是0.5时,结果如下:
总结:当延迟为0.5时,输出没有数据,⽽且没有数据的地⽅跟时钟也没有延迟。(2)当延迟为1时结果如下:
(3)当延迟为1.5时结果如下:
(4)当延迟为2.5时结果如下:
总结:如上图所⽰,有数据输出,但是延迟为2ns。
由此可见,设置的延迟精确到ps的它都取了最⼤的整数延迟。
8.涉及到的⼯具:
Mentor Graphics公司下的:
ModelSim vertion 10.1c(波形仿真)
MBISTArchitect v8.2007_2.10(⽣成bist电路)
9. CLK/RST 的专门描述(包含RAM 不使⽤CLK如何能⼯作的问题)CLK信号有两个:bist_clk bypass_clk
经冬复历春其中bist_clk是在controller⾥存在,在测试时提供时钟信号。
⽽bypass_clk是给bypass模块提供时钟的。
RAM其实是有时钟信号的,testbench中给其加了时钟信号,⽽且它的时钟信号是与bist_clk同步的。
RST信号:controller上有⼀个复位信号rst_l,是控制comtroller的。11.软件安装步骤:
安装步骤:1,Copy 'dft_2007_2_10.ixe’to linux。
2,Invoke the ixe.
Note: If 'uudecode' is missing, install 'sharutils-4.6.1-2.i386.rpm'
3,-D Agree
4,Installation starts at current dir (it will also install doc, if it finds it under current dir).
5,获得⽹卡地址,在⾃⼰电脑⽣成licen.dat
6,将获得的licen.dat复制到软件安装⽬录下
7,修改环境变量
MGC_HOME other_mentor_install_dir
MGLS_LICENSE_FILE (fast licen checkout, for all mentor products) 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.Step by Step的⽣成⽅法(GUI,TCL),TCL的脚本逐条解释。
还原性糖有哪些TCL:
/home/soc/Mentor_DFT_MBist//doc/da8e994c915f804d2b16c1b4.html _mentor_dft_2007/bin/mbistarch itect -bistgen \ //启动mbistarchitect,进⼊⽣成阶段
特优惠-lib ./libs/mem_model_new.lib \ //加载模型库,从指定的路径中选择
-
logfile ./transcripts/bgen.log -replace \ //⽣成⽇志⽂件
-dofile ./run_bgen.do \ //可执⾏⽂件的加载
-nogui //启动⾮图形界⾯
add memory model dp4096x16m16 //加载存储器模型dp4096x16m16 report memory model -model dp4096x16m16 //报告存储器模型
add mbist algorithms 1 march2 //给1端⼝添加march2算法
add mbist algorithms 2 march2 //给2端⼝添加march2算法
t comparator test –on //确定⽐较器测试状态为开启
t controller hold –on //确定controller有⼀个保持位,当断⾔时,controller和compressor的状态就被保持住了。
t controller delay 2 //确定controller的延迟为2ns
t scan logic dp4096x16m16 -addr 12 -data 16 -cntrl 2 -scan -control -ret //确定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模块的寄存器中添加ret信号。
Synthesis environment synopsys //综合环境为synopsys公司的DC t vhdl description -configuration on -logic_type std_ulogic //在controller和connection⽂件中描述VHDL的配置,并且它的逻辑类型为std_ulogic。
tup comparator failflag –multifail //设置⽐较器的失败标志,每⼀次的⽐较结果不匹配都为失败⽽输出
tup controller clock -positive //设置控制器的时钟为上升沿有效tup controller ret –asynchronous //设置控制器的复位为异步tup full_speed –off //full_speed是BIST测试的⼀种模式,将其设置为关闭
tup memory access –simultaneous //设置存储器的存取⽅式为同步
run //运⾏
tup file naming -bist_model mbist_dp4096x16m16.vhd \ //设置⽂件的名称bist模型⽂件名为mbist_dp4096x16m16.vhd
-connected_model mbist_dp4096x16m16_con.vhd \ //设置连接模型⽂件名为mbist_dp4096x16m16_con.vhd
-testbench TB_mbist_dp4096x16m.vhd \ //设置测试模块⽂件名为TB_mbist_dp4096x16m.vhd
-script mbist_dp4096x16m16.dcscript \ //设置脚本⽂件名为mbist_dp4096x16m16.dcscript
-ctdl df \ //设置ctdl⽂件名为df
vivo手机丢失oppo手机怎么设置来电铃声-wgl mbist_dp4096x16m16.wgl //设置wgl⽂件名为mbist_dp4096x16m16.wgl
save bist -vhdl -script –replace //保存bist⽣成的⽂件,⽂件以vhdl 语⾔描述,并且⽣成⼀个⽤于插⼊阶段的脚本,当⽂件更新时可以取代之前的⽂件
report algorithm steps //报告算法的操作步骤
exit //退出
GUI模式:
1.在终端上启动图形界⾯:
2.点击Memory Models
3.从指定路径中加载存储器模型,路径可以⾃⼰指定。