新聞中心

EEPW首頁(yè) > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 基于FPGA數(shù)據(jù)流控制動(dòng)態(tài)可重構(gòu)的實(shí)現(xiàn)

基于FPGA數(shù)據(jù)流控制動(dòng)態(tài)可重構(gòu)的實(shí)現(xiàn)

作者: 時(shí)間:2011-04-18 來(lái)源:網(wǎng)絡(luò) 收藏

摘要 基于基本的下載控制方式,利用遺傳算法,通過(guò)單片機(jī)控制的方式對(duì)進(jìn)行編程配置,實(shí)現(xiàn)自身重構(gòu),使系統(tǒng)具有自適應(yīng)、自組織和自修復(fù)的特性。
關(guān)鍵詞 ;遺傳算法;動(dòng)態(tài)重構(gòu);單片機(jī)

可重構(gòu)計(jì)算的概念是在20世紀(jì)60年代由美國(guó)加利福尼亞大學(xué)的Geraid Estrin提出,并研制了系統(tǒng)原型。70年代末,Suetlana P Kartas-hev和Steven I.Kartashev博士提出了系統(tǒng)的概念。進(jìn)入90年代,可重構(gòu)技術(shù)成為了研究熱點(diǎn),近幾年,可重構(gòu)計(jì)算和軟硬件協(xié)同設(shè)計(jì),是當(dāng)前計(jì)算機(jī)科研領(lǐng)域的兩大核心,其任務(wù)建模平臺(tái)大多是基于FPGA的系統(tǒng),是最近幾年該領(lǐng)域研究的熱點(diǎn)話(huà)題,并在多領(lǐng)域得到廣泛應(yīng)用。
本文實(shí)現(xiàn)了基于遺傳算法的硬件演化過(guò)程。通過(guò)Mcu隨機(jī)產(chǎn)生種群,選擇好的基因進(jìn)行交叉變異產(chǎn)生后代,然后將合適的基因通過(guò)測(cè)試找到最佳重構(gòu)方案。選擇最佳方案應(yīng)用于硬件,實(shí)現(xiàn)自我修復(fù)和自適應(yīng)。

1 軟件算法
遺傳算法(Genetic Algorithm,GA)是由美國(guó)密執(zhí)安大學(xué)John Holland教授于20世紀(jì)70年代提出并逐步發(fā)展起來(lái)的一種自適應(yīng)全局優(yōu)化搜索算法。他模擬自然選擇和自然遺傳過(guò)程發(fā)生的繁殖,交叉和基因突變現(xiàn)象,在每次迭代中都保留一組候選解,并按某種指標(biāo)從群解中選取較優(yōu)個(gè)體,利用遺傳算子對(duì)這些個(gè)體進(jìn)行組合,產(chǎn)生新一代的候選解群,直到滿(mǎn)足某種收斂指標(biāo),最終得到問(wèn)題的最優(yōu)解或近似解。
基本遺傳算法由4部分組成:(1)編碼(產(chǎn)生初始種群)。(2)適應(yīng)度函數(shù)計(jì)算。(3)遺傳算子(選擇、交叉、變異)。(4)運(yùn)行參數(shù)。
1.1 選擇
遺傳算法首先要產(chǎn)生初始種群,通常叫做染色體。染色體由基因組成,如11001,每位二進(jìn)制數(shù)就是一個(gè)基因變量,然后通過(guò)適應(yīng)度函數(shù)檢測(cè)合格的染色體,選擇合格染色體進(jìn)行下一步的交叉、變異,得到新個(gè)體。
遺傳算法中的適應(yīng)度,是表示某一個(gè)體對(duì)環(huán)境的適應(yīng)能力,也表示該個(gè)體繁殖后代的能力。遺傳算法的適應(yīng)度函數(shù)也叫評(píng)價(jià)函數(shù),是用以判斷群體中個(gè)體優(yōu)劣程度的指標(biāo),它是根據(jù)所求問(wèn)題的目標(biāo)函數(shù)進(jìn)行評(píng)估的。
此處適應(yīng)度選擇函數(shù)的模式通過(guò)一種反饋模式,將產(chǎn)生的個(gè)體經(jīng)過(guò)仿真檢測(cè)評(píng)估。如果達(dá)到要求,經(jīng)評(píng)估結(jié)果存入存儲(chǔ)模塊,然后以輪盤(pán)賭的方式對(duì)所有的函數(shù)結(jié)果加權(quán),判斷每個(gè)基因的適應(yīng)度與加權(quán)和的比值,即介于(0,1)的小數(shù),選擇大于—個(gè)值比如0.8為合格,當(dāng)評(píng)估完群體中所有個(gè)體的適應(yīng)度后,選擇適應(yīng)度大于0.8的個(gè)體存儲(chǔ),然后等待由交叉變異模塊產(chǎn)生出的新個(gè)體。
1.2 交叉變異
交叉變異模塊得到來(lái)自選擇模塊的兩個(gè)個(gè)體,根據(jù)隨機(jī)數(shù)模塊產(chǎn)生的隨機(jī)數(shù)與交叉概率作比較,判斷是否進(jìn)行交叉操作。交叉算子根據(jù)交叉率將種群中的兩個(gè)個(gè)體隨機(jī)交換某些基因,能夠產(chǎn)生新的基因組合,期望將有益基因組合在一起。
如找到兩個(gè)父代基因,需要進(jìn)行交叉,找到基因的交叉點(diǎn),將各個(gè)基因的交叉點(diǎn)交叉基因變量形成新的基因變量,變異就是每個(gè)基因找到基因變異點(diǎn),試圖通過(guò)基因變異找到合適的方案,如圖1所示。

本文引用地址:http://2s4d.com/article/191232.htm

a.JPG


1.3 基因下載
得到的優(yōu)良基因就是所需的方案,將這個(gè)方案直接下載,最后實(shí)現(xiàn)可控制,可重構(gòu),自適應(yīng)。如圖2所示。

b.JPG


上一頁(yè) 1 2 3 下一頁(yè)

評(píng)論


相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉