專利名稱:一種低功耗電路設計優化方法
技術領域:
本發明屬于集成電路設計自動化領域,尤其屬于優化集成電路功耗的技術范疇, 特別涉及一種低功耗電路設計優化方法。
背景技術:
先進數字集成電路制造工藝的特征尺寸不斷縮小,從90nm、65nm,過渡到45nm、 32nm,并有望發展到22nm和15nm,甚至更小的特征尺寸。特征尺寸的不斷縮小使得芯片系統集成度不斷提高成為可能,但芯片的功耗隨芯片系統的集成度提高而不斷增加,從而制約了充分利用特征尺寸的縮小以提高芯片系統集成度的能力,為此需要探索低功耗優化技術降低芯片系統的功耗。目前應用比較普遍的低功耗技術主要有多閾值工藝CMOS (MTCMOS)、變閾值工藝 CMOS (VTCMOS)、電源門控、多電壓,以及動態電壓和頻率縮放(DVFS)、電源門控等。這些技術可以有效地降低芯片系統的功耗,但如何在芯片系統設計中自動使用這些技術,還需要新的優化方法的支持,以確保這些技術在低功耗芯片系統設計中得到充分的應用。
發明內容
有鑒于此,本發明的目的在于提供一種低功耗電路設計優化方法,本發明提供了一種低功耗電路設計優化方法,包括指定門級電路網表、仿真激勵、單元庫及器件模型信息的位置,并讀入所述信息進行門級電路仿真,對門級電路進行劃分,進行電路分析和仿真結果分析,依據該分析結果, 根據低功耗技術對電路進行優化處理。MTCMOS、VTCMOS、電源門控、多電壓,以及動態電壓和頻率縮放(DVFS)、電源門控等低功耗技術的運用可以有效地降低電路系統的功耗,但如何運用需要借助設計人員的經驗人為地指定電路系統中具體的模塊需要采用具體的低功耗技術,這需要設計人員對電路的工作過程有詳細的了解,以便在具體的模塊中采用合適的低功耗技術,過程比較繁雜且費時間,而且不利于充分運用低功耗技術,本發明不需要設計人員對電路工作過程有詳細的了解,同時對低功耗技術進行自動嘗試和比較,針對具體的電路模塊最優化地選擇合適的低功耗技術。
圖1為本發明實施例提供的一種低功耗電路設計優化的方法流程圖;圖2為本發明實施例中進行電路分析和仿真結果分析的方法流程圖;圖3為本發明實施例中根據低功耗技術對電路進行優化處理的方法流程圖;圖4為本發明實施例中進行功耗評估的方法流程圖。
具體實施方式
本發明旨對門級電路網表設計進行優化,在電路網表中插入和/或替換部分單元以支持MTCMOS、VTCMOS,電源門控、多電壓、以及動態電壓和頻率縮放(DVFS)、電源門控等低功耗技術,在確保芯片系統電路性能的前提下使芯片系統的功耗最低。為使本發明的目的、技術方案和優點更加清楚,下面結合附圖對本發明作進一步的詳細描述。圖1為本發明實施例提供的一種低功耗電路設計優化的方法流程圖,具體包括以下步驟步驟101、指定門級電路網表、仿真激勵、單元庫、器件模型等信息的位置。具體地可以通過軟件的命令行選項值指定或圖形界面上的數據位置瀏覽器選擇并指定。步驟102、讀入門級電路網表、仿真激勵、單元庫、器件模型信息。步驟103、門級電路仿真。通過門級電路仿真工具(目前的門級電路仿真工具很多,可以采用任何一個現有的門級電路仿真工具,如VCS、ModelSim等)讀入門級電路網表、 仿真激勵和門級電路的基本單元庫信息(門級仿真的單元庫信息的建立是基于器件模型信息,但門級仿真不需要底層的器件模型信息,而是直接利用庫單元內的時延信息等),采用基于事件驅動的仿真算法對電路進行仿真,得到各個單元的工作時序、功耗、狀態及狀態轉換信息。步驟104、電路劃分。對門級電路按功能和層次關系進行劃分,將電路劃分為若干個未進行低功耗優化的模塊/區域,構建未進行低功耗優化的模塊/區域列表。具體按功能和層次關系進行劃分,門級綜合之前的寄存器傳輸級(RTL)和行為級設計本身就是層次化和功能化的描述模塊,門級綜合保留了這一層次化信息和功能化信息,因此無需在技術上確定功能和設計層次,劃分只需要層次化的遍歷設計即可。步驟105、從未進行低功耗優化的模塊/區域列表中取出一個模塊/區域,進行電路分析和仿真結果分析。該分析的流程如圖2所示,包括步驟1051、對電路進行關鍵信號流路徑分析以確定電路的關鍵路徑。具體通過人工指定關鍵信號或以最長路徑自動分析出關鍵輸入信號,根據信號在電路建立的有向圖上的傳播確定關鍵信號的傳播路徑,以此為關鍵信號路徑。步驟1052、分析門級電路仿真結果,得出阱電壓控制邏輯。根據仿真結果確定電路的工作狀態和待機狀態,并從仿真波形數據之間的相關性找出導致電路進入/退出工作狀態和待機狀態的條件,以此產生阱電壓控制邏輯,阱電壓控制邏輯控制阱偏置電壓,在工作方式降低閾值電壓Vth,在待機狀態提高閾值電壓vth,以降低靜態功耗。步驟1053、分析門級電路仿真結果,捕捉每個時鐘周期上升沿到來時,為同一寄存器重復裝載相同數據的情形。為同一寄存器重復裝載相同數據對寄存器狀態沒有實際改變,卻會增大電路的功耗,捕捉該情形以便后續增加適當的控制邏輯,在寄存器已有數據和要裝入的數據一致時消除重新裝載數據的動作有效地降低電路的動態功耗。步驟IOM、分析門級電路仿真結果,捕捉邏輯單元/模塊一段時間內處于空閑狀態的情形,并分析進入空閑狀態的條件和退出空閑狀態的條件。捕捉空閑狀態情形,并針對該情形增加電源門空電路,在空閑狀態關閉電源,可以有效地降低電路功耗。步驟1055、分析門級電路仿真結果,捕捉單元一段時間內處于睡眠狀態的情形,并分析進入睡眠狀態的條件和退出睡眠狀態的條件;對該單元各個輸入狀態下的功耗進行比較以確定最低功耗對應的輸入激勵。步驟105分析的主要目的在于,有針對性的嘗試運用目前的各種低功耗技術。步驟106、依據步驟105的分析結果,根據低功耗技術對電路進行優化處理。具體處理流程如圖3所示步驟1061、利用分析得出的阱電壓控制邏輯,將固定閾值MOS基本單元替換為變閾值工藝VTCMOS基本單元,并為此插入阱偏置電壓控制模塊,以便采用動態改變襯底偏置電壓以改變閾值。工作期間,η型阱(N well)偏置電壓維持在Vdd,ρ型阱(P well)偏置電壓維持在0 ;當待機或者需要低頻工作時,N well偏置電壓維持在2Vdd,P well偏置電壓維持在 lVdd,這樣也可以通過高閾值達到減少漏電功耗的目的。步驟1062、選用多閾值工藝MTCMOS基本單元替換固定閾值MOS基本單元,在分析得出的關鍵路徑上采用閾值較低的器件以確保關鍵路徑的響應速度;在分析得出的非關鍵路徑上用高閾值器件以降低非關鍵路徑上的靜態功耗。在這里,變閾值工藝VTCMOS基本單元和多閾值工藝MTCMOS基本單元是兩種不同的低功耗技術,選用多閾值工藝MTCMOS基本單元替換固定閾值MOS基本單元與前面的將固定閾值MOS基本單元替換為變閾值工藝 VTCMOS基本單元并不矛盾,它們分別用于優化電路不同部分。步驟1063、在分析得出的寄存器相同數據反復重載區域的寄存器槽和時鐘網絡上插入門控電路,以避免相同的值在每個時鐘周期上升沿到來時都會被重復加載進后面的寄存器中,控制和消除寄存器、時鐘網絡和多選器產生不必要的活動,大幅度降低功耗。步驟1064、插入睡眠狀態檢測電路和增加特定向量生成機制/電路,在電路處于睡眠狀態下,給電路輸入置成功耗最低的輸入向量,以大幅度降低這部分電路的功耗。插入的門控電路和睡眠狀態檢測電路等都基于現有的庫單元。步驟107、再次進行門級電路仿真。通過步驟1061、1062、1063、1064的操作,在原有門級電路網表的基礎上,一個新的門級網表已經產生,新的電路功耗如何,需要評估,為此首先需要對它進行門級電路仿真。與步驟103門級電路仿真一致通過門級電路仿真工具讀入門級電路網表、仿真激勵和門級電路的基本單元庫信息,采用基于事件驅動的仿真算法對電路進行仿真,得到各個單元的工作時序、功耗、狀態及狀態轉換信息。步驟108、門級電路仿真結果比較。比較原門級電路仿真結果和低功耗優化之后的門級電路仿真結果,確保原門級電路在低功耗優化之后的門級電路中的對應部分的仿真結果相同,否則針對低功耗優化的替換/插入有問題。步驟109、進行功耗評估。圖4是功耗評估的流程,包括以下步驟步驟1091、確定功耗評估范圍。由于通過步驟1061、1062、1063、1064的操作,在原有門級電路網表的基礎上,已經產生一個新的門級網表,僅集中在網表修改過的部分進行評估。這是因為,未修改部分的功耗沒有改變,且增量式的功耗評估可以有效地節約功耗評估所花費的時間開銷。步驟1092、計算門級電路平均動態功耗。利用門級電路仿真時記錄的SoC (系統級芯片)中各個門器件跳變總次數、仿真時間、跳變、以及仿真時間內1 — 0禾Π 0 — 1的跳變次數等等,并直接從工藝庫中提取出精確的電容信息,通過計算得到仿真時間內的平均動態功耗。其計算公式為
6
其中,Pd表示動態功耗,f由仿真時間tsim與仿真時間內1 — 0和0 — 1的跳變次數Ν"。和N。—決定f =饑―JNc^1Vtsim,Q是輸出節點的等效電容,Vdd是電源電壓。步驟1093、計算門級電路平均靜態功耗。根據仿真時間內門級電路靜態工作的時間、門級電路的器件尺寸、電源電壓、器件模型數據計算平均靜態功耗。靜態功耗的來源為電路中存在泄漏電流,而構成泄漏電流的機制主要為反偏pn 結電流、亞閾值電流、其他二級效應,如柵隧穿電流、DIBL效應、熱載流子效應等,靜態功耗表達式為Ps = IlrakXVdd,其中Ileak由門級電路的器件尺寸、電源電壓、器件模型數據計算, 實現時具體公式可參考器件模型公式。步驟1094、計算門級電路平均功耗。門級電路平均功耗=(門級電路平均動態功耗X其動態工作時間+門級電路平均靜態漏電功耗X其靜態工作時間)/(其動態工作時間+其靜態工作時間)。步驟1095、計算優化區域的平均功耗。對優化區域內的包括新增加門級電路在內的所有門級電路平均功耗求和。步驟110、判斷是否接受優化。比較優化之前區域內的平均功耗和優化之后區域內的平均功耗,若區域內的平均功耗降低了,則接受該區域內的低功耗優化結果,以新的門級網表替換原有區域內的門級網表;否則保留原有區域內的門級網表;同時這一經過低功耗優化處理過的模塊/區域從未進行低功耗優化的模塊/區域列表中刪除。步驟111、判斷是否繼續進行低功耗優化,若是則轉向步驟105 ;否則執行下一步。 判斷是否繼續進行低功耗優化的準則是未進行低功耗優化的模塊/區域列表非空,則對列表頭部的模塊/區域繼續進行低功耗優化處理;若未進行低功耗優化的模塊/區域列表為空,則結束低功耗處理。步驟112、輸出低功耗優化之后的門級電路網表信息。網表的輸出有兩個途徑,一是直接輸出網表文件,然后利用片上系統(SoC)集成電路設計平臺的數據導入接口導入設計數據庫;另一個是利用SoC集成電路設計平臺數據庫的應用程序接口(API)將優化之后的網表直接寫入數據庫。這樣就可以直接利用SoC集成電路設計平臺上的軟件工具執行后續的物理規劃、布局、布線、以及后續驗證等任務。本發明實施例對門級電路網表設計進行優化,在電路網表中插入和/或替換部分單元以支持MTCMOS、VTCM0S、電源門控、多電壓、以及動態電壓和頻率縮放(DVFS)、電源門控等低功耗技術,在確保芯片系統電路性能的前提下使芯片系統的功耗最低。總之,以上所述僅為本發明的較佳實施例而已,并非用于限定本發明的保護范圍。
權利要求
1.一種低功耗電路設計優化方法,其特征在于,包括指定門級電路網表、仿真激勵、單元庫及器件模型信息的位置,并讀入所述信息進行門級電路仿真,對門級電路進行劃分,進行電路分析和仿真結果分析,依據該分析結果,根據低功耗技術對電路進行優化處理。
2.根據權利要求1所述的方法,其特征在于,所述方法還包括 再次進行門級電路仿真,并將該仿真結果與原門級電路仿真結果進行比較,確保原門級電路在低功耗優化處理之后的門級電路中的對應部分的仿真結果相同,進行功耗評估后判斷是否接受優化,并輸出低功耗優化之后的門級電路網表信息。
3.根據權利要求2所述的方法,其特征在于,所述門級電路仿真的步驟具體包括 通過門級電路仿真工具讀入門級電路網表、仿真激勵和門級電路的基本單元庫信息,采用基于事件驅動的仿真算法對電路進行仿真,得到各個單元的工作時序、功耗、狀態及狀態轉換信息。
4.根據權利要求2或3所述的方法,其特征在于,所述對門級電路進行劃分的步驟具體包括對門級電路按功能和層次關系進行劃分,將所述門級電路劃分為至少一個未進行低功耗優化的模塊/區域,構建未進行低功耗優化的模塊/區域列表。
5.根據權利要求4所述的方法,其特征在于,所述電路分析和仿真結果分析的步驟具體包括從所述未進行低功耗優化的模塊/區域列表頭部取出一個模塊/區域,對電路進行關鍵信號流路徑分析以確定電路的關鍵路徑;分析門級電路仿真結果,得出阱電壓控制邏輯;并捕捉每個時鐘周期上升沿到來時,為同一寄存器重復裝載相同數據的情形;捕捉邏輯單元/模塊一段時間內處于空閑狀態的情形,并分析進入空閑狀態的條件和退出空閑狀態的條件;捕捉單元一段時間內處于睡眠狀態的情形,并分析進入睡眠狀態的條件和退出睡眠狀態的條件;對該單元各個輸入狀態下的功耗進行比較以確定最低功耗對應的輸入激勵。
6.根據權利要求5所述的方法,其特征在于,所述對電路進行優化處理的步驟具體包括利用所述阱電壓控制邏輯,將固定閾值MOS基本單元替換為變閾值工藝VTCMOS基本單元,并插入阱偏置電壓控制模塊;選用多閾值工藝MTCMOS基本單元替換固定閾值MOS基本單元,在所述關鍵路徑上采用低閾值器件以確保關鍵路徑的響應速度;在分析得出的非關鍵路徑上用高閾值器件以降低非關鍵路徑上的靜態功耗;在所述寄存器相同數據反復重載區域的寄存器槽和時鐘網絡上插入門控電路; 插入睡眠狀態檢測電路并增加特定向量生成機制/電路,在電路處于睡眠狀態下,給電路輸入置成功耗最低的輸入向量。
7.根據權利要求6所述的方法,其特征在于,所述進行功耗評估的步驟具體包括 確定功耗評估范圍,僅在網表修改過的部分進行評估;獲取門級電路平均動態功耗、平均靜態功耗、平均功耗,以及優化區域的平均功耗。
8.根據權利要求7所述的方法,其特征在于,所述判斷是否接受優化的步驟具體包括比較優化之前模塊/區域內的平均功耗和優化之后所述模塊/區域內的平均功耗,如果優化之后該模塊/區域內的平均功耗降低了,則接受該模塊/區域內的低功耗優化結果, 以新的門級網表替換原有模塊/區域內的門級網表;否則保留原有模塊/區域內的門級網表;將該經過低功耗優化處理過的模塊/區域從所述未進行低功耗優化的模塊/區域列表中刪除。
9.根據權利要求8所述的方法,其特征在于,所述將該經過低功耗優化處理過的模塊/ 區域從所述未進行低功耗優化的模塊/區域列表中刪除的步驟之后還包括判斷是否繼續進行低功耗優化,如果未進行低功耗優化的模塊/區域列表非空,則對列表頭部的模塊/區域繼續進行低功耗優化處理;如果未進行低功耗優化的模塊/區域列表為空,則結束低功耗處理。
10.根據權利要求9所述的方法,其特征在于,所述輸出低功耗優化之后的門級電路網表信息的方法包括直接輸出網表文件,并利用片上系統SoC集成電路設計平臺的數據導入接口導入設計數據庫;或利用SoC集成電路設計平臺數據庫的應用程序接口 API將優化之后的網表直接寫入數據庫。
全文摘要
本發明公開了一種低功耗電路設計優化方法,屬于集成電路設計自動化領域。所述方法包括指定門級電路網表、仿真激勵、單元庫及器件模型信息的位置,并讀入所述信息進行門級電路仿真,對門級電路進行劃分,進行電路分析和仿真結果分析,依據該分析結果,根據低功耗技術對電路進行優化處理。本發明對門級電路網表設計進行優化,在電路網表中插入和/或替換部分單元以支持MTCMOS、VTCMOS、電源門控、多電壓、以及動態電壓和頻率縮放(DVFS)、電源門控等低功耗技術,在確保芯片系統電路性能的前提下使芯片系統的功耗最低。
文檔編號G06F17/50GK102314525SQ201010214278
公開日2012年1月11日 申請日期2010年6月30日 優先權日2010年6月30日
發明者葉甜春, 吳玉平, 陳嵐 申請人:中國科學院微電子研究所