成就電子電路設(shè)計高手(五),基于生物學(xué)的電子電路設(shè)計(下篇)
電子電路設(shè)計十分重要,在前面的四篇文章中,小編對電子電路設(shè)計進(jìn)行過諸多探討。在“成就電子電路設(shè)計高手(四),基于生物學(xué)的電子電路設(shè)計(上篇)”一文中,我們對基于生物學(xué)的電子電路設(shè)計進(jìn)行過初步探討。本文中,小編將和大家共同探討剩下的內(nèi)容。
一、進(jìn)化電子電路設(shè)計架構(gòu)
本節(jié)以設(shè)計高容錯性的數(shù)字電路設(shè)計為例來闡述EHW的設(shè)計架構(gòu)及主要設(shè)計步驟。對于通過進(jìn)化理論的遺傳算法來產(chǎn)生容錯性,所設(shè)計的電路系統(tǒng)可以看作一個具有持續(xù)性地、實時地適應(yīng)變化的硬件系統(tǒng)。對于電子電路來說,所謂的變化的來源很多,如硬件故障導(dǎo)致的錯誤,設(shè)計要求和規(guī)則的改變,環(huán)境的改變(各種干擾的出現(xiàn))等。
從進(jìn)化論的角度來看,當(dāng)這些變化發(fā)生時,個體的適應(yīng)度會作相應(yīng)的改變。當(dāng)進(jìn)化進(jìn)行時,個體會適應(yīng)這些變化重新獲得高的適應(yīng)度?;谶M(jìn)化論的電子電路設(shè)計就是利用這種原理,通過對設(shè)計結(jié)果進(jìn)行多次地進(jìn)化來提高其適應(yīng)變化的能力。
電子電路進(jìn)化設(shè)計架構(gòu)如圖1所示。圖中給出了電子電路的設(shè)計的兩種進(jìn)化,分別是內(nèi)部進(jìn)化和外部進(jìn)化。其中內(nèi)部進(jìn)化是指硬件內(nèi)部結(jié)構(gòu)的進(jìn)化,而外部進(jìn)化是指軟件模擬的電路的進(jìn)化。這兩種進(jìn)化是相互獨立的,當(dāng)然通過外部進(jìn)化得到的最終設(shè)計結(jié)果還是要由硬件結(jié)構(gòu)的變化來實際體現(xiàn)。從圖中可以看出,進(jìn)化過程是一個循環(huán)往復(fù)的過程,其中是根據(jù)進(jìn)化算法(遺傳算法)的計算結(jié)果來進(jìn)行的。整個進(jìn)化設(shè)計包括以下步驟:
(1)根據(jù)設(shè)計的目的,產(chǎn)生初步的方案,并把初步方案用一組染色體(一組“0”和“1”表示的數(shù)據(jù)串)來表示,其中每個個體表示的是設(shè)計的一部分。染色體轉(zhuǎn)化成控制數(shù)據(jù)流下載到FPGA上,用來定義FPGA的開關(guān)狀態(tài),從而確定可重構(gòu)硬件內(nèi)部各單元的聯(lián)結(jié),形成了初步的硬件系統(tǒng)。用來設(shè)計進(jìn)化硬件的FPGA器件可以接受任意組合的數(shù)據(jù)流下載,而不會導(dǎo)致器件的損害。
(2)將設(shè)計結(jié)果與目標(biāo)要求進(jìn)行比較,并用某種誤差表示作為描述系統(tǒng)適應(yīng)度的衡量準(zhǔn)則。這需要一定的檢測手段和評估軟件的支持。對不同的個體,根據(jù)適應(yīng)度進(jìn)行排序,下一代的個體將由最優(yōu)的個體來產(chǎn)生。
(3)根據(jù)適應(yīng)度再對新的個體組進(jìn)行統(tǒng)計,并根據(jù)統(tǒng)計結(jié)果挑選一些個體。一部分被選個體保持原樣,另一部分個體根據(jù)遺傳算法進(jìn)行修改,如進(jìn)行交叉和變異,而這種交叉和變異的目的是為了產(chǎn)生更具適應(yīng)性的下一代。把新一代染色體轉(zhuǎn)化成控制數(shù)據(jù)流下載到FPGA中對硬件進(jìn)行進(jìn)化。
(4)重復(fù)上述步驟,產(chǎn)生新的數(shù)代個體,直到新的個體表示的設(shè)計方案表現(xiàn)出接近要求的適應(yīng)能力為止。
一般來說通過遺傳算法最后會得到一個或數(shù)個設(shè)計結(jié)果,最后設(shè)計方案具有對設(shè)計要求和系統(tǒng)工作環(huán)境的最佳適應(yīng)性。這一過程又叫內(nèi)部進(jìn)化或硬件進(jìn)化。
圖中的右邊展示了另一種設(shè)計可進(jìn)化電路的方法,即用模擬軟件來代替可重構(gòu)器件,染色體每一位確定的是軟件模擬電路的連接方式,而不是可重構(gòu)器件各單元的連接方式。這一方法叫外部進(jìn)化或軟件進(jìn)化。這種方法中進(jìn)化過程完全模擬進(jìn)行,只有最后的結(jié)果才在器件上實施。
進(jìn)化電子電路設(shè)計中,最關(guān)鍵的是遺傳算法的應(yīng)用。在遺傳算法的應(yīng)用過程中,變異因子的確定是需要慎重考慮的,它的大小既關(guān)系到個體變異的程度,也關(guān)系到個體對環(huán)境變化做出反應(yīng)的能力,而這兩個因素相互抵觸。變異因子越大,個體更容易適應(yīng)環(huán)境變化,對系統(tǒng)出現(xiàn)的錯誤做出快速反應(yīng),但個體更容易發(fā)生突變。而變異因子較小時,系統(tǒng)的反應(yīng)力變差,但系統(tǒng)一旦獲得高適應(yīng)度的設(shè)計方案時可以保持穩(wěn)定。
對于可進(jìn)化數(shù)字電路的設(shè)計,可以在兩個層面上進(jìn)行。一個是在基本的“與”、“或”、“非”門的基礎(chǔ)上進(jìn)行進(jìn)化設(shè)計,一個是在功能塊如觸發(fā)器、加法器和多路選擇器的基礎(chǔ)上進(jìn)行。前一種方法更為靈活,而后一種更適于工業(yè)應(yīng)用。有人提出了一種基于進(jìn)化細(xì)胞機(jī)(CellularAutomaton)的神經(jīng)網(wǎng)絡(luò)模塊設(shè)計架構(gòu)。采用這一結(jié)構(gòu)設(shè)計時,只需要定義整個模塊的適應(yīng)度,而對于每一模塊如何實現(xiàn)它復(fù)雜的功能可以不予理睬,對于超大規(guī)模線路的設(shè)計可以采用這一方法來將電路進(jìn)行整體優(yōu)化設(shè)計。
二、可進(jìn)化電路設(shè)計環(huán)境
上面描述的軟硬件進(jìn)化電子電路設(shè)計可在上圖所示的設(shè)計系統(tǒng)環(huán)境下進(jìn)行。這一設(shè)計系統(tǒng)環(huán)境對于測試可重構(gòu)硬件的構(gòu)架及展示在FPGA可重構(gòu)硬件上的進(jìn)化設(shè)計很有用處。該設(shè)計系統(tǒng)環(huán)境包括遺傳算法軟件包、FPGA開發(fā)系統(tǒng)板、數(shù)據(jù)采集軟硬件、適應(yīng)度評估軟件、用戶接口程序及電路模擬仿真軟件。
遺傳算法由計算機(jī)上運行的一個程序包實現(xiàn)。由它來實現(xiàn)進(jìn)化計算并產(chǎn)生染色體組。表示硬件描述的染色體通過通信電纜由計算機(jī)下載到有FPGA器件的實驗板上。然后通過接口將布線結(jié)果傳回計算機(jī)。適應(yīng)度評估建立在儀器數(shù)據(jù)采集硬件及軟件上,一個接口碼將GA與硬件連接起來,可能的設(shè)計方案在此得到評估。同時還有一個圖形用戶接口以便于設(shè)計結(jié)果的可視化和將問題形式化。通過執(zhí)行遺傳算法在每一代染色體組都會產(chǎn)生新的染色體群組,并被轉(zhuǎn)化為數(shù)據(jù)流傳入實驗板上。至于通過軟件進(jìn)化的電子電路設(shè)計,可采用Spice軟件作為線路模擬仿真軟件,把染色體變成模擬電路并通過仿真軟件來仿真電路的運行情況,通過相應(yīng)軟件來評估設(shè)計結(jié)果。
三、結(jié)論與展望
進(jìn)化過程廣義上可以看作是一個復(fù)雜的動態(tài)系統(tǒng)的狀態(tài)變化。在這個意義上,可以將“可進(jìn)化”這一特性運用到無數(shù)的人工系統(tǒng)中,只要這些系統(tǒng)的性能會受到環(huán)境的影響。不僅是遺傳算法,神經(jīng)網(wǎng)絡(luò)、人工智能工程以及胚胎學(xué)都可以應(yīng)用到可進(jìn)化系統(tǒng)中。雖然目前設(shè)計出的可進(jìn)化硬件還存在著許多需要解決的問題,如系統(tǒng)的魯棒性等。但在未來的發(fā)展中,電子電路可進(jìn)化的設(shè)計方法將不可避免的取代傳統(tǒng)的自頂向下設(shè)計方法,系統(tǒng)的復(fù)雜性將不再成為系統(tǒng)設(shè)計的障礙。另一方面,硬件本身的自我重構(gòu)能力對于那些在復(fù)雜多變的環(huán)境,特別是人不能直接參與的環(huán)境工作的系統(tǒng)來說將帶來極大的影響。因此可進(jìn)化硬件的研究將會進(jìn)一步深入并會得到廣泛的應(yīng)用而造福人類。
以上便是此次小編帶來的“電子電路設(shè)計”相關(guān)內(nèi)容,希望大家對本文談?wù)摰膬?nèi)容具備一定的認(rèn)知。如果你喜歡本文,不妨持續(xù)關(guān)注我們網(wǎng)站哦,小編將于后期帶來更多精彩內(nèi)容。最后,十分感謝大家的閱讀,have a nice day!