EDA365电子工程师网

标题: Altium Designer与Cadence软件的PCB实现相互转换 [打印本页]

作者: cc389518    时间: 2012-10-20 08:36
标题: Altium Designer与Cadence软件的PCB实现相互转换

7 L' @( r: m, |" f( r1 V% H将cadence allegro的brd文件导入AD中有2种方法:: a# \3 @7 A0 O% n5 p1 E

# n* R% j9 ^. U1 x1 h( P) |3 Q1。直接转换。AD summer 08 or winter 09已提供之间import的功能了。* ~% K$ B9 [& q! T4 k: a* P
  H% ^6 W4 X0 m' t1 b7 [
具体操作见Altium公司主页的Allegro importer流程:http://www.altium.com/products/altium-designer/features/summer08.cfm#; h, T+ ?% ?/ o7 u$ Z
4 _5 L$ {/ d; o/ l3 q' W" c0 }
PS:AD summer 08以下版本不支持导入allegro的brd文件,但是支持导入orcad layout的max文件;但同为cadence的产品,不能导入allegro layout的brd文件。
0 [* x+ r% ]) x; {( _! i, N' h( y
2。对于低版本的中Altium Designer,Allegro PCB(brd文件)需要通过其他一些途径实现,以Altium Designer 6.6为例介绍将Allegro的brd板子导入AD中。
* G2 G& y9 }4 f5 [( v
+ _" U( T/ [# P' i. t" y8 o基本思想是用CAM文件,具体步骤:
( Y  h' V& z+ J7 y. `# N- |! U1 B: h
) D/ G- ]- R; Z2 w' p* W8 p1、从Allegro PCB Editor中导出Gerber文件和IPC网表文件(不要IPC网表也可以,不过那样导入的PCB网络名是AD随机命名的)。也可以导出ODB++文件(可能还是需要IPC网表),我觉得这个比Gerber方便。Allegro需要安装第三方软件才能输出ODB++,这个在导出时会提示下载的(软件是free的)。' o0 x3 F. c: r
- h' _/ r& b3 N% a7 H
2、在AD中新建一个CAM文件。( k) q+ M3 c7 c+ s; ^5 C
6 V+ h9 D  W# n! W6 F4 R9 F4 f% E
3、通过AD的File/Import导入Allegro输出的Gerber/ODB++,(可选)通过File/Import/Net List导入IPC网表。
) P$ v& T  [% C) m2 O
0 c6 h% n% D- d' j! o4、使用Tool/Netlist/Extract提取导入的Gerber/ODB++的网络(将相连的Track视为同一网络,网络名随机生成)。
% @/ T& W0 n0 U3 N* n; w+ K; y3 k
5、(可选)通过File Import/NetList导入IPC网表。如果3中已导入,忽略本步。
8 B2 z1 x+ g* @: n) h" I
6 W7 W5 k+ |0 Z7 Q$ U4 f& m6、通过Tool/NetList/Campare将Extrat的网表和IPC网表进行比较,从而将网络(大部分)命名为Allegro中原来的网络名。+ ?) O4 W3 H' t$ p
+ Y4 N7 z+ s8 h3 ]
7、通过File/Export/Export to PCB,将CAM文件导出到PCB。至此基本完成了导入功能,但是所有的元件已经分解成了Pad,overlay上的Designator也已经不再是Text型。' o- _* O6 m3 F! T
/ Y: Q; ]0 u) F. H
8、元件的“恢复”:选中一个元件的所有primitive,将其作为一个Union,然后使用准备好的封装进行替换。这个可能比较费时了:-)其实也可以不准备封装,直接选中一个元件的所有primitive,复制到PCB library的新建空元件中,就制成了一个和原来一样的封装了。
2 f; k# p: [) N# X0 w/ m  @. D
& v# y0 _; s) n: N$ [) m; h9、也可以这样恢复元件:建一个不包括任务元素的PCB封装,放置到要恢复的元件附近,然后将元件的primitive加入到这个元件中(右键菜单中找)。
9 m; _. u7 Z7 [/ `: L* f2 G
/ N$ x7 \5 [/ e' }( O总结:通过1-7步可以完成在Altium Designer中打开Allegro的brd文件,也可以用来提取Allegro的封装,通过手动元件恢复,可以重建原brd文件。
/ B! C, @8 M1 l; F$ R" E
+ w( P. s1 {; Z4 J2 XP.S.:也可以通过从Gerber和ODB++等CAM文件中Reverse Engine出PCB来,但是需要自己重新命名AD中对应的封装或重新导入封装。3 O- m1 U+ a  b- P
  o. n8 M: p2 }% \$ x8 B
0 q" i2 u1 O/ d9 J7 b0 o( D: \9 I
如何快速积累PCB设计经验?
' k' @6 i) v4 Q, i5 r" f5 ^% A3 O0 h7 B7 Y/ y0 ^
1.学习SI,PI,EMC设计的基本原理
0 ~. |: s' d# Z1 P* ~/ F2 n/ K( m2 O; A8 m$ o. t
2.向高手学,而不是老手学。高手和老手不是一个概念,高手通常是有扎实的基础理论,在实践中总结出适合自己的经验。而老手只不过是理论的验证者,重复工作的经验之家。( b7 @7 H* A; w/ f8 t
3 O; H- _3 O: S2 K+ E
3.仔细分析学到的经验做法,对错与否,经验的设计适用范围等。2 S. A- J3 O3 M4 p/ P' {
+ ~# K) |' u$ D1 m" w3 o) W" ^  E
4.设计中仿真得到一个预期的性能目标。仿真不能解决一切问题,但是仿真可以帮助我们快速积累正确的经验,缩短开发周期。2 {' N3 E* _( J; z" \

. R. n9 d3 j* e  K8 H5.后期测试,对比仿真结果,哪些问题或者设计目标达到了预期的结果,哪些没达到预期的结果。为什么?涉及到的其他缺陷没考虑到,分析深层次的原因,及时总结记录。# H$ a3 F( F7 Q

, S8 r' U3 I/ F, m+ Z( |6.下一次设计把积累的经验用上,重复这一过程,再测试,验证以前的问题是否解决,还有什么没解决的足够好,为什么?分析再积累,做到每板均有提高!
( Y0 Q1 b/ Y# ?+ Z# B, N4 K# K# v+ t2 F: ~, x) s. k0 a

. ~( W3 c! Q" w5 l硬件设计流程+ _! W1 i8 V1 Q" M- q
4 [' O% N$ k3 C+ z( S  e
原理图逻辑功能设计,生成netlist
5 D; w5 g: y/ d+ y# B2 {% b- K+ [2 o4 E
          ↓
" x$ C4 q) `2 I6 U
, B6 l) u0 d5 ]. `* B: |: gPCB板数据库准备板框,层叠,电源及地布局9 x4 X& i( l- H8 U
7 D5 {: J% {/ e. I/ C9 R" Z9 |
          ↓
# m3 q4 _5 P2 l! S' @: M5 `
4 s) j4 X! I; Z# f0 d4 Rcheck DRC,导入netlist2 N/ @2 @6 ^% V' G/ L% l7 X1 i

* ]3 V6 E0 a! \7 r/ i          ↓
6 _  q3 C, H" N7 T' p( ^
7 i7 A& E! o& J9 M关键器件预布局8 \6 x0 `2 A, T

" `6 x- U& k) ?8 |          ↓5 t: V+ T/ ^2 }: S

# ?+ X6 ]; N* m& c6 R+ o0 Z2 ?/ l( g布线前仿真,解空间分析,约束设计,SI,PI仿真,设计调整: J1 ^# F: K$ V* L% @: u

' p" s: Z: f, V7 @         ↓
, C8 W- R) G: E. i8 x+ s  ?3 F9 S5 Y1 q
约束驱动空间布局,手工布局4 a" n9 ^# v4 u  [( @

( y; H6 x8 M4 U& E- P) P         ↓( |4 D, \# g4 J
4 B& m" u! l6 @3 ^: S4 c
约束驱动布线,自动布线,手工拉线,可能需要调整层叠设计
) v7 p# u4 E6 h! P) A, \9 l  G6 i( M# `* M6 ^+ Q5 Q9 u! I
        ↓
4 L* j/ w9 q, R9 X8 O8 a) G/ t, n3 p2 `- Z! A+ v; k9 \
布线后仿真
  `4 v7 h9 j1 g  g, B( U4 o7 E; K
( E+ `  V7 J  C4 b- b        ↓1 d0 L: U  r3 Q; ]4 {7 b/ }9 W
4 h9 X# Z/ W6 J# Q0 _
修改设计,布线后验证! B4 e( F& I; w) A, A

& f( A" i6 i! }4 d' F. L        ↓  X4 M6 ?6 E$ L% s, `/ O
; t/ R3 l! S2 P
设计输出,PCB板加工
! @$ q! ?) Y9 `' A+ w8 p& b  `, c2 `  X1 _5 j) h
        ↓
3 w2 k) c; q- u& h3 L3 f" @+ C& N6 A& m
焊接,PCB功能调试,电磁及产品性能测试
( h( v+ b2 S: M' j1 t; S) [" B. Z  V' p5 ^
思考:
6 w- V# {9 G  n: z  o( t9 c0 c# Y9 r: {6 l( M  T  e, t) n- f9 T
1)是否每个芯片电源管脚周围加0.1uf电容去耦?% X6 I1 W) l" G" y

7 |) r5 }" T- O' Y; _* J低速电路适用(保证电源完整性)
6 C) @* n% Y% g# ?7 Y6 Y. l) b, x# y( @8 y8 H+ B$ {5 `6 w/ M
PS:电容去耦的原理?去耦电容的值多大,什么类型的电容合适?放几个合适?
: }" l$ N( D1 E. t
0 c: T. @6 K3 f5 s高速电路则需慎重考虑:或者由于信号上升快,去耦电容设计不对,容易引起系统不稳定(重启或死机)
9 E1 G: V" ^7 q6 v& {( _: A4 e! y( c, W/ V0 Q' v3 M/ C* N5 W
2)33欧电阻端接方法
6 g  T- L" _# S" ?
6 ~- t5 P& @$ F2 a' X( ^涉及到信号的完整性,这里需要考虑电路本身是否存在信号反射,噪声(反射量)多大?
0 z( A0 f4 @6 W8 V
( S* V" ^* O& K% t33欧电阻只是端接电阻的典型参考设计值,其大小与阻抗(线宽,板层叠结构,板材即介电常数)有关。所以端接电阻可能是22欧或者47欧。另外还要考虑端接电阻摆放的位置是中间段,起始端还是末端。
; B: T1 C* A; E  K) d; V
作者: Aubrey    时间: 2012-10-20 12:31
顶!
作者: wzwang2000    时间: 2012-10-20 13:12
好贴,支持楼主。
作者: fxxxysh    时间: 2013-9-10 11:10
貌似很麻烦




欢迎光临 EDA365电子工程师网 (http://bbs.elecnest.cn/) Powered by Discuz! X3.2