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