一種二值fprm電路面積最佳極性搜索方法
【技術領域】
[0001] 本發(fā)明涉及一種二值FPRM電路面積優(yōu)化方法,尤其是涉及一種二值FPRM電路面 積最佳極性搜索方法。
【背景技術】
[0002] 任意邏輯函數(shù)均可以用布爾邏輯和Reed-Muller(RM)邏輯來表示,與傳統(tǒng)的布爾 邏輯相比,基于RM邏輯的通信電路、奇偶校驗電路、運算電路等具有更緊湊的結構和更好 的可測性。RM邏輯通常采用固定極性(Fixed-polarity Reed-Muller, FPRM)和混合極性 (Mixed-polarity Reed-Muller, MPRM)兩種表達方式,RM邏輯的兩種表達方式都可以用 X0R/AND和XN0R/0R這兩種展開式表示。二值FPRM電路可以采用η變量FPRM邏輯函數(shù) 表示,該η變量FPRM邏輯函數(shù)中有2 η個固定極性,對應2 "個不同的FPRM表達式,其表達 式的簡單與復雜程度由極性決定。因此,極性對FPRM電路的功耗、面積等性能指標產生很 大的影響。對較小規(guī)模的電路進行優(yōu)化時,可以使用窮舉法遍歷每個極性;對較大規(guī)模電 路進行優(yōu)化時,由于極性與變量存在指數(shù)關系使得搜索空間急劇增加,窮舉法很難在有限 的時間內得到優(yōu)化結果。因此,需要尋求一種高效智能算法提高搜索效率,以便盡快得到 FPRM電路的最優(yōu)或近最優(yōu)極性,實現(xiàn)二值FPRM電路面積或者功耗的優(yōu)化。人口迀移算法 (Population Migration Algorithm,ΡΜΑ)是我國學者周永華等根據(jù)人口迀移規(guī)律提出的 一種新的全局優(yōu)化搜索算法,其主要模擬了人口隨著經(jīng)濟重心發(fā)生轉移和隨著壓力增加而 擴散的機制。人口迀移算法是一種概率搜索算法,實現(xiàn)全局并行搜索,并在搜索過程中不斷 地向可能包含最優(yōu)解的空間轉移,尋找最優(yōu)或近最優(yōu)解。人口迀移算法原理簡單易操作,與 整體退火遺傳算法相比,部分函數(shù)的優(yōu)化效果明顯提高,且收斂性和全局尋優(yōu)能力較強。
[0003] 鑒此,提供一種二值FPRM電路面積最佳極性搜索方法來優(yōu)化二值FPRM電路面積 具有重要意義。
【發(fā)明內容】
[0004] 本發(fā)明所要解決的技術問題是提一種二值FPRM電路面積最佳極性搜索方法,該 最佳極性搜索方法搜索效率高,可以快速的搜索到二值FPRM電路的面積最佳極性,面積優(yōu) 化效果明顯。
[0005] 本發(fā)明解決上述技術問題所采用的技術方案為:一種二值FPRM電路面積最佳極 性搜索方法,包括以下步驟:
[0006] ①建立二值FPRM電路面積估計模型:
[0007] ①-1采用快速列表技術得到p極性下的二值FPRM電路的XN0R/0R展開式:
[0008]
[0009] 其中,p為極性;X1, X2, X3,…,xn表示XN0R/0R展開式的η個輸入變量;極性p用二 進制形式表示為Pn Pn 2···Ρ。,P_jE {0, 1},j = 0, 1,2, ···,η-1 ;ΘΠ 表示同或運算符;M ;表 示或項為或項系數(shù),d i表示或項M i是否在XNOR/OR展開式中出現(xiàn),且d i e {〇, 1},當d i =0時,表示或項%在XNOR/OR展開式中出現(xiàn),當d 1時,表示或項M i不在XNOR/OR展 開式中出現(xiàn);下標i用二進制形式表示為Li2…in,i = 0, 1,2,…,2n-l ;
[0010] ①-2p極性下的二值FPRM電路的XN0R/0R展開式包括多輸入或項和多輸入同或 項,多輸入或項也稱為多輸入OR門,多輸入同或項也稱為多輸入XNOR門,即p極性下的二 值FPRM電路的XN0R/0R展開式由多輸入OR門和多輸入XNOR門這兩個多輸入門組成;將p 極性下二值FPRM電路的XN0R/0R展開式中包含的兩個多輸入門分別分解為二輸入門,得到 二輸入OR門和二輸入XNOR門,具體分解過程為:
[0011] 把多輸入門的第一個輸入變量和第二個輸入變量作為第一個二輸入門的輸入變 量,得到第一個二輸入門的輸出變量;把第一個二輸入門的輸出變量和多輸入門的第三個 輸入變量作為第二個二輸入門的輸入變量,得到第二個二輸入運算的輸出變量;把第二個 二輸入門的輸出變量和多輸入門的第四個輸入變量作為第三個二輸入門的輸入變量,得到 第三個二輸入運算的輸出變量;依此類推,直到所有的多輸入門的輸入變量作為二輸入運 算的輸入變量。
[0012] 將p極性下的二值FPRM電路的XN0R/0R展開式中的多輸入OR門分解后得到多個 二輸入OR門,將P極性下二輸入OR門的數(shù)量記為No. _of_0Rp;將p極性下的二值FPRM電 路的XN0R/0R展開式中的多輸入XNOR門分解后得到多個二輸入XNOR門,將p極性下二輸 入XNOR門的數(shù)量記為No. _of_XN0Rp;
[0013] p極性下的二輸入OR門和二輸入XNOR門的數(shù)量分別按式(2)、式(3)計算:
[0014] (2)
[0015] (3)
[0016] 其中,Σ為累加符號,瓦為Cl1的互補變量,LSik的互補變量,k= 1,2, 3···,η;
[0017] ① -3將S = No. _of_0Rp+No. _of_XN0Rp作為ρ極性下的二值FPRM電路面積估計 模型,S表示p極性下的二值FPRM電路面積;
[0018] ②建立二值FPRM電路和人口迀移算法對應關系:
[0019] 人口迀移算法包含以下幾個關鍵要素:人口所在地點、人口所在地點的吸引力、吸 引力最大地點、最大吸引力、人口可移動地表空間、優(yōu)惠區(qū)域、人口流動、人口迀移和人口擴 散;二值FPRM電路面積優(yōu)化包含以下幾個關鍵要素:極性、相應極性的面積大小、最佳極 性、最小面積、可選擇的極性空間、最佳極性所在區(qū)間、極性向最佳極性所在區(qū)間跳變和跳 出局部最佳極性;
[0020] 將人口所在地點映射到二值FPRM電路面積優(yōu)化,表示為極性;將人口所在地點的 吸引力映射到二值FPRM電路面積優(yōu)化,表示為相應極性的面積大??;將吸引力最大地點映 射到二值FPRM電路面積優(yōu)化,表示為最佳極性;將最大吸引力映射到二值FPRM電路面積優(yōu) 化,表示為最小面積;將人口可移動地表空間映射到二值FPRM電路面積優(yōu)化,表示為可選 擇的極性空間;將優(yōu)惠區(qū)域映射到二值FPRM電路面積優(yōu)化,表示為最佳極性所在區(qū)間;將 人口流動映射到二值FPRM電路面積優(yōu)化,表示為極性變換;將人口迀移映射到二值FPRM電 路面積優(yōu)化,表示為極性向最佳極性所在區(qū)間跳變;將人口擴散映射到二值FPRM電路面積 優(yōu)化,表示為跳出局部最佳極性;
[0021] ③設定人口迀移算法中用于計算人口所在地點的吸引力的吸引力函數(shù):
[0022] 根據(jù)二值FPRM電路面積估計模型,設定人口迀移算法計算人口所在地點的吸引 力的吸引力函數(shù):在人口迀移算法中,吸引力越大表示人口所在地的經(jīng)濟水平越高,但面積 最佳極性要求面積越小越好,因此,為了便于兩者結合,采用面積的倒數(shù)表示吸引力,得到 吸引力函數(shù)如下:
[0023] attraction = (1/S) Xa= (I/(No. _of_0Rp+No. _of_XN0Rp)) X a (4)
[0024] 其中,符號"/"表示除運算符號,attraction表示為吸引力大小,其值越大表示電 路面積優(yōu)化效果越好;No. _of_0Rp表示p極性下二輸入OR門的數(shù)量;No. _of_XN0R p表示p 極性下二輸入XNOR門的數(shù)量;α為放大系數(shù),取值為大于等于1000的自然數(shù);
[0025] ④設置人口迀移算法相關參數(shù):
[0026] 人口迀移算法需設置5個參數(shù):人口規(guī)模s、人口流動次數(shù)1、人口壓力參數(shù)q、收 縮系數(shù)c和人口擴散次數(shù)z ;令人口規(guī)模s = 25、人口流動次數(shù)1 = 10、人口壓力參數(shù)q = 10、收縮系數(shù)c = 0. 1、人口擴散次數(shù)z = 10 ;將人口所在區(qū)域的半徑記為At,At = 37 S2;
[0027] ⑤采用人口迀移算法計算得到吸引力最大地點和最大吸引力,其中吸引力最大地 點即為二值FPRM電路的面積最佳極性,最大吸引力即為二值FPRM電路的最小面積。
[0028] 所述的步驟⑤中采用人口迀移算法得到吸引力最大地點和最大吸引力的具體過 程為:
[0029] ⑤-1在人口可移動地表空間內用隨機函數(shù)rand()產生s個人口所在地點,將s 個人口所在地點分別記為Pl,P2,…,Ps ;分別以Pl,P2,…,Ps為中點,按人口所在區(qū)域 的半徑確定s個人口所在區(qū)域;
[0030] ⑤-2通過吸引力函數(shù)計算人口所在地點Pv的吸引力,V = 1,2,3,…,S,得到人 口所在地點Pl,P2,…,Ps的吸引力;
[0031] ⑤_3比較人口所在地點P1,P2,…,Ps的吸引力,篩選出吸引力最大的人口所在 地點作為吸引力最大地點,記錄吸引力最大地點和最大吸引力;
[0032] ⑤-4進行人口流動:在人口所在地點Pv所對應的人口所在區(qū)域內采用隨機 函數(shù)隨機產生一個人口所在地點P' v,得到P' 1,P' 2,…,P's,采