網站首頁 個人範例 行業範例 行政範例 職場範例 校園範例 書信範例 生活範例 節日文化範例

基於生物學的電子電路設計和操作

欄目: 半導體 / 發佈於: / 人氣:1.31W

摘要:介紹了可進化硬件的機理和相關技術,着重闡述了一種基於進化論中遺傳算法的大規模電子電路設計方法,分析瞭如何通過可進化硬件的機理來實現複雜系統的高容錯性設計。介紹了進化電子電路設計的設計架構及基本設計步驟?實現交?繾擁緶飛杓頻納杓蘋肪場U僱?嘶?誑山??布?枷氲牡繾擁緶飛杓頻姆⒄骨熬啊?/p>

關鍵詞:可進化硬件 遺傳算法 電子電路設計 現場可編程門陣列

基於生物學的電子電路設計和操作

在人類的科學研究中,有不少研究成果得益於大自然的啟發,例如仿生學技術。隨着計算機技術和電子技術的發展,許多的科學研究越來越與生物學緊密相聯。在人工智能方面,已經實現了能用計算機和電子設備模仿人類生物體的看、聽、和思維等能力;另一方面,受進化論的啟發,科學家們提出了基於生物學的電子電路設計技術,將進化理論的方法應用於電子電路的設計中,使得新的電子電路能像生物一樣具有對環境變化的適應、免疫、自我進化及自我複製等特性,用來實現高適應、高可靠的電子系統。這類電子電路常稱為可進化硬件(EHW, Evolvable HardWare)。本文主要介紹可進化硬件EHW的機理及其相關技術並根據這種機理對高可靠性電子電路的設計進行討論。

1 EHW的機理及相關技術

計算機系統所要求解決的問題日趨複雜,與此同時,計算機系統本身的結構也越來越複雜。而複雜性的提高就意味着可靠性的降低,實踐經驗表明,要想使如此複雜的實時系統實現零出錯率幾乎是不可能的,因此人們寄希望於系統的容錯性能:即系統在出現錯誤的情況下的適應能力。對於如何同時實現系統的複雜性和可靠性,大自然給了我們近乎完美的藍本。人體是迄今為止我們所知道的最複雜的生物系統,通過千萬年基因進化,使得人體可以在某些細胞發生病變的情況下,不斷地進行自我診斷,並最終自愈。因此借用這一機理,科學家們研究出可進化硬件(EHW,Evolvable HardWare),理想的可進化硬件不但同樣具有自我診斷能力,能夠通過自我重構消除錯誤,而且可以在設計要求或系統工作環境發生變化的情況下,通過自我重構來使電路適應這種變化而繼續正常工作。嚴格地説,EHW具有兩個方面的目的,一方面是把進化算法應用於電子電路的設計中;另一方面是硬件具有通過動態地、自主地重構自己實現在線適應變化的能力。前者強調的是進化算法在電子設計中可替代傳統基於規範的設計方法;後者強調的是硬件的可適應機理。當然二者的區別也是很模糊的。本文主要討論的是EHW在第一個方面的問題。

(收集整理)

對EHW的研究主要採用了進化理論中的進化計算(Evolutionary Computing)算法,特別是遺傳算法(GA)為設計算法,在數字電路中以現場可編程門陣列(FPGA)為媒介,在模擬電路設計中以現場可編程模擬陣列(FPAA)為媒介來進行的。此外還有建立在晶體管級的現場可編程晶體管陣列(FPTA),它為同時設計數字電路和和模擬電路提供了一個可靠的平台。下面主要介紹一下遺傳算法和現場可編程門陣列的相關知識,並以數字電路為例介紹可進化硬件設計方法。

1.1 遺傳算法

遺傳算法是模擬生物在自然環境中的遺傳和進化過程的一種自適應全局優化算法,它借鑑了物種進化的思想,將欲求解問題編碼,把可行解表示成字符串形式,稱為染色體或個體。先通過初始化隨機產生一羣個體,稱為種羣,它們都是假設解。然後把這些假設解置於問題的“環境”中,根據適應值或某種競爭機制選擇個體(適應值就是解的滿意程度),使用各種遺傳操作算子(包括選擇,變異,交叉等等)產生下一代(下一代可以完全替代原種羣,即非重疊種羣;也可以部分替代原種羣中一些較差的個體,即重疊種羣),如此進化下去,直到滿足期望的終止條件,得到問題的最優解為止。

1.2 現場可編程邏輯陣列(FPGA)

現場可編程邏輯陣列是一種基於查找表(LUT, Lookup Table)結構的可在線編程的邏輯電路。它由存放在片內RAM中的程序來設置其工作狀態,工作時需要對片內的RAM進行編程。當用户通過原理圖或硬件描述語言(HDL)描述了一個邏輯電路以後, FPGA開發軟件會把設計方案通過編譯形成數據流,並將數據流下載至RAM中。這些RAM中的數據流決定電路的邏輯關係。掉電後,FPGA恢復成白片,內部邏輯關係消失,因此,FPGA能夠反覆使用,灌入不同的數據流就會獲得不同的硬件系統,這就是可編程特性。這一特性是實現EHW的重要特性。目前在可進化電子電路的設計中,用得最多得是Xilinx 公司的Virtex系列 FPGA芯片。

2 進化電子電路設計架構

>本節以設計高容錯性的數字電路設計為例來闡述EHW的設計架構及主要設計步驟。對於通過進化理論的遺傳算法來產生容錯性,所設計的電路系統可以看作一個具有持續性地、實時地適應變化的硬件系統。對於電子電路來説,所謂的變化的來源很多,如硬件故障導致的錯誤,設計要求和規則的改變,環境的改變(各種干擾的出現)等。

從進化論的角度來看,當這些變化發生時,個體的適應度會作相應的改變。當進化進行時,個體會適應這些變化重新獲得高的適應度。基於進化論的電子電路設計就是利用這種原理,通過對設計結果進行多次地進化來提高其適應變化的能力。

電子電路進化設計架構如圖1所示。圖中給出了電子電路的設計的兩種進化,分別是內部進化和外部進化。其中內

部進化是指硬件內部結構的進化,而外部進化是指軟件模擬的電路的進化。這兩種進化是相互獨立的,當然通過外部進化得到的最終設計結果還是要由硬件結構的變化來實際體現。從圖中可以看出,進化過程是一個循環往復的過程,其中是根據進化算法(遺傳算法)的計算結果來進行的。整個進化設計包括以下步驟:

(1)根據設計的目的,產生初步的方案,並把初步方案用一組染色體(一組“0”和“1”表示的數據串)來表示,其中每個個體表示的是設計的一部分。染色體轉化成控制數據流下載到FPGA上,用來定義FPGA的開關狀態,從而確定可重構硬件內部各單元的聯結,形成了初步的硬件系統。用來設計進化硬件的FPGA器件可以接受任意組合的數據流下載,而不會導致器件的損害。

(2)將設計結果與目標要求進行比較,並用某種誤差表示作為描述系統適應度的衡量準則。這需要一定的檢測手段和評估軟件的支持。對不同的個體,根據適應度進行排序,下一代的個體將由最優的個體來產生。

(3)根據適應度再對新的個體組進行統計,並根據統計結果挑選一些個體。一部分被選個體保持原樣,另一部分個體根據遺傳算法進行修改,如進行交叉和變異,而這種交叉和變異的目的是為了產生更具適應性的下一代。把新一代染色體轉化成控制數據流下載到FPGA中對硬件進行進化。

(4)重複上述步驟,產生新的數代個體,直到新的個體表示的設計方案表現出接近要求的適應能力為止。

一般來説通過遺傳算法最後會得到一個或數個設計結果,最後設計方案具有對設計要求和系統工作環境的最佳適應性。這一過程又叫內部進化或硬件進化。

圖中的右邊展示了另一種設計可進化電路的方法,即用模擬軟件來代替可重構器件,染色體每一位確定的是軟件模擬電路的連接方式,而不是可重構器件各單元的連接方式。這一方法叫外部進化或軟件進化。這種方法中進化過程完全模擬進行,只有最後的結果才在器件上實施。

進化電子電路設計中,最關鍵的是遺傳算法的應用。在遺傳算法的應用過程中,變異因子的確定是需要慎重考慮的,它的大小既關係到個體變異的程度,也關係到個體對環境變化做出反應的能力,而這兩個因素相互牴觸。變異因子越大,個體更容易適應環境變化,對系統出現的錯誤做出快速反應,但個體更容易發生突變。而變異因子較小時,系統的反應力變差,但系統一旦獲得高適應度的設計方案時可以保持穩定。

對於可進化數字電路的設計,可以在兩個層面上進行。一個是在基本的'“與”、“或”、“非”門的基礎上進行進化設計,一個是在功能塊如觸發器、加法器和多路選擇器的基礎上進行。前一種方法更為靈活,而後一種更適於工業應用。有人提出了一種基於進化細胞機(Cellular Automaton)的神經網絡模塊設計架構。採用這一結構設計時,只需要定義整個模塊的適應度,而對於每一模塊如何實現它複雜的功能可以不予理睬,對於超大規模線路的設計可以採用這一方法來將電路進行整體優化設計。3 可進化電路設計環境

上面描述的軟硬件進化電子電路設計可在圖2所示的設計系統環境下進行。這一設計系統環境對於測試可重構硬件的構架及展示在FPGA可重構硬件上的進化設計很有用處。該設計系統環境包括遺傳算法軟件包、FPGA開發系統板、數據採集軟硬件、適應度評估軟件、用户接口程序及電路模擬仿真軟件。

遺傳算法由計算機上運行的一個程序包實現。由它來實現進化計算併產生染色體組。表示硬件描述的染色體通過通信電纜由計算機下載到有FPGA器件的實驗板上。然後通過接口將佈線結果傳回計算機。適應度評估建立在儀器數據採集硬件及軟件上,一個接口碼將GA與硬件連接起來,可能的設計方案在此得到評估。同時還有一個圖形用户接口以便於設計結果的可視化和將問題形式化。通過執行遺傳算法在每一代染色體組都會產生新的染色體羣組,並被轉化為數據流傳入實驗板上。至於通過軟件進化的電子電路設計

,可採用Spice軟件作為線路模擬仿真軟件,把染色體變成模擬電路並通過仿真軟件來仿真電路的運行情況,通過相應軟件來評估設計結果。

4 結論與展望

進化過程廣義上可以看作是一個複雜的動態系統的狀態變化。在這個意義上,可以將“可進化”這一特性運用到無數的人工系統中,只要這些系統的性能會受到環境的影響。不僅是遺傳算法,神經網絡、人工智能工程以及胚胎學都可以應用到可進化系統中。雖然目前設計出的可進化硬件還存在着許多需要解決的問題,如系統的魯棒性等。但在未來的發展中,電子電路可進化的設計方法將不可避免的取代傳統的自頂向下設計方法,系統的複雜性將不再成為系統設計的障礙。另一方面,硬件本身的自我重構能力對於那些在複雜多變的環境,特別是人不能直接參與的環境工作的系統來説將帶來極大的影響。因此可進化硬件的研究將會進一步深入並會得到廣泛的應用而造福人類。