1、网络表的出错信息的处理
在电子电路设计过程中,通常是首先完成原理图的设计,然后创建网络表。尽管在此之前我们通过电气规则检查(ERC)可以发现原理图设计中的许多错误,但这并不能保证网络表不存在问题。通常PCB图的设计过程中,经常出现的问题之一就是在引入网络表的过程中,对话框中出现错误或警告信息。实际上最常出现的错误或警告信息主要有二:Error Net not found (网络没有找到)和 Error Component not found (元件没有找到)。特别要说明的是,通常我们按照Protel99设计教程中关于修改网络表错误的方法(即在网络宏Netlist Macro编辑对话框中进行修改)并不总是奏效,甚至出现越改提示的错误越多的情况,造成无法进行PCB自动布线。究其原因主要有以下几方面:Protel99的原理图中元件的引脚编号和PCB元件库中的元件封装不一致,PCB元件库中的重名元件之间封装不一致,原理图中元件库中重名的引脚编号不一致,Protel99网络表只能严格按照一一对应的方式建立各元件之间的网络关系。Protel99网络表没有模糊识别元件引脚之间相互联系的能力。例如,对二极管、整流器一类元件的引脚编号在Protel99中有几种方式,二极管的正极用1或A表示,负极用2或K表示。如果原理图中的二极管用1/2表示引脚,而PCB图中系统查找到的二极管封装图使用A/K表示引脚,那么在引入网络表时最容易产生Error Net not found的错误。由于Protel99元件库非常庞大,而且其分类又不太适合国内电子电路设计人员的工作习惯,往往为了调入元件方便而在设计管理器中预先加载了很多的元件库,甚至是全部的元件库文件。而Protel99系统在调入网络表时,对元件封装的查找带有很大的随机性,仅仅是严格地“对号入座”。这与一般的设计人员在设计中对二极管一类元件只注意是正极还是负极是不同的。只要我们把原理图中的引脚编号与PCB元件封装引脚编号修改一致,重新调入网络表就会立刻发现网络表中提示的相关“Error Net not found”不见了。有时候,明明知道PCB元件库中有某一个元件,而网络表中就是不断的提示“Error Component not found ”,这除了与上述原因有关以外,还与Protel99提供的元件库编排繁杂有关。Protel99所带的元件库实际上是“历史的累积”分类并不十分合理。多数与电子厂商提供的原始资料有关。重名的元件并不一定完全一致。特别是电子元件的封装相当一部分是国外元件厂商自定的标准,相互之间存在一些差异。例如,一般设计人员在进行设计时,只关心某一元件的技术参数,而并不关心这个元件是哪一个厂商的产品。因此从原理图设计开始就应该注意到上述问题,以保证事后网络表能“一一对应”地与PCB图建立网络关系。
2、网络表错误信息的查找和修改
按照Protel99设计教程中提供的修改错误的方法,只有设计人员在确切了解错误的真实所在才能有效地解决问题。但实际上有时我们很难根据网络表提供的信息直接找到错误的原因。下面笔者提供一个有效的查错办法。
首先在PCB图中引入网络表。根据网络表管理器对话框中提示的错误信息点击Execule,在生成的PCB图中查找没有生成飞线的节点。这些没有生成网络飞线的元件引脚肯定属于网络表中提示的错误信息之内。点击这些节点的属性,再点击Advanced,我们可以看到这些节点都是No net。尤其是PCB封装中, DIODE一类元件的错误居多。如果是引脚属性中是采用A/K形式的,此时可修改为1/2形式。反之如果是引脚属性中是采用1/2形式的,此时可修改为A/K形式。完成修改后重新导入网络表,此时就可以看到原来提示的错误没有了,网络表管理器对话框下面提示的错误总数也减少了。从PCB图上就可以看到原来没有孤立的节点已经建立了飞线。其他的元件都可以采用这种办法修改错误。对于比较复杂的电路或网络表提示错误较多的情况下最好不要一次全部完成修改工作,可以分批逐次进行。每次修改后重新调入网络表,此时可以立刻看到修改的结果。这样可以随时掌握和避免设计或修改出错的情况。这种方法看起来可能慢了一些,但比起Protel99设计教程中提供的修改错误的方法要直观得多。设计人员可以始终保持心中有数。另外一种查错的办法是打开原理图,点击一个元件后打开元件的属性。勾选Hidden pins项,点击Global,在Change Scopen项下选择Change Matching Itemse In All Documents项,点击Ok。原理图显示出全部元件引脚的编号。根据这张图就可以“一一对应”地查找PCB图中所有元件的网络飞线关系。两者的元件网络关系应当完全一致。根据这张图,我们可以在PCB图设计中找出没有形成网络连接的节点,打开其属性后,点击Advanced,在下拉窗口中根据原理图的节点标号找到PCB图中相应的节点网络标号。点击Ok,使其建立起网络连接。在PCB图设计中网络表可能出现对个别元件封装明明存在却提示找不到的情况。此时可以直接进行Place操作,然后重新调入网络表从而建立元件的网络关系。必须注意的是,最后一次调入网络表时必须保证能够看到网络表管理器对话框下状态栏出现AII macros validated的提示。
3、关于元件电源端的处理
最后要补充说明的是对于集成电路电源端的处理问题。为了避免网络表出错,在设计原理图时最好将Vcc/Gnd两个引脚显示出来并根据设计要求引到相应的电气回路上。否则的话在生成PCB图时,会自行建立一个封闭的电源回路而与整个原理图的电气回路不相连通。
4、建立良好的设计环境是网络表正常工作的前提条件
由于Protel99网络表不具备模糊查询的能力,因此设计人员在设计工作中应建立“一一对应”的设计观念。也就是说,必须考虑到设计要达到点到点的程度。在有条件的情况下对元件库进行必要的整理。不宜过多地加载元件库文件。可以以某几个元件库为主,进行适当的补充把最常用的元件Copy进去(注意,编辑元件时尽量以0/0坐标为中心,否则在元件调用时会“跑飞”)。例如,原理图中最常用的库文件是Miscellaneous Deviesc.lib,在PCB图中最常用的是PCB Footprints.lib。我们可以在这两个库文件中进行增补,还可以建立自己的专项元件库。这样既可以加快系统的运行速度,又可以尽量避免网络表中出现错误,进而提高设计质量。总之,Protel99网络表的应用需要在设计实践中不断总结经验才能熟练地加以应用。
摘自:枫叶好帅的BLOG
文章评论(0条评论)
登录后参与讨论