- 相關(guān)推薦
基于生物學(xué)的電子電路設(shè)計(jì)
摘要:介紹了可進(jìn)化硬件的機(jī)理和相關(guān)技術(shù),著重闡述了一種基于進(jìn)化論中遺傳算法的大規(guī)模電子電路設(shè)計(jì)方法,分析了如何通過可進(jìn)化硬件的機(jī)理來實(shí)現(xiàn)復(fù)雜系統(tǒng)的高容錯(cuò)性設(shè)計(jì)。介紹了進(jìn)化電子電路設(shè)計(jì)的設(shè)計(jì)架構(gòu)及基本設(shè)計(jì)步驟?實(shí)現(xiàn)進(jìn)化電子電路設(shè)計(jì)的設(shè)計(jì)環(huán)境。展望了基于可進(jìn)化硬件思想的電子電路設(shè)計(jì)的發(fā)展前景。在人類的科學(xué)研究中,有不少研究成果得益于大自然的啟發(fā),例如仿生學(xué)技術(shù)。隨著計(jì)算機(jī)技術(shù)和電子技術(shù)的發(fā)展,許多的科學(xué)研究越來越與生物學(xué)緊密相聯(lián)。在人工智能方面,已經(jīng)實(shí)現(xiàn)了能用計(jì)算機(jī)和電子設(shè)備模仿人類生物體的看、聽、和思維等能力;另一方面,受進(jìn)化論的啟發(fā),科學(xué)家們提出了基于生物學(xué)的電子電路設(shè)計(jì)技術(shù),將進(jìn)化理論的方法應(yīng)用于電子電路的設(shè)計(jì)中,使得新的電子電路能像生物一樣具有對(duì)環(huán)境變化的適應(yīng)、免疫、自我進(jìn)化及自我復(fù)制等特性,用來實(shí)現(xiàn)高適應(yīng)、高可靠的電子系統(tǒng)。這類電子電路常稱為可進(jìn)化硬件(EHW, Evolvable HardWare)。本文主要介紹可進(jìn)化硬件EHW的機(jī)理及其相關(guān)技術(shù)并根據(jù)這種機(jī)理對(duì)高可靠性電子電路的設(shè)計(jì)進(jìn)行討論。
1 EHW的機(jī)理及相關(guān)技術(shù)
計(jì)算機(jī)系統(tǒng)所要求解決的問題日趨復(fù)雜,與此同時(shí),計(jì)算機(jī)系統(tǒng)本身的結(jié)構(gòu)也越來越復(fù)雜。而復(fù)雜性的提高就意味著可靠性的降低,實(shí)踐經(jīng)驗(yàn)表明,要想使如此復(fù)雜的實(shí)時(shí)系統(tǒng)實(shí)現(xiàn)零出錯(cuò)率幾乎是不可能的,因此人們寄希望于系統(tǒng)的容錯(cuò)性能:即系統(tǒng)在出現(xiàn)錯(cuò)誤的情況下的適應(yīng)能力。對(duì)于如何同時(shí)實(shí)現(xiàn)系統(tǒng)的復(fù)雜性和可靠性,大自然給了我們近乎完美的藍(lán)本。人體是迄今為止我們所知道的最復(fù)雜的生物系統(tǒng),通過千萬年基因進(jìn)化,使得人體可以在某些細(xì)胞發(fā)生病變的情況下,不斷地進(jìn)行自我診斷,并最終自愈。因此借用這一機(jī)理,科學(xué)家們研究出可進(jìn)化硬件(EHW,Evolvable HardWare),理想的可進(jìn)化硬件不但同樣具有自我診斷能力,能夠通過自我重構(gòu)消除錯(cuò)誤,而且可以在設(shè)計(jì)要求或系統(tǒng)工作環(huán)境發(fā)生變化的情況下,通過自我重構(gòu)來使電路適應(yīng)這種變化而繼續(xù)正常工作。嚴(yán)格地說,EHW具有兩個(gè)方面的目的,一方面是把進(jìn)化算法應(yīng)用于電子電路的設(shè)計(jì)中;另一方面是硬件具有通過動(dòng)態(tài)地、自主地重構(gòu)自己實(shí)現(xiàn)在線適應(yīng)變化的能力。前者強(qiáng)調(diào)的是進(jìn)化算法在電子設(shè)計(jì)中可替代傳統(tǒng)基于規(guī)范的設(shè)計(jì)方法;后者強(qiáng)調(diào)的是硬件的可適應(yīng)機(jī)理。當(dāng)然二者的區(qū)別也是很模糊的。本文主要討論的是EHW在第一個(gè)方面的問題。
對(duì)EHW的研究主要采用了進(jìn)化理論中的進(jìn)化計(jì)算(Evolutionary Computing)算法,特別是遺傳算法(GA)為設(shè)計(jì)算法,在數(shù)字電路中以現(xiàn)場(chǎng)可編程門陣列(FPGA)為媒介,在模擬電路設(shè)計(jì)中以現(xiàn)場(chǎng)可編程模擬陣列(FPAA)為媒介來進(jìn)行的。此外還有建立在晶體管級(jí)的現(xiàn)場(chǎng)可編程晶體管陣列(FPTA),它為同時(shí)設(shè)計(jì)數(shù)字電路和和模擬電路提供了一個(gè)可靠的平臺(tái)。下面主要介紹一下遺傳算法和現(xiàn)場(chǎng)可編程門陣列的相關(guān)知識(shí),并以數(shù)字電路為例介紹可進(jìn)化硬件設(shè)計(jì)方法。
1.1 遺傳算法
遺傳算法是模擬生物在自然環(huán)境中的遺傳和進(jìn)化過程的一種自適應(yīng)全局優(yōu)化算法,它借鑒了物種進(jìn)化的思想,將欲求解問題編碼,把可行解表示成字符串形式,稱為染色體或個(gè)體。先通過初始化隨機(jī)產(chǎn)生一群個(gè)體,稱為種群,它們都是假設(shè)解。然后把這些假設(shè)解置于問題的“環(huán)境”中,根據(jù)適應(yīng)值或某種競(jìng)爭(zhēng)機(jī)制選擇個(gè)體(適應(yīng)值就是解的滿意程度),使用各種遺傳操作算子(包括選擇,變異,交叉等等)產(chǎn)生下一代(下一代可以完全替代原種群,即非重疊種群;也可以部分替代原種群中一些較差的個(gè)體,即重疊種群),如此進(jìn)化下去,直到滿足期望的終止條件,得到問題的最優(yōu)解為止。
1.2 現(xiàn)場(chǎng)可編程邏輯陣列(FPGA)
現(xiàn)場(chǎng)可編程邏輯陣列是一種基于查找表(LUT, Lookup Table)結(jié)構(gòu)的可在線編程的邏輯電路。它由存放在片內(nèi)RAM中的程序來設(shè)置其工作狀態(tài),工作時(shí)需要對(duì)片內(nèi)的RAM進(jìn)行編程。當(dāng)用戶通過原理圖或硬件描述語(yǔ)言(HDL)描述了一個(gè)邏輯電路以后, FPGA開發(fā)軟件會(huì)把設(shè)計(jì)方案通過編譯形成數(shù)據(jù)流,并將數(shù)據(jù)流下載至RAM中。這些RAM中的數(shù)據(jù)流決定電路的邏輯關(guān)系。掉電后,FPGA恢復(fù)成白片,內(nèi)部邏輯關(guān)系消失,因此,FPGA能夠反復(fù)使用,灌入不同的數(shù)據(jù)流就會(huì)獲得不同的硬件系統(tǒng),這就是可編程特性。這一特性是實(shí)現(xiàn)EHW的重要特性。目前在可進(jìn)化電子電路的設(shè)計(jì)中,用得最多得是Xilinx 公司的Virtex系列 FPGA芯片。
2 進(jìn)化電子電路設(shè)計(jì)架構(gòu)
本節(jié)以設(shè)計(jì)高容錯(cuò)性的數(shù)字電路設(shè)計(jì)為例來闡述EHW的設(shè)計(jì)架構(gòu)及主要設(shè)計(jì)步驟。對(duì)于通過進(jìn)化理論的遺傳算法來產(chǎn)生容錯(cuò)性,所設(shè)計(jì)的電路系統(tǒng)可以看作一個(gè)具有持續(xù)性地、實(shí)時(shí)地適應(yīng)變化的硬件系統(tǒng)。對(duì)于電子電路來說,所謂的變化的來源很多,如硬件故障導(dǎo)致的錯(cuò)誤,設(shè)計(jì)要求和規(guī)則的改變,環(huán)境的改變(各種干擾的出現(xiàn))等。
從進(jìn)化論的角度來看,當(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ì)就是利用這種原理,通過對(duì)設(shè)計(jì)結(jié)果進(jìn)行多次地進(jìn)化來提高其適應(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)然通過外部進(jìn)化得到的最終設(shè)計(jì)結(jié)果還是要由硬件結(jié)構(gòu)的變化來實(shí)際體現(xiàn)。從圖中可以看出,進(jìn)化過程是一個(gè)循環(huán)往復(fù)的過程,其中是根據(jù)進(jìn)化算法(遺傳算法)的計(jì)算結(jié)果來進(jìn)行的。整個(gè)進(jìn)化設(shè)計(jì)包括以下步驟:
(1)根據(jù)設(shè)計(jì)的目的,產(chǎn)生初步的方案,并把初步方案用一組染色體(一組“0”和“1”表示的數(shù)據(jù)串)來表示,其中每個(gè)個(gè)體表示的是設(shè)計(jì)的一部分。染色體轉(zhuǎn)化成控制數(shù)據(jù)流下載到FPGA上,用來定義FPGA的開關(guān)狀態(tài),從而確定可重構(gòu)硬件內(nèi)部各單元的聯(lián)結(jié),形成了初步的硬件系統(tǒng)。用來設(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è)體來產(chǎn)生。
(3)根據(jù)適應(yīng)度再對(duì)新的個(gè)體組進(jìn)行統(tǒng)計(jì),并根據(jù)統(tǒng)計(jì)結(jié)果挑選一些個(gè)體。一
【基于生物學(xué)的電子電路設(shè)計(jì)】相關(guān)文章:
基于51單片機(jī)復(fù)位電路設(shè)計(jì)03-07
基于FKS111的瓦斯涌出預(yù)警電路設(shè)計(jì)03-07
基于TRF4900的無線發(fā)射電路設(shè)計(jì)與應(yīng)用03-18
一種基于CPLD的PWM控制電路設(shè)計(jì)03-19
探析基于電子商務(wù)的組織創(chuàng)新11-15
基于電子商務(wù)的物流模式研究12-07
基于電子商務(wù)的供給鏈治理的探討03-21