×

PCB高效自动布线的设计方案

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

吴渊

分享资料个

尽管现在的EDA工具很强大,但随着PCB尺寸要求越来越小,器件密度越来越高,PCB设计的难度并不小。如何实现PCB高的布通率以及缩短设计时间呢?本文介绍PCB规划、布局和布线的设计技巧和要点。现在PCB设计的时间越来越短,越来越小的电路板空间,越来越高的器件密度,极其苛刻的布局规则和大尺寸的组件使得设计师的工作更加困难。为了解决设计上的困难,加快产品的上市,现在很多厂家倾向于采用专用EDA工具来实现PCB的设计。但专用的EDA工具并不能产生理想的结果,也不能达到100%的布通率,而且很乱,通常还需花很多时间完成余下的工作。
  现在市面上流行的EDA工具软件很多,但除了使用的术语和功能键的位置不一样外都大同小异,如何用这些工具更好地实现PCB的设计呢?在开始布线之前对设计进行认真的分析以及对工具软件进行认真的设置将使设计更加符合要求。下面是一般的设计过程和步骤。
  1、确定PCB的层数
  电路板尺寸和布线层数需要在设计初期确定。如果设计要求使用高密度球栅数组(BGA)组件,就必须考虑这些器件布线所需要的最少布线层数。布线层的数量以及层叠(stack-up)方式会直接影响到印制线的布线和阻抗。板的大小有助于确定层叠方式和印制线宽度,实现期望的设计效果。
  多年来,人们总是认为电路板层数越少成本就越低,但是影响电路板的制造成本还有许多其它因素。近几年来,多层板之间的成本差别已经大大减小。在开始设计时最好采用较多的电路层并使敷铜均匀分布,以避免在设计临近结束时才发现有少量信号不符合已定义的规则以及空间要求,从而被迫添加新层。在设计之前认真的规划将减少布线中很多的麻烦。
  2、设计规则和限制
  自动布线工具本身并不知道应该做些什幺。为完成布线任务,布线工具需要在正确的规则和限制条件下工作。不同的信号线有不同的布线要求,要对所有特殊要求的信号线进行分类,不同的设计分类也不一样。每个信号类都应该有优先级,优先级越高,规则也越严格。规则涉及印制线宽度、过孔的最大数量、平行度、信号线之间的相互影响以及层的限制,这些规则对布线工具的性能有很大影响。认真考虑设计要求是成功布线的重要一步。
  3、组件的布局
  为最优化装配过程,可制造性设计(DFM)规则会对组件布局产生限制。如果装配部门允许组件移动,可以对电路适当优化,更便于自动布线。所定义的规则和约束条件会影响布局设计。
  在布局时需考虑布线路径(routing channel)和过孔区域。这些路径和区域对设计人员而言是显而易见的,但自动布线工具一次只会考虑一个信号,通过设置布线约束条件以及设定可布信号线的层,可以使布线工具能像设计师所设想的那样完成布线。
  4、扇出设计
  在扇出设计阶段,要使自动布线工具能对组件引脚进行连接,表面贴装器件的每一个引脚至少应有一个过孔,以便在需要更多的连接时,电路板能够进行内层连接、在线测试(ICT)和电路再处理。
  为了使自动布线工具效率最高,一定要尽可能使用最大的过孔尺寸和印制线,间隔设置为50mil较为理想。要采用使布线路径数最大的过孔类型。进行扇出设计时,要考虑到电路在线测试问题。测试夹具可能很昂贵,而且通常是在即将投入全面生产时才会订购,如果这时候才考虑添加节点以实现100%可测试性就太晚了。
  经过慎重考虑和预测,电路在线测试的设计可在设计初期进行,在生产过程后期实现,根据布线路径和电路在线测试来确定过孔扇出类型,电源和接地也会影响到布线和扇出设计。为降低滤波电容器连接线产生的感抗,过孔应尽可能靠近表面贴装器件的引脚,必要时可采用手动布线,这可能会对原来设想的布线路径产生影响,甚至可能会导致你重新考虑使用哪种过孔,因此必须考虑过孔和引脚感抗间的关系并设定过孔规格的优先级。
  5、手动布线以及关键信号的处理
  尽管本文主要论述自动布线问题,但手动布线在现在和将来都是印刷电路板设计的一个重要过程。采用手动布线有助于自动布线工具完成布线工作。如图2a和图2b所示,通过对挑选出的网络(net)进行手动布线并加以固定,可以形成自动布线时可依据的路径。
  无论关键信号的数量有多少,首先对这些信号进行布线,手动布线或结合自动布线工具均可。关键信号通常必须通过精心的电路设计才能达到期望的性能。布线完成后,再由有关的工程人员来对这些信号布线进行检查,这个过程相对容易得多。检查通过后,将这些线固定,然后开始对其余信号进行自动布线。
  6、自动布线
  对关键信号的布线需要考虑在布线时控制一些电参数,比如减小分布电感和EMC等,对于其它信号的布线也类似。所有的EDA厂商都会提供一种方法来控制这些参数。在了解自动布线工具有哪些输入参数以及输入参数对布线的影响后,自动布线的质量在一定程度上可以得到保证。
  应该采用通用规则来对信号进行自动布线。通过设置限制条件和禁止布线区来限定给定信号所使用的层以及所用到的过孔数量,布线工具就能按照工程师的设计思想来自动布线。如果对自动布线工具所用的层和所布过孔的数量不加限制,自动布线时将会使用到每一层,而且将会产生很多过孔。
  在设置好约束条件和应用所创建的规则后,自动布线将会达到与预期相近的结果,当然可能还需要进行一些整理工作,同时还需要确保其它信号和网络布线的空间。在一部分设计完成以后,将其固定下来,以防止受到后边布线过程的影响。
  采用相同的步骤对其余信号进行布线。布线次数取决于电路的复杂性和你所定义的通用规则的多少。每完成一类信号后,其余网络布线的约束条件就会减少。但随之而来的是很多信号布线需要手动干预。现在的自动布线工具功能非常强大,通常可完成100%的布线。但是当自动布线工具未完成全部信号布线时,就需对余下的信号进行手动布线。

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

评论(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.lene-v.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:'PCB高效自动布线的设计方案',//标题 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.lene-v.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);