成就電子電路設(shè)計(jì)高手(四),基于生物學(xué)的電子電路設(shè)計(jì)(上篇)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
電子電路設(shè)計(jì)具有重要意義,此外電子電路設(shè)計(jì)具有一定難度。學(xué)習(xí)電子電路設(shè)計(jì)的朋友,在學(xué)習(xí)過程中需保持耐心。目前,電子電路設(shè)計(jì)不僅與物理知識(shí)有關(guān),與生物學(xué)同樣相關(guān)。本文中,講介紹基于生物學(xué)的電子電路設(shè)計(jì)。本文僅為上篇,下篇相關(guān)內(nèi)容請(qǐng)關(guān)注后期文章。如果你對(duì)本文即將探討的電子電路設(shè)計(jì)內(nèi)容存在一定興趣,不妨繼續(xù)往下閱讀。
在人類的科學(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)行討論。
一、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ì)算(EvolutionaryComputing)算法,特別是遺傳算法(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ì)方法。
二、遺傳算法
遺傳算法是模擬生物在自然環(huán)境中的遺傳和進(jìn)化過程的一種自適應(yīng)全局優(yōu)化算法,它借鑒了物種進(jìn)化的思想,將欲求解問題編碼,把可行解表示成字符串形式,稱為染色體或個(gè)體。先通過初始化隨機(jī)產(chǎn)生一群個(gè)體,稱為種群,它們都是假設(shè)解。然后把這些假設(shè)解置于問題的“環(huán)境”中,根據(jù)適應(yīng)值或某種競爭機(jī)制選擇個(gè)體(適應(yīng)值就是解的滿意程度),使用各種遺傳操作算子(包括選擇,變異,交叉等等)產(chǎn)生下一代(下一代可以完全替代原種群,即非重疊種群;也可以部分替代原種群中一些較差的個(gè)體,即重疊種群),如此進(jìn)化下去,直到滿足期望的終止條件,得到問題的最優(yōu)解為止。
三、現(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)用戶通過原理圖或硬件描述語言(HDL)描述了一個(gè)邏輯電路以后,F(xiàn)PGA開發(fā)軟件會(huì)把設(shè)計(jì)方案通過編譯形成數(shù)據(jù)流,并將數(shù)據(jù)流下載至RAM中。這些RAM中的數(shù)據(jù)流決定電路的邏輯關(guān)系。掉電后,F(xiàn)PGA恢復(fù)成白片,內(nèi)部邏輯關(guān)系消失,因此,F(xiàn)PGA能夠反復(fù)使用,灌入不同的數(shù)據(jù)流就會(huì)獲得不同的硬件系統(tǒng),這就是可編程特性。這一特性是實(shí)現(xiàn)EHW的重要特性。
以上便是此次小編帶來的“電子電路設(shè)計(jì)”相關(guān)內(nèi)容,通過本文,希望大家對(duì)上述提及的內(nèi)容具備一定的認(rèn)知,如果你對(duì)本文探討的內(nèi)容存在一定興趣,請(qǐng)關(guān)注下篇文章。如果你喜歡本文,不妨持續(xù)關(guān)注我們網(wǎng)站哦,小編將于后期帶來更多精彩內(nèi)容。最后,十分感謝大家的閱讀,have a nice day!