專利名稱:使用熱感知調(diào)度和綁定的硬件合成的制作方法
使用熱感知調(diào)度和綁定的硬件合成
背景技術:
除非本文中另行指出,否則在本節(jié)中描述的材料相對于本申請的權利要求而言不是現(xiàn)有技術,且不由于其被包括在本節(jié)中而承認其是現(xiàn)有技術??梢愿鶕?jù)高級描述來合成集成電路的硬件設計。例如,可以使用硬件描述語言或編程語言,在算法級別上進行描述??梢栽谀K級別、寄存器傳輸級別(RTL)、門級別、或晶體管級別上將描述合成到設計內(nèi)??梢詫⑸婕靶盘柼幚淼挠布O計抽象為數(shù)據(jù)流圖(DFG)。調(diào)度和綁定是硬件合成的一部分。調(diào)度涉及將電路的功能分為要執(zhí)行的步驟。例如,步驟可以是有限狀態(tài)機(FSM)的狀態(tài)或在信號處理電路中對信號采樣執(zhí)行的操作。綁定將功能映射到集成電路中的硬件資源上。擴縮至較小集成電路特征大小的技術使得功率密度(或單位面積所消耗的功率)增加。在集成電路中的局部化功耗的增加可以導致芯片上的熱區(qū)域。具有不同溫度的區(qū)域引起了熱梯度。熱梯度導致熱應力,由于負偏置溫度不穩(wěn)定性、電遷移、或逐步介質(zhì)擊穿,熱應力可能加速芯片老化。這些因素都使得電路可靠性降低。當增加的溫度減慢了載流子遷移率、降低了晶體管開關速度、并增加了互聯(lián)電阻時,也降低了芯片的性能。針對復雜電子系統(tǒng)的很多設計和操作考慮因素嘗試降低功耗。然而由于功率優(yōu)化嘗試最小化平均功耗,因此功耗優(yōu)化和熱優(yōu)化不是可互相交換的,而是可以支持局部熱點的形成。關鍵的熱點可以在不顯著增加平均功率的情況下?lián)p壞芯片。用于在芯片級別降低靜態(tài)或動態(tài)功耗的技術可以降低整體功率使用,而由于全局功率降低的嘗試,功率梯度或熱點可以保持不變或甚至增加。
發(fā)明內(nèi)容
本公開大體上描述了一些用于合成集成電路的計算機實現(xiàn)的方法。根據(jù)一些示例計算機實現(xiàn)的方法,可以執(zhí)行以下操作中的一項或多項。產(chǎn)生針對集成電路的綁定的第一版本,其中,所述綁定的第一版本的操作導致所述集成電路的第一熱能方向圖。產(chǎn)生針對所述集成電路的綁定的第二版本,其中,所述綁定的第二版本的操作導致所述集成電路的第二熱能方向圖。此外,所述第一熱能方向圖和所述第二熱能方向圖在熱力學上彼此不同。產(chǎn)生用于在所述集成電路中操作所述綁定的第一版本和所述綁定的第二版本之一的輪轉(zhuǎn)調(diào)度,其中,針對所述輪轉(zhuǎn)調(diào)度中的相應部分,操作所述第一和第二版本中的每一個。本公開大體上描述了一些計算機存儲介質(zhì),具有存儲于其上的針對方法的計算機可執(zhí)行指令,當由計算機執(zhí)行所述計算機可執(zhí)行指令時,使得所述計算機適于通過所述方法來執(zhí)行集成電路的合成。根據(jù)一些示例方法,可以執(zhí)行以下操作中的一項或多項。針對集成電路,產(chǎn)生綁定的兩個或更多版本,其中,所述綁定的兩個或更多版本中的每一個的操作導致了所述集成電路的相應熱能方向圖,使得所述相應熱能方向圖在熱力學上彼此不同。產(chǎn)生輪轉(zhuǎn)調(diào)度,其中,針對輪轉(zhuǎn)周期的各部分,操作所述綁定的兩個或更多版本中的每一個。將所述綁定的兩個或更多版本與用于實現(xiàn)所述輪轉(zhuǎn)調(diào)度的控制器集成到所述集成電路的實現(xiàn)設計中。
本公開大體上描述了一些集成電路。一些不例集成電路被配置為包括以下一項或多個:用于實現(xiàn)與算法相關聯(lián)的操作的模塊;以及控制器,被配置為通過用于將所述算法調(diào)度和綁定到所述模塊上的多個在熱力學上不同的版本來輪轉(zhuǎn),以支持與所述集成電路相關聯(lián)的降低的峰值熱能。以上發(fā)明內(nèi)容僅僅是說明性的,而絕不是限制性的。除了上述示例性的各方案、各實施例和各特征之外,參照附圖和以下詳細說明,將清楚其他方案、其他實施例和其他特征。
根據(jù)以下說明和所附權利要求,結(jié)合附圖,本公開的前述和其他特征將更加清楚。在認識到這些附圖僅僅示出了根據(jù)本公開的一些示例且因此不應被認為是限制本公開范圍的前提下,通過使用附圖以額外的特征和細節(jié)來詳細描述本公開,附圖中:圖1是示出了使用熱感知調(diào)度和綁定來合成集成電路的系統(tǒng)的框圖;圖2是示出了應用到用于實現(xiàn)集成電路的設計上的熱感知調(diào)度和綁定應用的框圖;圖3是示出了針對集成電路內(nèi)的相鄰模塊的熱模型的示意圖;圖4是示出了用于多版本調(diào)度和綁定的過程的流程圖;圖5是示出了示例計算系統(tǒng)的框圖;以及圖6是示出了包括用于在計算設備上執(zhí)行計算機進程的計算機程序在內(nèi)的計算機程序產(chǎn)品的部分視圖的示意圖,它們都根據(jù)所呈現(xiàn)的至少一些實施例來布置。
具體實施例方式在以下詳細說明中,參考了作為詳細說明的一部分的附圖。在附圖中,類似符號通常表示類似部件,除非上下文另行指明。
具體實施方式
部分、附圖和權利要求書中記載的示例性實施例并不是限制性的。在不脫離在此所呈現(xiàn)主題的精神或范圍的情況下,可以利用其他實施例,且可以進行其他改變。應當理解,在此一般性記載以及附圖中圖示的本公開可以按照在此明確和隱含公開的多種不同配置來設置、替換、組合、分割和設計。本公開大體上涉及與使用熱感知調(diào)度和綁定的硬件合成相關的方法、裝置、系統(tǒng)和計算機程序產(chǎn)品。合成的硬件可以是集成電路。根據(jù)一些實施例,集成電路可以是專用集成電路(ASIC),如定制器件或屏蔽設備(masked device)。根據(jù)一些其他實施例,集成電路可以是可編程器件,如復雜可編程邏輯器件(CPLD)、現(xiàn)場可編程門陣列(FPGA)、或任何其他類型的可編程邏輯器件(PLD)。應當意識到集成電路可以是數(shù)字器件、模擬器件或混合信號器件。簡而言之,可以產(chǎn)生設計的多個版本,每個版本具有根據(jù)本文所呈現(xiàn)的各種實施例的調(diào)度和綁定結(jié)果的變形。例如,可以執(zhí)行調(diào)度和綁定,使得多個版本的熱分布(thermalprofile)具有在版本之間遠離的熱峰值。還可以將熱分布稱為熱能方向圖(pattern)或溫度方向圖。在各版本的熱峰值之間的增加的物理距離可以為各版本提供獨一無二的熱特性。可以構(gòu)造設計的多個版本之間的輪轉(zhuǎn)調(diào)度,使得集成電路的熱分布在操作期間平衡掉??梢詫⒓呻娐返臒崽匦苑Q為熱能(thermal energy)、熱能量(heat energy)、溫度、和/或產(chǎn)生的熱能。可以使用線性規(guī)劃框架來分析多個設計,并構(gòu)造熱感知輪轉(zhuǎn)調(diào)度和綁定。例如,可以選擇K個最有效率的版本,然后可以確定操作輪轉(zhuǎn)中的每個版本的持續(xù)時間。本文所討論的技術可以尋求降低總溫度、峰值溫度、總熱能或峰值熱能??梢詧?zhí)行本文所述的多版本調(diào)度和綁定技術,使得在一個版本中大量使用的模塊在一個或多個其他版本中較少被使用。在一些不例中,可以將多個版本同時嵌入一個設計中。在集成電路的操作期間,可以針對操作來輪轉(zhuǎn)地調(diào)度版本,使得每一個版本將用于指定的持續(xù)時間。在熱力學上不同的版本之間的輪轉(zhuǎn)調(diào)度可以通過平衡設計內(nèi)的模塊的活動率,來降低集成電路上的局部熱點。用于操作輪轉(zhuǎn)調(diào)度內(nèi)的每個版本的階段在持續(xù)時間上可以是不均勻的??梢杂玫烷_銷為代價,提供用于調(diào)度在一個集成電路設計內(nèi)的多個版本的控制機制。圖1是示出了根據(jù)本文所呈現(xiàn)的一個或多個實施例布置的系統(tǒng)100的框圖,系統(tǒng)100用于使用熱感知調(diào)度和綁定來合成集成電路150。計算機10可以被配置為執(zhí)行用于合成硬件設計120的軟件。通過圖5來更詳細地討論計算機10。計算機10所使用的軟件可以包括熱感知調(diào)度和綁定模塊110。可以使用熱感知調(diào)度和綁定模塊110來實現(xiàn)本文所公開的方法、過程和技術。硬件設計120可以指定集成電路150的硬件解決方案,其在多個調(diào)度和綁定版本之間輪轉(zhuǎn),其中,每個版本在熱力學上是不同的。對集成電路150的使得輪轉(zhuǎn)調(diào)度多個在熱力學上不同的版本的操作可以平衡集成電路150內(nèi)的峰值溫度的區(qū)域。該平衡相比于使用僅具有一個版本的設計,可以降低集成電路150內(nèi)的熱梯度。集成電路150可以實現(xiàn)在電子系統(tǒng)160中使用的信號處理算法的一部分或全部。這種信號處理可以包括:針對音頻、視頻、雷達、醫(yī)療成像、通信信號或任何其他信號的編碼、解碼、或轉(zhuǎn)碼。備選地,信號處理可以包括:壓縮、展開、驗證、加密、解密、變換、濾波、上變頻、下變頻、內(nèi)插、抽取、擴縮、均衡或任何其它類型的處理。除了數(shù)字信號處理應用之外,根據(jù)相關聯(lián)的電子系統(tǒng)160的需求,集成電路150可以用于計算、仿真、通信、存儲、控制、或任何其他應用?,F(xiàn)在參見根據(jù)本文呈現(xiàn)的一個或多個實施例布置的圖2,框圖示出了應用到用于實現(xiàn)集成電路150A的設計上的熱感知調(diào)度和綁定的應用。圖2的集成電路150A是圖1的集成電路150的說明性示例。集成電路150A可以實現(xiàn)信號處理功能,如使用8個加法器230A至230H和2個乘法器220A至220B來實現(xiàn)快速傅立葉變換(FFT)??梢詫?個加法器230A至230H —般稱為或統(tǒng)稱為加法器230。類似地,可以將2個乘法器220A至220B —般稱為或統(tǒng)稱為乘法器220。乘法器220和加法器230是集成電路150內(nèi)的模塊、塊、運算器、或功能單元的示例??刂破?10可以實現(xiàn)輪轉(zhuǎn)調(diào)度,該輪轉(zhuǎn)調(diào)度應用乘法器220和加法器230,以實現(xiàn)信號處理算法(在一些示例中是例如FFT算法)??梢詫⒍鄠€乘法器220和加法器230組裝,以實現(xiàn)很多信號處理算法。例如,可以通過將輸入信號采樣乘以系數(shù)值并將結(jié)果加到或累加到輸出信號上,來實現(xiàn)數(shù)字濾波器??梢杂沙朔ㄆ?20和加法器230的集合來執(zhí)行這些乘法和累加(MAC)運算。這些類型的計算塊還可以用于各種其他信號處理算法,如編碼、解碼、卷積、神經(jīng)網(wǎng)絡、模式匹配、視頻處理、圖像處理、音頻處理、醫(yī)療成像、雷達、聲納、機器視覺、運動跟蹤、三維成像、像素/圖像明暗處理、視頻格式轉(zhuǎn)換等等。
可以通過在可用資源(如乘法器220和加法器230)上調(diào)度不同的運算,在集成電路150A中實現(xiàn)FFT算法。將FFT算法綁定和調(diào)度到所示架構(gòu)上的一個可能版本可以導致I個乘法器220A和3個加法器230B、230F和230H相比于其他模塊被大量使用。在集成電路150A的操作期間,這些大量使用的模塊可以變得比其他模塊更熱,產(chǎn)生熱點和熱梯度。將FFT算法綁定和調(diào)度到所示架構(gòu)上的另一個可能版本代之以導致另一乘法器220B和3個其他加法器230A、230C和230G被更大量地使用。使用本文所述技術,控制器210可以被配置為對2個不同版本(例如,針對特定算法/功能的2個不同綁定)的選擇和操作進行輪轉(zhuǎn)調(diào)度。輪轉(zhuǎn)調(diào)度可以通過要在每個模塊上重新分布熱量的2個版本,來支持循環(huán)。從而,可以降低整體集成電路150A的峰值溫度。經(jīng)驗測試證明本文所討論的多個版本的調(diào)度和綁定在穩(wěn)態(tài)峰值溫度方面提供了平均
6.35%的下降。盡管上面通過2個不同版本來進行描述,任何其他數(shù)目的版本也是可能的,如3個版本、4個版本等等。在一些示例中,可以將不同版本物理分離,以在集成電路的不同地理區(qū)域之間隔離熱能。在一些其他示例中,不同版本的部分可以彼此交織,以隨著時間在集成電路上擴散熱能。例如,可以在一個版本中使用加法器230A和230D,而在另一個版本中使用加法器230C和230B,使得可以在集成電路上逐步擴散熱能。將在熱力學上不同的版本加以結(jié)合可以支持降低在集成電路的工作期間的峰值溫度、整體能耗、或泄漏能量。現(xiàn)在參見根據(jù)本文所呈現(xiàn)的一個或多個實施例布置的圖3,示意圖示出了集成電路150內(nèi)相鄰模塊310A至3101的熱模型300。可以將模塊310A至3101 —般稱為或統(tǒng)稱為模塊310??梢允褂镁o湊熱模型300來計算特定綁定和調(diào)度版本內(nèi)的溫度上升??梢愿鶕?jù)模塊310內(nèi)的活動所消耗的功率以及與相鄰模塊310交換的能量來估計每個模塊310的熱能。
模型300可以考慮集成電路150的穩(wěn)定熱狀態(tài),其中,可以根據(jù)傳輸?shù)江h(huán)境中的能量來確定所產(chǎn)生的熱能。在一些示例中,模型300可以假定集成電路150相對于環(huán)境是小的。在這種示例中,環(huán)境并不會由于來自集成電路150的熱能(例如,熱量)而在溫度上顯著改變。模型300的一些示例還可以假定在集成電路150內(nèi)的熱改變的速率顯著地慢于影響集成電路150內(nèi)的開關的時鐘頻率。從而,可以將特定調(diào)度輪中的模塊310的能耗速率視為對該模塊310對集成電路150的溫度的長期影響的合理近似。熱模型300可以基于使用恒定熱屬性的傅立葉熱傳導方程??梢詫⑷绱硕x的系統(tǒng)視為線形橢圓邊值問題。橢圓邊值問題可以不是時間的函數(shù)。取而代之地,這種問題可以僅依賴于空間變量。如圖所示,給定模塊310的布局,可以用索引(i,j)來指代中間模塊310E。因此,可以將中央模塊310E視為具有溫度IVj和熱能Qi,」。中間模塊310E與4個模塊310B、310D、310F和310H共享邊界。每個模塊的熱能可以與具有共享邊界的4個相鄰模塊交換??梢葬槍H具有3個相鄰模塊310和I個到環(huán)境的附加接口的邊模塊310引入微小的修改。類似地,角模塊310可以僅具有2個鄰居以及與環(huán)境交互的2條邊?;诟盗⑷~熱傳導方程,可以將(i,j)模塊的熱能(Q)表達為:Qi, j = kSi/env*ASi/env* (Tijj-Tenv)+kSi/Si*A
Si/Si* (Ti,j-1)
權利要求
1.一種用于合成集成電路的計算機實現(xiàn)的方法,所述方法包括: 產(chǎn)生針對集成電路的綁定的第一版本,其中,所述綁定的第一版本的操作導致所述集成電路的第一熱能方向圖; 產(chǎn)生針對所述集成電路的綁定的第二版本,其中,所述綁定的第二版本的操作導致所述集成電路的第二熱能方向圖,其中,所述第一熱能方向圖和所述第二熱能方向圖在熱力學上彼此不同;以及 產(chǎn)生用于在所述集成電路內(nèi)操作所述綁定的第一版本和所述綁定的第二版本之一的輪轉(zhuǎn)調(diào)度,其中,針對所述輪轉(zhuǎn)調(diào)度中的相應部分,操作所述第一和第二版本中的每一個。
2.根據(jù)權利要求1所述的計算機實現(xiàn)的方法,還包括:產(chǎn)生控制器,以在所述集成電路內(nèi)實現(xiàn)所述輪轉(zhuǎn)調(diào)度。
3.根據(jù)權利要求1所述的計算機實現(xiàn)的方法,還包括:產(chǎn)生針對所述集成電路的綁定的附加版本,其中,所述綁定的附加版本的操作導致所述集成電路的附加熱能方向圖,其中,所述第一熱能方向圖、所述第二熱能方向圖、以及所述附加熱能方向圖在熱力學上彼此不同;以及使所述輪轉(zhuǎn)調(diào)度適用于在所述集成電路內(nèi)操作所述綁定的第一版本、所述綁定的第二版本以及所述綁定的額外版本之一,其中,針對所述輪轉(zhuǎn)調(diào)度中的相應部分,操作所述第一、第二和附加版本中的每一個。
4.根據(jù)權利要求1所述的計算機實現(xiàn)的方法,其中,產(chǎn)生所述第一版本和所述第二版本包括:根據(jù)與所述集成電路相關聯(lián)的數(shù)據(jù)路徑來關聯(lián)各版本內(nèi)的操作。
5.根據(jù)權利要求1所述的計算機實現(xiàn)的方法,其中,產(chǎn)生所述第一版本和所述第二版本包括:在維持時序約束的同時,嘗試最小化在所述集成電路內(nèi)的給定類型模塊的數(shù)目。
6.根據(jù)權利要求1所 述的計算機實現(xiàn)的方法,其中,產(chǎn)生所述第一版本和所述第二版本包括:在滿足時序約束集合的同時,嘗試維持面積約束。
7.根據(jù)權利要求1所述的計算機實現(xiàn)的方法,其中,產(chǎn)生所述輪轉(zhuǎn)調(diào)度包括:應用熱模型,以估計所述集成電路的第一熱能方向圖和所述第二熱能方向圖。
8.根據(jù)權利要求7所述的計算機實現(xiàn)的方法,其中,所述熱模型包括總熱能,所述總熱能等于由所述綁定的第一版本所耗散的功率和由所述綁定的第二版本所耗散的功率各自乘以與所述輪轉(zhuǎn)調(diào)度的針對該版本的相應部分相關聯(lián)的持續(xù)時間的和。
9.根據(jù)權利要求1所述的計算機實現(xiàn)的方法,其中,產(chǎn)生所述輪轉(zhuǎn)調(diào)度包括:最小化與所述集成電路相關聯(lián)的泄漏能量。
10.根據(jù)權利要求1所述的計算機實現(xiàn)的方法,其中,產(chǎn)生所述輪轉(zhuǎn)調(diào)度包括:最小化與所述集成電路相關聯(lián)的總能耗。
11.根據(jù)權利要求1所述的計算機實現(xiàn)的方法,其中,所述綁定的第一版本所使用的第一數(shù)據(jù)路徑與所述綁定的第二版本所使用的第二數(shù)據(jù)路徑不同。
12.—種計算機存儲介質(zhì),具有存儲于其上的針對方法的計算機可執(zhí)行指令,當由計算機執(zhí)行所述計算機可執(zhí)行指令時,使得所述計算機適于通過所述方法來執(zhí)行集成電路的合成,所述方法包括: 針對集成電路,產(chǎn)生綁定的兩個或更多版本,其中,所述綁定的兩個或更多版本中的每一個的操作導致了所述集成電路的相應熱能方向圖,使得所述相應熱能方向圖在熱力學上彼此不同;產(chǎn)生輪轉(zhuǎn)調(diào)度,其中,針對輪轉(zhuǎn)周期的各部分,操作所述綁定的兩個或更多版本中的每一個;以及 將所述綁定的兩個或更多版本與用于實現(xiàn)所述輪轉(zhuǎn)調(diào)度的控制器集成到所述集成電路的實現(xiàn)設計中。
13.根據(jù)權利要求12所述的計算機存儲介質(zhì),所述方法還包括:調(diào)整所述綁定的兩個或更多版本的數(shù)量,以降低與所述集成電路相關聯(lián)的峰值溫度。
14.根據(jù)權利要求12所述的計算機存儲介質(zhì),其中,產(chǎn)生所述綁定的兩個或更多版本包括:根據(jù)所述版本內(nèi)的操作的優(yōu)先級,將所述操作加以關聯(lián)。
15.根據(jù)權利要求12所述的計算機存儲介質(zhì),其中,產(chǎn)生所述綁定的兩個或更多版本包括:維持與信號處理的采樣率相關聯(lián)的時序約束。
16.根據(jù)權利要求12所述的計算機存儲介質(zhì),其中,產(chǎn)生所述輪轉(zhuǎn)調(diào)度包括:應用熱模型,以估計所述集成電路的相應熱能方向圖。
17.根據(jù)權利要求16所述的計算機存儲介質(zhì),其中,所述熱模型包括總熱能,所述總熱能等于由所述兩個或更多版本中每一個所耗散的功率各自乘以與所述輪轉(zhuǎn)周期的針對所述兩個或更多版本中的每一個的相應部分相關聯(lián)的持續(xù)時間的和。
18.一種集成電路,包括: 用于實現(xiàn)與算法相關聯(lián)的操作的模塊;以及 控制器,被配置為在用于將所述算法調(diào)度和綁定到所述模塊上的多個在熱力學上不同的版本之間輪轉(zhuǎn),以支持與所述集成電路相關聯(lián)的降低的峰值熱能。
19.根據(jù)權利要求18所述的集成電路,其中,所述降低的峰值熱能小于與被配置為僅實現(xiàn)所述多個在熱力學上不同的版本之一的集成電路相關聯(lián)的峰值熱能。
20.根據(jù)權利要求18所述的集成電路,其中,所述控制器將所述多個在熱力學上不同的版本各自輪轉(zhuǎn)所述輪轉(zhuǎn)周期的相應部分的持續(xù)時間。
21.根據(jù)權利要求18所述的集成電路,其中,所述控制器是有限狀態(tài)機。
22.根據(jù)權利要求18所述的集成電路,其中,一個或多個模塊實現(xiàn)數(shù)值運算。
23.根據(jù)權利要求18所述的集成電路,其中,所述算法是信號處理算法。
24.根據(jù)權利要求18所述的集成電路,其中,將所述模塊定位在所述集成電路內(nèi),使得執(zhí)行相同操作的模塊彼此遠離定位。
全文摘要
本發(fā)明大體上描述了用于使用熱感知調(diào)度和綁定進行硬件合成的技術??梢援a(chǎn)生硬件設計的多個版本,每個版本具有不同的調(diào)度和綁定結(jié)果??梢詧?zhí)行調(diào)度和綁定,使得多個版本的熱分布具有在版本之間遠離的熱峰值。在版本的熱峰值之間的增加的物理距離可以向各版本提供獨一無二的熱特性。可以構(gòu)造設計的多個版本之間的輪轉(zhuǎn)調(diào)度,使得集成電路的熱分布在工作期間平衡掉??梢允褂镁€性規(guī)劃框架來分析多個設計,并構(gòu)造熱感知輪轉(zhuǎn)調(diào)度和綁定。例如,可以選擇K個最有效的版本,然后可以確定在輪轉(zhuǎn)中操作每個版本的持續(xù)時間。
文檔編號G06F17/50GK103180853SQ201080059181
公開日2013年6月26日 申請日期2010年11月12日 優(yōu)先權日2010年1月11日
發(fā)明者米奧德拉格·波特科尼亞克, 法瑞納茲·科斯?jié)h法 申請人:英派爾科技開發(fā)有限公司