GRE是Global Route Environment的縮寫,中文意思為全局布線環境,運用具備階層化意識的全面繞線引擎與圖形式互連流程規劃程序。通GRE技術在短時間就可以開發出包含眾多互連總線與芯片引腳數的復雜且高速的設計組件。此外,運用GRE技術后便于工程師實現更佳的功能密度與系統效能最大化。Cadence這項系統互連設計解決方案,為PCB設計人員提供智能型規劃和繞線的環境,節省大量的時間、增進功能密度并提升效能,同時也大幅降低成本。
上期內容講了全局布線GRE規劃應用及參數設置,本期將通過4片DDR3中的1片為實例進行講解,在Allegro中GRE處理的基本元素就是Bundle,詳細講解如何手動創建、自動創建、通過規則管理器來創建Bundle,并且編輯管理Bundle的詳細操作。
教大家如何運用全局布線GRE規劃應用技術提升智能繞線規劃增強高密度PCB的設計效率。
01自動創建Bundle
【1】在Flow Planning模式中,選擇FlowPlan菜單—Auto Bundle命令,就可以按照GER的參數設置在整個PCB范圍內創建Bundle,如下圖1所示。也可以在工作區域內點擊右鍵選擇快捷菜單Auto Bundle命令自動創建Bundle。軟件會根據設置的參數,按照布線的方便來自動創建Bundle,可以在布局完成以后使用Bundle來估計布線的區域位置是否夠用,若不夠的話,要先調整好位置后再進行布線,這樣就可以避免布線后因位置不夠要挪動元件的情況發生。
圖1 執行Auto Bundle命令
圖2 執行Auto Bundle命令前的飛線顯示
圖3 執行Auto Bundle命令后創建Bundle
【2】Bundle的顯示,有時候創建Bundle之后顯示不出來,因為Bundle顯示的層沒有被打開。選擇Display菜單--Color/Visibility命令打開Color窗口,如下圖3所示。在Stack-Up--Plan中將Through All勾選后即可打開Bundle的顯示(若創建的Bundle是放在Top層,那么在該處就需要勾選Top層的復選項后才能顯示出來,其他層也是同樣道理,在沒有指定層的情況下,默認的Bundle會存在Through All)。如下圖4所示。
02手工創建Bundle
【1】在工作區域內,用鼠標框選要創建Bundle的網絡飛線后,點擊右鍵菜單中選擇Create Bundle就可以創建當前框選飛線網絡的Bundle。如下圖5所示。手工創建Bundle的時候,可以將只需要進行選擇的網絡飛線顯示出來,這樣方便進行選擇,避免使用鼠標在拖動的時候框選到其他不相關的網絡飛線。
圖5 手工創建Bundle
03通過規則管理器來創建Bundle
打開規則管理器選擇Properties--Ratsnest Bundle Properties工作薄中選中要創建的網絡,點擊右鍵選擇Ratsnest Bundle命令后,選中的網絡將會創建Bundle,如下圖6所示。
圖6 通過規則管理器來創建Bundle04Bundle的編輯操作
Bundle的編輯有三個命令分別是:Edit Bundle、Split Bundle、Delete Bundle,使用方法具體如下。
【1】Edit Bundle命令可以將Bundle之外的飛線加入到當前的Bundle中來。用鼠標選中需要增加飛線的Bundle,點擊右鍵選擇Edit Bundle命令,如下圖7所示。然后用鼠標左鍵在想要增加到Bundle中的飛線上點擊,被點擊的飛線將會被加入到Bundle中,同時可以看到Bundle也變寬,如下圖8所示。
圖7 執行Edit Bundle命令
圖8 加入飛線Bundle變寬
【2】Split Bundle命令可以將一個Bundle拆分成兩個或者多個。用鼠標選中需要拆分的Bundle,點擊右鍵選擇Split Bundle命令,如下圖9所示。然后用鼠標左鍵在需要拆分的Bundle內頭部飛線上點擊,此時被點擊的飛線將被拆分出形成一個獨立的Bundle,如下圖10所示。
圖9 SplitBundle命令
圖10 拆分成兩個的Bundle
【3】Delete Bundle命令用來刪除當前選中的Bundle,返回飛線顯示狀態。用鼠標點擊選中需要進行刪除的Bundle,點擊右鍵選擇Delete Bundle命令,此時被選中的Bundle將會被刪除,連接飛線返回飛線的狀態顯示,如下圖11所示。
圖11.1 刪除前的Bundle顯示
圖11.2 執行Delete Bundle命令后飛線顯示
05規劃Flow走線路徑
【1】Flow是Bundle的圖形表現方式,Bundle的大小決定著Flow粗細和走線路徑,包括層和層之間的轉換。Bundle剛生產的時候,圖形是空心網狀的,定義了Bundle的Flow之后,也就是編輯了Bundle之后會變成實心的。如下圖12所示。
圖12.1 Bundle圖形是空心網狀
圖12.2 Bundle之后Bundle會變成實心
【2】Flow的操作,就如同普通布線一樣,可以使用Move、Delete、Slide、Vertex命令,也可以增加過孔,修改走線的層等。所有的操作都在右鍵的菜單中選擇命令,進入命令狀態以后,用鼠標來對Bundle進行操作。如果覺得Flow規劃比較亂或者存在錯誤想回到最初的Bundle的狀態中去,可以選擇Restore Default Flow命令,取消當前的規劃,回到Bundle最初狀態去。常用的操作命令如下圖13所示。
圖13 Flow的操作命令
【3】選中Bundle后,右鍵選擇Create Flow(Prototype)命令,可以給選中的Bundle 創建Flow布線規劃。進入Create Flow命令以后在Option選項卡中,Bundle name文本框中顯示為當前選中Bundle的名稱,可以支持修改,直接在文本框中輸入新的名稱后用鼠標再次在工作區域內點擊后,Bundle的名稱將被修改。
Enable選項框中會列出當前電路板所有的電氣層,勾選哪個電氣層,表示創建Flow布線規劃將放在那個層中,比如只勾選TOP層,表示創建Flow布線規劃將存在于TOP層中。
復選項One Layer Only表示只在一個層進行規劃,復選項Ripup Existing Etch表示拆掉其他的布線,復選項Ripup Existing Etch表示自動隱藏其他的飛線。
Routing Operation 選項組中用來選擇當Flow布線規劃完成以后將進行哪些操作,Auto Connect 表示自動信息布線連接,Breakout Both Ends表示將進行規劃線頭兩端的出線順序處理,Breakout First End表示將進行起始端出線線頭的處理,None不操作,一般情況下選擇None不操作即可。如下圖14所示。
圖14 Bundle name文本框當中的設置有修改
Create Flow的命令狀態下,鼠標沿著DDR3和CPU布線的路徑拉線進行布線規劃,完成后的布線規劃如下圖15所示。
圖15 DDR3和CPU進行布線規劃
【4】選中Bundle后,右鍵選擇Flow Edit--Sequence--Generate命令,將生成當前Bundle的Breakout Both Ends,系統自動會按照元件與過孔擺放位置對線兩端飛線出線順序進行調整。選擇Delete命令后,將刪除生成的Breakout Both Ends,如下圖16所示。
選擇Edit命令后,可以進入兩端飛線順序的交換編輯狀態,用鼠標分別點擊不同的飛線,軟件會根據點擊的前后順序來交換飛線顯示。實線顯示的飛線是當前層能布通的飛線,虛線顯示的為當前層不能布通的飛線,另外出線的角度也可以使用Side Flow進行調整,可以按照布線的要求調整到合理滿意為止。如下圖17所示。
圖17 Generate生成線序和編輯調整線序
如下圖18所示,在當前的Bundle中共計有11根飛線網絡,其中DDR3和CPU處均顯示有9根實線,有2根虛線。這說明,在當前層中有9根線可以布通,有2根線布不通,這2根就要通過換層,增加過孔來處理。
此外當選中Edit命令后,用鼠標點擊兩端飛線進行交換的過程中,當點擊一端之后,另外一端也會跟著交換。如下圖19所示
圖18 Breakout Both Ends的顯示
圖19 Breakout Both Ends的顯示
【5】選中Bundle后,右鍵選擇Slide Flow命令,可以對Bundle的布線規劃路徑進行編輯(直角線段編輯)。命令被選擇后Bundle會跟在鼠標上,在合適的位置點擊之后,就可以擺放下調整過的Bundle。當按住Shift鍵后拖動鼠標,Bundle可以按照直線的方式進行移動。如下圖20所示。
圖20 Slide Flow命令對調整規劃路徑
【6】選中Bundle后,右鍵選擇Insert Flow Vertex命令,可以對Bundle的布線規劃路徑進行編輯(增加任意拐角編輯)。命令被選擇后用鼠標在Bundle上點擊,該處將會產生一個拐角,拖動鼠標將可以拖動出任意角的拐角。當按住Shift按后拖動鼠標,Bundle可以按照線的方式進行移動,不會產生任意拐角。如下圖21所示。
圖21 Insert Flow Vertex命令增加任意拐角
【7】選中Bundle后,右鍵選擇Insert Flow Via命令,可以在Bundle的布線規劃路徑中插入Flow過孔。命令被選擇后用鼠標在Bundle上點擊,點擊處將產生一個Flow 過孔,如下圖22所示。
圖22 規劃路徑中插入Flow過孔
【8】選中Bundle后,右鍵選擇Move Flow命令,可以對Bundle的布線規劃路徑進行整體移動,如下圖23所示。
圖23 規劃路徑進行整體移動
【9】4片DDR3數據線規劃Flow走線路徑后情況如下圖24所示,右側的兩個芯片布線規劃在內層,左側的兩片規劃在Bottom層和Top層。
圖24 DDR3數據線規劃Flow走線路徑
06Auto-I.Breakout Both Ends
選中Bundle后,右鍵選擇Auto-I.Breakout Both Ends命令,軟件會根據當前Bundle兩端飛線的順序,嘗試自動扇出(拉線)Bundle中的所有布線網絡,所有引腳都會被扇出走線。注意如果是飛線中有交叉線,全部引腳不能扇出的情況下系統就不會自動100%的扇出所有飛線。
執行命令auto-I trunk route命令,系統就會按照設置的參數將中間的走線進行刪除操作。若這些線是有差分或等長屬性的話,系統就會按照設置的參數進行繞線操作,操作完成以后命令返回。當系統遇到無法完成的情況后就不會100%的執行,系統會自動執行到無法執行命令為止。完成后如下圖25所示。
圖25 Auto-I.Breakout Both Ends的所有布線網絡布線
總結 通過上面的學習讓我們看到了全局布線環境GRE的運用技巧,通GRE技術在短時間就可以完成包含眾多互連總線與芯片引腳數的復雜且高速的設計組件設計。運用GRE技術后可以方便工程師在密度與系統效能最大化方面做出最快速的評估,為PCB設計人員提供智能型規劃和繞線的環境,節省大量的時間、增進功能密度并提升效能,同時也大幅降低成本。閱讀完這篇文章的小伙伴可以自己去試一試這個新功能,為己所用提高工作效率。另外需要本次講解實例文件的小伙伴,可以點擊打賞按鈕,完成打賞后會有工作人員發放實例原始文件給您,精彩不容錯過,期待您持續關注喔!
-
pcb
+關注
關注
4326文章
23159瀏覽量
399488
發布評論請先 登錄
相關推薦
評論