1. 首頁
  2. 電子技術/半導體/積體電路

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

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

摘要:介紹了可進化硬體的機理和相關技術,著重闡述了一種基於進化論中遺傳演算法的大規模電子電路設計方法,分析瞭如何透過可進化硬體的機理來實現複雜系統的高容錯性設計。介紹了進化電子電路設計的設計架構及基本設計步驟熓迪紙化電子電路設計的設計環境。展望了基於可進化硬體思想的電子電路設計的發展前景。

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

在人類的科學研究中,有不少研究成果得益於大自然的啟發,例如仿生學技術。隨著計算機技術和電子技術的發展,許多的科學研究越來越與生物學緊密相聯。在人工智慧方面,已經實現了能用計算機和電子裝置模仿人類生物體的看、聽、和思維等能力;另一方面,受進化論的啟發,科學家們提出了基於生物學的電子電路設計技術,將進化理論的方法應用於電子電路的設計中,使得新的電子電路能像生物一樣具有對環境變化的適應、免疫、自我進化及自我複製等特性,用來實現高適應、高可靠的電子系統。這類電子電路常稱為可進化硬體(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 結論與展望

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