6、通过Tool/NetList/Campare将Extrat的网表和IPC网表进行比较,从而将网络(大部分)命名为Allegro中原来的网络名。5 a2 V( a8 Q- h- h: T; D
7、通过File/Export/Export to PCB,将CAM文件导出到PCB。至此基本完成了导入功能,但是所有的元件已经分解成了Pad,overlay上的Designator也已经不再是Text型。
8、元件的“恢复”:选中一个元件的所有primitive,将其作为一个Union,然后使用准备好的封装进行替换。这个可能比较费时了:-)其实也可以不准备封装,直接选中一个元件的所有primitive,复制到PCB library的新建空元件中,就制成了一个和原来一样的封装了。 ) Z5 O2 ~* w0 U- d2 W$ w 9、也可以这样恢复元件:建一个不包括任务元素的PCB封装,放置到要恢复的元件附近,然后将元件的primitive加入到这个元件中(右键菜单中找)。 7 q; b- N0 y, s+ V0 m( @* C7 F 总结:通过1-7步可以完成在Altium Designer中打开Allegro的brd文件,也可以用来提取Allegro的封装,通过手动元件恢复,可以重建原brd文件。
P.S.:也可以通过从Gerber和ODB++等CAM文件中Reverse Engine出PCB来,但是需要自己重新命名AD中对应的封装或重新导入封装。: ]9 w/ V# J! H1 f4 d$ d & s% a; |3 K( M5 Y
如何快速积累PCB设计经验?
1.学习SI,PI,EMC设计的基本原理
2.向高手学,而不是老手学。高手和老手不是一个概念,高手通常是有扎实的基础理论,在实践中总结出适合自己的经验。而老手只不过是理论的验证者,重复工作的经验之家。# [. T- o% m- K, N, |/ v3 a
3.仔细分析学到的经验做法,对错与否,经验的设计适用范围等。 9 M c, S0 c% m4 e: r! y, |1 O 4.设计中仿真得到一个预期的性能目标。仿真不能解决一切问题,但是仿真可以帮助我们快速积累正确的经验,缩短开发周期。 7 k1 H0 A. d6 A! i) [+ N 5.后期测试,对比仿真结果,哪些问题或者设计目标达到了预期的结果,哪些没达到预期的结果。为什么?涉及到的其他缺陷没考虑到,分析深层次的原因,及时总结记录。 1 y. t/ r3 J# V8 r7 }1 o) n 6.下一次设计把积累的经验用上,重复这一过程,再测试,验证以前的问题是否解决,还有什么没解决的足够好,为什么?分析再积累,做到每板均有提高!7 D) ?/ C. K* n4 `" L$ O3 u
硬件设计流程, Q1 j4 I9 ]: v |& D% ?2 d9 Z
原理图逻辑功能设计,生成netlist
↓ * e4 [/ V( f, J F PCB板数据库准备板框,层叠,电源及地布局* v( V/ U. h$ I" V
↓ ! k- \* `. \8 ^# d) r4 Z5 v check DRC,导入netlist " N+ R/ P4 L6 t* \" d- c/ f# ] ↓* W: o s' m( Q- E & Y! W- p! q5 W$ V e 关键器件预布局1 Y' O* m$ z( P C
↓( z; ]5 z# q, M0 `9 f
布线前仿真,解空间分析,约束设计,SI,PI仿真,设计调整% |; `* F: u0 u8 e! y
↓
约束驱动空间布局,手工布局, t5 [0 s6 h" r( g- t& B
↓3 ?: w8 R8 t, y3 `$ }( C
约束驱动布线,自动布线,手工拉线,可能需要调整层叠设计 4 b5 ?- b( r: @5 ~7 m7 C, [: P ↓2 N9 y, A3 X0 X$ B9 t+ A; E, _5 V ' }- n: k% v2 e) y+ J( s# J8 K 布线后仿真 0 }( r, d6 Q# U ↓
修改设计,布线后验证2 l7 X& C% ?7 K- p0 L0 C
↓
设计输出,PCB板加工 , y, [- S# r; m. _' T2 j/ a" [ ↓% p( B6 C& |/ K& M/ z # q, F2 ~+ J! O2 ^$ Y: v( x 焊接,PCB功能调试,电磁及产品性能测试! k, C+ q" |( `$ i. I* o" C 5 f! a* F9 e7 G2 Y0 Z 思考:* D# _( {; _" k3 ^2 U. K$ U 9 C7 @# z- ^4 g' B( c( F- D 1)是否每个芯片电源管脚周围加0.1uf电容去耦?% Y `# H7 O7 z
低速电路适用(保证电源完整性) 0 k6 j' e+ G) f3 I9 V PS:电容去耦的原理?去耦电容的值多大,什么类型的电容合适?放几个合适?; c! f9 ]5 M: W- Q % ?$ L+ C0 a x" S$ P 高速电路则需慎重考虑:或者由于信号上升快,去耦电容设计不对,容易引起系统不稳定(重启或死机); I9 G; ? I. T* r7 o( P 1 t8 L% w( X" V( W, m( F" R7 g- v 2)33欧电阻端接方法
涉及到信号的完整性,这里需要考虑电路本身是否存在信号反射,噪声(反射量)多大? 9 H# t+ _% q$ Q6 ^0 f 33欧电阻只是端接电阻的典型参考设计值,其大小与阻抗(线宽,板层叠结构,板材即介电常数)有关。所以端接电阻可能是22欧或者47欧。另外还要考虑端接电阻摆放的位置是中间段,起始端还是末端。
将cadence allegro的brd文件导入AD中有2种方法:/ o+ H9 `) i0 h4 a
$ w( v5 U/ D i( U9 A
1。直接转换。AD summer 08 or winter 09已提供之间import的功能了。# b6 h3 C6 m4 \5 q3 R z: f. u
具体操作见Altium公司主页的Allegro importer流程:http://www.altium.com/products/altium-designer/features/summer08.cfm#4 [. Q8 i H3 h, w
; C9 P Z* w b2 {3 C/ M+ w
PS:AD summer 08以下版本不支持导入allegro的brd文件,但是支持导入Orcad layout的max文件;但同为cadence的产品,不能导入allegro layout的brd文件。
# H7 L' s% o3 t' g* R7 ]
2。对于低版本的中Altium Designer,Allegro pcb(brd文件)需要通过其他一些途径实现,以Altium Designer 6.6为例介绍将Allegro的brd板子导入AD中。) ~+ w T6 G. Q# E9 M; \% B
& z' b2 ~8 ?/ {; W* _( d
基本思想是用CAM文件,具体步骤:, d7 w" \8 t Z/ u! D+ ^+ {
1、从Allegro PCB Editor中导出Gerber文件和IPC网表文件(不要IPC网表也可以,不过那样导入的PCB网络名是AD随机命名的)。也可以导出ODB++文件(可能还是需要IPC网表),我觉得这个比Gerber方便。Allegro需要安装第三方软件才能输出ODB++,这个在导出时会提示下载的(软件是free的)。
1 w) f- a6 a8 z% P, }, w+ P
2、在AD中新建一个CAM文件。
3、通过AD的File/Import导入Allegro输出的Gerber/ODB++,(可选)通过File/Import/Net List导入IPC网表。
4、使用Tool/Netlist/Extract提取导入的Gerber/ODB++的网络(将相连的Track视为同一网络,网络名随机生成)。- L3 e1 |% ~# A' v9 a5 m# D9 Z- d0 z
5、(可选)通过File Import/NetList导入IPC网表。如果3中已导入,忽略本步。" C0 i5 e7 @5 u& ^" t) _) ?5 Z
6、通过Tool/NetList/Campare将Extrat的网表和IPC网表进行比较,从而将网络(大部分)命名为Allegro中原来的网络名。5 a2 V( a8 Q- h- h: T; D
7、通过File/Export/Export to PCB,将CAM文件导出到PCB。至此基本完成了导入功能,但是所有的元件已经分解成了Pad,overlay上的Designator也已经不再是Text型。
8、元件的“恢复”:选中一个元件的所有primitive,将其作为一个Union,然后使用准备好的封装进行替换。这个可能比较费时了:-)其实也可以不准备封装,直接选中一个元件的所有primitive,复制到PCB library的新建空元件中,就制成了一个和原来一样的封装了。
) Z5 O2 ~* w0 U- d2 W$ w
9、也可以这样恢复元件:建一个不包括任务元素的PCB封装,放置到要恢复的元件附近,然后将元件的primitive加入到这个元件中(右键菜单中找)。
7 q; b- N0 y, s+ V0 m( @* C7 F
总结:通过1-7步可以完成在Altium Designer中打开Allegro的brd文件,也可以用来提取Allegro的封装,通过手动元件恢复,可以重建原brd文件。
P.S.:也可以通过从Gerber和ODB++等CAM文件中Reverse Engine出PCB来,但是需要自己重新命名AD中对应的封装或重新导入封装。: ]9 w/ V# J! H1 f4 d$ d
& s% a; |3 K( M5 Y
如何快速积累PCB设计经验?
1.学习SI,PI,EMC设计的基本原理
2.向高手学,而不是老手学。高手和老手不是一个概念,高手通常是有扎实的基础理论,在实践中总结出适合自己的经验。而老手只不过是理论的验证者,重复工作的经验之家。# [. T- o% m- K, N, |/ v3 a
3.仔细分析学到的经验做法,对错与否,经验的设计适用范围等。
9 M c, S0 c% m4 e: r! y, |1 O
4.设计中仿真得到一个预期的性能目标。仿真不能解决一切问题,但是仿真可以帮助我们快速积累正确的经验,缩短开发周期。
7 k1 H0 A. d6 A! i) [+ N
5.后期测试,对比仿真结果,哪些问题或者设计目标达到了预期的结果,哪些没达到预期的结果。为什么?涉及到的其他缺陷没考虑到,分析深层次的原因,及时总结记录。
1 y. t/ r3 J# V8 r7 }1 o) n
6.下一次设计把积累的经验用上,重复这一过程,再测试,验证以前的问题是否解决,还有什么没解决的足够好,为什么?分析再积累,做到每板均有提高!7 D) ?/ C. K* n4 `" L$ O3 u
硬件设计流程, Q1 j4 I9 ]: v |& D% ?2 d9 Z
原理图逻辑功能设计,生成netlist
↓
* e4 [/ V( f, J F
PCB板数据库准备板框,层叠,电源及地布局* v( V/ U. h$ I" V
↓
! k- \* `. \8 ^# d) r4 Z5 v
check DRC,导入netlist
" N+ R/ P4 L6 t* \" d- c/ f# ]
↓* W: o s' m( Q- E
& Y! W- p! q5 W$ V e
关键器件预布局1 Y' O* m$ z( P C
↓( z; ]5 z# q, M0 `9 f
布线前仿真,解空间分析,约束设计,SI,PI仿真,设计调整% |; `* F: u0 u8 e! y
↓
约束驱动空间布局,手工布局, t5 [0 s6 h" r( g- t& B
↓3 ?: w8 R8 t, y3 `$ }( C
约束驱动布线,自动布线,手工拉线,可能需要调整层叠设计
4 b5 ?- b( r: @5 ~7 m7 C, [: P
↓2 N9 y, A3 X0 X$ B9 t+ A; E, _5 V
' }- n: k% v2 e) y+ J( s# J8 K
布线后仿真
0 }( r, d6 Q# U
↓
修改设计,布线后验证2 l7 X& C% ?7 K- p0 L0 C
↓
设计输出,PCB板加工
, y, [- S# r; m. _' T2 j/ a" [
↓% p( B6 C& |/ K& M/ z
# q, F2 ~+ J! O2 ^$ Y: v( x
焊接,PCB功能调试,电磁及产品性能测试! k, C+ q" |( `$ i. I* o" C
5 f! a* F9 e7 G2 Y0 Z
思考:* D# _( {; _" k3 ^2 U. K$ U
9 C7 @# z- ^4 g' B( c( F- D
1)是否每个芯片电源管脚周围加0.1uf电容去耦?% Y `# H7 O7 z
低速电路适用(保证电源完整性)
0 k6 j' e+ G) f3 I9 V
PS:电容去耦的原理?去耦电容的值多大,什么类型的电容合适?放几个合适?; c! f9 ]5 M: W- Q
% ?$ L+ C0 a x" S$ P
高速电路则需慎重考虑:或者由于信号上升快,去耦电容设计不对,容易引起系统不稳定(重启或死机); I9 G; ? I. T* r7 o( P
1 t8 L% w( X" V( W, m( F" R7 g- v
2)33欧电阻端接方法
涉及到信号的完整性,这里需要考虑电路本身是否存在信号反射,噪声(反射量)多大?
9 H# t+ _% q$ Q6 ^0 f
33欧电阻只是端接电阻的典型参考设计值,其大小与阻抗(线宽,板层叠结构,板材即介电常数)有关。所以端接电阻可能是22欧或者47欧。另外还要考虑端接电阻摆放的位置是中间段,起始端还是末端。
下一篇:Altium Designer与Cadence软件的PCB实现相互转换