×

借助硬件加速仿真将 DFT 用于芯片设计

消耗积分:1 | 格式:rar | 大小:0.4 MB | 2017-11-28

zm123123

分享资料个

可测试性设计 (DFT) 在市场上所有的电子设计自动化 (EDA) 工具中是最不被重视的,纵然在设计阶段提高芯片的可测试性将会大幅缩减高昂的测试成本,也是如此。最近的分析数据表明,在制造完成后测试芯片是否存在制造缺陷的成本已增至占制造成本的 40%,这已达到警戒水平。
  DFT 可以降低通过问题器件的风险,如果最终在实际应用中才发现器件有缺陷,所产生的成本将远远高于在制造阶段发现的成本。它还能避免剔除无缺陷器件,从而提高良率。插入 DFT 亦能缩短与测试开发相关的时间,并减少测试装配好的芯片所需的时间。
  DFT 是电子行业的警钟,它采用自动测试模式生成器 (ATPG) 和存储内置自测试 (MBIST),是在芯片上插入测试结构(例如扫描链、MBIST 结构或压缩/解压逻辑)。扫描链通过串行移位寄存器增加了可控性和可观察性。借助扫描链,测试威廉希尔官方网站 的工作得到简化和缩减。使用 ATPG 工具自动生成测试模式能够减少耗时繁琐的测试向量创建任务。
  当设计经过功能验证后,片上测试架构(或扫描链)会在门级的基础上被插入,执行此操作时必须小心谨慎,因为这可能会影响芯片的功能正确性。设计更改需要进行门级验证,以确保设计完整性未受影响。测试将由测试模式的长序列执行,这是一项计算密集型任务,比寄存器传输级 (RTL) 验证繁琐得多。
  值得一提的是,从设计角度而言,创建并插入 DFT 结构是一项十分简单的工作。不过,从密度和规模的层面来看,设计规模会增加,同时测试设计所需的测试模式数量也会使设计规模大大增加。
  DFT 验证
  当设计尺寸达到数亿门时,基于软件仿真器的验证对于门级检查而言速度过于缓慢。DFT 方法只会让事情变得更糟。如果这些负担还能够应付,那么优先使用软件仿真阵列来推进流片有助于设计工程师的工作,但会为测试工程师带来阻碍。芯片通常只进行极少的 DFT 验证就进行流片,而在流片后才执行彻底的 DFT 测试,这时要修复设计缺陷为时已晚。
  DFT 验证具有多种形式,包括需要验证的自定义初始化模式。它可以是由自动测试模式生成器工具插入的片上时钟控制器,这需要在模式执行期间进行动态验证;也可以是为 MBIST 添加的逻辑,这通常需要对测试模式的相关逻辑进行功能验证。SoC 可能包括一个自定义初始化模式,此模式能够配置测试并完成从功能模式到测试模式的转换。其他测试模式可能会采用低功耗技术,测试期间,芯片的一部分将进入低功耗模式,这就需要在适当情况下的有效测试结构。
  使用 DFT App 进行硬件加速仿真
  硬件加速能够缩短执行彻底 DFT 验证所需的仿真周期。同时还能验证各种规模和复杂性的芯片的功能。
  30 年来,人们一直使用硬件加速仿真部署可重复编程的硬件来增加验证周期,而新的部署模式使这项技术成为更可行的验证工具,同时也为“App”的方法奠定基础。对于仍受困于基于软件仿真器进行验证的芯片设计团队而言,近期推出的一些硬件加速仿真应用程序无疑是个好消息。DFT App 能够加速需要进行全面门级仿真的芯片设计进程。借助自动生成的模式,设计团队能够缩短整个模式开发周期。
  这类硬件加速仿真的可扩展硬件和编译器能够对嵌入了扫描和其他测试结构的大型门级设计进行测试模式验证。它具有出色性能,能够运行更多仿真周期,加快 DFT 分析。DFT App 支持行业标准 STIL 格式文件,可以与其他工具协同工作,STIL 文件可用于生产测试程序以便在制造过程中发现受损芯片。
  用于硬件加速仿真的 DFT App 改变了硬件加速器在开发阶段的编译流程和运行时间。这将为编译流程和运行时间带来重大变化。具有扫描和 MBIST 结构的门级设计被载入硬件加速仿真的编译器。编译器创建了用于读取Stil文件中测试向量的测试结构,然后将这些向量应用到可综合的待测器件 (DUT) 以及进行输出比较。编译器将用户网表重新编译并合成到一个能够兼容硬件加速仿真的结构化描述中。编译器创建了用于读取Stil文件中测试向量的测试结构,然后将这些测试向量用到可综合的待测设计上,再将网表重新编译并合成到一个能够兼容硬件加速仿真的结构化描述中。测试控制架构还包括比较输出的机制。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !

'+ '

'+ '

'+ ''+ '
'+ ''+ ''+ '
'+ ''+ '' ); $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code ==5){ $(pop_this).attr('href',"/login/index.html"); return false } if(data.code == 2){ //跳转到VIP升级页面 window.location.href="//m.obk20.com/vip/index?aid=" + webid return false } //是会员 if (data.code > 0) { $('body').append(htmlSetNormalDownload); var getWidth=$("#poplayer").width(); $("#poplayer").css("margin-left","-"+getWidth/2+"px"); $('#tips').html(data.msg) $('.download_confirm').click(function(){ $('#dialog').remove(); }) } else { var down_url = $('#vipdownload').attr('data-url'); isBindAnalysisForm(pop_this, down_url, 1) } }); }); //是否开通VIP $.get('/article/vipdownload/aid/'+webid,function(data){ if(data.code == 2 || data.code ==5){ //跳转到VIP升级页面 $('#vipdownload>span').text("开通VIP 免费下载") return false }else{ // 待续费 if(data.code == 3) { vipExpiredInfo.ifVipExpired = true vipExpiredInfo.vipExpiredDate = data.data.endoftime } $('#vipdownload .icon-vip-tips').remove() $('#vipdownload>span').text("VIP免积分下载") } }); }).on("click",".download_cancel",function(){ $('#dialog').remove(); }) var setWeixinShare={};//定义默认的微信分享信息,页面如果要自定义分享,直接更改此变量即可 if(window.navigator.userAgent.toLowerCase().match(/MicroMessenger/i) == 'micromessenger'){ var d={ title:'借助硬件加速仿真将 DFT 用于芯片设计',//标题 desc:$('[name=description]').attr("content"), //描述 imgUrl:'https://'+location.host+'/static/images/ele-logo.png',// 分享图标,默认是logo link:'',//链接 type:'',// 分享类型,music、video或link,不填默认为link dataUrl:'',//如果type是music或video,则要提供数据链接,默认为空 success:'', // 用户确认分享后执行的回调函数 cancel:''// 用户取消分享后执行的回调函数 } setWeixinShare=$.extend(d,setWeixinShare); $.ajax({ url:"//www.obk20.com/app/wechat/index.php?s=Home/ShareConfig/index", data:"share_url="+encodeURIComponent(location.href)+"&format=jsonp&domain=m", type:'get', dataType:'jsonp', success:function(res){ if(res.status!="successed"){ return false; } $.getScript('https://res.wx.qq.com/open/js/jweixin-1.0.0.js',function(result,status){ if(status!="success"){ return false; } var getWxCfg=res.data; wx.config({ //debug: true, // 开启调试模式,调用的所有api的返回值会在客户端alert出来,若要查看传入的参数,可以在pc端打开,参数信息会通过log打出,仅在pc端时才会打印。 appId:getWxCfg.appId, // 必填,公众号的唯一标识 timestamp:getWxCfg.timestamp, // 必填,生成签名的时间戳 nonceStr:getWxCfg.nonceStr, // 必填,生成签名的随机串 signature:getWxCfg.signature,// 必填,签名,见附录1 jsApiList:['onMenuShareTimeline','onMenuShareAppMessage','onMenuShareQQ','onMenuShareWeibo','onMenuShareQZone'] // 必填,需要使用的JS接口列表,所有JS接口列表见附录2 }); wx.ready(function(){ //获取“分享到朋友圈”按钮点击状态及自定义分享内容接口 wx.onMenuShareTimeline({ title: setWeixinShare.title, // 分享标题 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享给朋友”按钮点击状态及自定义分享内容接口 wx.onMenuShareAppMessage({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 type: setWeixinShare.type, // 分享类型,music、video或link,不填默认为link dataUrl: setWeixinShare.dataUrl, // 如果type是music或video,则要提供数据链接,默认为空 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ”按钮点击状态及自定义分享内容接口 wx.onMenuShareQQ({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到腾讯微博”按钮点击状态及自定义分享内容接口 wx.onMenuShareWeibo({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); //获取“分享到QQ空间”按钮点击状态及自定义分享内容接口 wx.onMenuShareQZone({ title: setWeixinShare.title, // 分享标题 desc: setWeixinShare.desc, // 分享描述 link: setWeixinShare.link, // 分享链接 imgUrl: setWeixinShare.imgUrl, // 分享图标 success: function () { setWeixinShare.success; // 用户确认分享后执行的回调函数 }, cancel: function () { setWeixinShare.cancel; // 用户取消分享后执行的回调函数 } }); }); }); } }); } function openX_ad(posterid, htmlid, width, height) { if ($(htmlid).length > 0) { var randomnumber = Math.random(); var now_url = encodeURIComponent(window.location.href); var ga = document.createElement('iframe'); ga.src = 'https://www1.elecfans.com/www/delivery/myafr.php?target=_blank&cb=' + randomnumber + '&zoneid=' + posterid+'&prefer='+now_url; ga.width = width; ga.height = height; ga.frameBorder = 0; ga.scrolling = 'no'; var s = $(htmlid).append(ga); } } openX_ad(828, '#berry-300', 300, 250);