一種集成網絡器件的多電壓片上網絡芯片的布圖規(guī)劃方法
【專利摘要】低功耗的片上網絡芯片技術越來越受到業(yè)界的重視,具有很好的發(fā)展前景。作為片上網絡芯片成為重要作為片上網絡芯片設計的關鍵環(huán)節(jié),布圖規(guī)劃方法對于芯片的質量具有決定性的作用。本發(fā)明提出了一種基于多電壓技術的專用片上網絡芯片的布圖規(guī)劃方法,該方法集成了網絡器件的規(guī)劃,使得芯片的面積、線長以及設計開銷得到最優(yōu)化。其特征在于,依次含有以下步驟:依次包含以下步驟:根據輸入的模塊電壓值信息劃分電壓島;通過最小割劃分算法實現電壓島內模塊的劃分以及網絡器件的生成;將網絡器件作為虛擬模塊加入原有模塊一起進行布圖規(guī)劃中;通過兩階段的布圖規(guī)劃方法,輸出布圖結果。
【專利說明】—種集成網絡器件的多電壓片上網絡芯片的布圖規(guī)劃方法
【技術領域】
[0001]集成網絡器件的多電壓片上網絡芯片的布圖規(guī)劃方法屬于集成電路計算機輔助設計領域,尤其涉及多供電電壓分配以及布圖規(guī)劃等物理設計領域。
【背景技術】
[0002]隨著器件特征尺寸的不斷減小,芯片的集成度不斷增加,功耗密度越來越大。高功耗會不僅會引起電量的損耗,還會帶來嚴重的熱問題,甚至引發(fā)硬件錯誤。功耗優(yōu)化已經成為片上網絡芯片的一個關鍵問題。
[0003]多供電電壓技術是一種降低芯片功耗很好的方法,因為受到很大的關注。多供電電壓技術將芯片劃分為不同的電壓區(qū)域(即電壓島),每個電壓島提供特定的供電電壓。通過將不重要的器件分配到多供電電壓的島內,可以實現模塊運行功耗的優(yōu)化。
[0004]圖1顯示了一個專用片上網絡芯片的示意圖。在圖中,每個模塊相當于計算機網絡中的計算機節(jié)點,而轉換器相當于計算機網絡中的路由器或交換機,用于實現通信路徑的路由、轉發(fā)等功能,網絡接口用于實現模塊與轉換器通信的協(xié)議轉換,電壓轉換器則用于實現不同電壓島之間通信時的電壓及頻率的轉換。一個模塊首先要連接到獨立的網絡接口才能實現通信,轉換器的多個接口可以連接到多個的網絡接口。每個模塊以及網絡器件的位置都需要放置在合適的位置,不得當的位置都會對通信功耗造成很大的影響,如圖2所示。而這些都是由布圖規(guī)劃和網絡器件規(guī)劃的結果決定的。因此,為了優(yōu)化芯片的性能,需要將網絡器件的規(guī)劃與布圖規(guī)劃結合起來。
【發(fā)明內容】
[0005]本發(fā)明提出了一種集成網絡器件的多電壓片上網絡芯片的布圖規(guī)劃方法,流程圖如圖3所示,其特征在于,給定初始的模塊信息,互連信息以及給定的電壓值等,根據電壓值將所有模塊劃分至不同的電壓島,隨后在島內生成網絡器件并將網絡器件的規(guī)劃與布圖規(guī)劃一起處理,求解最優(yōu)的布圖結果;在計算機中依次按以下幾個步驟實現:
[0006]步驟⑴,讀入模塊信息,包括模塊總數n,模塊大小,模塊的供電電壓值,各模塊在供電電壓值下的功耗,以及模塊之間的通信量;
[0007]步驟(2),根據輸入的模塊信息,劃分電壓島,步驟如下:
[0008]步驟(2.1),根據各模塊的電壓值,將電壓值相同的模塊分配到同一個集合中;每個集合作為一個電壓島;
[0009]步驟(2.2),根據步驟(I)中的模塊間的通信信息,為每個電壓島生成一張島內的通信圖,圖中的每個節(jié)點都對應一個模塊,節(jié)點編號與模塊編號相同,圖中的邊表示相鄰模塊之間有通信,邊上的權值代表通信量;
[0010]步驟(3),對于每個電壓島,根據該電壓島的通信圖,配置相應的轉換器,步驟如下:
[0011]步驟(3.1),假定第k個電壓島通信圖Gk中的節(jié)點數為nk,通過邊權均衡的最小割劃分算法將所有節(jié)點劃分為i個集合,劃分步驟如下:
[0012]步驟(3.1.1),將Gk中節(jié)點編號、節(jié)點對應的權值,節(jié)點之間的邊以及邊權值輸入到最小割算法程序中,設定劃分集合的數量為i ;
[0013]步驟(3.1.2),將邊權值作為劃分的代價輸入到最小割劃分算法的程序中,運行程序,得到i個集合,記錄每個集合中節(jié)點的編號以及模塊的編號;
[0014]注:邊權均衡的最小割算法屬已有成果,不屬于本發(fā)明申請的內容,在此不詳述。
[0015]步驟(3.2),將劃分集合的數量i從2到nk變化,記錄下每個i下的劃分方案以及集合間的通信總量
[0016]步驟(3.3),選擇通信總量最小的i,并將其對應的劃分方案作為電壓島k的最終劃分結果。
[0017]步驟(3.4),根據步驟(3.3)的劃分結果,為每個劃分后的集合分配一個轉換器,集合中的模塊共享同一個轉換器;
[0018]步驟(4),從步驟(3)得到模塊對應的轉換器,將轉換器看作是一種特殊的模塊,與原有模塊一起進行兩階段的布圖規(guī)劃,步驟如下:
[0019]步驟(4.1),設定布圖規(guī)劃的目標代價函數,表示為:
[0020]Cost= α.Area+ β.VIArea+ Y.wirelength+ λ.ratio 公式(9)
[0021]Area表示布圖的面積;VIArea表示所有電壓島邊框面積總和;wirelength表示芯片互連的總線長,ratio表示布圖結果的長寬比;參數a,β,Y和λ用于權衡各個因素之間的權值,且a+ β + Y + λ =1。
[0022]步驟(4.2),選取合適的布圖表示方法如CBL,基于模擬退火算法,進行兩階段的布圖規(guī)劃,步驟如下:
[0023]步驟(4.2.1),布圖表示方法是指布圖規(guī)劃階段的數據結構,選定布圖表示方法后,將轉換器看為一種特殊的模塊,加入到布圖表示方法中的模塊列表中;
[0024]注:布圖表示方法有許多種,均為已有技術,用戶可以自己進行選擇,在此不詳述。
[0025]步驟(4.2.2),在模擬退火過程中,將擾動部分分為混合擾動和特殊擾動兩個階段:
[0026]步驟(4.2.2.1),進行混合擾動,即特殊模塊與原有模塊統(tǒng)一按照設定的溫度范圍進行擾動,需要滿足以下所有條件:退火溫度大于設定的閾值T_threth0ld,新方案拒絕率低于設定的閾值reject_ratio并且空白區(qū)面積比大于設定的閾值ds_ratio ;其中,T_threthold, reject_ratio 和 ds_ratio 都是用戶定義的閾值;
[0027]步驟(4.2.2.2),一旦上述條件之一沒有滿足,則進行特殊擾動,即單獨對特殊模塊進行擾動;
[0028]步驟(4.2.3),使用步驟(4.2.1)中的布圖表示方法,根據步驟(4.2.2)的擾動方法,運行模塊退火算法,得到布圖結果;
[0029]注:模擬退火算法是已有技術,不屬于本專利申請的內容,在此不詳述。
[0030]步驟(5),在布圖規(guī)劃結束后,通過最小代價最大流算法實現網絡接口的分配,步驟如下:
[0031]步驟(5.1),將步驟(4.2.3)得到的布圖結果中的所有空白區(qū)劃分為大小相同的網格,網格的尺寸與網絡接口的尺寸相同;[0032]步驟(5.2),按照如下方法建立最小代價最大流模型:在網絡圖加入一個源節(jié)點s和一個匯聚節(jié)點t,η個網絡接口節(jié)點以及m個所有可達的空白區(qū)網格節(jié)點;邊有三種,分別是:源節(jié)點s到每個網絡接口節(jié)點的邊,容量設為1,邊權設為O ;每個網格節(jié)點gj與t的邊,容量設為1,邊權設為O ;每個網絡接口節(jié)點到可達網格gj的邊,容量設為1,邊權設為Wij,其中Wij表示網格gj到網絡接口的距離;如圖4所示,圖4 (a)為布圖結果,圖4(b)為對應的最小代價最大流模型;
[0033]步驟(5.3),以s為源點,以t為匯點,求解步驟(5.2)所述的最小代價最大流模型,求得模塊對應的網絡接口最優(yōu)的網格位置。
[0034]注:最小代價最大流算法求不屬于本專利申請的內容,在此不詳述。
【專利附圖】
【附圖說明】
[0035]圖1基于多電壓技術的片上網絡芯片示意圖;
[0036]
【權利要求】
1.一種集成網絡器件的多電壓片上網絡芯片的布圖規(guī)劃方法,其特征在于,給定初始的模塊信息,互連信息以及給定的電壓值,根據電壓值將所有模塊劃分至不同的電壓島,隨后在島內生成網絡器件并將網絡器件的規(guī)劃與布圖規(guī)劃一起處理,求解最優(yōu)的布圖結果,在計算機中依次按以下幾個步驟實現: 步驟(1),讀入模塊信息,包括模塊總數n,模塊大小,模塊的供電電壓值,各模塊在供電電壓值下的功耗,以及模塊之間的通信量; 步驟(2),根據輸入的模塊信息,劃分電壓島,步驟如下: 步驟(2.1)根據各模塊的電壓值,將電壓值相同的模塊分配到同一個集合中;每個集合作為一個電壓島; 步驟(2.2),根據步驟(1)中的模塊間的通信信息,為每個電壓島生成一張島內的通信圖,圖中的每個節(jié)點都對應一個模塊,節(jié)點編號與模塊編號相同,圖中的邊表示相鄰模塊之間有通信,邊上的權值代表通信量; 步驟(3),對于每個電壓島,根據該電壓島的通信圖,配置相應的轉換器,步驟如下:步驟(3.1),假定第k個電壓島通信圖Gk中的節(jié)點數為nk,通過邊權均衡的最小割劃分算法將所有節(jié)點劃分為i個集合,劃分步驟如下: 步驟(3.1.1),將Gk中節(jié)點編號、節(jié)點對應的權值,節(jié)點之間的邊以及邊權值輸入到最小割算法程序中,設定劃分集合的數量為i ; 步驟(3.1.2),將邊權值作為劃分的代價輸入到最小割劃分算法的程序中,運行程序,得到i個集合,記錄每個 集合中節(jié)點的編號以及模塊的編號; 步驟(3.2),將劃分集合的數量i從2到nk變化,記錄下每個i下的劃分方案以及集合間的通信總量 步驟(3.3),選擇通信總量最小的i,并將其對應的劃分方案作為電壓島k的最終劃分結果。 步驟(3.4),根據步驟(3.3)的劃分結果,為每個劃分后的集合分配一個轉換器,集合中的模塊共享同一個轉換器; 步驟(4),從步驟(3)得到模塊對應的轉換器,將轉換器看作是一種特殊的模塊,與原有模塊一起進行兩階段的布圖規(guī)劃,步驟如下: 步驟(4.1)設定布圖規(guī)劃的目標代價函數,表示為:
Cost= α.Area+ β.VIArea+ Y.wirelength+λ.ratio 公式(9) Area表示布圖的面積;VIArea表示所有電壓島邊框面積總和;wirelength表示芯片互連的總線長,ratio表示布圖結果的長寬比;參數a,β,Y和λ用于權衡各個因素之間的權值,? a+ β + y + λ =10 步驟(4.2),選取合適的布圖表示方法如CBL,基于模擬退火算法,進行兩階段的布圖規(guī)劃,步驟如下: 步驟(4.2.1),布圖表示方法是指布圖規(guī)劃階段的數據結構,選定布圖表示方法后,將轉換器看為一種特殊的模塊,加入到布圖表示方法中的模塊列表中;步驟(4.2.2),在模擬退火過程中,將擾動部分分為混合擾動和特殊擾動兩個階段:步驟(4.2.2.1),進行混合擾動,即特殊模塊與原有模塊統(tǒng)一按照設定的溫度范圍進行擾動,需要滿足以下所有條件:退火溫度大于設定的閾值T_threth0ld,新方案拒絕率低于設定的閾值reject_ratio并且空白區(qū)面積比大于設定的閾值ds_ratio ;其中,T_threthold, reject_ratio 和 ds_ratio 都是用戶定義的閾值; 步驟(4.2.2.2),一旦上述條件之一沒有滿足,則進行特殊擾動,即單獨對特殊模塊進行擾動; 步驟(4.2.3),使用步驟(4.2.1)中的布圖表示方法,根據步驟(4.2.2)的擾動方法,運行模塊退火算法,得到布圖結果; 步驟(5),在布圖規(guī)劃結束后,通過最小代價最大流算法實現網絡接口的分配,步驟如下: 步驟(5.1),將步驟(4.2.3)得到的布圖結果中的所有空白區(qū)劃分為大小相同的網格,網格的尺寸與網絡接口的尺寸相同; 步驟(5.2),按照如下方法建立最小代價最大流模型:在網絡圖加入一個源節(jié)點s和一個匯聚節(jié)點t,n個模塊節(jié)點以及m個所有可達的空白區(qū)網格節(jié)點;邊有三種,分別是:源節(jié)點s到每個模塊節(jié)點網絡接口的邊,容量設為1,邊權設為O ;每個網格節(jié)點gj與t的邊,容量設為1,邊權設為O ;每個模塊網絡接口到可達網格gj的邊,容量設為1,邊權設為Wij,其中Wij表示網格gj到網絡接口的距離; 步驟(5.3),以s為源點,以t為匯點,求解步驟(5.2)所述的最小代價最大流模型,求得模塊對應的網絡 接口最優(yōu)的網格位置。
【文檔編號】G06F17/50GK103970934SQ201410123217
【公開日】2014年8月6日 申請日期:2014年3月28日 優(yōu)先權日:2014年3月28日
【發(fā)明者】董社勤, 王侃 申請人:清華大學