1. 程式人生 > >自動佈線Allegro PCB Router Tutorial

自動佈線Allegro PCB Router Tutorial

本文記錄學習自動佈線的歷程。 ##1.自動佈線概述

1.1 基本概念:

a). Pre-Routing:佈線前應該設定約束規則和指定元件屬性。檢查層數和正負片的設定是否正確,放置埋孔和盲孔。設定佈線規則,例如佈線區域、約束和屬性、網格和網路。 b). Routing,佈線,關鍵訊號線手動布。 **c).**Post-routing:佈線後應該檢查調整自動佈線的結果。 備註:活用Find框,特別是在pick net/comp的時候。Rips up斷開的意思

###1.2. 檔案字尾介紹

PCB Route過程圖: 這裡寫圖片描述 1.Design File(.dsn),是pcb的源頭。 2.Do File,是自動佈線命令合集的文字檔案,它可以減少冗餘的操作,簡化設計過程,可以自己寫指令批操作。 3.Session File(…ses)包含PCB Router產生的設計資料。 4.Wires File(.w)線和過孔檔案 5.Placement File(.plc)PCB Router產生的設計資料包含元件位置、層和旋轉角度。 6.Routes File(.rte)PCB Router產生的設計資料 7.Did File儲存你在命令列輸入的所有指令,自動記錄。

###1.3 PCB Editor中開啟PCB Router步驟 1.開啟已經佈局好的brd檔案,現在要匯出dsn檔案給pcb route:File - Export - Router。 這裡寫圖片描述 2.Browse-Run-close,開啟 PCB Router 載入.dsn file。 3.Route – Route Automatic整體全部佈線。或者Route – Net(s) By Pick對某個網路佈線。

1.4 佈線選單

這裡寫圖片描述

1.Route - Slide(滑動)命令,在互動式地移動或編輯連線線或vias的同時保持它們的連線。 2.Route – Phase tune命令幫助您在適當的位置為差分對的任何成員新增相位顛簸,以便任何現有的相位調優drc在選後被消除。 3.Delay Tune,調整延遲時間。 4.Phase Tune,相位調整。 5.Custom Smooth,根據Options tab設定的parameters,優化所選線段的角度。 6.Create Fanout,為所選擇的元件或引腳建立扇出,必須檢查過孔是否到達佈線層。 7.Copy Fanout,複製扇出,只能在同一面複製貼上。 8.Via Structure過孔結構 8.1 define via structure定義過孔結構。可以將過孔和走線定義成過孔結構symbl。 8.2 delete_via_structure,刪除,不用多說了。 9.Convert Fanout 變換扇出 9.1 mark fanout不懂 10. PCB Router 10.1 Fanout by Pick,指定扇出元件,短距離扇出 10.2Route Net(s) by Pick,指定網路或者元件 10.3Miter by Pick斜接90度變成45度。 10.4Unmiter By Pick,45度到90度 10.5 Elongation by Pick 繞線增加布線長度。 10.6Router Checks,檢查佈線前的約束是否正確。 10.7Optimize Rat Ts,優化T型節點,增加訊號完整性 10.8Route Automatic所有元件自動佈線 10.9Route Custom佈線定製,不會 10.10Route Editor,呼叫開啟Route Editor 11. Resize/Respace,空隙之間的擴張。過孔-過孔線增寬。 12. Gloss優化 12.1Add Fillet新增角,執行前需要先設定Parameters,後面具體介紹。 ###1.5 設定PACKAGE KEEPIN 1.Z-Copy是比例放大,設定好option,點選outline就比例複製了一個outline形狀 Set the Copy to Class/Subclass to PACKAGE KEEPIN and ALL. offset 60 2.Defining Placement Keepout Areas Choose Setup – Areas – Package Keepout.,

3.To set a spacing rule, you need to: 3.1.Create a Net class in Constraint Manager 3.2.Assign objects to the class. 3.3.Create a Spacing CSet 3.4.Assign the CSet to the Net class.

###1.6 建立約束 您可以使用“編輯屬性”對話方塊向網路新增屬性。如果要新增電屬性(例如,差分對),可以使用Allegro約束管理器新增它.

1.6.1 建立Spacing約束物件

  1. 開啟約束管理器,Setup – Constraints – Constraint Manager
  2. Spacing – Net – All Layers – Line 這裡寫圖片描述
  3. Objects – Create – Class.,輸入名字SYNC_CLS1點選ok 這裡寫圖片描述
  4. 新增成員,右擊SYNC_CLS1-Net Class members 這裡寫圖片描述

1.6.2 建立Spacing約束規則

  1. 建立規則 Net – All Layers – Line,右擊SYNC_CLS1-Create – Spacing CSet. 這裡寫圖片描述
  2. 修改規則,Spacing Constraint Set – All Layers – Line, 這裡寫圖片描述
  3. 分配規則Net— All Layers – Line,右邊選擇之前新建的SYNC_SPACING_SET.規則。 這裡寫圖片描述

1.7 設定屬性

概述:給要自動佈線的元件和網路新增屬性,在PCB Editor裡面新增的大部分屬性可以轉換到PCB Router裡面,當然也有一些屬性是不能轉換的。當有指定多個範圍,轉換後會取最嚴格的約束條件。

1.7.1通過對話方塊給net新增FIXED屬性。

1.FIXED屬性可以讓這個net不自動佈線。差分對不用解釋。 2. Edit – Properties,設定Find如下圖: 這裡寫圖片描述 3. 輸入net name 我這裡是A7,搜尋Fixed再apply 這裡寫圖片描述 這裡寫圖片描述 FIXED屬性新增完成!

1.7.2通過約束管理器給net新增Differential pair屬性。

  1. 開啟Constraint Manager-Electrical-Net – Routing – Differential Pair,我這裡選擇將vd6和vd7建立為差分對。先選中vd6和vd7,再右擊Create – Differential Pair 這裡寫圖片描述 Differential Pair屬性新增完成!

1.7.3通過約束管理器建立Match Group

  1. 開啟Constraint Manager-Electrical-Net – Routing –Relative Propagation Delay。我這裡選擇A0A1A2A3網路,選中對應網路,右鍵建立MG1 。再在A1的Delta Tolerance列右鍵設為Target

match group:Electrical worksheet-Net – Routing – Relative Propagation Delay.-Choose the A0, A1, A2, and A3 nets.-Create Match Group-Right-click in the Delta Tolerance field for the A1 net and choose Set as Target.- 您可以使用Constraint Manager中的相對傳播延遲屬性來路由多個相對於一個網路的網路。例如,現在您將通過宣告A1為目標網路並允許其他網路的相對增量,來設定net A0、A1、A2和A3的相對傳播延遲屬性。 這裡寫圖片描述

下面補充插入一個引數的說明圖 這裡寫圖片描述

###1.8 建立地平面 1.Setup – Subclasses-Etch.勾選自己要設定的正負片,新建平面,一目瞭然,沒什麼好記錄的。

###1.9 佈線前檢查Checks 操作:Route – PCB Router – Router Checks 這裡寫圖片描述 1.FIXED屬性是在Edit和Route內部都不會改變。而Protects在Route裡面會改變。 2.DRC沒有在edit裡面開啟的話是不會傳遞到Route裡面的,所以說DRC MODE要設定為Always或者Bacth(分批),開啟方法如: a)開啟Constraint Manager-Analyze – Analysis Modes-Electrical Modes.-On-line DRC設定為on。

###1.10自動佈線的模式 1.10.1. 主流模式,自動全部佈線,不需要互動佈線。 Route – PCB Router – Route Automatic就可以執行。我們要做到就是設定引數。 下面介紹設定引數: a). Fanout b). Bus routing,匯流排互相靠近走線 c). Seed vias,通過新增via將單個連線分解為兩個較短的連線。 d). Testpoint 給訊號分配測試點。 e). Miter corners,90度變成45度。 f). Spread wires,增加額外的空間線上,線和引腳之間。 g). Elongate 增加線的長度來滿足rule

1.10.2. 高速模式,需要一定程度的互動,有可能要編輯.do檔案。Route – PCB Router – Route Editor命令。一般在PCB Route 只傳回佈局和佈線資訊給Edit。.do檔案是自動生成的,我們可以複製一個副本,編輯副本,再匯入pcb route。

1.10.3. 高速大功率模式,需要重要 的互動.do檔案。File – Export – Router命令。

2 為設計佈線

###2.1Route – Connect手動佈線

  1. 定義導電格點距離。Setup – Grids。

  2. option設定 這裡寫圖片描述

  3. 推擠: 3.1. Hug Preferred 環抱已有的走線過孔引腳,不改變已存在的導電Etch。 3.2. Shove Preferred ,推擠優先 3.3. gridless :off推擠導線到下一個可用的網格。on推擠導線遠離焊盤和過孔,僅僅達到最少的DRC錯誤。 ###2.2自動佈線 ####2.2.1. 檢查屬性 這裡寫圖片描述 NO_RIPUP,在對一個net新增這個屬性之後,你再any connections給這個net,PCB Route會移除你新增的連線。 NO_ROUTE,不要佈線 FIXED,防止刪除物件,保護之前的連線。 NO_GLOSS不要優化。 ####2. 2.2自動佈線設定

  4. Router Setup 有三種模式如上圖所示。 Protect :使指定層上的所有斜線都固定,以便在佈線過程中不會撕裂。 這裡寫圖片描述

  5. Routing Passes Tab preroute佈線之前的操作。 passes表示通路有效嘗試次數 這裡寫圖片描述

  6. Fanout Tab,控制扇出的引數,例如扇出的方向,層數,過孔

  7. Bus Routing Tab,匯流排走線的設定

  8. Seed Vias Tab打斷一根線連線,插入過孔,變成兩個短的連線。

  9. Testpoint Tab分配測試點給訊號網路。

  10. Spread Wires Tab加入額外的空間線上和引腳之間。增加pcb板的可製造性,通過移動線不增加或者移動過孔。

  11. Elongate Tab增加線的長度滿足時延

####2.2.3 舉例

  1. Route – PCB Router – Elongation by Pick。再在空白處右鍵-Setup,目的是消除DRC錯誤,使其延時匹配,進入設定介面如下圖。 這裡寫圖片描述 a) 本來的面目是下圖: 這裡寫圖片描述 b) 只勾選Meander(蜿蜒)沒有用,還要在形狀裡面3選1,圖示很清楚,沒有必要介紹了。Trombone(喇叭)、Accordion(手風琴)和Sawtooth(鋸齒)。

  2. 基操 a) 加入bus命令:Route – PCB Router – Route Automatic,確保Specify routing passes是選中的,開啟Routing Passes tab,在新的一行加入bus命令,如下圖: 這裡寫圖片描述 可以點選params…設定引數,diagonal(斜線的)和orthogonal(正交的),clean是完全的,整個的,不是清除。 b) 智慧佈線,Smart Router tab 這樣設定差不多了 這裡寫圖片描述 c) do檔案佈線, 設定佈線環境 設定設計約束規則 總的來說就是把視覺化設定轉成了文字描述,不用瞭解。 這裡寫圖片描述

  3. xxxx by pick find框超好用,在這個命令下邊。 下圖是選不選Miter Pins and Via Exits的區別 這裡寫圖片描述 這裡寫圖片描述

Fanout by pick a)不勾選 這裡寫圖片描述 這裡寫圖片描述 b)只勾選share pins 這裡寫圖片描述 這裡寫圖片描述 c)還勾選share SMD’s on way to Via 這裡寫圖片描述 這裡寫圖片描述

3 Post Route 佈線後處理

  1. Slide移動

  2. critic選項,區域性佈線優化 這裡寫圖片描述 這裡寫圖片描述 這裡寫圖片描述

  3. 此條摘抄自PCB聯盟網。Gloss優化,Route – Gloss – Parameters .清除不必要的線和過孔,圓滑線,焊盤中間的線,把轉角變成圓弧,自動佈線總會產生一些佈線效果不好、多餘過孔等問題。此時可以利用allegro提供的Gloss命令對設計進行優化和調整,這樣不僅可以提高設計的美觀和可生產性,並且可以降低製造成本,提高產品可靠性。 如果某些網路有特殊要求,我們就應該對其進行設定以保護在優化過程中不改變這些網路的特殊性。保護網路不在優化過程中改變的俄方法就是給網路增加NO_GLOSS 或者FIXED屬性。 如果要保護設計中的某個區域不被優化,則應設定一個NO_GLOSS的多邊形。NO_GLOSS的多邊形應該設定在MANUFACTURE層,它的子層可以是NO_GLOSS_TOP、NO_GLOSS_BOTTOM、NO_GLOSS_ALL或NO_GLOSS_INTERNAL。 這裡寫圖片描述

  4. DRC錯誤快速判斷 | Tables | Are | | -------- |:------? | L| line | | E| electrical constraint | | D| PROPAGATION_DELAY,延遲 | | P| Pin | | V| via | | K| keepin/keepout|