高蘭
摘 要:隨著超大規(guī)模集成電路在數(shù)據(jù)存儲、芯片設(shè)計中的普及和使用,數(shù)字電路設(shè)計越來越復(fù)雜,采用自頂向下的模塊化設(shè)計理念,將復(fù)雜的電路劃分為多個邏輯獨立的模塊,同時采用遺傳算法優(yōu)化設(shè)計數(shù)字電路,可以更好地保證超大規(guī)模數(shù)字電路的準確度。
關(guān)鍵詞:數(shù)字電路;模塊化;優(yōu)化設(shè)計;遺傳算法
中圖分類號:TN791 文獻標識碼:A
0.引言
隨著單片機、CPU、存儲器、基帶等多媒體硬件設(shè)備的快速發(fā)展和普及,有效促進了人們家居生活、科研教育、工作生產(chǎn)的智能化、信息化和共享化。數(shù)字電路是硬件設(shè)備數(shù)據(jù)通信、命令控制的重要基礎(chǔ),隨著軟硬件資源設(shè)備的功能增多,數(shù)字電路日趨復(fù)雜和高度集成化,傳統(tǒng)的設(shè)計規(guī)則和經(jīng)驗知識已經(jīng)無法滿足系統(tǒng)發(fā)展需求,并且無法保證系統(tǒng)設(shè)計的準確性、可靠性和通用性,因此吸引了諸多學(xué)者的研究。為了能夠提高數(shù)字電路設(shè)計的準確性和可靠性,數(shù)字電路設(shè)計提出了優(yōu)化理念。數(shù)字電路優(yōu)化設(shè)計包括兩個基本構(gòu)成要素,一是大規(guī)?,F(xiàn)場可重構(gòu)器件,其可以作為硬件電路的實現(xiàn)載體與評價方法;二是進化算法,其可以作為全局搜索和局部優(yōu)化的主要手段。因此,為了能夠提高數(shù)字電路設(shè)計模式,可以引入遺傳算法將數(shù)字電路拓撲結(jié)構(gòu)進行位串編碼,將其作為染色體算法進行執(zhí)行,將最優(yōu)化染色體下載到可重構(gòu)器件中,也可以使用軟件模型評估算法,能夠?qū)㈦娐穼嶋H優(yōu)化設(shè)計結(jié)果與期望值進行有效比較,以便能夠更好地指導(dǎo)數(shù)字電路優(yōu)化設(shè)計。
1.基于模塊化的數(shù)字電路優(yōu)化設(shè)計
1.1 模塊化設(shè)計理念
數(shù)字電路功能復(fù)雜、規(guī)模較大,常見的設(shè)計方法已經(jīng)無法正常優(yōu)化,因此本文提出采用自頂向下的模塊設(shè)計理念,能夠?qū)?fù)雜的電路設(shè)計問題進行分解和細化,將復(fù)雜的數(shù)字電路設(shè)計分解為一系列簡單的子電路進化設(shè)計模塊,盡可能地降低電路設(shè)計的復(fù)雜程度,將一個復(fù)雜的問題簡化為一個個簡單的問題。數(shù)字電路設(shè)計可以建模一個真值表,描述數(shù)字電路的功能,因此本文優(yōu)化設(shè)計過程中,可以將真值表作為一個完整的數(shù)字電路系統(tǒng),因此可以將數(shù)字電路的輸入變量和輸出變量進行模塊化設(shè)計,將輸入組合的部分位數(shù)作為子功能的輸入信號,其余位數(shù)作為子系統(tǒng)的選通信號。具體地,一位全加器的真值表可以有效地描述基本的全加器數(shù)字電路功能,使用模塊化設(shè)計思想,可以將進化電路分為4個獨立的子系統(tǒng),每一個子系統(tǒng)的輸入變量可以使用A1、A2表示,輸出變量由選通信號A0進行判定和選擇,以便得到正確的輸出,比如電路輸出為OUT0時,需要兩個子系統(tǒng)S0和S1,當IN0=0時,選擇子系統(tǒng)S0作為OUT0的輸出,當IN0=1時,選擇子系統(tǒng)S1作為OUT0的輸出,如圖1所示。
與傳統(tǒng)的電路進化算法相比,模塊化進化算法具有兩個優(yōu)點,一是能夠解決功能電路選擇的不確定性,二是降低子系統(tǒng)輸入輸出位數(shù),能夠縮小算法可以搜索的解空間,能夠有效地降低算法搜索最優(yōu)解的時間復(fù)雜度,提高算法成功率。
1.2 數(shù)字電路優(yōu)化設(shè)計
數(shù)字電路設(shè)計劃分為多個模塊,因此為了能夠?qū)で笠环N最優(yōu)化的電路設(shè)計目標,引入了遺傳算法,遺傳算法的設(shè)計流程如下所述。
(1)染色體編碼
在遺傳算法執(zhí)行過程中,需要對電路模塊化結(jié)構(gòu)的染色體進行編碼。該染色體分為邏輯獨立的N段,每一段都可以表示一個子系統(tǒng),子系統(tǒng)采用門級電路進化,每一個子系統(tǒng)都包含功能編碼、連線編碼和選通信號位。遺傳算法的染色編碼采用實數(shù)編碼,將所有子系統(tǒng)合成一條染色體,各個子系統(tǒng)可以并行進化,為了避免電路資源開銷較大,各個進化子系統(tǒng)相互邏輯獨立。染色體編碼方案如圖2所示。
(2)適應(yīng)度函數(shù)設(shè)計
適應(yīng)度函數(shù)是遺傳算法在數(shù)字電路設(shè)計中的重要環(huán)節(jié),適應(yīng)度函數(shù)設(shè)計是否好直接影響最優(yōu)化目標,適應(yīng)度函數(shù)的輸出值可以與期望值進行有效的比較和分析,將操作結(jié)果當作是數(shù)字電路優(yōu)化設(shè)計的評價標準,數(shù)字電路遺傳算法適應(yīng)度函數(shù)設(shè)計如公式(1)所示。
其中,CorrectNum是進化電路輸出正確的個數(shù),InputNum是輸入端的個數(shù),α是復(fù)雜度在適應(yīng)度中所占比例大小,Length=R×C表示染色體的長度,GateEvComi是第i個基本門電路的估計復(fù)雜度。
(3)選擇操作
遺傳算法常用的選擇操作很多,比如競爭選擇法和輪盤賭法。本文數(shù)字電路設(shè)計過程中采用了模塊化原則,因此可以采用競爭選擇策略,也即是從父代的種群中選擇若干個遺傳個體,然后可以將這些個體在適應(yīng)度函數(shù)中的計算值進行比較,選擇適應(yīng)度最高的個體進行交叉操作,重復(fù)上述過程直到交叉操作執(zhí)行完畢。
(4)交叉算子
交叉算子可以從父代群體中任意選擇兩個染色體,按照一定的概率P進行交叉和配對,能夠?qū)?yōu)秀的基因保留下來,以便能夠更好地滿足種群遺傳。交叉算子常用的方法包括均勻交叉、兩點交叉或單點交叉。均勻交叉具有染色體置換較多的優(yōu)點,因此可以更好地滿足需求,本文針對染色體采用均勻交叉操作,以便更好地滿足均勻交叉操作管理模式,如果P1、P2描述任意兩個父代染色體,C1、C2描述任意兩個子代染色體,Minv描述M按位取非操作。則遺傳算子均勻交叉操作如公式(4)和(5)所述。
(5)變異算子
變異操作可以將染色體中的一些基因按照概率Pm的機制實施變異操作,變異操作主要是為了保持群體的多樣性。如果概率Pm的取值越大,則遺傳算法的種群多樣性就會越好。變異操作僅僅在單個父代個體上進行有效的操作,其可以改變某一個染色體的基因,就可以使種群保持較好的多樣性。本文變異算子具體操作如下:選擇一條染色體C1,根據(jù)變異概率Pc決定個體是否變異,如果M取值為0,則不進行任何操作,如果M不等于0,則進行變異操作。
結(jié)語
數(shù)字電路采用模塊化設(shè)計方法,同時利用遺傳算法優(yōu)化電路,因此可以提高數(shù)字電路設(shè)計的可靠性和準確度,更加有效地適用于航空電子、精密儀器等電子化設(shè)備,提高我國自動化設(shè)備自動化、智能化水平。
參考文獻
[1]鮑治國,吳偉.一種改進的遺傳算法在數(shù)字電路優(yōu)化設(shè)計中的應(yīng)用研究[J].電子制作,2015,25(23):77-79.
[2]趙江,陳又新,黃玉珍,等.加速器數(shù)字電源模數(shù)轉(zhuǎn)換電路的優(yōu)化設(shè)計[J].核電子學(xué)與探測技術(shù),2014,6(4):542-546.
[3]王新勝,胡詣?wù)?低功耗電流模互連電路的快速優(yōu)化設(shè)計方法[J].哈爾濱工業(yè)大學(xué)學(xué)報,2016,48(3):39-45.
[4]李玉學(xué),白忠臣,秦水介.基于VerilogHDL的FIR數(shù)字濾波器的優(yōu)化設(shè)計與仿真[J].現(xiàn)代電子技術(shù),2014,9(7):154-156.
[5]龐莉莉.高速數(shù)字電路設(shè)計技術(shù)的分析與思考[J].數(shù)字技術(shù)與應(yīng)用,2015,9(6):196-196.