一種包含無關項的Reed-Muller邏輯電路的功耗優化方法
【技術領域】
[0001] 本發明設及一種針對Reed-Muller邏輯電路的極性優化方法,尤其設及一種包含 無關項的Reed-Muller邏輯電路的功耗優化方法。屬于集成電路優化設計技術領域。
【背景技術】
[0002] 隨著集成電路的高速發展,其設計復雜度也在不斷增加,傳統的人工設計方法早 已失效,計算機輔助設計(CAD)和電子設計自動化巧DA)應運而生。而CAD工具在不同設計 抽象層中對電路優化設計時,邏輯級電路優化是集成電路優化設計的關鍵組成部分之一。 集成電路邏輯級自動化設計對電路的功耗和面積的性能優化起重要作用。
[0003] 目前,集成電路優化設計大多基于Boolean邏輯,并已建立了相對系統的自動設 計方法。然而,相關研究已表明,在功耗、面積、速度和可測試性等多方面,對于部分電路 (如算術電路、奇偶校驗電路、通信電路)而言,Reed-Muller(RM)邏輯實現形式比傳統的 Boolean邏輯實現形式具有更大的優勢。
[0004] 無關項是數字邏輯函數中的一種特殊的最小項,該項在邏輯函數展開式中出現與 否均不影響邏輯電路的性能,但是相關研究表明,合理的利用無關項可W簡化邏輯函數的 展開式,進而優化電路的面積和功耗。因此,包含無關項的M邏輯電路優化是對集成電路 設計技術的重要補充,進而提高M邏輯電路的應用范圍。
[0005]RM邏輯函數有兩種主要的表不形式,分別是FixedPolarityReed-Muller(FPRM) 和MixedPolarityReed-Muller(MPRM)表達式。對于FPRM邏輯而言,n輸入變量的邏輯 函數有2"不同的極性,對應2n繁簡不同的邏輯表達式。對于MPRM邏輯而言,n輸入變量的 邏輯函數有3"不同的極性,對應3n繁簡不同的邏輯表達式。若加入m個無關項,其優化空 間均會相應增大,其中包含無關項的FPRM電路優化空間變為2。+-,包含無關項的MPRM邏輯 電路的優化空間變為3". 2-。相比于未考慮無關項的RM邏輯電路,優化空間急劇變大。而 極性是M邏輯電路的關鍵因素,直接決定著電路表達式的繁簡,進而影響電路的功耗、面 積W及速度等方面的性能。M電路的極性優化是在具體的極性空間中捜索一個或多個極 性,其所對應邏輯表達式的目標函數的值最優,即為最佳極性,而每個極性的優劣是根據對 應極性展開式的目標函數值的大小來進行評定,其中目標函數一般是與電路的功耗、面積、 速度及可測試性等性能相關。
[0006] 基于快速列表技術的極性間轉換算法表明:由某已知極性下的M展開式求另一 待評估極性對應的M展開式時,該兩個極性間不同位數越少,則轉換過程所需的操作越 少,極性轉換速度也越快。對于小規模電路而言,可W按照格雷碼順序進行捜索,此時的轉 換速度是最快的;但對于中大規模電路而言,隨著輸入變量個數的增加,極性數目與變量數 目之間是成指數關系的,M邏輯電路的優化空間也成指數倍增加,在傳統的基于遺傳算法 的M邏輯電路的功耗優化中,每一代個體集都由幾十甚至上百個個體按隨機的順序組合 而成,如果直接按照隨機順序進行極性轉換,又會造成計算時間的嚴重浪費。因此,需要尋 求更加有效的智能算法來捜索最佳極性。
[0007]綜上所述,現有的針對中大規模Reed-Muller邏輯電路的功耗優化方法存在著如 下一些問題:
[000引 1)隨著M邏輯電路輸入變量的增加,其功耗優化的極性捜索空間也隨之增大,單 純的窮盡捜索算法已經不能滿足要求,若直接按照隨機順序評估M邏輯電路的該些極性, 會造成計算時間上的極大浪費。
[0009] 2)遺傳算法雖然簡單通用、并行處理能力和全局捜索能力強,但是它收斂速度很 慢,而且容易陷入局部最優,加上由于遺傳算法中交叉、變異等操作的隨機性,很容易破壞 當前群體中適應度最好的個體。尤其是對于大規模的M邏輯電路而言,影響捜索到最佳極 性的效率。
[0010] 3)標準的遺傳算法采用固定的交叉率和變異率,存在早熟及穩定性差的缺點。傳 統的自適應遺傳算法雖能提高算法的收斂性,但卻難W提高優良解的多樣性,W及算法的 魯椿性。
【發明內容】
[0011] 本發明的目的在于解決當前包含無關項的M邏輯電路功耗優化足的問題,提出 了一種針對包含無關項的M邏輯電路的功耗優化方法。先根據邏輯電路極性捜索過 程最少操作"的原則,利用改進的自適應遺傳算法求解待評估極性集的最佳極性遍歷順序; 然后再根據此極性遍歷順序對包含無關項的M邏輯電路進行極性轉換和功耗估計,W此 完成包含無關項的M邏輯電路最佳極性優化;該方法可W有效地縮短M邏輯電路的最佳 極性捜索時間。
[0012] 本發明中遺傳算法的初始種群是由兩部分組成,基于改進的最近鄰算法生成部分 個體(實驗中取整體種群的80% ),另一部分個體則是隨機生成(實驗中取20% ),該樣生 成的個體中包含有較好的順序片斷,能在進化前期有效指導種群的進化方向,加快算法的 收斂速度,縮減算法的捜索空間,從而提高算法的運行效率。隨著M邏輯電路輸入變量的 增加,該算法的優越性就會更加明顯。
[0013] 同時,遺傳算法參數中的交叉率和變異率直接影響著算法的收斂性。在遺傳算法 初期,模式主要集中在適應度較低的個體上,若采用較小的交叉率和變異率,種群很難產生 出優秀的新個體。算法后期,模式朝高適應度的個體集中,倘若仍采用較大的交叉率和變異 率,容易破壞優良模式,使算法陷入局部收斂。而且,普通的自適應遺傳算法中,群體最大適 應度值的個體的交叉率和變異率為零,使得進化趨于局部最優解的可能性增加。本發明提 出的改進的自適應遺傳算法主要是對傳統自適應遺傳算法中的交叉率和變異率調整曲線 進行了非線性化,使得它們隨著適應度的改變可W靈活的改變。
[0014] 最后,采用精英保留策略,保證了每一代的優良個體不被交叉和變異等操作破壞。
[0015] 雙曲正切函數擁有比余弦函數更平滑的頂部和底部,但其函數變化范圍是 [-1,1],而遺傳算法中交叉率和變異率的變化范圍需要滿足在[0, 1]之間,因此,需要對該 函數做如下所示的變換:
[0016]
。)
[0017]在本發明改進的自適應遺傳算法中,采用上述變換后的雙曲正切函數來設計交叉 率和變異率的自適應調整公式,交叉率和變異率的自適應調整公式如下所示;
[0020] 其中,P"a康示交叉率取值的最大值,P表示交叉率取值的最小值,Pmma,表示變 異率取值的最大值,表示變異率取值的最小值;P。表示遺傳算法中個體間的交叉概率, Pm表示遺傳算法中個體間的變異概率;fwg表示種群的平均適應度,fmay表示種群的最大適 應度,r表示參與交叉的兩個體中較大的適應度,f表示變異個體的適應度。
[0021] 本發明提出的改進的自適應遺傳算法,對交叉算子和變異算子分別進行了優化, 實現了根據種群的進化情況對交叉率和變異率的非線性自適應調整,在種群演化中有效地 保留了優秀個體的模式,增強了較差個體的變異能力,使算法能跳出局部最優解,克服早熟 的缺點。
[0022] 同時,它不僅保證了交叉率和變異率的自適應調整曲線在fwg處緩慢改變,從而大 面積地提高適應度接近平均適應度的個體的交叉率和變異率,而且確保了交叉率和變異率 的自適應調整曲線在fwg和相差較大時不會趨于直線,保證了種群中較優個體仍具有 一定的交叉率和變異率,避免發生早熟。
[0023] 綜上所述,本發明中包含無關項的M邏輯電路功耗優化主要由圖1和圖2所示的 兩部分算法實現,圖1為用改進的自適應遺傳算法求解每一代待評估極性集的最佳極性轉 換順序,即算法1 ;圖2為捜索包含無關項的RM邏輯電路最佳極性,即算法2。
[0024] 本發明一種包含無關項的Reed-Muller邏輯電路的功耗優化方法,該方法具體步 驟如下:
[0025] 步驟1 ;實現包含無關項的布爾邏輯電路向M邏輯電路的極性轉換;
[0026] 步驟2 ;隨機生成圖2中遺傳算法的初始種群,其中,所述的初始種群均為十進制 的極性;
[0027] 步驟3 ;若針對FPRM邏輯電路,則將初始種群中十進制的極性轉換成二進制;若針 對MPRM邏輯電路,則將初始種群中十進制的極性轉換成S進制進行;
[002引步驟4;根據當