推丸菌在公司听取小弟汇报时,那厮说网表有问题,OrCAD原理图导出,Allegro PCB导入,结果有个节点连不上,但是在原理图上是同样的网络名。有妖气啊!
看了他的原理图,我觉得很生气~太不规范了,难怪会出现错误。但是为了多种兼容,也不得不做各种妥协~想到这里我也不生气了。原版原理图就不贴出来了,推丸菌在这里模拟一下。哦,对了,以下所有案例均基于Cadence 17.2版本。
那么猫腻出来了,第一页的VCC_3V3全部被命名成了off-page形式的NIHAO,于是第一页的VCC_3V3就不能跟第二页的VCC_3V3相连了,这就是问题所在,这个还真需要探讨一下Cadence的网表算法。其实这个算法不难,推丸菌举个栗子。
在同一节点我们接入了5个网络符号(或NET),生成网表后,Cadence自动选择了PORT,这就说明了PORT优先级最高,多尝试几次,我们就可以破解Cadence的网表算法了。各种网络类型的优先级见下表。
解决了优先级问题,还需要分析不同页(多页原理图)的算法问题。Cadence的不同页的算法很简单,只需要两步:
① 按上表优先级,处理当前页的网络数据,整理出对外接口(相对其他页接口);
② 将不同页的对外接口进行处理,形成整张原理图的网表;
至于其他注意的地方,推丸菌在这里罗列一些情况,供大家参考,如有感兴趣的攻城狮,请自行尝试,毕竟电子是门实践的学科。下面三种情况,所有器件都在同一页,生成网表后,R12和R13是连在一块的,R14和R15是连在一块的,R16和R17是连在一块的,可得:
① 不同类型的网络符是可以直接连接的,Cadence内部只认网络名;
② 网络名不区分大小写;
③ Off-page类型的网络符,在同页和不同页都有效(只认网络名);
在实际应用中,不止以上案例,更多的案例,推丸菌实在讲不下去了,感兴趣的攻城狮可自行尝试,推丸菌去也!
上述原创文档出自「屎壳螂创造 一个有创意的电子工厂」,仅用于技术交流。如有疑问请点击链接或请联系beetleinv#126.com。
原文地址:http://blog.51cto.com/14180508/2347027