DFT学习笔记-Mbist电路连接

上节学习了插mbist的时的脚本逻辑,这节进一步学习脚本在插mbist的时候都对电路做了哪些改动,包括定义了哪些端口,添加了哪些模块,都是什么功能。以下描述都是基于现在参考的一个设计环境,不方便贴出,有些步骤不是普适的。

在上图mbist_insertion_flow中,红框内的部分是插mbist的主要工作,根据之前的学习,三部分的工作内容如下:

dc.mbist.pre: 定义dft中用到的一些端口;为了避免之后可能会出现的DRC violation,在开始插Mbist之前将memory原本的function clock打断,通过mux连接上我们做Mbist的clock;对一些pin设置safevalue。

ts.mbist: 插Mbist。

dc.mbist.eco: 完善dc.mbist.pre中的clk连接。

下面介绍它们对电路做了哪些工作。

dc.mbist.pre

pre阶段是在dc中完成的。design loading就是给工具吃库文件和设计文件(netlist,sdc,def等等);generate instances list就是抓取设计中都有哪些instances,方便之后插相应的电路。后面五步是pre中实际的job,完成后写出网表。下面分别介绍这五个job。

create dft port

创建如下的port:

  • DftMode:各种DftMode端口,bypassEn,reset等等,一般置1模式打开,置0模式关闭。
  • ScanEn:scan的enable端口,mbist时置0。
  • Slow/Fast clock:额外定义的clock端口,一般一个fast clk可以提供多个slow clk。这里没做定义,只为IP额外添加了一个clk,在pre DFT里定义好的。
  • IpTestingIn:为Ip测试定义的端口,如果需要的话会在上层拉出去,里完成最终链接。
  • edt_update:edt压缩逻辑的update,相当于load/unload的使能端。
  • edt_clock:为edt提供clk。
  • DFT tieH/DFT tieL:block上power/grund的接口。

create tdr bit buffer

为后续的tdr连接创建tdr bit buffer,因为后面设置safevalue需要提前连接tdr pin。

mem clk connection

为mbist插相应的clk和clk mux。过程如下:

foreach $all_memory {
    foreach clockPin [array names clock_ref_name]{
        set fastest clock as clk_src
        insert func&mbist mux for clk_src 
        insert clk_mux for mbist clock
        write out memm_clk_eco.tcl
        }
}

all_memory里的每个memory都有对应的ref_name,根据ref_name找到它们的clockPin,再找到clockPin上定义的最快的clock,作为这个pin的clk_src。对clk_src插func & mbist mux,并且在最后边插clock mux。

mem safevalue

为一些pin设置safevalue,方法是在需要设safevalue的pin与tdrCmn之间插mux,使得tdr可以把safevalue pin控住。在当前的连接下,MbistMode置1时,tdrCmn_bit控成0,即可保证safevalue pin为相应的0或1。

pre DFT

做DFT之前的电路修改,这里为IP测试创建scan clk端口。

ts.mbist

接着在tessent里插mbist电路,这部分基本上是tessent工具自动完成的,我们需要做的就是对工具的默认spec文件做一些修改,工具会根据修改生成spec文件,并根据此生成相应的硬件电路,包括sib,bap,MBISTcontroller等等(参照ijtag协议),并产生电路描述文件IDL及电路行为文件PDL。ijtag协议下的各种组件及其功能下节介绍。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值