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