郭 亮
(總參第63研究所,江蘇南京 210007)
基于可編程模擬器件的演化硬件的研究
郭 亮
(總參第63研究所,江蘇南京 210007)
研究了一種利用可編程模擬電子器件設(shè)計(jì)電路的方法。該模擬器件具有非常優(yōu)越的可重構(gòu)特性,通過編程控制可以方便地改變其結(jié)構(gòu),特別適用于模擬電路類型的演化硬件電路的設(shè)計(jì)。闡明了電路進(jìn)化硬件的基本原理和實(shí)現(xiàn)技術(shù),提出了一種基于可編程模擬器件的進(jìn)化電路設(shè)計(jì)方法。
進(jìn)化硬件;可編程模擬器件;進(jìn)化算法
演化硬件(evolvable hardware,EHW)是如今仿真技術(shù)中比較熱門的一個(gè)研究方向,無論是模擬進(jìn)化硬件還是數(shù)字進(jìn)化硬件,其本質(zhì)都是利用演化算法改變可編程器件內(nèi)部資源的連接方式而形成具有特定功能的電路拓?fù)浣Y(jié)構(gòu),演化算法作為電路進(jìn)化的軟件基礎(chǔ),而可編程器件作為電路進(jìn)化的硬件載體,可概括為演化硬件=演化算法+可編程器件。因此,根據(jù)以上定義,我們可以將模擬EHW定義為模擬演化硬件=演化算法+可編程模擬器件。模擬EHW技術(shù)主要利用可編程模擬器件的電路結(jié)構(gòu)可多次重構(gòu)的優(yōu)點(diǎn),其內(nèi)部模擬電路資源間通過大量可編程開關(guān)節(jié)點(diǎn)互連,并能夠通過編程接口控制其工作狀態(tài),通過智能的進(jìn)化算法形成染色體,經(jīng)解碼后形成配置文件下載到器件中,能夠?qū)崿F(xiàn)既定功能的電路拓?fù)浣Y(jié)構(gòu)。因此在模擬EHW研究中進(jìn)化算法和可編程模擬器件的研究并重,進(jìn)化算法決定電路設(shè)計(jì)的規(guī)模和效率,模擬器件決定此方法的工程實(shí)現(xiàn),要注重二者的有機(jī)結(jié)合。
一般選擇演化算法作為全局優(yōu)化的主要工具,以期在解空間中尋找到目標(biāo)解的過程。演化算法是一種模仿生物進(jìn)化的搜索算法[1],它是從待解決問題解空間中的一個(gè)初始值開始,通過遺傳操作和適應(yīng)度計(jì)算的迭代過程而得到最優(yōu)解。種群中每個(gè)個(gè)體攜帶遺傳物質(zhì)并對(duì)應(yīng)于一染色體實(shí)體,染色體中遺傳編碼信息對(duì)應(yīng)于一種電路結(jié)構(gòu),作為解空間內(nèi)的某一點(diǎn),決定了此個(gè)體的獨(dú)特性質(zhì)和其外部表現(xiàn)形狀。初始種群選定之后,就按照優(yōu)勝劣汰的原則,通過遺傳操作和性能評(píng)估的方式,不斷進(jìn)化直到進(jìn)化出適應(yīng)環(huán)境的最優(yōu)個(gè)體。在進(jìn)化過程中,根據(jù)每個(gè)種群個(gè)體的適應(yīng)度挑選出較適應(yīng)環(huán)境的精英個(gè)體作為父代,并利用遺傳學(xué)中的遺傳算子對(duì)父代種群進(jìn)行交叉和變異,產(chǎn)生出新的子代種群。像自然進(jìn)化一樣將使染色體種群后代比前代種群更加適應(yīng)環(huán)境,亦即更加符合電路功能要求或邏輯功能要求。在一定范圍內(nèi)越來越接近問題的最優(yōu)近似解。最后一代種群中的最優(yōu)個(gè)體經(jīng)過解碼映射后,可以作為問題最優(yōu)解或近似最優(yōu)解對(duì)電路編程實(shí)現(xiàn)最終的設(shè)定功能。
可編程模擬器件(programmable analog device,PAD)是一種新型的處理模擬信號(hào)的集成電路芯片,借助它可以快速、方便地設(shè)計(jì)模擬電路。它不但具有簡(jiǎn)單高速、低價(jià)低功耗的優(yōu)勢(shì),還能夠使用戶通過編程控制來配置其內(nèi)部器件和元件的參數(shù)而獲得所需的電路功能,因此,其特點(diǎn)可概括為易于設(shè)計(jì)、便于維護(hù)、環(huán)境適應(yīng)性強(qiáng)。
可編程模擬器件的配置信息可以由外部控制單元由可編程接口輸入,而配置信息又是可以通過智能算法迭代計(jì)算獲取,進(jìn)而自動(dòng)高效地控制內(nèi)部器件的相關(guān)電氣參數(shù)和器件間的連接關(guān)系,內(nèi)部相關(guān)功能單元通過不同的組合形式完成特定的電路功能。因此,可編程模擬器件的設(shè)計(jì)可按圖1所示方式獲得此種可編程的能力,PAD的核心部件為可編程模擬計(jì)算單元(configurable analog block,CAB)和可編程互連網(wǎng)絡(luò)(programmable interconnection network,PIN),外圍資源包括配置數(shù)據(jù)存儲(chǔ)器(configuration data memory)、輸入輸出(input/output blocks,I/Os)單元等。
圖1 可編程模擬器件組成圖
模擬EHW技術(shù)主要基于PAD的在線重配置的特性,在線控制單元通過可編程接口將配置信息寫入配置數(shù)據(jù)存儲(chǔ)器,使得模擬單元實(shí)現(xiàn)電路拓?fù)浣Y(jié)構(gòu)的在線重構(gòu),并通過進(jìn)化算法更改目標(biāo)電路的功能。通常模擬EHW可分為外部進(jìn)化和內(nèi)部進(jìn)化兩種。前者是一種形式虛擬而功能實(shí)體的方式,即首先建立電子器件的模型,再把進(jìn)化算法產(chǎn)生的染色體注入到模擬電子元器件的SPICE仿真模型里,形成具有某種功能的電路結(jié)構(gòu)的描述文件,然后演化算法通過調(diào)用TCL腳本程序利用相應(yīng)的仿真軟件對(duì)此電路描述文件進(jìn)行仿真而得到其相應(yīng)的電路響應(yīng),通常以SPICE為核心的電路仿真軟件為主,最后將電路響應(yīng)和目標(biāo)結(jié)果的波形進(jìn)行比對(duì),利用適應(yīng)度計(jì)算方法對(duì)其進(jìn)行評(píng)估,得到此電路所對(duì)應(yīng)染色體個(gè)體的適應(yīng)度以備遺傳操作的依據(jù),如果達(dá)不到既定電路運(yùn)算的目標(biāo),則利用演化算法通過遺傳操作對(duì)父代種群進(jìn)化產(chǎn)生新一代的染色體子代種群,重復(fù)前面的循環(huán)操作,直到找到能夠完成電路功能的最優(yōu)染色體。而內(nèi)部進(jìn)化是一種在線操作,演化過程中產(chǎn)生的每一個(gè)染色體都要在實(shí)際器件內(nèi)進(jìn)行適應(yīng)度評(píng)估,所有染色體都將轉(zhuǎn)化為所對(duì)應(yīng)的電路的配置信息,通過可編程接口直接下載到實(shí)際的器件中,控制單元通過通用接口記錄實(shí)際的電路輸出,在實(shí)際環(huán)境中評(píng)價(jià)每種電路結(jié)構(gòu)的輸出性能。其基本流程如圖2所示。
圖2 模擬EHW實(shí)現(xiàn)方法的流程圖
通過軟件建立電路模型,產(chǎn)生初始染色體信息即電路的一種配置結(jié)構(gòu)、評(píng)價(jià)染色體將個(gè)體所對(duì)應(yīng)的電路進(jìn)行評(píng)價(jià)、轉(zhuǎn)換電路模型完成每個(gè)染色體所對(duì)應(yīng)的所有電路描述文件、評(píng)估電路響應(yīng)與既定電路的輸出結(jié)果進(jìn)行對(duì)比以及交叉、變異、精英保留等遺傳操作。智能進(jìn)化算法是HereBoy算法,它主要是基于遺傳算法的模擬退火算法,在遺傳算法的基礎(chǔ)之上,融合了模擬退火算法的基本思想,綜合了遺傳操作和模擬退火兩者的優(yōu)點(diǎn),收斂速度和全局優(yōu)化能力都較強(qiáng)。本文中所研究的天饋線駐波比的測(cè)試決定了阻抗的匹配程度,駐波比越接近“1”阻抗的匹配程度越好,如圖3是本文為改善阻抗匹配程度所設(shè)計(jì)的一個(gè)可調(diào)電路,通過進(jìn)化算法自動(dòng)調(diào)節(jié)電阻和電容,可以根據(jù)不同的天饋線自動(dòng)實(shí)時(shí)得到阻抗最為匹配的電路。
對(duì)于EHW模擬電路演化設(shè)計(jì),編碼實(shí)現(xiàn)了數(shù)字代碼序列與實(shí)際功能電路間的映射,合適的編碼方法簡(jiǎn)便而高效,既降低演化算法操作染色體的負(fù)擔(dān),又能易于解決大規(guī)模電路的設(shè)計(jì)問題,是借助于智能進(jìn)化算法解決問題的前提條件[2],本文對(duì)器件的屬性參數(shù)采用了二進(jìn)制編碼,染色體中的每一位只有1和0兩種狀態(tài),這易于計(jì)算機(jī)仿真實(shí)現(xiàn)。編碼元素是由數(shù)字1和0所組成的二值符號(hào)集{1,0},在與具體電路結(jié)構(gòu)進(jìn)行映射時(shí),染色體每一位的每個(gè)符號(hào)對(duì)應(yīng)于相應(yīng)電路模型中某一位置上可編程開關(guān)的“打開”和“關(guān)閉”狀態(tài),因此,演化算法所需要操作的每個(gè)染色體一個(gè)相應(yīng)的二進(jìn)制編碼符號(hào)串,其對(duì)應(yīng)于電路模型中各節(jié)點(diǎn)的一種連接形式,完成一定拓?fù)浣Y(jié)構(gòu)的電路功能。二進(jìn)制符號(hào)串具有編解碼操作簡(jiǎn)單的優(yōu)勢(shì),無論是外進(jìn)化還是內(nèi)進(jìn)化研究都比較方便實(shí)用,并且易于演化算法進(jìn)行的各種操作,如交叉和變異,交叉只需改變某些位的信息而不用數(shù)學(xué)運(yùn)算,變異只需將相應(yīng)位的信息進(jìn)行翻轉(zhuǎn)操作。
適應(yīng)度函數(shù)用于評(píng)價(jià)相應(yīng)個(gè)體的適應(yīng)度,是演化算法遺傳操作的重要依據(jù),其他的遺傳或變異細(xì)節(jié)都被適應(yīng)度屏蔽,適應(yīng)度既是進(jìn)化操作的總結(jié),又決定著進(jìn)化操作是否停止,決定了演化過程中算法在整個(gè)解空間的搜索方向,并且其效率和準(zhǔn)確度也大大制約了算法的整體性能,因此適應(yīng)函數(shù)在演化算法中的地位十分重要。函數(shù)的設(shè)計(jì)應(yīng)具體情況具體分析,由電路的具體要求選取或設(shè)計(jì)出合適的適應(yīng)度函數(shù)。例如本文所論及的功放適配電路就采用了電路中的反射回波的度量作為適應(yīng)度函數(shù),見式(1)和式(2)。
圖3 求解駐波比可調(diào)電路圖
式(1)中:R為反射系數(shù);ZL為負(fù)載阻抗;Z0為特性阻抗。式(2)反映了圖3中求解的駐波比。適應(yīng)度函數(shù)的值也就是反射系數(shù)R越小,駐波比ZWR的值就越接近1,電路的阻抗匹配也就越好。在算法中要限定R的值是非負(fù)的。
具體實(shí)現(xiàn)步驟如圖4所示。1)隨機(jī)產(chǎn)生初始種群的染色體;2)對(duì)所有染色體所對(duì)應(yīng)的電路進(jìn)行適應(yīng)度評(píng)估,由具體的功能要求,根據(jù)公式(1)得到該具體電路的適應(yīng)度值;3)由適應(yīng)度判斷該個(gè)體是否滿足功能要求,是否可以終止演化;4)對(duì)適應(yīng)度最高的染色體保留下來作為精英個(gè)體,對(duì)其進(jìn)行交叉、變異等遺傳操作,以生成新的子代染色體個(gè)體替代父代個(gè)體;5)將子代染色體和精英個(gè)體保留作為新的種群,評(píng)估子代染色體個(gè)體的適應(yīng)度;6)判斷新種群的有效性:如果子代染色體中有個(gè)體的適應(yīng)度超過精英個(gè)體的適應(yīng)度,則用子代染色體來代替精英個(gè)體并轉(zhuǎn)步驟3),否則,以精英個(gè)體重新進(jìn)行遺傳操作。
在特定的電路中特性阻抗的值一般固定設(shè)置為50Ω或75Ω,在這里的電路中選擇了50Ω,在進(jìn)化算法自動(dòng)優(yōu)化調(diào)節(jié)的過程中,負(fù)載阻抗的值最終自動(dòng)調(diào)節(jié)為46.5Ω,得出的駐波比為1.075,可以看出,通過進(jìn)化算法自動(dòng)調(diào)節(jié)負(fù)載阻抗的值可以是電路的阻抗達(dá)到很好的匹配。
圖4 主控程序流程圖
由于器件性能的非理想,計(jì)算結(jié)果與實(shí)際狀態(tài)會(huì)有差異,如果不加限制會(huì)導(dǎo)致電路不斷更新,陷入循環(huán)而影響工作。所以實(shí)際上是實(shí)測(cè)值在理論進(jìn)化值的一定范圍內(nèi)(如±5%)就認(rèn)為已經(jīng)進(jìn)入了優(yōu)化狀態(tài),更新的周期也不宜過短。
給出了基于可編程模擬器件的演化硬件基本框架,較為全面地闡述了進(jìn)化硬件實(shí)現(xiàn)的整個(gè)流程,并以實(shí)例說明了一個(gè)進(jìn)化設(shè)計(jì)的思路。
[1]李敏強(qiáng),寇紀(jì)淞,林 丹,等.遺傳算法的基本理論與應(yīng)用[M].北京:科學(xué)出版社,2002.
[2]趙曙光,楊萬海.一種用于進(jìn)化硬件的染色體編碼新方法[J].西安電子科技大學(xué)學(xué)報(bào)(自然科學(xué)版),2000,27(1):1-3.
TN6
A
1008-1542(2011)12-0060-03
2011-06-20;責(zé)任編輯:馮 民
郭 亮(1981-),男,江蘇鹽城人,工程師,碩士,主要從事智能信息處理方面的研究。
河北科技大學(xué)學(xué)報(bào)2011年2期