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