一、資源
1、網站推薦www.eda365.com,里面有很多有用的東西;當然還有官方代理商的網站http://www.pspice.com.cn/;
2、視頻教程:有庫源電氣的視頻教程,還有在www.eda-china.com(有個叫詹書庭的)中的視頻教程,這兩個視頻都是講的16.5版本的,當然還有於博士的講的16.2版本的;
3、PCB的步驟和AD還有PADs都一樣的,原理圖→封裝→布局→規則約束→布線→覆銅→生成Gerber;
4、Allegro資源匯總貼:http://www.eda365.com/thread-11539-1-1.html;
5、就是軟件自己的Help了;
6、吳均出的《Cadence印刷電路板設計:Allegro PCB Editor設計指南》;
7、Allegro的GRE(GlobalRouteEnvironment)功能
http://www.asmyword.com/forum.php?mod=viewthread&tid=36&fromuid=3
(出處: 中國導航技術論壇)
二、原理圖
1、在原理圖生成網表的時候會出現錯誤,具體的錯誤類型及原因可以通過打開ORCAD Capure 中的help,里面的View菜單下面有Show Navigation,(在Reference目錄下有Orcad Capture Messages Reference Guide);
例如錯誤Error [ALG0052]的說明如下:
Error [ALG0052] Net <Net Name> has illegal Character "!". Please rename the net
A net name cannot contain illegal characters such as ! (the bang character). You must rename
the net.
Note the list of illegal characters on net names in the Capture - PCB Editor flow
■ ;
■ !
■ `
■ "
■ ~
■ * along with any other character.
■ This implies that * is a valid pin name but a*, *a and ** are invalid.
■ Unicode character set
Also, cross probing (cross highlighting and cross selection) will not work for this part if you
use a ' or a \ (back slash) in the net name.
2、錯誤:Cannot perform annotation of heterogeneous part 'U?D(Value TMS320C6713_PYP) at location (2.00, 0.90) on page 07-Gnss', part has not been uniquely grouped (using a common User Property with differing Values) or the device designation has not been chosen
INFO(ORCAP-1379): Done updating part references(http://www.eda365.com/thread-9741-1-1.html)
說明:但是為什么一定要選Incremental reference update呢?===>如果不使用這種方法,則每次排序都會改變以前排列好的元件序號
' B* T* W$ C/ A2 E, e0 e我選這種排序為什么不行呢?===>無條件排序就是剛才說的,每執行一次則從頭到尾排列一次,遇到重復調用的多分部元件就跳過報錯PCB論壇$ e, q) l! A3 Y8 Y
Incremental reference update和Uncondition(無序)排序有什么區別呢 ?請版主幫我分析一下什么情況下應該使用哪一種排序比較好?謝謝了~* `/ F& i# O1 ?; p6 g9 J3 r2 w
===>很顯然,如果你有多分部元件被重復調用,無條件排序是無法完成排序功能的,因為它的動作始終過不去那一關;而增加排序則可以一步一步地排下去,直到你所有的元件都配編上序號。
解決辦法1:多分部元件被多次調用時,自動排序需要多執行幾次(元件調用幾次就要執行幾次排序)/以上,以上log表明:1.自動排序時選擇Incremental reference update;2.第一次自動排序后出現警告,也就是上面的ERROR [ANN0005]3.忽略上述警告,再執行一次相同的自動排序;4.U?D編號完成! q-
解決辦法2:把器件的value名字改來不一樣,Value改掉,則表明這兩個元件不同了,也就不是"調用"關系了。
3、錯誤:Error [ALG0062] Value for property pcb Footprint contains carriage return for X1800
解決辦法:原因是此顆零件的屬性footprint其內容值字尾包含carriage return字元,解決方法是:在該零件的屬性編輯視窗下找到pcb footprint屬性,將carriage return字元刪除並保存即可解決.試試看,Icarriage return 就是帶了回車,你在Footprint后面按一下del即可,用個方法搞定了
4、錯誤:#1ERROR(ORCAP-36055):illegal character in\hj-am13-mb-v0.0.0(a10)\.
解決辦法:原因是存儲庫的地方有非法字符,可以在Source Library選項下查找該非法字符,然后找到封裝后,編輯一下在更新就可以更改到現在的封裝路徑,所以在畫原理圖的時候要注意,文件名和路徑名均不能有非法字符,否則將無法導出網標。
三、封裝制作與布局
1、感覺Allegro軟件制作封裝比PADS和AD要麻煩,不過利用PADS的LP wizard工具可以比較方便的制作封裝,畢竟是符合IPC規范的,關於LP Wizard的一些用法在其官方網站上有視頻講解或者就看起Help文檔也能夠比較好的掌握;
2、顯示過孔:Setup——Design Parameter Editor——Display——Display Plated Holes;
3、Rectangle無法修改線寬,要修改線寬需用用Line繪制;
4、.pad焊盤文件,.dra繪圖文件(可編輯),.psm封裝文件(不可編輯),由dra生成;
5、用LPWizard生成的庫是放在每個文件夾里面的,用批處理命令提取出所有文件到一個文件夾下;
http://www.eda365.com/forum.php?mod=viewthread&tid=90224
6、Allegro導入DXF時,DXF文件名不能有中文;把 USE DEFAULT TEXT TABL跟 Incremental addition這兩個選項勾上,不然導入DXF后元器件也沒有了;
7、給板框添加倒角,Manufacture——Drafting——Fillet,先后點擊需要倒角的邊即可;
Manufacture------dimension/draft――Fillet 圓角
Manufacture------dimension/draft――Chamfer 斜角
以上操作只對LINE 畫的外框有效,而對Shape 無效。
8、Allegro的坐標命令,絕對坐標:x 1 2;x 1 y 2;相對坐標:ix: 1或者iy:1,;命令跟數字后面要加空格;
9、Allegro更新封裝,Place——Update Symbol;
10、Allegro中對齊的方法:(1).首先右鍵application mode切換到模式placement edit;(2).框選需要對齊的元件;(3).關鍵的一步,在你要對齊的基准元件上右鍵,選擇align components;(4).allegro只能實現這個中心點對齊,至於更高級的要使用skill了;
11、有些元件封裝需要用到安裝孔,在制作封裝時,不給孔添加Pin Number,就是安裝孔,菜單Edit-Delete,然后選擇相應引腳的Pin Number刪除即可,此時可以用Display-Element選擇相應的引腳可以發現已經變成了Mechanical Pin,而其他有Pin Number的仍然是Connect Pin;
12、通孔式焊盤做得比較大,且排列的較密集,怕連錫怎么辦?
答:焊盤間畫絲印做隔離。
13、快捷鍵設置(alias 設置組合快捷鍵,funckey設置組合快捷鍵和單快捷鍵,C:\pcbenv下面的evn文件)
alias Pgup zoom in 設置放大
alias Pgdown zoom out 設置縮小
alias ~R rotate 設置control+R 旋轉(~代表control鍵)
alias ~M mirror 設置control+M鏡像
funckey h hilight 設置h 高亮顯示
funckey 1 'pop bbdrill;pop swap;subclass top' 切換到頂層
funckey 2 'pop bbdrill;pop swap;subclass top;+' 切換到第二層
funckey 3 'pop bbdrill;pop swap;subclass top;+;+' 切換到第三層
funckey 4 'pop bbdrill;pop swap;subclass top;+;+;+' 切換到第四層
funckey 5 'pop bbdrill;pop swap;subclass top;+;+;+;+' 切換到第五層
funckey 6 'pop bbdrill;pop swap;subclass top;+;+;+;+;+' 切換到第六層
funckey 7 'pop bbdrill;pop swap;subclass top;+;+;+;+;+;+' 切換到第七層
funckey 0 'pop bbdrill;pop swap;subclass bottom' 切換到底層
funckey p 'settoggle no_etch_shape_display;redraw' 不顯示銅皮銅框
funckey o ‘settoggle no_shape_fill;redraw’ 不顯示銅皮但有銅框
14、Hight時取消條紋狀顯示,Setup——User Preference Editor——Display——勾選display_nohilitefont;
15、在應用區域約束規則的時候,注意是選擇Shape——Rectangular,不是Add——Rectangle;
16、在使用Z-Copy命令的時候注意shape是否有重合的部分;
17、Allegro中自帶的常用的KeyBoard Command命令:
可以通過Tools——Utilities——KeyBoard Command查看;
常用的有:define grid 定義柵格點;hilight 高亮顯示;net **高亮顯示某個網絡;還有跟rats相關的命令,比如rats all ,rats net, rats blank;add_viaarray,批量添加過孔;
18、在使用Spin或者Route命令時,如果旋轉方式設置為元件中心的話,都會很難控制,這時候設置為User Pick,會讓工作變得簡單。
19、焊盤的幾個概念說明:SolderMask(Solder焊接的意思,Mask面具的意思,翻譯過來應該是焊接面的意思),使銅皮裸露出來,需要焊接的地方,所以覺得通常翻譯成阻焊層總覺得不太好理解,還是直接記住英文就OK了;PastMask(Paste粘貼,用漿糊粘貼,翻譯過來應該是用錫膏粘貼的面),鋼網開窗大小,需要圖上錫膏焊接的;
三、布線和規則
1、層疊結構設置:層疊結構type中有三種類型:conductor:走線層;plane:平面層;dielectric:介質層(隔離層);Negative artword設置該層為正片還是負片(在出光繪Artwork時,在plot mode里面有Positive和Negative,這兩者是有區別的);
2、焊盤顯示圓圈還是填充問題:Design Parameter Editor中Enhanced Display modes里面Display plated holes:顯示有金屬連接的過孔;Display non-display holes:顯示無金屬連接的過孔;Filled pads 填充焊盤;Connet line endcaps:連接連線端點的空隙;
3、關於規則的設置:
(1)xnet設置:analyze——Model Assignment——OK,選擇對應的電阻或者電容然后點擊cread mode;
在出現對話框中選擇Create ESpiceDevice model,點擊OK, 出現下面窗體:
ModelName: 輸入產生Model的名字
Circuit type: 選擇Type, 電阻,電感或電容
Value: 值
Single Pin: 各Pin的連接順序, 中間為空格,
這里要注意要看零件的pin的排列,1 2 3 4 5 6 7 8,就是: 1 和2 是一個電阻,其它同理所以如果就是普通電阻電容那就更簡單了.
Common Pin: 這里不用管它,空着就可以.
上面都輸入好了就點擊OK,完成Model的建立.
點擊OK退出就可以發現連接該排阻的兩邊的Net 都有了個Xnet屬性,如下圖:
這樣就可以搞定Xnet,很簡單吧!
4、用highlight sov命令后如何取消高亮顯示:用highlight高亮選中,然后在用dehighlight取消高亮的部分就可以把highlight sov高亮的取消掉了,網上有說“這個是用來檢查跨分割的,取消的辦法是:如果是4層板的話,在電源層跟地層都鋪上地網絡,然后再按Highlight Sov刷新即可”,但是沒成功過;
5、setup-user preference editor里面有Route下面的Connet有allegro_dynam_timing 和allegro_dynam_timing_fixedpos選項可以打開走線時的線長提示;
6、差分對規則在Electrical 的優先級高於Physical里面的差分對約束規則;
7、區域約束時用到的Region約束,區域中所有的net和net class都將采用該區域約束,如果有區域內有些net class需要不同的設計規則,則需要在區域內建立不同的Regina-Class;
8、Relative Propagation Delay:①設置了Target是Relative Delay,Actual是與Target長度之差;不設置Target是Match Delay,此時Actual等於length與最長的網絡之差;②Local同一net進行匹配,Global不同網絡之間進行匹配;③Delta:Tolerance 增量:誤差;
9、Rats飛線的顯示設置在Setup——Design Parameter Editor——Display里面的Ratsnest geometry和Ratsnest point設置;
10、在Logic——Identify DC Nets可以設置電源網絡,在布線的時候會以正方形指示;
四、覆銅
1、在覆銅時,shape——Global Dynamic Shape Parameters 中對shape先設置成Rough或者Disabled,可以加快布線及DRC檢查的速度,但是最終出光繪文件的時候,必須將Shape更新成為Smooth類型;
2、Allegro給批量Via加上Gnd的net屬性方法:①、復制屬性是GND的via,添加就OK;②、Tools——Utilities——KeyBoard Command,選擇add viaarray,就可設置過孔的間距,網絡等;
五、檢查
1、Display——status里面如果有黃色指示可以點擊黃色指示查看具體的DRC錯誤及未連接的網絡;
2、在之前使用Logic——Identify DC net后,默認的電源網絡飛線是不顯示的,而是現實的叉叉狀,要修改成飛線顯示,選擇Edit——property,然后選擇需要修改的網絡,然后在Table of Contents里面選擇Ratsnest_Schedule,然后在下拉框中選擇Min_TREE即可,如果要切換成叉叉顯示,選擇Power_AND_GROUND;
3、導出3D圖到三維軟件Solidworks或者CATIA等中,File-Export——IDF,CATIA導入時分別選擇 .BDF和.IDF文件即可,注意在板子里面要有Place_Bound_Top,而且還要通過Setup——Areas——Package Height定義元件的高度(在做封裝的時候做好OK);或者在導出IDF的時候在Default Package Height里面填上合適的高度即可;
4、如果有元件封裝需要更改,點擊Place——Update Symbol更新即可;
5、Allegro轉PADS步驟:Altium Designer Summer08以后的版本中文檔導入向導支持Allegro PCB設計文件格式(.Brd)或Allegro ASCII文件格式(.Alg)。如果用戶Altium Designer設計系統中安裝了Allegro PCB編輯器(支持15.2以下和16版本),用戶就可以直接轉換Allegro PCB設計文件(.Brd)成Altium Designer PCB文件(.PcbDoc)。除此之外,Altium Designer只能支持Allegro ASCII文件格式(.Alg)轉換成Altium Designer PCB文件。接下來,我們將如下操作完成Brd格式到Alg格式的轉換:
- 復制Altium Designer安裝目錄下\System目錄下兩個文件,分別為 " Allegro2Altium.bat " 和 " AllegroExportViews.txt " ,到需要轉換的.brd文件夾下;
- 在CMD命令環境下,切換到.brd文件夾下,然后鍵入命令 " Allegro2Altium yourfilename.brd " 。
- 在用戶轉換文件目錄下,將生成文件 " yourfilename.brd.alg " ;同時,還將生成一個".log"日志文件。
- 轉完后,在另存為protel 4.0格式,
- 在打開PADS的padslayout Translator工具,選擇打開文件類型protel就可以導入了,導入設置參看http://www.eda365.com/forum.php?mod=viewthread&tid=85766;
- Allegro出DXF文件步驟:
(1)打開您的BRD FILE
(2)顯示好當前您要轉出的層
(3)、file >>EXport>>DXF...
(4)、
(5)、
(6)、
完畢。
7、Allegro出Gerber導入CAM350分層問題:
(1),此圖原為GBL只有1層的是個復合層,導入后變成了3層。
(2),我們需要更該CAM350的系統設置:請依照以下步驟:file-setup-photoploter
(3)、點擊右邊的Setup Options(更改設置的時候不要導入任何資料,只打開一個空的CAM350就OK)——Convert Composite to Single Layer
(4)、接着把此項勾選上: 然后OK確定,關閉CAM350,再重新打開CAM350導入:
(5),重新導入的結果:
當然如果需要把一層變成幾層的,相反的方法,把勾去掉即可
8、Allegro的精度問題(最好就不要換單位,其他的軟件能隨便換,allegro最好不要換,allegro只記錄轉化后的數值而並非初始值,多次轉換會導致誤差越來越大):
(1)、在Setup——Design Parameter Editor——Design里面的Accuracy(decimal places)
(2)、Artwork ——Format里面的Integer places和Decimal places
(3)、NC Parameter里面的Format的X.X
注意事項:在出光繪的時候,Artwork的精度要和NC Parameter的精度設置一樣,不然出光繪的時候可能過孔會有偏移;但是Design Parameter Editor里面的精度設置跟這兩個有什么關系呢?有人說如果Design里面的單位設置為mil,Accuracy為2,那么在Artwork和NC Parameter里面Decimal places應該為5,因為出光繪的單位為Inch,1 Inch=1000mil,所以要匹配設計的精度,Decimal Places應該為5;
參考:
平時畫圖多用mm為單位,出gerber時也以公制為單位,剛好和mm對應,也沒出過什么問題。有時碰到用mil為單位畫的板子,以英制為單位gerber后導到CAM350里會出現些問題,仔細想想便理解了其中的意思。
allegro中畫圖和出gerber分別用的是兩套單位,互不相干。15.7中繪圖單位於Setup-->Drawing Options處設置;光繪文件單位於Manufacture-->Artwork處設置,Drill和Route單位於Manufacture-->NC-->NC Parameters處設置。
關於數據精度,理論上出gerber要比畫圖精度更高,如畫圖用mm,2位小數,則出gerber用mm至少3位小數。如果單位不同,則換算到相同單位再比較,如畫圖用mil,1位小數,出gerber用英制,即inch,要精確到0.1mil需要4位小數,出gerber要5小數才好。大家建議畫圖和出gerber用相同的單位,我想是為了避免不同單位換算可能會出現除不盡的情況,影響到生產,inch和mil換算還好,mm和inch換算搞不了會出些小問題,沒必要自找麻煩。
另外再提一下出Ncroute,Ncroute需要一個ncroutebits.txt文件指定銑刀直徑,該文件中銑刀直徑的單位須和NC Parameters中一致。例如:畫圖用mm,出gerber用inch,銑刀直徑為1mm,則在Ncroute_path層畫Route路徑時line width應為1,ncroutebits.txt中標識該號銑刀須用inch為單位,即0.0394 T0*。這種情況就是自己給自己找別扭了。
所以設計pcb時,假設畫圖設置單位為A,光繪、NC和ncroutebits.txt須使用相同單位,設置為B,則A和B最好一致。
9、Allegro出PDF文字問題:Allegro出PDF有兩種方式一個是File—Export下面可以到處PDF,還有一個就是裝虛擬打印機,用虛擬打印機打印時如果要想打出的PDF的文字可以查找需要在File—Plot Setup下面的Windows標簽下Non-Vectorized text勾選上,這樣不矢量化就可以在PDF中查找了!
六、GRE新功能
1、建立pinpairs時,會提示INFO:PinPairs which are not explicitly constrained will be automatically removed when Constraint
Manager is closed,意思是提示如果不給建立的Pinpairs進行約束規則,退出約束管理器后pinpairs也就消失;
2、GRE:選擇工具ALLEGRO PCB Design GXL(legacy)即可,建立Bundle,在Constraint Manager里面的Properties里面可以建立,注意在Find欄里面幾個選項的勾選,GROUPS表示Bundle,Other Segs表示Flow,ratsnets;手動創建 Bundle 之前,為了保證以后人工走線能夠完全成功,所以留了設計裕量,在設置 Bundle 的粗細的時候如圖所示的 Flow Line relative Width 110%。這個參數的設置的意義在於,創建的 Bundle 的寬度,是根據 Constrains Manger 里面設置的 Spacing 和 Physical 約束的實
際值上加了 10%的裕量。Via 的沒有加裕量的原因是,FLOW Via 的尺寸已經大大超出了實際 Via 所用到的面積。在做 BGA 規划的時候,另外一個原則就是從 BGA 一個角以順時針或者逆時針的方向進行規划。以本項目為例,就是從左下角開始,一組一組的規划,保證每層出線后用最少的一個走線層的循環,如圖所示的層的顏色:藍-黃-粉-紫;藍-黃-粉-紫;上面因為考慮到有別的線,所以用走縱向線的層進行循環。