www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁(yè) > EDA > 電子設(shè)計(jì)自動(dòng)化
[導(dǎo)讀]摘要:基于遺傳算法的組合邏輯電路的自動(dòng)設(shè)計(jì),依據(jù)給出的真值表,利用遺傳算法自動(dòng)生成符合要求的組合邏輯電路。由于遺傳算法本身固有的并行性,采用軟件實(shí)現(xiàn)的方法在速度上往往受到本質(zhì)是串行計(jì)算的計(jì)算機(jī)制約,因

摘要:基于遺傳算法組合邏輯電路的自動(dòng)設(shè)計(jì),依據(jù)給出的真值表,利用遺傳算法自動(dòng)生成符合要求的組合邏輯電路。由于遺傳算法本身固有的并行性,采用軟件實(shí)現(xiàn)的方法在速度上往往受到本質(zhì)是串行計(jì)算的計(jì)算機(jī)制約,因此采用硬件化設(shè)計(jì)具有重要的意義。為了證明基于FPGA的遺傳算法的高效性,設(shè)計(jì)了遺傳算法的各個(gè)模塊,實(shí)現(xiàn)了基于FPGA的遺傳算法。
關(guān)鍵詞:遺傳算法;組合邏輯電路;FPGA;隨機(jī)數(shù)

    遺傳算法(Genetic Algorithm)是模擬達(dá)爾文生物進(jìn)化論的自然選擇和遺傳學(xué)機(jī)理的生物進(jìn)化過(guò)程的計(jì)算模型,是一種通過(guò)模擬自然進(jìn)化過(guò)程搜索最優(yōu)解的方法,它最初是由美國(guó)Michigan大學(xué)J.Holland教授于1975年首先提出來(lái)的。隨著經(jīng)濟(jì)社會(huì)的快速發(fā)展,人類科學(xué)研究與生產(chǎn)活動(dòng)的廣度與深度都大大拓展了??蒲信c生產(chǎn)實(shí)踐中涌現(xiàn)出的大量新課題對(duì)作為社會(huì)發(fā)展催化劑的信息與控制科學(xué)提出了前所未有的挑戰(zhàn)。傳統(tǒng)信息處理算法在面對(duì)各種非線性、不確定、不能精確解析以及建模機(jī)理復(fù)雜的問(wèn)題時(shí),往往顯得捉襟見(jiàn)肘。正是在這種背景下,各種智能信息處理算法如雨后春筍般涌現(xiàn)出來(lái)。作為智能信息處理算法中的重要一員,遺傳算法近年來(lái)以其獨(dú)特而卓越的性能日漸引起了人們的關(guān)注。
    組合邏輯電路其特點(diǎn)是功能上無(wú)記憶,結(jié)構(gòu)上無(wú)反饋,即電路在任意時(shí)刻的輸出狀態(tài)只取決于該時(shí)刻各輸入狀態(tài)的組合,而與電路的原狀態(tài)無(wú)關(guān)。本文通過(guò)實(shí)例介紹組合邏輯電路的設(shè)計(jì)方法,并通過(guò)電子設(shè)計(jì)自動(dòng)化EDA(Electronic Design Automation)進(jìn)行仿真分析,使組合邏輯電路的設(shè)計(jì)變得更方便,更實(shí)用。
    隨著FPGA性能的不斷提高,基于FPGA的計(jì)算加速已經(jīng)逐漸成為提高計(jì)算速度和計(jì)算效率的重要手段之一。FPGA能夠?qū)崿F(xiàn)程序的并行化處理,不僅結(jié)構(gòu)簡(jiǎn)單,而且有效地減少了運(yùn)算時(shí)間、提高了運(yùn)行效率,為遺傳算法能在一些實(shí)時(shí)、高速的場(chǎng)合得到應(yīng)用提供了依據(jù)。

1 基于FPGA遺傳算法設(shè)計(jì)
    遺傳算法是一種多點(diǎn)并行的迭代搜索算法,它的每一代稱為一個(gè)種群,由多個(gè)個(gè)體組成,每個(gè)個(gè)體稱為染色體,染色體由一定數(shù)目的字符組成。每個(gè)字符稱為一個(gè)基因,基因在染色體中的位置決定了基因所表達(dá)的特性。
    文中基于FPGA的遺傳算法,整個(gè)系統(tǒng)分為4個(gè)單元,4個(gè)單元分別為:選擇單元、交叉單元、變異單元和適應(yīng)度計(jì)算單元。
1.1 選擇單元
    選擇單元執(zhí)行遺傳算法中的選擇操作。選擇策略決定哪些個(gè)體存活并得以繁殖,因其直接關(guān)系到遺傳算法的運(yùn)行導(dǎo)向問(wèn)題故對(duì)遺傳算法的性能有直接并且重大的影響。標(biāo)準(zhǔn)遺傳算法所采用的輪盤(pán)賭選擇策略簡(jiǎn)便直觀,但可能會(huì)產(chǎn)生較大的抽樣誤差。于是,各種改進(jìn)的選擇策略產(chǎn)生了。
    最早提出的使用濃度控制的選擇策略可以保證群體的多樣性從而避免了早熟現(xiàn)象并且提高了算法的魯棒性及運(yùn)算效率。后來(lái)通過(guò)對(duì)浮點(diǎn)遺傳算法早熟收斂現(xiàn)象的分析,有人提出了一種新的父代選擇策略,即使用當(dāng)前代的子代個(gè)體作為下代的父代個(gè)體,可使交叉算子持續(xù)地探索和開(kāi)發(fā)新空間。目前,人們又發(fā)現(xiàn)可以通過(guò)選擇策略的改變調(diào)控并維持種群多樣性。這類研究成果中,文獻(xiàn)中提到的重復(fù)串的適應(yīng)度處理是一個(gè)有益的嘗試。
1.2 交叉單元
    交叉模塊執(zhí)行遺傳算法中的交叉操作。由隨機(jī)數(shù)模塊產(chǎn)生的隨機(jī)數(shù)與事先確定的交叉概率相比較,如果隨機(jī)數(shù)小于交叉概率,則一對(duì)個(gè)體進(jìn)行交叉操作,否則該對(duì)個(gè)體不變,直接進(jìn)入變異模塊。
    文中一對(duì)個(gè)體進(jìn)行交叉操作的基因位由隨機(jī)數(shù)決定。隨機(jī)數(shù)模塊產(chǎn)生一個(gè)與個(gè)體等長(zhǎng)的隨機(jī)二進(jìn)制串,若隨機(jī)二進(jìn)制串中的某一位為1,則該對(duì)個(gè)體中該位置的基因相互交叉;否則,該對(duì)個(gè)體中該位置的基因保持不變。
1.3 變異單元
    變異模塊執(zhí)行遺傳算法中的變異操作。與交叉模塊相似,變異模塊也是將隨機(jī)數(shù)模塊產(chǎn)生的隨機(jī)數(shù)與事先確定的變異概率相比較,決定是否進(jìn)行變異操作。同時(shí)個(gè)體中進(jìn)行變異操作的基因位也是由一個(gè)與個(gè)體等長(zhǎng)的隨機(jī)二進(jìn)制字符串決定的。對(duì)個(gè)體而言,執(zhí)行變異操作的基因位不宜過(guò)多,否則容易對(duì)個(gè)體造成較大的破壞,影響種群的穩(wěn)定性。本文將兩個(gè)隨機(jī)二進(jìn)制字符串(每一位0、1等概率)進(jìn)行相與操作,這樣得到的新的隨機(jī)二進(jìn)制字符串中每一位為1的概率將降低到25%,用這個(gè)新的隨機(jī)二進(jìn)制串來(lái)決定個(gè)體變異的基因位。這樣執(zhí)行變異操作的個(gè)體中,每一位基因變異的概率也會(huì)降低到25%。
1.4 適應(yīng)度計(jì)算單元
    適應(yīng)度計(jì)算模塊執(zhí)行遺傳算法中的適應(yīng)度計(jì)算比較操作,它根據(jù)適應(yīng)度計(jì)算函數(shù)來(lái)計(jì)算種群中每一個(gè)個(gè)體的適應(yīng)度,包括遺傳算法開(kāi)始時(shí)初始化產(chǎn)生的種群和后來(lái)遺傳變異后產(chǎn)生的種群,并把每個(gè)個(gè)體的適應(yīng)度大小保存到存儲(chǔ)器中。同時(shí),適應(yīng)度計(jì)算模塊還需要記錄每一代種群中適應(yīng)度最高的個(gè)體。適應(yīng)度計(jì)算模塊有一個(gè)內(nèi)置的計(jì)數(shù)器,計(jì)數(shù)器隨適應(yīng)度計(jì)算模塊的啟動(dòng)而啟動(dòng),從0開(kāi)始計(jì)數(shù),每個(gè)時(shí)鐘周期加1。計(jì)數(shù)器數(shù)值表示當(dāng)前個(gè)體及其適應(yīng)度在存儲(chǔ)器模塊當(dāng)中的存放地址。適應(yīng)度計(jì)算模塊停止工作時(shí),計(jì)數(shù)器會(huì)重新歸零,等待新一輪的啟動(dòng)信號(hào)。

2 遺傳算法的過(guò)程設(shè)計(jì)
    遺傳算法通過(guò)對(duì)當(dāng)前種群施加選擇、交叉、變異等一系列遺傳操作,產(chǎn)生出新一代的種群,通過(guò)多次迭代,使種群逐步進(jìn)化到包含或接近最優(yōu)解的狀態(tài),如圖1所示。一般來(lái)說(shuō),一個(gè)完整的遺傳算法包括編碼、初始種群的生成、用于進(jìn)行個(gè)體評(píng)估的適應(yīng)度函數(shù)的設(shè)計(jì)、遺傳算子(選擇、交叉和變異)以及控制參數(shù)(終止準(zhǔn)則)的設(shè)定5個(gè)方面。


    1)系統(tǒng)由外部給出reset信號(hào):隨機(jī)數(shù)模塊開(kāi)始產(chǎn)生隨機(jī)數(shù)種子;控制模塊重啟,重新啟動(dòng)后,由該模塊控制系統(tǒng)運(yùn)行。
    2)控制模塊給出相應(yīng)信號(hào),初始化模塊運(yùn)行,初始化種群。
    3)當(dāng)初始化完畢后,有控制模塊發(fā)出相應(yīng)信號(hào),系統(tǒng)進(jìn)入進(jìn)化計(jì)算階段,進(jìn)行遺傳算法的具體操作。
    4)各個(gè)遺傳算法功能模塊進(jìn)行算子操作,經(jīng)由交叉、變異、選擇操作產(chǎn)生新的種群,同時(shí)記錄系統(tǒng)的運(yùn)行信息。如未完成本代進(jìn)化計(jì)算,則重復(fù)本步驟。
    5)完成一代計(jì)算后,由控制模塊發(fā)出相應(yīng)指令,存儲(chǔ)相關(guān)運(yùn)行參數(shù)、轉(zhuǎn)換存儲(chǔ)器的工作狀態(tài)。如果以完成計(jì)算,則發(fā)出完成信號(hào),如果未完成,重復(fù)步驟4)。
2.1 遺傳算法編碼
    把一個(gè)問(wèn)題的可行解從其解空間轉(zhuǎn)化到遺傳算法所能處理的搜索空間的轉(zhuǎn)化方法叫做編碼。編碼方式應(yīng)具有如下性質(zhì):完備性、封閉性、健全性和非冗余性。
    遺傳算法的編碼方式有很多種,二進(jìn)制編碼方式是最常用的編碼方式之一,最早由Holland提出。但是二進(jìn)制編碼的遺傳算法進(jìn)行數(shù)值優(yōu)化時(shí),存在連續(xù)到離散的映射誤差、精度不高,最優(yōu)解附近搜索較慢等缺點(diǎn)。雖然提高個(gè)體編碼串長(zhǎng)度可以提高精度,但是會(huì)使遺傳算法的搜索空間增加,從而使得搜索變得異常緩慢。
    本文中遺傳算法主要解決的問(wèn)題是組合邏輯電路的自動(dòng)設(shè)計(jì),組合邏輯電路由與門(mén)、或門(mén)、非門(mén)、同或門(mén)、異或門(mén)五種基本的門(mén)電路組成。在FPGA上進(jìn)行遺傳算法的編碼,本文采用二進(jìn)制字符串編碼的方法,每個(gè)個(gè)體都有64位二進(jìn)制數(shù)組成,由64位二進(jìn)制數(shù)解碼出一個(gè)組合邏輯電路。
2.2 隨機(jī)數(shù)產(chǎn)生模塊
    隨機(jī)數(shù)控制模塊的作用是根據(jù)外部信號(hào)控制隨機(jī)數(shù)內(nèi)部模塊,發(fā)出相應(yīng)的使能、重啟信號(hào),產(chǎn)生隨機(jī)數(shù)種子,從而產(chǎn)生隨機(jī)數(shù)。
    本系統(tǒng)中隨機(jī)數(shù)模塊所產(chǎn)生的隨機(jī)序列由線性反饋移位寄存器(Linear Feedback Shift Registers,LFSR)生成。LFSR在FPGA上易于實(shí)現(xiàn),且所產(chǎn)生的隨機(jī)序列具有周期長(zhǎng)、隨機(jī)性好的特點(diǎn)。隨機(jī)數(shù)模塊需要向選擇模塊提供隨機(jī)序列,作為存儲(chǔ)器單元的地址,同時(shí)隨機(jī)數(shù)模塊還要向交叉模塊和變異模塊提供隨機(jī)序列,用于確定是否執(zhí)行交叉和變異操作,以及執(zhí)行交叉和變異操作的位置。
2.3 存儲(chǔ)器模塊
    存儲(chǔ)器模塊用來(lái)存儲(chǔ)種群中的個(gè)體及其適應(yīng)度。在本系統(tǒng)中,個(gè)體和適應(yīng)度是分開(kāi)存儲(chǔ)的,因而對(duì)整個(gè)種群而言,其存儲(chǔ)區(qū)可分為4個(gè)部分:父代個(gè)體存儲(chǔ)區(qū),父代適應(yīng)度存儲(chǔ)區(qū),子代個(gè)體存儲(chǔ)區(qū)以及子代適應(yīng)度存儲(chǔ)區(qū)。
    由于本系統(tǒng)中的遺傳算法采用完全流水線實(shí)現(xiàn),因而必然會(huì)涉及到對(duì)存儲(chǔ)器模塊的同時(shí)讀寫(xiě)操作,比如在選擇模塊從存儲(chǔ)器模塊中讀取父代種群中的個(gè)體及其適應(yīng)度的同時(shí),適應(yīng)度模塊則在向存儲(chǔ)器模塊中寫(xiě)入子代種群中的新個(gè)體及其適應(yīng)度。

3 實(shí)驗(yàn)結(jié)果
    系統(tǒng)在Altera公司的Cyclone系列EPIC6Q240C8型號(hào)芯片上進(jìn)行了實(shí)現(xiàn)。系統(tǒng)采用Verilog語(yǔ)言編寫(xiě),開(kāi)發(fā)平臺(tái)為Altera公司自帶的Quart usII 6.0集成環(huán)境。為驗(yàn)證系統(tǒng)的正確性和測(cè)試系統(tǒng)的性能,本文,對(duì)系統(tǒng)進(jìn)行了測(cè)試,即給出一個(gè)三輸入一輸出的組合邏輯電路的真值表,測(cè)試真值表如表1所示。


    遺傳算法參數(shù)設(shè)置如下:種群規(guī)模為100,交叉概率為0.6,變異概率為0.1,基因長(zhǎng)度為16,遺傳代數(shù)為100。其中針對(duì)給出的真值表,通過(guò)代碼輸入、編譯、綜合、布局布線后,得到結(jié)果如圖2所示。


    即最優(yōu)解為:C3bFC396。經(jīng)過(guò)解碼,得到電路圖如圖3所示。所得到的電路圖滿足真值表的要求。



4 結(jié)束語(yǔ)
    本文在FPGA上實(shí)現(xiàn)了基于遺傳算法的組合邏輯電路的自動(dòng)設(shè)計(jì)。對(duì)整個(gè)系統(tǒng)結(jié)構(gòu)進(jìn)行了自頂而下的設(shè)計(jì),對(duì)模塊功能進(jìn)了劃分。硬件實(shí)現(xiàn)遺傳算法能有效地縮短運(yùn)行時(shí)間,為實(shí)時(shí)應(yīng)用提供了可能。隨著FPGA芯片技術(shù)的進(jìn)一步發(fā)展,大規(guī)模并行遺傳算法的實(shí)現(xiàn)也將成為可能。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

在電子電路中,電解電容的紋波電流承受能力直接影響其使用壽命和電路穩(wěn)定性。準(zhǔn)確測(cè)試紋波電流不僅能驗(yàn)證電容性能是否達(dá)標(biāo),也是電路設(shè)計(jì)可靠性驗(yàn)證的關(guān)鍵環(huán)節(jié)。以下從測(cè)試原理、設(shè)備準(zhǔn)備、操作步驟到數(shù)據(jù)解讀,全面介紹電解電容紋波電流...

關(guān)鍵字: 電解電容 紋波電流 電路設(shè)計(jì)

在電子電路設(shè)計(jì)與實(shí)踐中,穩(wěn)壓芯片是維持穩(wěn)定輸出電壓的關(guān)鍵組件。然而,當(dāng)我們將兩個(gè)輸出電壓不同的穩(wěn)壓芯片的輸出腳連接在一起時(shí),會(huì)引發(fā)一系列復(fù)雜的物理現(xiàn)象和潛在風(fēng)險(xiǎn)。這一操作不僅違反了常規(guī)的電路設(shè)計(jì)原則,還可能對(duì)電路系統(tǒng)造成...

關(guān)鍵字: 穩(wěn)壓 芯片 電路設(shè)計(jì)

在當(dāng)今電子技術(shù)飛速發(fā)展的時(shí)代,隨著電子產(chǎn)品不斷向小型化、高性能化邁進(jìn),印刷電路板(PCB)的設(shè)計(jì)變得愈發(fā)復(fù)雜和精密。過(guò)孔,作為 PCB 中連接不同層線路的關(guān)鍵元件,其對(duì)信號(hào)完整性的影響已成為電路設(shè)計(jì)中不可忽視的重要因素。...

關(guān)鍵字: 印刷電路板 電路設(shè)計(jì) 信號(hào)

IIC(Inter IC Bus)協(xié)議是一種廣泛應(yīng)用于嵌入式系統(tǒng)中的同步半雙工通信協(xié)議。隨著電子設(shè)備的復(fù)雜性不斷增加,高多層電路板設(shè)計(jì)變得越來(lái)越普遍。在高多層電路板中實(shí)現(xiàn)可靠的IIC通信,需要綜合考慮布線策略、電源設(shè)計(jì)、...

關(guān)鍵字: 電路板 電路設(shè)計(jì)

在現(xiàn)代高速、高密度的電路設(shè)計(jì)領(lǐng)域,電路完整性是確保電子系統(tǒng)可靠運(yùn)行的關(guān)鍵要素?;芈冯姼凶鳛殡娐分械囊粋€(gè)重要參數(shù),對(duì)電路完整性有著多方面的深遠(yuǎn)影響。從信號(hào)傳輸?shù)臏?zhǔn)確性到電源系統(tǒng)的穩(wěn)定性,回路電感在其中扮演著不容忽視的角色。...

關(guān)鍵字: 電子系統(tǒng) 回路電感 電路設(shè)計(jì)

在現(xiàn)代汽車電子控制系統(tǒng)中,CAN(Controller Area Network,控制器局域網(wǎng))總線作為一種高效、可靠的通信協(xié)議,發(fā)揮著舉足輕重的作用。它不僅連接著發(fā)動(dòng)機(jī)控制單元(ECU)、變速器控制單元、制動(dòng)系統(tǒng)控制單...

關(guān)鍵字: 車規(guī)級(jí)CAN總線 電路設(shè)計(jì)

串聯(lián)一個(gè)二極管,是利用二極管的單向?qū)щ姷奶匦?,?shí)現(xiàn)了最簡(jiǎn)單可靠的低成本防反接功能電路。這種低成本方案一般在小電流的場(chǎng)合,類似小玩具等。

關(guān)鍵字: 電路設(shè)計(jì) 串聯(lián)

USB 2.0接口以其高速率等優(yōu)點(diǎn)漸有取代傳統(tǒng)ISA及PCI數(shù)據(jù)總線的趨勢(shì),熱插拔特性也使其成為各種PC外設(shè)的首選接口。

關(guān)鍵字: 數(shù)據(jù)采集 電路設(shè)計(jì)

Finishing 終飾、終修指各種制成品在外觀上的最后修飾或修整工作,使產(chǎn)品更具美觀、保護(hù),及質(zhì)感的目的。Metal Finishing特指金屬零件或制品,其外表上為加強(qiáng)防蝕功能及觀而特別加做的處理層而言,如各種電鍍層...

關(guān)鍵字: PCB 電路設(shè)計(jì)

在電子工程領(lǐng)域,Datasheet(數(shù)據(jù)手冊(cè))是理解和應(yīng)用特定芯片的關(guān)鍵資源。面對(duì)動(dòng)輒數(shù)百頁(yè)的詳細(xì)文檔,如何高效地提取電路設(shè)計(jì)所需的關(guān)鍵信息,是每個(gè)硬件工程師和軟件工程師都面臨的挑戰(zhàn)。本文旨在提供一套系統(tǒng)化的方法,幫助工...

關(guān)鍵字: Datasheet 電路設(shè)計(jì)
關(guān)閉