|
以下是转的:
; U4 Q2 L( x( u! \9 y, C. N
, w" R4 Q7 y/ [' s0 @其实画PCB用什么软件不是很重要的,会使用一个,其他各种软件的功能都是很接近的,自然就触类旁通了。; s& s6 D4 i2 X# n; g
但问题是,有些软件的宣传做的比较好,而且被大公司所采用,所以就被 想当然 地认为是好软件了。例如SPB,PADS之类的,主要愿因就是主流公司所拥,而之所以主流公司用,是因为这些软件几乎在PC出现前就存在了,而且基本都是从Unix移植过来的,因而对于不明真相的如提问者等人,那样就很容易被忽悠地认为这些都是好软件。当然,这些软件应该不错,毕竟经历了时间的检验。
: Y1 P z2 A, U5 r+ T, U; x- I; l5 Z
但是问题是,Uxin和人们目前都几乎已经完全适应的WIn操作方式,是很不一样的,Uninx更多是命令式,而WIn则是鼠标的操作。这就决定了,Unxi的操作方式向Win的操作转换,是不容易的,这可以从PaDS的令人别扭的操作方式中得到说明。SPB的操作,也是不容易的,以至于人们有把会用当作一种资本的倾向。
1 O, A3 Z0 a' }5 _. O' | c2 \
3 n0 \+ C( `' Z& | g" y, x作为转型过来的软件,要适应新的系统,要做很多工作,所以这些软件,本质上,都是不好用的,相对于习惯WIn操作的人来说。
5 C6 l& B( @) R$ \1 o) H3 z3 o8 z. t5 C2 @
PCB软件,从本质上来说,并没有非常高的技术含量,因为PCB无非就是画sch和pcb而已,虽然目前人们更多地是炒作高速EMC,PI,SI等问题,但这都不是什么多高级的技术问题,作为PCB软件都可以容易地实现这些功能。其实,更多的,应该就是人机界面的友好,和易操作。在这方面,Prote做的很不错,因为它一直就是Win环境下开发的,其界面的友好性远优于这些Unix转型过来的软件。虽然Protel被认为bug比较多(其实pads更多以至于成为新人使用pads的最大阻力而orcad也有),但功能并不会逊于任何其他软件,而且没有神马功能是做不到的。0 @5 ]5 n- ]/ t
2 q1 I# }4 t* M
2楼,认为spb,pads等比dxp好,这种看法,是比较片面的,使用任何软件都可以设计优秀的电路,更多地在人,而不在工具。软件不同操作,是历史遗留问题,但现实是,人们更接受win的操作方法,例如画一个元件的sch,对于protel,可以采用人们早已熟悉的鼠标作画方式,而uninx移植的,就是采用类似命令行的方法,直接生成一个例如74HC373的原理图,因为这里无非就是横平竖直的几个线而已,但效率,会被人认为是spb或pads比protel效率高的一个原因,而事实上,不过就是不同系统的操作方式不同而已。这多少就像,unix的命令行式与win的鼠标操作方式,而某些情况下,被认为unix的命令式操作效率更高的原因,但这绝不是软件发展的趋势,而win的操作才是符合发展规律的趋势。命令式操作已经是过去时。
, f- C3 G3 P8 y, O
" P& K% A, j. I3 _7 X# z; e看到有人还不能正确看待这些PCB软件的问题,不得不做上述的讨论,供大家参考。
G( O- x! Y9 ^+ U( R) D" ]
9 t4 y/ @+ ?' c$ ~8 q% g
" [8 g/ R* C' ^3 d1 `而且对于元件的封装,protel做的仍然很好,大部分器件既有原理图符号又有其相应的多种封装,大大方便了人们的使用。相反,对于orcad,这个被认为是工业表准的eda,在原理图里只有器件符号,而没有封装,而且制作封装还相当不易。事实上,毫无疑义,人们接受的一个器件,必定是有原理符号以及封装并存的,而orcad之类的,在提供符号的时候,却 懒得 提供其footprint,则无论如何是令人无法接受的。既然orcad在器件的选项里,有footprint这一项,却不提供,而只是让使用者自己创建footprint,也许对于orcad的设计者来说,是很好意思的吧?" ~% y F4 v+ W. q0 [+ s2 }/ |+ X
既然footprint的制作相当不易,创建其必定需要很长时间,毕竟一个项目几百个器件的情况根本不鲜见,作几百个footprint,恐怕比做真正的设计原理还要费时费力,那么这些所谓强大的eda,的所谓的,被炒作为 效率高,是从何谈起呢?就像是Protel已经提供了现代化的自动化的设计方法,而orcad或pads还是只是停留在人工操作的基础上,到底哪个更符合技术的发展趋势呢,显然作为软件工具当然是要提供更多的自动化功能,而不提供的显然就out了,虽然不能否认现代自动化的确产生了令人们有愿意diy的可能性存在。当然也的确存在有人认为,人工的操作,而非程序的自动设计,是很“严谨”的做法,例如焊盘的设计是全人工,而非程序的自动设计,就像orcad的pads所实现的人工操作设计焊盘的等等情况,经管人们通常都不否认,计算机比人更少犯错误的现实存在,但的确减小了程序设计功能,这么耗人耗时的工作量。
% R/ U I) U# j6 m# v5 P. y2 w- j. H o7 {3 g. \% m
& j* K! k6 h/ f1 q; o2 ~
% \ ^% v# p1 v, `: ?+ i% _
对于拉线,protel是可以任使用者随意布线,灵活性很大,而这些被人炒作的所谓功能强大的eda,则是按其简单的设计,而无法做到灵活的,虽然可以被人们通常认为城是 拉线 之强者,而之所以认成强大,仅仅是软件设计功能之简单罢了! O5 y( a, b! E9 u) q- V
3 i' n5 t6 H3 x对于图面的移动问题,至少也应该看看autocad的方法,也许其应该成为一种标准的做法,例如通过鼠标的中键(按下)来实现移动图面的功能,而且移动方向,完全符合人们,在办公桌上,移动一张图纸的,习惯方法,即用手拖动图纸,并按照手的移动方向移动——然而遗憾的是,这居然同orcad的拖动方式完全相反!而且即便如此,orcad的拖动显示依然是缓慢的屏幕闪烁较为严重的(替换滚动条的功能这么难吗?),同protel等拖动的迅速与符合人们通常的习惯做法,无法同日而语!还有就是很重要的一条,protel等的缩放,是无级缩放,而显然orcad是有级的缩放,令人感觉很是别扭!
% V% l$ a$ P4 f, D. b
+ ^5 U# \' ?, \; `1 @也的确有人认为logic或orcad的操作很严谨的,然而事实上,您可否明白,这里的所谓严谨,无非就是软件设计功能的简单或简化,例如logic连线就是一种最简单的程序设计方法导致的结果。其实人们最希望的方式是,例如移动一个器件,其连线也跟着变化,最好还能做到符合人们的习惯,但这很难做到,在程序上,可以说这些eda软件,都几乎没有提共这个功能,但一些仿真软件,例如multisim,在原理图里,是可以做到连线同器件的移动同时变化的,而且连线不会出现连接错误(值得一提的是EDWIN在这方面做的相当到位。是的,这个问题确实比较不容易,所以做不到,没有一点关系,就是说,可以不提供这个功能,但不要让人感觉很蹩脚,或出现连接错误),是orcad等软件无法相比的。但是,如何对待这个问题,体现了一个设计者的程序设计实力或是否对工作有责任心的问题,或是否对技术有爱好而产生的更好更完美的追求而不是完全为了饭碗生计,两者的性质不同导致的产品性能是完全不同的。
d4 J* l+ g% p; a
. \1 G# Z f/ z) v4 |& q2 F+ }5 A
* _9 j+ K/ J4 F1 C% V) D下面的转载,可以更进一步说明这些情况:
3 |1 b9 U3 l4 y6 A5 O& A! B5 }( P8 l% w" }5 \0 |( a P7 y
一、 原理图部分
* Z: j u1 e& n7 L' V1、 库 4 n4 Y' q- P) O: L. G _/ |
⑴ DxDesigner 的原理图库与PCB的库是相互独立的,而且每个原理图符号库都是一个文件,很难实现统一管理;AD6可以使用集成库来统一管理,不仅是原理图符号库与PCB封装库,还能把混合电路仿真库、信号完整性分析模型库以及3D模型库一起实现统一管理。
" V3 n: }5 K* [1 V$ `* O0 H⑵ DxDesigner
9 R9 ?- Z& \- b. B' Y# V o% Q在建库时有建立向导,可以引导使用者迅速建立元器件符号库,在向导中可以从Office文档中拷贝器件的Database,从而一次性完成管脚的输7 `# _( R \- N, Q$ ]0 _
入;AD6虽然没有向导功能,但是可以使用smart grid paste/insert功能可以达到同样的效果。 0 Q0 b& o# h* L% x* U% t
⑶ DxDesigner在做Fracture符号库时必须添加关联属性,而且在调用时选择不方便,尤其在放到原理图上以后不方便换,AD6在做Fracture符号库很方便只要选择Add part就可,而且符号库放到原理图上以后非常方便更换。 # l k2 C( X* Y! p
⑷ DxDesigner只能实现与ODBC数据库的关联,不能创建真正的数据库,而AD6两者都可以。 ( B( H! V2 U! Z) R/ I" C/ z
2、 原理图编辑 " x: i# f# P5 q% w& ~" A7 v: t
⑴ DxDesigner和AD6 都支持层次化原理图设计,但是DxDesigner 不支持多通道设计,在DxDesigner里面必须使用拷贝复制功能来实现多路设计,而AD6只需添加Repeat属性即可。
+ X2 x& O2 Y: c3 H( F \- h⑵ DxDesigner在设计界面下没有查找功能,只能到数据表格中去查找 ,查找后批量修改比较麻烦,AD6 可以通过find similar 功能灵活实现全局查找,而且修改不同的参数也非常方便。 6 Q( N, X" D) _: i1 J& J
⑶ AD6中有Snippets摘录功能,实现同一项目及不同项目的拷贝复用,DxDesigner同一项目中只能使用简单的复制 ,不同项目中只能对整张原理图进行复用。
2 u; j7 z0 O3 V& x0 X$ ?⑷ AD6 中支持器件的管脚交换、与FPGA设计的链接(如原理图器件 的管脚定义可以直接来源于FPGA器件商的引脚约束文件),DxDesigner必须使用中间工具IO Designer来完成与FPGA器件的引脚约束文件的同步。
* k/ m- e% h) ]5 n% e⑸ AD6支持Smart Paste功能,可以对文本、网络标号、端口号、注释等拷贝后进行相互间的转换,这也是AD6独有的特点,DxDesigner 是无法实现的。
9 [( k; b, k. d1 _8 D+ S1 x⑹ AD6的快捷菜单、快捷键都是用户可自定义的,而且非常简单,DxDesigner里面的快捷键必须通过修改安装文件才能实现,快捷菜单不能进行自定义。
( K- o5 q- K3 j: W⑺
: Q' Q; [/ s$ TAD6中的混合电路仿真功能比较强大,支持XSPICE/PSPICE仿真模型,仿真类型有:直流工作点分析、瞬态/傅立叶分析、直流扫描分析、交流小信; k+ L0 }+ z7 U
号分析、噪声分析、直流传输函数分析、温度扫描分析、参数扫描、蒙特卡罗分析,而且使用的集成库中包含各种模型,这样使用同一原理图即可以仿真又可以做" S, B$ B* j. X
PCB设计,DxDesigner现在使用的DxSim仿真器是原来的Analog Design,
7 M1 i' e6 n( {. q$ i库文件比较少,仿真类型不多,还很难实现PCB和仿真使用同一原理图。 + j. K! ?: V% k' V1 L
⑻ AD6中可以实现两个设计的比较,DxDesigner 不能实现,只能到PCB中去比较两个网表。
; D, r7 P U9 j⑼ DxDesigner在输出BOM材料清单时,虽然通过变量派生模块可以输出Excel、HTML等格式,但是输出属性项没有选择性,AD6在格式上灵活多样,在输出属性项方面更是灵活选择,可以从数据库中选择,也可以从PCB中选择。 6 e" B+ S* B' h: I8 \7 p# [
⑽ DxDesigner中可以实现元器件的Scale(缩放)和输出EDIF格式的导入导出,AD6目前还不支持此类功能。 1 u3 ]) ]/ _1 x0 t O5 D# J: D
二、 PCB部分 + {+ T. |0 P5 y7 A1 ?# [0 m
1、 库 + B8 p* I* q s& Z/ q0 P
⑴ AD6中有IPC标准封装库向导,支持BGA、CFP、QCFP、PLCC、CHIP、SOIC、SOT23、SOP等多种标准类型,PADS中只有DIP、SOP、BGA等少数几种不是IPC标准的封装向导。 / k: b% S1 e# R# b0 g) n0 {* l. \
⑵ AD6中器件的焊盘形状支持多边形,过孔也支持正方形,而PADS中都不支持,只能通过不正规的方法来实现。 7 V+ k, Y$ v9 I/ p
2、 PCB设计
) l# Y- {1 U# q! l6 n⑴ AD6中能在焊盘和走线铜皮上显示网络名称,PADS 最新版本(PADS2007)也只能在焊盘上显示器件的管脚名称。 ( G5 I R+ U2 M
⑵ AD6中支持在PCB上单独放置过孔、焊盘,而且过孔和焊盘可以随意编辑,而PADS中不支持放置焊盘,过孔也只有在选择好网络后才能放置与所选网络相连的过孔。 ) P; y( O/ c. K2 E0 [
⑶ AD6中有统一的封装管理器对当前PCB中所用到的封装进行统一管理、编辑、修改,PADS中只能单独或同类型的一起修改。AD6 同样可以使用find familiar功能进行选择性查找和修改,PADS中没有此功能。 8 x; l$ w0 d' [( Z
⑷ AD6中有统一的敷铜管理,对设计中的敷铜区域进行统一管理,PADS中没有这种管理,但是它在Plane层上支持正片,并且能自动分割。 8 F7 R1 m! [* |) T% C/ a$ B, Y( P
⑸ AD6中能实现和FPGA设计的同步和正反标注,PADS中做不到,因为它不包含FPGA的设计模块。
+ k% s4 y1 X; _4 ]+ i, X⑹ AD6中还有Board Insight放大显示和悬浮显示功能、切片功能、逃逸式布线功能、3D显示功能、切割选择功能、PCB翻转功能,这些都是非产实际的、对提高设计质量和效率的功能,但是PADS中都不支持。 . q B4 G# p* A8 ^7 ]' Y( S
⑺ AD6可以输出ODB++的数据格式,但PADS中不能输出次格式,而这正是衡量工具档次的标准。 + A' U+ R+ v( K% \$ G$ c, H0 v
⑻ AD6带有CAM编辑功能,不仅可以对当前PCB进行编辑也可以导入其它Gerber文件或ODB++文件进行编辑,还能进行规则检查和验证,PADS必须与其它CAM工具(如CAM350)统一使用。 * i+ ]. h# u8 G5 f# w
⑼ 目前高档的PCB工具都带有拼版功能来满足不同设计的需求,AD6不仅能对统一设计进行拼版,还能对不同设计进行拼版,而PADS只能通过Mentor的CAMCAD工具来完成拼版功能。 : O3 Y+ t2 V% |9 P4 @* h
⑽ PADS中的布线器与PCB的基本设计环境是相互独立的,数据交换不能实现双向同步,布线器做好的设计必须先存盘后再用PCB设计环境打开。而AD6的各个环境都是无缝连接的,能很好地实现真正的数据同步。
$ M/ J. U; `) I7 d _/ m0 w0 g⑾ PADS中可以实现自动变线宽的功能、裸片设计模块(Bonding)和RF设计模块,目前AD6还不支持自动变线宽和裸片设计,但RF的功能可以实现其中的一部分(如:加屏蔽线)。
4 E7 N5 z3 P& H; m& U9 s. |三、 高速分析 0 j* M* W8 {" [
1、 布局布线前分析
" v! C7 ?* ?. T, E/ \1 E8 xAD6支持信号完整性分析、串扰分析、终端匹配参数扫描分析
; p/ m# k' j! P4 B: n+ X+ e- mHyperlynx的LineSim支持信号完整性分析、串扰分析和电磁兼容性分析 9 C9 u" {* \' ]: L4 U
2、 布局布线后分析 & P8 m/ o! `' J3 a$ }
AD6支持信号完整性分析、串扰分析、终端匹配参数扫描分析 . i$ i9 @ s8 B9 N- \
Hyperlynx的BoardSim支持信号完整性分析、串扰分析和电磁兼容性分析4 ?+ j3 F, E; s, _+ M; d2 c! R
* b* M1 e6 K1 x0 T; j2 i' ?
) Z- w# M1 p* | q. Z' ^; f x
以本人看来,有人所认为的protel功能之华而不实,是不合适的。因为其人际界面的设计,是符合人们的习惯的,而且这些功能非华而不实而为锦上添花,这是本人的看法。protel的操作,例如在pcb布线里面,一个线走完之后,可以任意对线进行修改,仅这个功能,就是orcad等望尘莫及的,这也同样体现了程序设计能力的问题,能够对trace进行任意修改,例如宽度走向拐角等的修改,是需要相当的程序量的以及设计者的智慧体现和努力,所以,很明显,不提供此类功能的eda软件,可以从某种意义上认为城市偷工减料了。
0 }; t: y1 V! `/ X- k' ]1 F4 S7 I是的,偷工减料一词肯不好听,但可以举一个例子来看,就不难明白了。例如,一个trace,要从程序设计的角度来看,要建一个类或结构的封装,如果在C语言里话,为了能够对trace进行宽度长度拐点等的操作,则必然建立这些相应的属性,通过一些方法对属性进行程序操作。而相反,对于不提供trace宽度长度等属性的eda软件来说,他们就无需建立一个trace的封装类了,而且更不需要对其进行宽度长度拐点等的修改功能程序了,或者也可以说提供的功能越少,当然人机友好性能就越差,但的确圣省去了不少程序及其工作量。但是偷工减料的eda可以,在某些情况下,被认为是效率高的,例如通过一个简单固定的算法,就连接了两个pin的连线,而人机界面友好的软件,要通过鼠标一步一步的作成两个pin的连线,当然了也可以提供直接非手工的连线功能,这属于锦上添花。因此,用固定操作的某种算法,来替代需要人机界面友好的程序设计功能,的确有时会被看作是高效,但也请不要忘记上面所说。5 A* y! d* i. O8 c2 i
$ H+ m" h4 i9 j7 R$ {, q+ b% J# l是的,的确有人也可能不少从protel转orcad的,发现pcb的布线爽,其实者依然是个软件操作坊式不同的问题。貌似目前诸多软件,包括众多的开源免费软件似乎都以powerpcb之类的为榜样,进行操作方面的雷同设计。的确,似乎由于其拉线时,trace的闪烁设计看似很快很爽,但遗憾的是,本人认为这个依然貌似败笔,因为多年前本人设计图面程序,是绝对不能出现画面闪烁的,当然有一定的方法解决这个问题,这是本人印象深刻,以至于一相认为,凡是画面呈现闪烁的,都是不专业的,现在依然如此看法。所以你可能觉得很爽,但本人可从不这么作,事实上,protel的PCB走线的无闪烁方式,才是本人当时设计唯一采用的方法。
6 |2 A1 p Z0 x9 B
& K! P1 ~3 z8 _1 q+ K+ w从众心理是导致protel这个不被大公司所用的eda受到某种冷落(然而,不得不说的是,如果Pads或orcad的推荐者,只是公开列出,这两者的大公司使用名单,而不列出Protel的大公司使用名单,也的确会出现,让不明真相的人,感到Protel没有大公司使用,经管这是不可能的。),以至于出现人为orcad比protel更好说法。试想如果连intel这样的大公司都用orcad(虽然很像pads和orcad的推荐者所刻意指出的,但IBMsony等也的确使用protel),难道进行eda选择的时候会从技术功能的角度来真确看待这些eda软件吗?的确很难!- Y7 I3 Q3 |4 b& V" ^+ }
' N( t4 ~3 \9 t5 a再看看众多的开元eda,大都几乎都是按orcad的做法来设计,例如PCB的走线,很像是orcad的,而压根与protel无关。的确,不得不承认的是,按照protel的操作坊式,软件设计比较复杂,但真的很方便人们的习惯操作,是按本人看来,真正应该成为的某种标准做法,但很遗憾,众多eda是在模仿orcad,例如连AutoTrax这样漂亮的PCB软件,很像是完美主义者的作品,依然模仿orcad。当然,这可能是历史原因,可能Pads的使用者有的转入了EDA的设计领域,当然就会以pads为标准进行设计。虽然从某种角度看,pads的设计方法,在过去几十年,应该是不错的而且看来也的确影响了不少人,然而时代貌似变了,protel的设计方法,才是符合人们当前习惯的。5 q1 m- g9 V1 ^4 o0 i# z$ r r
+ J- L8 X) C! M H: {1 X/ b' ?, S% y6 b& S4 L: G( f, }
可笑的是,orca的pcb走线居然都是 长方形 ,所以拐角处 就出现了缺角,程序设计居然搞成这个样子!器件外形只是几根细线,焊盘是个圈圈,软件设计如此简化,与protel完全无法相比。" A4 _! Y5 K3 L4 r# Z- J
# L* e: g" n1 P) {, ~% v0 Q# w
从软件功能上来说,protel也是远远优于orcad等的,例如器件的封装问题,protel提供了内置的作封装的wizard,而其他的例如orcad等则压根没有此功能,以至于出现了第三方的 帮助orcad进行封装设计的软件,这应是对orcad何等的不好意思。而protel的设计者则显然早早就考虑到这个问题,而且早已设计的此功能。所以,仅从这一点来说,谁作的更好?是protel而绝非其他eda。
; N5 {5 }- E9 y; C& v再次重复上面所说的一点就是,PCB的走线,protel的做法是正确合理的,符合人们操作习惯的,是非常值得其他eda学习的。也就是说,连接两个pin的走线,是要按照使用者的鼠标任意走线的,而且可以走完后,进行任意修改的。当然可以提供锦上添花的功能,例如通过某种操作,直接连接两者。
* [9 W, H; k! Q8 q8 W: U* k6 h) x4 L3 a* R9 T. P, s
对于不想与orcad等竞争的,例如eagls等,不提供onlindrc,没有推挤功能,然而推挤功能,就像自动布线一样,效果不会很令人满意,还需要手工修改,所以可以有提高效率的效果,但也可能习惯手动布线不太适应,但没有onlinedrc自动避让等功能就不太好了吧?8 f1 y, T; z0 q8 S
5 X4 r" f. x- J4 Y0 k0 T" P# H- |0 c1 a7 S, D3 ^( B
总之,所谓的这些强大的eda,在人机界面友好性方面,还是相当欠缺的,比如上面提到的器件封装问题,看似简单,但问题却很严重,因为设计者似乎并不考虑使用者的使用方便问题,而且重要的,似乎忘记了protel所能提供的功能,你却没有!但愿不是刻意贬低protel,而能够令自己可以心安里德地 懒度 般的不提供人们所熟悉的功能。随着开源eda(毫无疑问,这些eda都不会是进行功能的 堆砌 ,而是一定会按照人们的习惯方式设计!因为根本不存在向前兼容性问题!道理虽然如此,但开源软件定位貌似比较低,可能与eaglse齐平,就满足了,而尚未提供DRC推挤避让之功能,但这个功能真的那么难以实现吗?未必吧!)的逐渐出现,可以预见,这些eda的软件功能会越来越强大,会对这些老软件,造成迟早出现的竞争,到时再看看,例如orcad这样的工业标准软件,是否会依然如初般的不提供诸如footprint之类的等等功能,拭目以待吧!+ |: o: l. Z& Q \5 u
* b0 h+ \: P7 C
现在已经有了不少EDA的后起之秀,功能上既继承了老Eda的优点,又人机友好性方面,作的非常不错,例如DipTrace等软件,做的非常不错,本以为这个几十兆的软件功能不会很强,但试用结果是,完全无法找到缺点,该有的全有,而且比老Eda更简洁方便,功能设计所见即所得,更接近protel。当作原理图,移动一根线,其结点也一起移动,并自动对齐,就已经预感,这个软件无可挑剔,事实证明,的确如此!2 U1 `/ f9 F) `% |, \( r" I
0 I) \( K6 w- z |
评分
-
查看全部评分
|