这是一个有点老生常谈的话题。
459519546.jpg
PCB设计工具很多,当然有很多工具是一些大公司自己开发自己用并不公开的,这种就没法了解了。目前常见的是Cadence,PADs, Altium Designer。AltiumDesigner(Protel的升级版),Cadence能很好的进行信号完整性分析仿真,适合高速布线,面向的是高端的产品。搜集了些关于该三款设计工具的资料进行了了解,并将其对比做了下整理,一些内容自己没有验证过,说法不一定很正确。

简要对比整理:
PADs:学起来较难,但学好后非常强大。比Cadence有更好的GUI和更好的热键设置。适合一个新设计中要新建许多元件的设计、大片的电源和地填充、清晰的文件结构、有大量的免费元件资源、更友好和直观、可撤销、可自动保存。

Cadence:适合高速布线,要做大量信号完整性分析时非常适合使用。适合超多层板的设计、多层颜色显示、强大的布线器。CadenceSPB将OrCAD原理图设计工具、Allegro PCB工具和信号完整性分析工具等打包在一块了。


AltiumDesigner:使用自由,可以单独放置过孔、焊盘,且可以随意编辑。能在焊盘和走线上显示网络名称,更适合双面板、元件密度较低的板的设计。相对来讲,AltiumDesigner使用上学起来要容易,界面做的很好看,但对于复杂的高速多层板的设计,效率要低。

设计工具都可以实现规定的要求,关键还在于使用的人和使用的领域,需要有很好的电路理论知识和实践经验。当然Cadence也可以用来设计简单的电路板,AltiumDesigner也可以用来画复杂的多层板,但是有时间效率的区别。

更多的细节和经验之谈

AD更加的灵活一些
知乎/周雨田:

电路板的基本设计思路和需要注意的事项肯定都是大致一样的,所以你看到的基本流程和规则都差不多,但对于高速板,在做之前可能需要信号的仿真,对于延时的控制等。AD不是不能做,相比较Cadence来说你可能需要做的更加复杂,当然其实如果你经验丰富的话,有些时候你是不需要仿真的,而且你对你的整个板子的原理设计烂熟于心的话,信号的流向、布局等心里有一个完整而且正确的规划的话,说实话到达这个层面后使用哪个软件其实主要是看个人的爱好了。

自己实践中的感觉是:  

1.AD貌似更加的灵活一些,但是有哲人说过灵活也就意味着不严谨,所以有时候可能出错了你也没有发觉,Cadence则是每一个操作都有一个相应的步骤,这样严谨的难以出错。举个例子,在AD中是貌似是不区分编辑模式和布线模式的,这样的一个好处就是不用在模式之间切换来切换去的,坏处是经常会有错误操作,比如有时候你想删除过孔处的一个不用的小线头,点击过去的时候你得特别的小心不要选择错了,实际操作的时候还是经常点错了……但是Cadence里面是区分这些的,并且它贴心的在各种模式之间预先设置了可以选择的元素,并且各种模式的首选元素也是不一样的。在编辑模式下你才可以随心所欲的移动元件,编辑元件的布局等,你绝对是动不了你的布线的,在布线模式下就是专门的各种布线操作,可对元件稍微做调整。  

2.差分线对,等长布线,线长控制等,Cadence都有一个很直观的提示器给你,你可以清楚的看到每根线之间长度的差异,是不是满足你的约束要求,这个对高速板很有用。AD的话,我没有用过这些功能,也没有看到其他人用,所以不是很了解。

3.资源占用的情况。以前做过一个6层的小板,在Cadence和AD10下都还好,但是AD好像是占用的资源还是多点。不知道是心理作用还是……总感觉AD操作的时候没有那么的流畅。我们老大做的一个10几层的大板在我的电脑上就跑的有点明显的卡顿了……哦,那个时候我是用的2G的内存。理论上一般的高速板层数都还是较为复杂的,所以这个层面上来讲Cadence确实比AD有优势一些。

4.Cadence的原理图和PCB的交互相比AD要更加的方便一些,AD的probe交互过去的感觉变化太大,特别是你自己在布线布的自己发晕的时候,再这样交互的界面切换几下,你就gameover了……

5.当然AD比Cadence做的好的地方也是有的。           

比如AD的层叠的切换就比Cadence人性化,就在状态栏点击就行了,切换是在是方便极了,而且视觉效果也更加符合人的感官感受(原谅我的表达)比Cadence人性化。还有就是AD的网络着色特别的优秀,它还可以使用mask level对亮度进行调节,对比度可以调到很高,很清晰。不知道Cadence是不是能够调节,我是没有找到调节的方法——写完这个百度了一下,找到了,Display->Color/Visibility->Display->Shadow Mode打开该模式,并且选中Dim active layer即可。但是视觉上还是没有AD的爽,AD是不高亮的时候和平时没有区别,高亮的时候就高亮部分显示,其他的都变暗,但是Cadence按上述方式调节以后,不高亮的时候其他层也变暗了,所以还是AD的高亮爽一些。所以我觉得使用AD查看PCB是很爽的。   

以上大多说的是allegro的PCB方面的东西,OrCAD的SCH方面的东西,感觉还好吧,可能是原理图需要的操作没有那么的多,所以感觉二者差不多。

2。正确使用层次图,你会发现ORCAD/PADS/CADENCE跟AD比都弱爆了


mhw/amobbs:
我由于工作的原因,接触过大量其他公司(包括huawei、ZTE等)提供的原理图(ORCAD居多)和PCB(pads或allegro),没有一个能入我法眼的……这些图统一的特点是“巨大”,还随心所欲的使用全局网络标号(像C里的全局变量)……
你能想想几百上千个元件挤在一张A0图纸上的感觉吗?再大的显示器打开也看不清,只能不停放大……你看到一个密密麻麻管脚IC上密密麻麻的全局网络标号会不会发呆:它们到底连到了哪些地方?
有些是分成若干张子图,但是也毫无层次图的概念,纯粹是把超大图切割成A3,A2而已。

你会怀疑:这些公司的人有这么牛X吗?这么大的图都不出错……
——你的怀疑是对的。我看到的图纸版本号基本都是V2.x以上,你想象一下他们放出这个图之前打样-debug-再打样-再debug……的囧样。也就大公司才有这样的资本折腾研发资金吧,对研发来说好处还是很大的:debug不会花太多精力,但是会给公司一种很努力加班加点的好形象
有次和ZTE的工程师交流,听说我们搞SDH都能一版成功,觉得不可思议。

所以,给各位的忠告就是不管用什么工具,正确的坚持使用真正的层次图才是对的。
前面提到的SDH,仅使用了6层板(主芯片厂家demo板外包PCB设计,人家搞了10层板),很多芯片都是三四百引脚的BGA,用了18张A4图纸就装下了,看起来很赏心悦目,结构清晰……用得工具就是很多人鄙视的AD……这么复杂的板能这么轻松的搞定,得益于:
1-完美的层次图让原理图结构清晰
2-线束功能让连线简洁明了。线束可能是AD独有的。它能把网络标号、BUS总线,甚至别的线束……一起打包成一根粗电缆,完全参考机箱里线扎的思想。例如某个几百脚的IC,需要跟其他电路连接,信号有:32位地址总线、32位数据总线、读/写控制、使能、复位、片选等六七十个管脚……用其他工具,最简单的是用全局网络标号来连接,设计和审核都是煎熬;好一点用普通层次图,只能精简一下地址总线和数据总线,对外连线还是很多——这就是为什么他们的图都很大。而这里只需一根线束!
3-严禁的原理图编译(以前protel叫DRC)确保了端口不匹配(缺失、方向不同)、空白连线、悬空的网络标号、两输出脚冲突(首先原理图元件库必须严格按照datasheet指定的IO方向来设置管脚)……
4-智能元件库制作向导。几百脚的复杂IC,从datasheet导出或者从厂家网站下载(FPGA都有的)得到excel表格,复制粘贴,点点鼠标就搞定了,还绝对不会出错
6-自动FPGA管脚交换。因为连线很多很复杂,别人用10层板,我们只用6层板,是因为:把FPGA放到中心,其他IC的互联管脚都直接拉到FPGA附近,然后执行一下自动管脚交换,让他们就近连到FPGA,再反向同步到原理图,搞定。你可以把FPGA当作一个十几层的PCB,它内部可以很简单把任意管脚连接到一起(就像飞线一样),输出还带了驱动,可能把信号整形。