專利名稱:用于調整集成電路性能的設備和方法
技術領域:
本發明的構思一般涉及調整集成電路(IC)的性能,此處的集成電路包括可編程邏輯器件(PLD)。
背景技術:
PLD是普遍存在的既能給設計者又能給終端用戶提供靈活性的電子器件。在電子電路或電子系統的設計周期中,對每個設計,設計者僅通過對PLD重新編程就可以完成大量的重復設計。因此,與其它可選方案相比,減少了設計周期的長度和費用。類似地,終端用戶可能需要對包括PLD的設計的功能性進行一定的控制。用戶可在現場或實時地對PLD 編程,就能改變電路或系統的運行方式。為適應日益復雜的設計,現代PLD中包含的晶體管相對較多。而且,用戶對性能的要求也提高了,這就產生了較大的運行頻率。因此,可編程邏輯器件的功率消耗,功率耗散, 晶片溫度及因此的功率密度(在各種電路或各種塊中的功率耗散)也在增大。然而,功率密度的增大可能會使PLD的設計和實現變得不實際或更容易失敗。所以需要以可調整的功率消耗和可調整的性能為特征的PLD。更進一步講,還需要直接對普通集成電路內的晶體管的性能(泄漏,速度和功率耗散)進行控制。
發明內容
本發明公開的新構思涉及用于調整PLD性能的設備和方法,例如在速度和功率耗散之間做出權衡。本發明的構思的一方面涉及用于調整PLD的性能的設備。在一個實施例中,配置成實現用戶電路的PLD包括延遲電路和體偏置發生器。延遲電路具有一個延遲,它表示在PLD中實現的用戶電路的延遲。用戶電路包括至少一個晶體管。響應從延遲電路的傳播延遲中得到的延遲量,體偏置發生器對用戶電路中晶體管的體偏置進行調整。在另一個實施例中,PLD包括參考晶體管,電流測量電路和體偏置發生器。參考晶體管提供關于PLD內的電路的電流。電流測量電路測量由參考晶體管提供的電流,并將測量的電流信號提供給體偏置發生器。體偏置發生器從測量的電流信號中得到至少一個體偏置信號,并將此體偏置信號(可為多于一個)提供給PLD中的電路。在又一個實施例中,PLD包括多個用戶電路和多于一個體偏置發生器。每個用戶電路都在PLD中實現。多個體偏置發生器中至少一個體偏置發生器被配置成可選擇性地調整用戶電路中至少一個用戶電路的晶體管的體偏置。本發明的構思的另一方面涉及調整PLD的性能和使用PLD實現用戶電路的方法。 在一個實施例中,使用PLD實現電子電路的方法包括將電子電路映射成PLD內的功能資源以生成一個設計;及從表示生成的設計中的至少一部分內的信號傳播延遲的延遲得到體偏置值。所述方法進一步包括將生成的設計中的一部分的至少一個晶體管的體偏置電平編程為體偏置值。在另一實施例中,調整包含在PLD內的電路的晶體管的泄漏電平的方法包括獲得表示晶體管的漏電流的電流;和從獲得的電流中得到體偏置電平。該方法進一步包括將晶體管的體偏置調整為得到的體偏置電平。在又一實施例中,在PLD內的至少一個電路區中實現用戶電路的方法包括選擇電路區中的至少一個晶體管的體偏置電平;和生成PLD內該電路區的初始布置。如果目前的體偏置電平和布置不能滿足規定的性能標準,則該方法將進一步包括將施加到電路區中的晶體管的體偏置電平改變成另一電平至少一次。
附圖的簡要描述附圖僅對本發明的示例性實施例進行了圖解說明,因此不應被認為是限制本發明的范圍。本領域普通技術人員從本發明的描述中將理解所公開的發明構思會使他們想到其它等同的有效的實施例。在附圖中,多于一個附圖中使用的同樣的數字指示符表示相同的, 相似的,或等同的功能性,部件或塊。
圖1顯示根據本發明的圖解實施例的PLD的一般方框圖。圖2圖解說明了用在本發明的示例性實施例中的MOS晶體管。圖3描述了根據本發明的示例性實施例中的PLD的平面布置圖。圖4顯示根據本發明的示例性實施例的PLD中的可編程邏輯的結構圖。圖5圖解說明了用在根據本發明的示例性實施例的加入了體偏置調整的PLD中的多路復用器。圖6A描述了根據本發明的示例性實施例的PLD計算機輔助設計(CAD)軟件的各種軟件模塊。圖6B圖解說明了根據本發明的示例性實施例的PLD CAD軟件的流程圖。圖7顯示了根據本發明的示例性實施例的調整體偏置的過程的流程圖。圖8圖解說明了根據本發明的示例性實施例的PLD內用來對期望的PLD電路或塊的體偏置電平進行調整,編程或設置的電路的結構圖。圖9描述了根據本發明的示例性實施例用于可選擇地關斷電路或減少或一般控制PLD內電路的功率消耗的電路的結構圖。圖10顯示根據本發明的示例性實施例用來響應外部源來調整PLD內的體偏置電平的電路布置圖。圖11圖解說明了根據本發明的示例性實施例的用于調節PLD內的體偏置電平的電路布置。圖12描述了對用在本發明的示例性實施例的PLD的體偏置電平進行調整,編程, 或設置的過程或技術的流程圖。
圖13顯示考慮了溫度水平,用來對體偏置電平進行調整,編程,或設置的過程或技術的流程圖。圖14圖解說明了考慮了 PLD運行的環境特征,用來對體偏置電平進行調整,編程, 或設置的過程或技術的流程圖。圖15描述了考慮了 PLD運行的溫度水平和環境特征,用來對體偏置電平進行調整,編程,或設置的過程或技術的流程圖。圖16顯示根據用戶電路的運行延遲的延遲表示來調整用戶電路的晶體管的體偏置的電路布置圖。圖17圖解說明了根據本發明的說明性實施例的體偏置控制器的結構圖。圖18描述了根據本發明的示例性實施例的參考信號發生器的電路布置。圖19顯示根據本發明的示例性實施例的相位比較器的電路布置圖。圖20圖解說明了根據本發明的示例性實施例的相位比較器的另一電路布置。圖21描述了根據本發明的用在說明性實施例中的可配置的延遲電路。圖22顯示根據本發明的示例性實施例的用于可配置的延遲電路的電路布置圖。圖23圖解說明了根據本發明的說明性實施例的布線延遲元件的電路布置。圖M描述了根據本發明的示例性實施例的邏輯延遲元件的電路布置。圖25顯示根據本發明的示例性實施例的泄漏鎖定環的結構圖。圖沈圖解說明了根據本發明的另一示例性實施例的泄漏鎖定環的結構圖。圖27描述了根據本發明的示例性實施例的泄漏測量電路。圖28顯示根據本發明的示例性實施例的參考值和比較器電路。圖四圖解說明了根據本發明的另一示例性實施例的參考值和比較器電路。圖30描述了根據本發明的示例性實施例用于給集成電路IC提供多個體偏置電路的電路布置。
詳細描述本發明的構思設計了以可調功率和可調性能為特征的PLD的設備和相關方法。本發明的構思有助于克服傳統PLD會遇到的功率密度水平過大的問題。而且,可以對根據本發明的PLD的期望的一部分或全部性能水平進行調整(即,從個別晶體管一直到整個PLD 電路的粒狀基礎上)。見如下的詳細描述,更具體地講,本發明的構思設計了對PLD中的個別晶體管或晶體管組的體偏置或電位阱(well)偏置進行的設置,編程或調整。對體偏置進行的調整改變了晶體管的功率消耗及性能。本發明的構思相對傳統的實現方法具有以下優點。首先,本發明的構思可以在性能和功率消耗之間做出權衡,或能優化性能-功率消耗之間的權衡。其次,可以選擇性對 PLD的關鍵電路路徑或部分PLD的體偏置電平進行設置,編程或調整,以期增強其性能。相反地,也可以選擇性地對PLD的非關鍵電路路徑或部分PLD的體偏置電平進行設置,編程或調整,從而減少其功率消耗,并降低其功率密度。此外,可以關閉或禁用PLD內的沒有使用的部分或電路,這樣減少它們的功率消耗,并降低它們的功率密度。也可以利用本發明的構思來阻止熱耗散(或減少熱耗散的可能性)。更具體地講,在傳統的PLD中,運行在相對較高速度的電路勢必要消耗更多的功率,導致PLD的溫度升高。功率消耗的增加會使那些電路消耗更多的功率。這種正反饋的機制可能使功率密度增大到不安全或破壞性水平。圖1所示為根據本發明的示例性實施例的PLD 103的一般的結構圖。PLD 103包括配置電路130,配置內存133,控制電路136,可編程邏輯106,可編程互聯109,及輸入/輸出電路112。此外,如果需要,PLD 103還可以包括測試/調試電路115,一個或多于一個處理器118,一個或多于一個通信電路121,一個或多于一個內存124,一個或多于一個控制器 127。注意圖1顯示PLD 103的簡化的結構圖。因此,PLD 103還可以包括其它塊或電路,其能為本領域普通技術人員所理解。這種電路的例子包括時鐘發生和分布電路,冗余電路,及類似電路。而且,如果需要,PLD 103可以包括模擬電路,其它數字電路,和/或混合模式電路。可編程邏輯106包括可配置或可編程邏輯電路塊,諸如查詢表(LUT),乘積項邏輯,多路復用器,邏輯門,寄存器,內存,和類似電路塊。可編程互連109耦連到可編程邏輯 106,并在可編程邏輯106內的各塊和PLD 103之內或之外的其它電路之間提供可配置互聯 (耦連機構)。控制電路136對PLD 103內的各種運行進行控制。在控制電路136的管理下,PLD 配置電路130使用配置數據(從諸如存儲器設備,主機等的外部源獲得)來對PLD 103的功能性進行編程或配置。通過對可編程邏輯106和可編程互聯109進行編程,配置數據確定了 PLD103的功能性,如本領域普通技術人員受益于本發明的描述所理解的。I/O電路112可由多種I/O設備或電路組成,如本領域普通技術人員受益于本發明的描述所理解的。I/O電路112可以耦連到PLD 103的各個部分,例如,可耦連到可編程邏輯106和可編程互聯109。I/O電路112為PLD 103內的各個塊提供了與外部電路或外部設備進行通信的機構和電路。測試/調試電路115用于PLD 103內的各個塊和各個電路的測試和故障查找。測試/調試電路115可包括本領域普通技術人員在參考本發明的描述之后能知道的各種塊或電路。例如,如果需要,測試/調試電路115可包括PLD 103上電或重置之后執行測試的電路。如果需要,測試/調試電路115還可以包括編碼和奇偶校驗電路。如上所述,PLD 103可包括一個或多于一個處理器118。處理器118可耦連到PLD 103內的其它塊和其它電路。處理器118可從PLD103內部或外部接收數據和信息,并能以許多種方式處理信息,如本領域普通技術人員受益于本發明的描述所理解的。一個或多于一個處理器118可由數字信號處理器(DSP)組成。如果需要,DSP可執行許多諸如壓縮,解壓縮,音頻處理,視頻處理,濾波,和類似處理的信號處理任務。PLD 103還可以包括一個或多于一個通信電路121。通信電路121可以用于PLD 103內的各個電路和PLD 103的外部各電路之間的數據和信息交換,如本領域普通技術人員受益于本發明的描述所理解的。舉例來說,如果需要,通信電路121可提供各種協議功能 (例如,傳輸控制協議/互聯網協議(TCP/IP),用戶數據報協議(UDP)等)。舉另外一個例子,如果需要,通信電路121可以包括網絡(諸如,以太網,令牌網等等)或總線接口電路。PLD 103可進一步包括一個或多于一個內存IM及一個或多于一個控制器127。 內存IM可以存儲PLD 103內的各種數據和各種信息(諸如,用戶數據,中間結果,計算結果,等等)。如果需要,內存1 可以具有粒狀或塊形式。控制器127可以與PLD之外的電路的運行和各個功能進行接口連接,并對其進行控制。例如,如果需要,控制器127可由與外部同步的動態隨機存儲器(SDRAM)接口并對其進行控制的內存控制器組成。PLD 103內的電路塊包括許多晶體管。更具體地講,如果需要,晶體管由金屬氧化物半導體(MOS)晶體管組成,諸如由N型MOS (NMOS),P型MOS (PMOS),互補型MOS (CMOS),或部分耗盡絕緣膜上硅(SOI)MOS晶體管(或這些類型晶體管的組合)組成。圖2顯示用在本發明的示例性實施例中的MOS晶體管。MOS晶體管包括體(或襯底)區203,源區206,漏區209,柵極絕緣子215,和柵極212。運行在飽和區的MOS晶體管的漏電流取決于晶體管的閾值電壓和柵-源電壓。
這里
iD =總的漏電流(即,包括交流分量和直流分量), K=常數,
Vgs =總的柵-源電壓(即,包括交流分量和直流分量),和 Vt =閾值電壓。閾值電壓,Vt,由許多因素決定,諸如晶體管的源區206和體區203之間的電壓。以下等式將閾值電壓表示成體-源電壓的函數。
權利要求
1.一種利用可編程邏輯器件PLD來實現電子電路的方法,所述方法包括 把所述電子電路映射成所述PLD內的功能資源以生成一個設計;從表示所述生成的設計中的至少一部分中的信號傳播延遲的延遲得到體偏置值;和把所述生成的設計中的所述至少一部分的至少一個晶體管的體偏置電平編程為所述體偏置值。
2.根據權利要求1所述的方法,其中把所述電子電路映射成所述PLD內的功能資源進一步包括把所述電子電路的至少一部分映射到所述PLD內的可編程邏輯資源。
3.根據權利要求1所述的方法,其中從表示所述生成的設計中的至少一部分的信號傳播延遲的延遲得到體偏置值進一步包括把所述延遲和已知的時間周期進行比較。
4.根據權利要求3所述的方法,其中所述延遲是可調的。
5.根據權利要求1所述的方法,其中所述延遲由在所述PLD內實現的邏輯電路產生。
6.一種對可編程邏輯器件PLD內實現的電路中的晶體管的泄漏電平進行調整的方法, 所述方法包括獲得表示所述晶體管的漏電流的電流;從所獲得的電流中得到體偏置電平;把所述晶體管的體偏置調整為所得到的體偏置電平;和獲得表示所述晶體管的漏電流的電流進一步包括測量所述電路中的漏電流。
7.根據權利要求6所述的方法,其中從所述獲得的電流中得到體偏置電平進一步包括將所述獲得的電流和至少一個泄漏參考值進行比較以生成至少一個誤差信號。
8.根據權利要求7所述的方法,其中從所述獲得的電流中得到體偏置電平進一步包括從所述至少一個誤差信號中得到所述體偏置電平。
9.根據權利要求8所述的方法,其中從所述獲得的電流中得到體偏置電平進一步包括對所述至少一個誤差信號進行濾波以生成一個被濾波的信號;和從所述被濾波的信號中得到所述體偏置電平。
10.根據權利要求7所述的方法,其中將所述獲得的電流與至少一個泄漏參考值進行比較進一步包括將所述獲得的電流與第一和第二泄漏參考值進行比較,其中所述第一和第二泄漏參考值限定了所述晶體管的漏電流的范圍。
11.一種配置可編程邏輯器件PLD來實現電子電路的方法,所述方法包括 將所述電子電路映射到所述PLD內的功能資源,以生成由所述PLD實現的設計; 識別由所述PLD實現的所述設計中的至少一個關鍵電路路徑;和對所述至少一個關鍵電路路徑中的至少一個晶體管的體偏置電平進行編程。
12.根據權利要求11所述的方法,其中對所述至少一個晶體管的體偏置電平的編程進一步包括對所述PLD的配置內存進行編程。
13.根據權利要求12所述的方法,其中對所述至少一個晶體管的體偏置電平的編程進一步包括根據所述配置內存里編程的值調整所述至少一個晶體管的源極和體之間的電壓。
14.根據權利要求11所述的方法,進一步包括使所述PLD內沒有使用的功能資源無效。
15.根據權利要求11所述的方法,進一步包括控制所述PLD內的第一電路的功率耗散。
16.根據權利要求11所述的方法,其中對至少一個晶體管的體偏置電平進行編程進一步包括設置所述體偏置電平,以避免所述至少一個晶體管中的熱耗散。
17.根據權利要求11所述的方法,其中對至少一個晶體管的體偏置電平進行編程進一步包括設置所述體偏置電平,以在所述至少一個晶體管的性能和功率消耗之間做出權衡。
18.根據權利要求17所述的方法,其中設置所述體偏置電平以在所述至少一個晶體管的性能和功率消耗之間做出權衡進一步包括優化所述至少一個晶體管的所述性能和功率消耗之間的權衡。
19.一種操作可編程邏輯器件PLD的方法,所述方法包括 將所述PLD內的至少一個晶體管的體偏置電平設置成第一電平; 獲得所述PLD的性能度量;確定所述PLD的性能度量是否滿足標準;和根據所述PLD的所述性能度量是否滿足所述標準來調整所述至少一個晶體管的所述體偏置電平。
20.根據權利要求19所述的方法,其中確定所述PLD的性能度量是否滿足一個標準進一步包括得到所述性能度量。
21.根據權利要求20所述的方法,其中調整所述至少一個晶體管的所述體偏置電平進一步包括如果所述PLD的所述性能度量滿足所述標準,則保持所述至少一個晶體管的所述體偏置電平不變;和如果所述PLD的所述性能度量不滿足所述標準,則把所述至少一個晶體管的所述體偏置電平改變到另一電平。
22.根據權利要求21所述的方法,其中所述性能度量包括所述至少一個晶體管的整體運行速度。
23.根據權利要求21所述的方法,其中所述性能度量包括所述至少一個晶體管的功率消耗。
24.根據權利要求21所述的方法,其中所述性能度量包括所述PLD的自檢或自測試結^ ο
25.根據權利要求23所述的方法,進一步包括使所述PLD內的沒有使用的電路無效。
26.根據權利要求23所述的方法,進一步包括控制所述PLD內的控制電路的功率耗散。
全文摘要
用于調整集成電路性能的設備和方法。本發明提供利用可編程邏輯器件PLD來實現電子電路的方法,所述方法包括把所述電子電路映射成所述PLD內的功能資源以生成一個設計;從表示所述生成的設計中的至少一部分中的信號傳播延遲的延遲得到體偏置值;和把所述生成的設計中的所述至少一部分的至少一個晶體管的體偏置電平編程為所述體偏置值。
文檔編號H03K5/13GK102361449SQ20111016682
公開日2012年2月22日 申請日期2005年5月18日 優先權日2004年5月19日
發明者B·彼得森, D·劉易斯, I·拉希姆, P·麥克爾赫尼, V·貝茨, Y-J·W·劉 申請人:阿爾特拉公司