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