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