999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

軟硬件協(xié)同的遺傳算法設計與實現(xiàn)

2021-05-28 12:38:22聶鑫羅劍
現(xiàn)代計算機 2021年10期
關鍵詞:信號設計

聶鑫,羅劍

(1.武漢工程大學計算機科學與工程學院,武漢430205;2.武漢晴川學院計算機學院,武漢430205)

0 引言

遺傳算法[1]是一種從生物界繁衍進化中學習得到的一種隨機搜索算法。這種算法具有很好的魯棒性,具有天然的內在并行性,并且算法無需豐富的先驗知識。目前絕大多數(shù)遺傳算法均使用純軟件實現(xiàn),這類軟件方式在求解實際問題時由于效率較低,運行時間較長,無法應用于實時性要求較高的場合。考慮到遺傳算法中編碼基本采用二進制編碼,而二進制編碼在硬件系統(tǒng)中具有操作快捷,實現(xiàn)簡單的特點,不少學者使用純硬件實現(xiàn)了遺傳算法[2]。使用硬件方式[3]實現(xiàn)的遺傳算法已經證明了具有更高的運算效率與速度。但是純硬件的設計一旦實現(xiàn),硬件結構就不能改變,所以也就只能對一個問題進行求解,缺乏了軟件所具有的通用性。

軟硬件協(xié)同設計(Hardware/Software Co-Designing)的思想是在硬件和軟件設計過程中盡最大限度的利用其協(xié)同作用來滿足系統(tǒng)的要求。自從軟硬件協(xié)同思想提出以后,一直備受國內外研究者的關注,關于軟硬件協(xié)同設計領域的研究也十分活躍。到目前為止,國內外學者已經在此方面做過很多研究[4-6],例如在遙感影像的實時效應、音頻編碼算法、Lattice譯碼算法、數(shù)字電路仿真、系統(tǒng)的模擬、仿真和調試等一些方面都使用過軟硬件協(xié)同設計方法,并且獲得比使用傳統(tǒng)的設計方法更好的效果。因此利用軟硬件協(xié)同設計方法不僅可以提高求解問題的效率,同時可以擴寬其應用領域,進一步推動軟硬件協(xié)同設計的發(fā)展等。FPGA的快速發(fā)展,也為軟硬件協(xié)同工作搭建了平臺,使得軟硬件協(xié)同處理成為了可能。

1 軟硬件協(xié)同的系統(tǒng)設計

1.1 硬件劃分

綜合軟硬件各自的優(yōu)點,采用軟硬件協(xié)同的工作方式實現(xiàn)的系統(tǒng)[7-8],將系統(tǒng)中一些底層簡單而重復,特別是能夠并行化的工作交由硬件完成,將具有通用性、串行的工作交由軟件完成,不僅可以是系統(tǒng)的效率得提升,縮短了系統(tǒng)的開發(fā)周期,并且使得系統(tǒng)具有可重用性。在軟硬件協(xié)同中,如何劃分軟硬件具體工作是一件重要的事。因為這涉及到設計的運行效率以及具體實現(xiàn)的功能。我們對遺傳算法軟硬件劃分確定,硬件部分為總控模塊、選擇模塊、編譯模塊、雜交模塊。軟件部分為隨機數(shù)模塊、適應值評價模塊。整個系統(tǒng)的設計圖為圖1所示。

圖1 系統(tǒng)設計圖

1.2 交互協(xié)議

由于在設計平臺中,CPU(PowerPC)時鐘頻率(300MHz)與FPGA提供的時鐘頻率(100MHz)不一致,并且在CPU上運行的軟件程序完成所需要的時鐘周期數(shù)是不確定性的。由于在本設計中存在許多軟件層面與硬件層面的信息交互,為了保證信息交互的同步性,可靠性,必須設計一個通信協(xié)議來確保數(shù)據(jù)的正確性。

圖2描述的為硬件端向軟件端請求數(shù)據(jù)的操作。整個操作的流程如下,首先由硬件發(fā)出請求(request)信號,該信號為高信號。在軟件端收到這個請求信號之后,開始進行正常的工作。此時硬件端為阻塞狀態(tài)。當軟件端處理完成之后,給硬件端發(fā)送完成信號(done),該信號電平同樣為高。此時軟件端進入阻塞狀態(tài)。至此完成一次握手,這該次握手操作中確保了軟件能正確地響應硬件的請求,并且能正確地通知硬件何時完成操作。在硬件端收到電平為高的done信號之后,硬件解除阻塞并且獲取從軟件發(fā)過來的數(shù)據(jù),之后再發(fā)送低電平的request信號并且進入阻塞狀態(tài)。此時完成了該協(xié)議的第二次握手,這次握手確保了硬件能夠正確地獲取所需信息并且進行標記信號的重置。在軟件獲得低電平的request之后,發(fā)送低電平的done信號并且解除阻塞。此時軟硬件的工作基本完成,為了防止重復響應以及再次爭取的響應,必須將交互信號進行重置。重置這些信號就需要該協(xié)議的第三次握手來確保雙方同時重置。硬件端收到低電平的done信號之后,解除阻塞。至此,一次軟硬件的信息交互結束。

圖2 通信協(xié)議

在本設計中,在雜交模塊,變異模塊,初始化模塊以及總控模塊中都是用了該協(xié)議來確保軟硬件雙方信息交互的正確性。

2 軟硬件協(xié)同的平臺實現(xiàn)

2.1 硬件模塊

如圖3所示,本模塊中共有6個狀態(tài):

圖3 系統(tǒng)運行狀態(tài)機

●IDLE:空閑狀態(tài),系統(tǒng)啟動以及復位后則進入該狀態(tài)。空閑狀態(tài)由硬件層面的總控模塊進行控制處理。模塊對系統(tǒng)的所有控制信號進行復位操作。系統(tǒng)在FPGA時鐘上升沿時檢查是否有外部(如開關、按鈕等)電平為高的運行信號(START)。在系統(tǒng)獲得高電平啟動信號之后開始進行狀態(tài)的轉換(以下模塊轉換中如無特殊說明,均是高電平有效),否則一直在IDLE狀態(tài)循環(huán)等待處于空閑。系統(tǒng)開始運行之后即轉入初始化狀態(tài)(INIT)。

●INIT:初始化狀態(tài)。在初始化狀態(tài)中完成系統(tǒng)中的初始化操作。具體操作為總控模塊發(fā)送啟動信號通知初始化模塊開始工作。之后在該狀態(tài)等待初始化操作的完成。在收到初始化模塊的完成信號之后,進入CROSS狀態(tài)。

●CROSS:雜交狀態(tài)。在雜交狀態(tài)中完成系統(tǒng)中的雜交操作。具體操作為總控模塊發(fā)送啟動信號通知雜交選擇模塊開始工作。之后在該狀態(tài)等待雜交操作的完成。在收到雜交模塊的完成信號之后,進入MUT狀態(tài)。

●MUT:變異狀態(tài)。在變異狀態(tài)中完本系統(tǒng)中的變異操作。具體操作為總控模塊發(fā)送啟動信號通知變異選擇模塊開始工作。之后在該狀態(tài)等待變異操作完成。在收到變異模塊的完成信號之后,進入VALUE狀態(tài)。

●VALUE:評估狀態(tài)。在評估狀態(tài)中完成本系統(tǒng)中的評估和停機判斷工作。具體操作為總控模塊發(fā)送啟動信號通知評價模塊開發(fā)工作。之后在該狀態(tài)中等待評價操作完成。直到收到評價模塊的完成信號之后,模塊根據(jù)反饋信號的不同決定下一個狀態(tài)。當STOP信號為0時,系統(tǒng)轉入CROSS狀態(tài)進行下一代遺傳操作。當STOP信號為1時,系統(tǒng)轉入STOP狀態(tài)。

●STOP:停機狀態(tài)。在停機狀態(tài)中完成本系統(tǒng)停止過程中的相關操作。具體操作就是模塊將算法獲得的最優(yōu)個體及其適應值進行輸出操作,即將個體、適應值、運行代數(shù)、運行周期從模塊的輸出端口輸出,軟件層面獲取輸出數(shù)據(jù)之后將其反饋給用戶。最后再將整個設備狀態(tài)轉入IDLE狀態(tài),并且重置片上內存。

2.2 軟件模塊

(1)隨機數(shù)模塊

隨機數(shù)模塊由軟件端實現(xiàn)。該模塊提供了遺傳算法流程中初始化模塊中個體生成、雜交選擇模塊的個體選擇和雜交點選擇、變異選擇模塊的個體選擇和變異點選擇。該模塊采用Xilinx公司擴展的C語言實現(xiàn)。具體實現(xiàn)表現(xiàn)為一個函數(shù)。函數(shù)有一個控制參數(shù)。函數(shù)返回為所需求的隨機數(shù)值。軟硬件交互協(xié)議的部分由調用該函數(shù)的部分控制實現(xiàn)。函數(shù)的內部具體實現(xiàn)為根據(jù)控制參數(shù)來判斷硬件所需的隨機數(shù)的范圍。函數(shù)實現(xiàn)為調用C語言中自帶的rand()函數(shù),通過取模操作來選擇隨機數(shù)范圍。雖然C語言rand函數(shù)實現(xiàn)同樣可以使用硬件實現(xiàn),但是在軟件實現(xiàn)的rand函數(shù)的隨機數(shù)種子是根據(jù)系統(tǒng)時間獲得,而硬件實現(xiàn)的隨機數(shù)的種子在每次產生隨機數(shù)時是固定不變的。

(2)適應值評價模塊

適應值評價模塊由軟件端實現(xiàn)。該模塊的功能為完成遺傳算法整個流程中的適應值評估工作,也就是所需要解決問題的具體描述。該模塊采用Xilinx公司擴展的C語言實現(xiàn)。具體實現(xiàn)表現(xiàn)為一個函數(shù)。函數(shù)的參數(shù)為控制參數(shù)以及需要進行適應值評價的個體(具體表現(xiàn)為一個50維數(shù)組)。函數(shù)返回為該個體的適應值。軟硬件交互協(xié)議的部分由調用該函數(shù)的部分控制實現(xiàn)。函數(shù)的內部具體實現(xiàn)為針對所求問題對二進制編碼形式的個體進行相應的計算。由于軟硬件交互時使用的是IP核內置寄存器,寄存器大小為32位。每個個體使用兩個寄存器,第一個寄存器32位全部使用,第二個寄存器只使用前18位。所以從寄存器中獲得個體計算適應值前,必須對寄存器中的數(shù)據(jù)進行處理。本設計中使用split函數(shù)進行該操作,輸入為兩個int類型,輸入為50維數(shù)組。函數(shù)通過移位和與操作完成。

3 數(shù)值計算應用實例

在科學研究中,數(shù)值計算是一類經常遇到的問題,通常這類問題的復雜度較高,使用普通的算法計算時間較長。使用遺傳算法解決數(shù)值問題可以起到較好的效果。但是軟件實現(xiàn)的遺傳算法執(zhí)行效率低下,所以可以使用軟硬件協(xié)同工作的方式在不改變算法通用性的基礎上加快算法的收斂速度。

二進制問題是一類可以有效驗證遺傳算法功能正確性的基本問題。設計中使用的問題為計算二進制串中“1”的個數(shù)。1的個數(shù)越多,效果最優(yōu)。由于初始化個體為隨機初始化。所以在初始化個體中0與1的比例接近1:1,必須通過不斷的雜交和變異才可以獲得最優(yōu)解。因為個體串長為50,所以最優(yōu)解為50個1。使用軟硬件協(xié)同的遺傳算法解決該問題只需要改寫軟件端的適應值函數(shù)。無需對硬件進行修改。

二進制問題運行效果見圖4所示。

圖4 二進制問題運行效果圖

從圖4中我們可以看出算法可以正確找到最優(yōu)解,運行的代數(shù)為1272,去除用于判斷終止條件的500代,算法共運行700多代。整個算法運行時間為4.2秒。

因為遺傳算法是一個隨機搜索算法,算法的性能受初始化種群的好壞以及雜交變異的隨機性影響較大。而以上實驗截圖均是試驗中隨機獲取的數(shù)據(jù),并不能代表設計的性能以及效果。

為了對軟硬件協(xié)同遺傳算法平臺的性能進行分析。本設計還利用開發(fā)板上PowerPC實現(xiàn)了一種純軟件實現(xiàn)的遺傳算法。為了驗證本設計的性能,這種實現(xiàn)方式的遺傳算法在流程和遺傳算子上設計都是和本設計完全一致的。為了避免由于隨機數(shù)帶來的偶然性誤差,本實驗得到大量數(shù)據(jù)之后,再對數(shù)據(jù)平均進行數(shù)據(jù)統(tǒng)計。其中二進制問題的對比數(shù)據(jù)如表1所示。

表1 兩種不同環(huán)境下算法運行效率對比

從表1中我們可以看到,本設計實現(xiàn)的算法和其他方式實現(xiàn)的算法都可以獲得最優(yōu)解,并且收斂速度基本一致。本設計相比軟件實現(xiàn)性能卻有了10倍的提高。我們可以得出結論,使用軟硬件協(xié)同方式的遺傳算法在保留了軟件的可移植性的基礎上還可以提升數(shù)倍的運行效率。

4 結語

本文介紹了算法平臺設計中的軟硬件劃分的依據(jù)、軟硬件劃分的結果以及設計中模塊之間的連接關系。隨后對設計中的各個硬件模塊的具體實現(xiàn)做了詳細的介紹。設計了軟硬件之間進行信息交互所需要的協(xié)議,最后分別介紹了將硬件化模塊整合成整體遺傳算法IP核、FPGA開發(fā)平臺搭建、軟件平臺搭建、整個系統(tǒng)整合。該方法具有軟件的通用性以及硬件的運算高效性,理論上使用到遺傳算法的地方均可以使用該方法提高運行效率,尤其適合在實時性要求較高的場合(例如工業(yè)控制)應用。

猜你喜歡
信號設計
信號
鴨綠江(2021年35期)2021-04-19 12:24:18
完形填空二則
何為設計的守護之道?
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
孩子停止長個的信號
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
有種設計叫而專
Coco薇(2017年5期)2017-06-05 08:53:16
基于LabVIEW的力加載信號采集與PID控制
一種基于極大似然估計的信號盲抽取算法
主站蜘蛛池模板: 97在线观看视频免费| 三上悠亚精品二区在线观看| 亚洲一级无毛片无码在线免费视频| 国产精品一线天| 久久无码av三级| 亚洲电影天堂在线国语对白| 26uuu国产精品视频| 2021亚洲精品不卡a| 国产av一码二码三码无码| 波多野吉衣一区二区三区av| 亚洲人妖在线| 香蕉综合在线视频91| 日韩AV手机在线观看蜜芽| 精品国产成人av免费| 成人国产小视频| 国产精品13页| 日韩精品成人在线| 99国产在线视频| 天天综合天天综合| 国产永久无码观看在线| 精品夜恋影院亚洲欧洲| 免费国产好深啊好涨好硬视频| 97久久免费视频| 久久国产高清视频| 亚洲日韩精品伊甸| 在线国产毛片| 在线观看精品自拍视频| 亚洲视频在线网| 成人免费一区二区三区| 波多野结衣一区二区三区AV| 国产理论最新国产精品视频| 在线观看亚洲成人| 欧美性色综合网| 久久夜色精品国产嚕嚕亚洲av| jizz国产视频| 国产特级毛片aaaaaa| 女人18毛片水真多国产| 国产伦片中文免费观看| 欧美激情综合一区二区| 在线观看网站国产| 一级毛片免费播放视频| 欧美日韩国产精品va| 亚洲国产综合精品中文第一| 国产精品污污在线观看网站| 亚洲日本一本dvd高清| 久久这里只有精品2| 亚洲中文在线看视频一区| 国产一区二区三区在线无码| 亚洲成人高清无码| 人妻精品久久无码区| 亚洲人成高清| 欧美精品导航| 美女毛片在线| 伊人狠狠丁香婷婷综合色| 日韩在线2020专区| 国产精品刺激对白在线| 久久婷婷国产综合尤物精品| 国产精品综合久久久| 欧美在线导航| 欧美日韩国产在线人成app| 国产成人久久综合777777麻豆| 噜噜噜久久| 国产婬乱a一级毛片多女| 国产精品亚洲专区一区| 国产资源免费观看| 婷婷伊人久久| 午夜啪啪福利| 在线免费a视频| 亚洲一本大道在线| 午夜日韩久久影院| 欧美日韩综合网| 青草免费在线观看| 蜜桃视频一区| 91香蕉视频下载网站| 中文字幕欧美日韩高清| 午夜福利免费视频| 一本色道久久88亚洲综合| 午夜电影在线观看国产1区| 天堂中文在线资源| 国产手机在线小视频免费观看 | 怡春院欧美一区二区三区免费| 青草视频在线观看国产|