欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

基于圖編碼的組合邏輯電路的自動(dòng)合成方法

文檔序號(hào):7525665閱讀:250來源:國知局
專利名稱:基于圖編碼的組合邏輯電路的自動(dòng)合成方法
技術(shù)領(lǐng)域
本發(fā)明屬于組合邏輯電路設(shè)計(jì)領(lǐng)域。具體涉及一種基于“圖”編碼的組合邏輯電路的自動(dòng)合成方法。

背景技術(shù)
組合邏輯電路是一種輸出端子的值僅基于當(dāng)前輸入端子的值的邏輯電路。傳統(tǒng)的組合邏輯電路的合成主要靠設(shè)計(jì)者個(gè)人的知識(shí)和相關(guān)的經(jīng)驗(yàn)人工設(shè)計(jì)。但人工設(shè)計(jì)往往得不到最優(yōu)的組合邏輯電路。
隨著進(jìn)化硬件(EHW)的迅速發(fā)展,大量的從生物學(xué)中借鑒過來的人工智能算法被成功地引入到數(shù)字電路自動(dòng)設(shè)計(jì)領(lǐng)域。如GA算法,作為一種具有開創(chuàng)意義的尋找最優(yōu)解或近似最優(yōu)解的算法,已被應(yīng)用在組合邏輯電路設(shè)計(jì)中并成功實(shí)現(xiàn)了一些較小規(guī)模的組合邏輯電路的自動(dòng)合成。GA將組合邏輯電路編碼成一個(gè)定長或變長的串結(jié)構(gòu),串中的每一位均表示電路中的某一元件或元件間的電氣連接。種群中的個(gè)體(組合邏輯電路)通過交叉、變異等算子進(jìn)行變異,并隨著遺傳代數(shù)的增加,逐步優(yōu)化至生成設(shè)計(jì)要求的目標(biāo)電路。組合邏輯電路自動(dòng)合成領(lǐng)域另一重大的進(jìn)展是GP算法的發(fā)現(xiàn)及引入。GP與GA最大的不同之處在于GP采用樹形數(shù)據(jù)結(jié)構(gòu)表示組合邏輯電路。在GP算法中,樹型結(jié)構(gòu)中的葉子節(jié)點(diǎn)表示電路中的輸入端子,而樹型結(jié)構(gòu)中的父節(jié)點(diǎn)表示電路中的邏輯元件。電路亦通過交叉、變異等算子變異種群中的個(gè)體。相對(duì)于GA而言,GP表現(xiàn)出了更強(qiáng)的搜索能力和電路最優(yōu)化能力。一些其他的人工智能算法也相繼誕生并均被應(yīng)用于組合邏輯電路的設(shè)計(jì)中。例如蟻群算法、注入式的遺傳算法等等,但這些算法所采用的組合邏輯電路編碼方式與GA和GP相似。不可否認(rèn)的是,相對(duì)于傳統(tǒng)的人工設(shè)計(jì)而言,這些新穎的人工智能算法能遍歷更大的搜索空間,因此能生成更多的符合設(shè)計(jì)要求的目標(biāo)電路。
最近,一種新的基于進(jìn)化“圖”的人工智能算法(EGG)被提出。EGG使用“圖”結(jié)構(gòu)表示電路并通過交叉和變異兩種算子對(duì)“圖”直接進(jìn)行操作。盡管EGG能表示復(fù)雜的電路結(jié)構(gòu),但是EGG算法中的操作算子卻需要進(jìn)一步地優(yōu)化。首先,EGG的變異算子僅僅改變“圖”中部分頂點(diǎn)的值,因此變異算子并不涉及“圖”結(jié)構(gòu)的優(yōu)化;其次,EGG的交叉算子是對(duì)兩個(gè)已知圖形結(jié)構(gòu)的交換,因此這一算子也不能豐富某一種群中的圖形結(jié)構(gòu)多樣性。由于這兩種算子的局限性,EGG算法中種群多樣性僅僅決定于種群初始化過程,而非變異過程。
綜合分析目前組合邏輯電路的表示方法,主要有以下不足一是很多方法限制了電路結(jié)構(gòu)的多樣性,這些方法只能生成一些特定結(jié)構(gòu)的電路;二是很多方法有很復(fù)雜的映射規(guī)則,在從編碼映射到電路的過程中需要花費(fèi)很多運(yùn)算時(shí)間。


發(fā)明內(nèi)容
本發(fā)明旨在克服上述技術(shù)不足,目的是提供一種可生成任意結(jié)構(gòu)形式、映射簡單和編碼效率高的基于“圖”編碼的組合邏輯電路的自動(dòng)合成方法。
為實(shí)現(xiàn)上述發(fā)明目的,本發(fā)明采用的技術(shù)方案是 第一步用“有向圖”(簡稱“圖”)表示組合邏輯電路,“圖”G記作(V,E),V是“圖”的頂點(diǎn)的集合,E是“圖”的邊的集合。其中 “圖”的頂點(diǎn)分為輸入頂點(diǎn)、輸出頂點(diǎn)和中間頂點(diǎn),輸入頂點(diǎn)、輸出頂點(diǎn)和中間頂點(diǎn)分別用VIN、VOUT和VMID表示;在進(jìn)化過程中,VMID允許添加、刪除或修改,VIN、VOUT禁止添加、刪除或修改;VIN、VOUT分別表示組合邏輯電路的輸入和輸出端子;VMID表示組合邏輯電路中邏輯門的類型;邏輯門包括與門、或門、非門和異或門四種基本的邏輯門,其中與門、或門和異或門是兩輸入一輸出的邏輯門,非門是一輸入一輸出的邏輯門。
“圖”的邊為有向邊,表示邏輯門之間的連接。一條有向邊e∈E僅能起始于某一頂點(diǎn)的輸出端子并終止于另一頂點(diǎn)的輸入端子,有向邊中箭頭表示信號(hào)流的方向,一條有向邊被描述為Name[A-B];其中A、B分別是起始點(diǎn)A和終止點(diǎn)B,符號(hào)Ei(v)和Eo(v)分別表示連接至頂點(diǎn)v的輸入端子的有向邊集和輸出端子的有向邊集。
第二步設(shè)定目標(biāo)組合邏輯電路的真值表和最大循環(huán)次數(shù)。
第三步模板組合邏輯電路是由一個(gè)兩輸入一輸出的邏輯門、兩個(gè)輸入端子和一個(gè)輸出端子組成的組合邏輯單元;種群中任意一個(gè)個(gè)體是一個(gè)組合邏輯電路的“圖”編碼形式,個(gè)體是在模板組合邏輯電路的基礎(chǔ)上隨機(jī)產(chǎn)生。個(gè)體產(chǎn)生的過程是向模板組合邏輯電路中隨機(jī)添加新頂點(diǎn),添加新頂點(diǎn)的個(gè)數(shù)和位置是隨機(jī)的,在隨機(jī)添加的新頂點(diǎn)和模板組合邏輯電路中的頂點(diǎn)之間添加有向邊,直到該“圖”滿足規(guī)定的輸入輸出頂點(diǎn)數(shù)且不含環(huán)狀結(jié)構(gòu)為止。
個(gè)體產(chǎn)生的過程重復(fù)進(jìn)行N次,N是大于等于1的整數(shù),N個(gè)不同的個(gè)體表示N個(gè)不同的組合邏輯電路,從而形成種群P。
第四步評(píng)估種群P中所有個(gè)體所表示的組合邏輯電路的性能,即每個(gè)個(gè)體親和力的計(jì)算。每個(gè)個(gè)體的親和力等于它的功能親和力與性能親和力的和 Affinity=FV+PV(1) 式(1)中Fv是個(gè)體的功能親和力; Pv是個(gè)體的性能親和力。
功能親和力Fv的計(jì)算公式為 式(2)中M是組合邏輯電路輸入的個(gè)數(shù); N是組合邏輯電路輸出的個(gè)數(shù); fvij的定義如下
式(3)中fj(xi)表示當(dāng)輸入為真值表的第i行時(shí)組合邏輯電路第j個(gè)輸出端子的值; xi是真值表第i個(gè)變量; Pij表示真值表第i行第j個(gè)輸出值。
性能親和力Pv的計(jì)算公式為
式(4)中r表示組合邏輯電路的邏輯門數(shù)。
第五步將種群P中的N個(gè)體按照親和力的大小降序排列,親和力高的n(n<N)個(gè)個(gè)體被選中,形成臨時(shí)種群PS,臨時(shí)種群PS中的個(gè)體同樣按照親和力的大小降序排列。
第六步臨時(shí)種群PS被克隆(復(fù)制),克隆后的個(gè)體形成克隆種群PC,克隆種群PC中第i個(gè)個(gè)體被克隆的份數(shù)與第i個(gè)個(gè)體的親和力成正比 Ni=round(β*n/i)(5) 式(5)中Ni是第i個(gè)個(gè)體被克隆的份數(shù); β是克隆因子; n是臨時(shí)種群PS中的個(gè)體數(shù); i是該個(gè)體在臨時(shí)種群PS中的序號(hào); round是四舍五入取整函數(shù)。
第七步克隆種群PC中的個(gè)體被隨機(jī)選中進(jìn)行變異操作,個(gè)體被選中的條件如下 if rand(1)<RM (6) 式(6)中RM是變異的概率,0<RM≤1; rand(1)隨機(jī)產(chǎn)生一個(gè)0~1范圍內(nèi)的實(shí)數(shù)。
選中的個(gè)體被隨機(jī)選中的操作算子所修改,選中的操作算子為以下待選的操作算子中的全部或部分 a、添加邊操作算子; b、刪除邊操作算子; c、修改邊操作算子; d、添加頂點(diǎn)操作算子; e、刪除頂點(diǎn)操作算子; f、串聯(lián)操作算子; g、反串聯(lián)操作算子。
選中的操作算子的個(gè)數(shù)由下式?jīng)Q定 No=RAND(L)(7) 式(7)中L是操作算子類型的總數(shù); RAND(x)返回一個(gè)整數(shù)r∈

對(duì)克隆種群PC中的個(gè)體修改后,形成變異種群PM,克隆種群PC和變異種群PM中的個(gè)體數(shù)目相同。
第八步評(píng)估變異種群PM中的個(gè)體,評(píng)估的過程與第四步相同。
第九步將評(píng)估后的變異種群PM中的個(gè)體首先按照親和力的大小降序排列,然后從中選出m(m<N)個(gè)親和力高的個(gè)體形成重選種群PR,若重選種群PR中的個(gè)體親和力高于種群P中的個(gè)體親和力,則種群P中的親和力低的個(gè)體將被替換,形成次新種群PN。
第十步按照第三步所述的產(chǎn)生新個(gè)體的過程,隨機(jī)產(chǎn)生d(d<N)個(gè)新個(gè)體,再替換次新種群PN中d個(gè)親和力低的個(gè)體,形成新種群PT;然后對(duì)新種群PT按照第四步所述的過程進(jìn)行評(píng)估。
重復(fù)執(zhí)行上述步驟中的第五步~第十步,依此循環(huán),直到達(dá)到最大的循環(huán)次數(shù);達(dá)到最大的循環(huán)次數(shù)稱為一次合成實(shí)驗(yàn),重復(fù)合成實(shí)驗(yàn)M次,最后自動(dòng)合成出一個(gè)滿足真值表要求的個(gè)體的“圖”編碼和對(duì)應(yīng)的組合邏輯電路。
在上述技術(shù)方案中 所述的添加邊操作算子的執(zhí)行過程是隨機(jī)選擇兩個(gè)不同的頂點(diǎn),例如v1、v2∈V,在這兩個(gè)頂點(diǎn)之間增加一條有向邊,并修改頂點(diǎn)v1,v2的值。
所述的刪除邊操作算子的執(zhí)行過程是隨機(jī)選擇兩個(gè)不同的頂點(diǎn),例如v3、v4∈V,在兩個(gè)頂點(diǎn)之間隨機(jī)刪除一條邊,例如e1∈Ei(v3)∩Eo(v4),并修改頂點(diǎn)v3、v4的值。
所述的修改邊操作算子的執(zhí)行過程是首先隨機(jī)選取三個(gè)頂點(diǎn),例如v5、v6、v7∈V,然后隨機(jī)選取其中兩個(gè)頂點(diǎn)v5和v6之間的有向邊,例如e2,如果e2∈Ei(v5)∩Eo(v6),則將e2刪除,并新增加一有向邊e3[v7-v5],最后修改v6和v7的值。
所述的添加頂點(diǎn)操作算子的執(zhí)行過程是隨機(jī)選取一個(gè)頂點(diǎn),例如v8∈V,然后添加一個(gè)新頂點(diǎn),例如v9∈VMID,使v9的各個(gè)端子均與v8連接。
所述的刪除頂點(diǎn)操作算子的執(zhí)行過程是隨機(jī)選中一個(gè)頂點(diǎn),例如v10∈VMID,同時(shí)刪除該頂點(diǎn)以及與該頂點(diǎn)相連接的所有有向邊,最后修改所有與頂點(diǎn)v10連接的頂點(diǎn)的值。
所述的串聯(lián)操作算子的執(zhí)行過程是隨機(jī)選中一條邊,例如e4[vstart-vend],添加一個(gè)新頂點(diǎn),例如v11∈VMID,同時(shí)e4[vstart-vend]被刪除,兩個(gè)新的有向邊,例如e5[vstart-v11]∈Ei(v11)和e6[v11-vend]∈Eo(v11)被加入E。
所述的反串聯(lián)操作算子的執(zhí)行過程是隨機(jī)刪除一頂點(diǎn)v12及其Ei(v12)和Eo(v12),將一對(duì)有向邊e7[vstart-v12]∈Ei(v12)和e8[v12-vend]∈Eo(v12)合并為一條新的有向邊e9[vstart-vend]。
由于采用上述技術(shù)方案,本發(fā)明采用的基于“圖”編碼方法可以生成任意結(jié)構(gòu)的組合邏輯電路,編碼方便直接,并且將編碼映射到組合邏輯電路的過程非常簡單,因此編碼效率高。且采用的克隆選擇搜索算法,具有全局搜索的能力。此外,本發(fā)明設(shè)計(jì)了添加邊、刪除邊、修改邊、添加頂點(diǎn)、刪除頂點(diǎn)、串聯(lián)和反串聯(lián)七種用于改變組合邏輯電路結(jié)構(gòu)的操作算子,這些操作算子直接對(duì)“圖”進(jìn)行操作,具有保證不破壞電路連通性的特性。
因此,本發(fā)明具有高效自動(dòng)生成任意組合邏輯電路、映射簡單、編碼效率高和能用“圖”的結(jié)構(gòu)表示組合邏輯電路的特點(diǎn)。



圖1是本發(fā)明中的一種自動(dòng)合成步驟流程圖; 圖2是實(shí)施例1的真值表; 圖3是模板組合邏輯電路; 圖4是實(shí)施例1自動(dòng)合成的一種“圖”的編碼形式; 圖5是圖4所示“圖”的編碼形式所對(duì)應(yīng)的組合邏輯電路圖; 圖6是實(shí)施例2的真值表; 圖7是實(shí)施例2自動(dòng)合成的一種“圖”的編碼形式; 圖8是圖7所示“圖”的編碼形式所對(duì)應(yīng)的組合邏輯電路圖; 圖9是實(shí)施例3的真值表; 圖10是實(shí)施例3自動(dòng)合成的一種“圖”的編碼形式; 圖11是圖10所示“圖”的編碼形式所對(duì)應(yīng)的組合邏輯電路圖。

具體實(shí)施例方式 下面結(jié)合附圖對(duì)本發(fā)明做進(jìn)一步的描述,并非對(duì)本發(fā)明保護(hù)范圍的限制。
實(shí)施例1一種基于“圖”編碼的三輸入一輸出組合邏輯電路的自動(dòng)合成方法,該組合邏輯電路的自動(dòng)合成步驟流程如圖1所示 第一步用“有向圖”(簡稱“圖”)表示組合邏輯電路,“圖”G記作(V,E),V是“圖”的頂點(diǎn)的集合,E是“圖”的邊的集合。其中 “圖”的頂點(diǎn)分為輸入頂點(diǎn)、輸出頂點(diǎn)和中間頂點(diǎn),輸入頂點(diǎn)、輸出頂點(diǎn)和中間頂點(diǎn)分別用VIN、VOUT和VMID表示。在進(jìn)化過程中,VMID允許添加、刪除或修改;VIN、VOUT禁止添加、刪除或修改;VIN、VOUT分別表示組合邏輯電路的輸入和輸出端子;VMID表示組合邏輯電路中邏輯門的類型;邏輯門包括與門、或門、非門和異或門四種基本的邏輯門,其中與門、或門和異或門是兩輸入一輸出的邏輯門,非門是一輸入一輸出的邏輯門。
“圖”的邊為有向邊,表示邏輯門之間的連接,一條有向邊e∈E僅能起始于某一頂點(diǎn)的輸出端子并終止于另一頂點(diǎn)的輸入端子,有向邊中箭頭表示信號(hào)流的方向,一條有向邊被描述為Name[A-B]。其中A、B分別是起始點(diǎn)A和終止點(diǎn)B,符號(hào)Ei(v)和Eo(v)分別表示連接至頂點(diǎn)v的輸入端子的有向邊集和輸出端子的有向邊集。
第二步設(shè)定如圖2所示的目標(biāo)組合邏輯電路真值表和最大循環(huán)次數(shù)為100。
第三步模板組合邏輯電路如圖3所示,是由一個(gè)兩輸入一輸出的邏輯門、兩個(gè)輸入端子和一個(gè)輸出端子組成的組合邏輯單元;種群中任意一個(gè)個(gè)體是一個(gè)組合邏輯電路的“圖”編碼形式,個(gè)體是在模板組合邏輯電路的基礎(chǔ)上隨機(jī)產(chǎn)生。個(gè)體產(chǎn)生的過程是向模板組合邏輯電路中隨機(jī)添加新頂點(diǎn),添加新頂點(diǎn)的個(gè)數(shù)和位置是隨機(jī)的,在隨機(jī)添加的新頂點(diǎn)和模板組合邏輯電路中的頂點(diǎn)之間添加有向邊,直到該“圖”滿足規(guī)定的輸入頂點(diǎn)數(shù)為3、輸出頂點(diǎn)數(shù)為1且不含環(huán)狀結(jié)構(gòu)的條件為止。
個(gè)體產(chǎn)生的過程重復(fù)進(jìn)行50次,在模板組合邏輯電路基礎(chǔ)上隨機(jī)產(chǎn)生50個(gè)不同的個(gè)體,50個(gè)不同的個(gè)體表示50個(gè)不同的三輸入一輸出組合邏輯電路,形成種群P。
第四步評(píng)估種群P中所有個(gè)體所表示的三輸入一輸出組合邏輯電路的性能,即每個(gè)個(gè)體親和力的計(jì)算。每個(gè)個(gè)體的親和力等于它的功能親和力與性能親和力的和 Affinity=FV+PV(1) 式(1)中Fv是個(gè)體的功能親和力; Pv是個(gè)體的性能親和力。
功能親和力Fv的計(jì)算公式為 式(2)中M是組合邏輯電路輸入的個(gè)數(shù),M=3; N是組合邏輯電路輸出的個(gè)數(shù),N=1; fvij的定義如下
式(3)中fi(xi)表示當(dāng)輸入為真值表的第i行時(shí)組合邏輯電路第j個(gè)輸出端子的值; xi是真值表第i個(gè)變量; Pij表示真值表第i行第j個(gè)輸出值。
性能親和力Pv的計(jì)算公式為
式(4)中r表示組合邏輯電路的邏輯門數(shù)。
第五步將種群P中的50個(gè)個(gè)體按照親和力的大小降序排列,親和力高的10個(gè)個(gè)體被選中,形成臨時(shí)種群PS,臨時(shí)種群PS中的個(gè)體同樣按照親和力的大小降序排列。
第六步臨時(shí)種群PS被克隆(復(fù)制),克隆后的個(gè)體形成克隆種群PC??寺》N群PC中第i個(gè)個(gè)體被克隆的份數(shù)與第i個(gè)個(gè)體的親和力成正比 Ni=round(β*n/i)(5) 式(5)中Ni是第i個(gè)個(gè)體被克隆的份數(shù); β是克隆因子,β=2; n是臨時(shí)種群PS中的個(gè)體數(shù),n=10; i是第i個(gè)個(gè)體在臨時(shí)種群PS中的序號(hào); round是四舍五入取整函數(shù)。
克隆種群PC中個(gè)體的總個(gè)數(shù)為 第七步克隆種群PC中的個(gè)體被隨機(jī)選中進(jìn)行變異操作,個(gè)體被選中的條件如下 if rand(1)<RM(6) 式(6)中RM是變異的概率,RM=0.5; rand(1)隨機(jī)產(chǎn)生一個(gè)0~1范圍內(nèi)的實(shí)數(shù); 選中的個(gè)體被隨機(jī)選中的操作算子所修改,選中的操作算子為以下待選的操作算子中的全部或部分 a、添加邊操作算子,其執(zhí)行過程是隨機(jī)選擇兩個(gè)不同的頂點(diǎn),例如v1、v2∈V,在這兩個(gè)頂點(diǎn)之間增加一條有向邊,并修改頂點(diǎn)v1,v2的值。
b、刪除邊操作算子,其執(zhí)行過程是隨機(jī)選擇兩個(gè)不同的頂點(diǎn),例如v3、v4∈V,在兩個(gè)頂點(diǎn)之間隨機(jī)刪除一條邊,例如e1∈Ei(v3)∩Eo(v4),并修改頂點(diǎn)v3、v4的值。
c、修改邊操作算子,其執(zhí)行過程是首先隨機(jī)選取三個(gè)頂點(diǎn),例如v5、v6、v7∈V,然后隨機(jī)選取其中兩個(gè)頂點(diǎn)v5和v6之間的有向邊,例如e2,如果e2∈Ei(v5)∩Eo(v6),則將e2刪除,并新增加一有向邊e3[v7-v5],最后修改v6和v7的值。
d、添加頂點(diǎn)操作算子,其執(zhí)行過程是隨機(jī)選取一個(gè)頂點(diǎn),例如v8∈V,然后添加一個(gè)新頂點(diǎn),例如v9∈VMID,使v9的各個(gè)端子均與v8連接。
e、刪除頂點(diǎn)操作算子,其執(zhí)行過程是隨機(jī)選中一個(gè)頂點(diǎn),例如v10∈VMID,同時(shí)刪除該頂點(diǎn)以及與該頂點(diǎn)相連接的所有有向邊,最后修改所有與頂點(diǎn)v10連接的頂點(diǎn)的值。
f、串聯(lián)操作算子,其執(zhí)行過程是隨機(jī)選中一條邊,例如e4[vstart-vend],添加一個(gè)新頂點(diǎn),例如v11∈VMID,同時(shí)e4[vstart-vend]被刪除,兩個(gè)新的有向邊,例如e5[vstart-v11]∈Ei(v11)和e6[v11-vend]∈Eo(v11)被加入E。
g、反串聯(lián)操作算子,其執(zhí)行過程是隨機(jī)刪除一頂點(diǎn)v12及其Ei(v12)和Eo(v12),將一對(duì)有向邊e7[vstart-v12]∈Ei(v12)和e8[v12-vend]∈Eo(v12)合并為一條新的有向邊e9[vstart-vend]。
選中的操作算子的個(gè)數(shù)由下式?jīng)Q定 No=RAND(L)(7) 式(7)中L是操作算子類型的總數(shù),L=7; RAND(x)返回一個(gè)整數(shù)r∈

對(duì)克隆種群PC中的個(gè)體修改后,形成變異種群PM,克隆種群PC和變異種群PM中的個(gè)體數(shù)目相同。
第八步評(píng)估變異種群PM中的59個(gè)個(gè)體,評(píng)估的過程與第四步相同。
第九步將評(píng)估后的變異種群PM中的59個(gè)個(gè)體首先按照親和力的大小降序排列,然后從中選出10個(gè)親和力高的個(gè)體形成重選種群PR,若重選種群PR中的個(gè)體親和力高于種群P中的個(gè)體親和力,則種群P中的親和力低的個(gè)體將被替換,形成次新種群PN。
第十步按照第三步所述的產(chǎn)生新個(gè)體的過程,隨機(jī)產(chǎn)生10個(gè)新個(gè)體,再替換次新種群PN中10個(gè)親和力低的個(gè)體,形成新種群PT;然后對(duì)新種群PT按照第四步所述的過程進(jìn)行評(píng)估。
重復(fù)執(zhí)行上述步驟中的第五步~第十步,依此循環(huán),直到達(dá)到最大的循環(huán)次數(shù)100次,以上步驟執(zhí)行完最大循環(huán)次數(shù)100次以后稱為一次合成實(shí)驗(yàn)。
重復(fù)進(jìn)行1000次合成實(shí)驗(yàn),成功合成目標(biāo)電路613次,失敗387次;其中僅含有4個(gè)邏輯門的最優(yōu)組合邏輯電路238次;除此之外,在成功合成出目標(biāo)電路的實(shí)驗(yàn)中,本方法平均只需要29.33代就能完成目標(biāo)電路的自動(dòng)合成,成功概率為61.3%,獲得最優(yōu)組合邏輯電路的成功概率為23.8%。自動(dòng)合成出一個(gè)滿足真值表要求的個(gè)體的“圖”編碼如圖4所示,對(duì)應(yīng)的組合邏輯電路如圖5所示。
實(shí)施例2一種基于“圖”編碼的四輸入一輸出組合邏輯電路的自動(dòng)合成方法,該組合邏輯電路的自動(dòng)合成步驟流程如圖1所示 第一步同實(shí)施例1第一步。
第二步設(shè)定如圖6所示的目標(biāo)組合邏輯電路真值表和最大循環(huán)次數(shù)為100。
第三步模板組合邏輯電路如圖3所示,是由一個(gè)兩輸入一輸出的邏輯門、兩個(gè)輸入端子和一個(gè)輸出端子組成的組合邏輯單元;種群中任意一個(gè)個(gè)體是一個(gè)組合邏輯電路的“圖”編碼形式,個(gè)體是在模板組合邏輯電路的基礎(chǔ)上隨機(jī)產(chǎn)生。個(gè)體產(chǎn)生的過程是向模板組合邏輯電路中隨機(jī)添加新頂點(diǎn),添加新頂點(diǎn)的個(gè)數(shù)和位置是隨機(jī)的,在隨機(jī)添加的新頂點(diǎn)和模板組合邏輯電路中的頂點(diǎn)之間添加有向邊,直到該“圖”滿足規(guī)定的輸入頂點(diǎn)數(shù)為4、輸出頂點(diǎn)數(shù)為1且不含環(huán)狀結(jié)構(gòu)的條件為止。
個(gè)體產(chǎn)生的過程重復(fù)進(jìn)行200次,在模板組合邏輯電路基礎(chǔ)上則隨機(jī)產(chǎn)生200個(gè)不同的個(gè)體,200個(gè)不同的個(gè)體表示200個(gè)不同的四輸入一輸出組合邏輯電路,形成種群P。
第四步評(píng)估種群P中所有個(gè)體所表示的四輸入一輸出組合邏輯電路的性能,即每個(gè)個(gè)體親和力的計(jì)算。每個(gè)個(gè)體的親和力等于它的功能親和力與性能親和力的和 Affinity=FV+PV(1) 式(1)中Fv是個(gè)體的功能親和力; Pv是個(gè)體的性能親和力。
功能親和力Fv的計(jì)算公式為 式(2)中M是組合邏輯電路輸入的個(gè)數(shù),M=4; N是組合邏輯電路輸出的個(gè)數(shù),N=1; fvij的定義如下
式(3)中fi(xi)表示當(dāng)輸入為真值表的第i行時(shí)組合邏輯電路第j個(gè)輸出端子的值; xi是真值表第i個(gè)變量; Pij表示真值表第i行第j個(gè)輸出值。
性能親和力Pv的計(jì)算公式為
式(4)中r表示組合邏輯電路的邏輯門數(shù)。
第五步將種群P中的200個(gè)個(gè)體按照親和力的大小降序排列,親和力高的80個(gè)個(gè)體被選中,形成臨時(shí)種群PS,臨時(shí)種群PS中的個(gè)體同樣按照親和力的大小降序排列。
第六步臨時(shí)種群PS被克隆(復(fù)制),克隆后的個(gè)體形成克隆種群PC??寺》N群PC中第i個(gè)個(gè)體被克隆的份數(shù)與第i個(gè)個(gè)體的親和力成正比 Ni=round(β*n/i)(5) 式(5)中Ni是第i個(gè)個(gè)體被克隆的份數(shù); β是克隆因子,β=2; n是臨時(shí)種群PS中的個(gè)體數(shù),n=80; i是第i個(gè)個(gè)體在臨時(shí)種群PS中的序號(hào); round是四舍五入取整函數(shù)。
克隆種群PC中個(gè)體的總個(gè)數(shù)為 第七步同實(shí)施例1第七步。
第八步評(píng)估變異種群PM中的793個(gè)個(gè)體,評(píng)估的過程與第四步相同。
第九步將評(píng)估后的變異種群PM中的793個(gè)個(gè)體首先按照親和力的大小降序排列,然后從中選出80個(gè)親和力高的個(gè)體形成重選種群PR,若重選種群PR中的個(gè)體親和力高于種群P中的個(gè)體親和力,則種群P中的親和力低的個(gè)體被替換,形成次新種群PN。
第十步按照第三步所述的產(chǎn)生新個(gè)體的過程,隨機(jī)產(chǎn)生80個(gè)新個(gè)體,再替換次新種群PN中80個(gè)親和力低的個(gè)體,形成新種群PT;然后對(duì)新種群PT按照第四步所述的過程進(jìn)行評(píng)估。
重復(fù)執(zhí)行上述步驟中的第五步~第十步,依此循環(huán),直到達(dá)到最大的循環(huán)次數(shù)100次,以上步驟執(zhí)行完最大循環(huán)次數(shù)100次以后稱為一次合成實(shí)驗(yàn)。
重復(fù)進(jìn)行500次合成實(shí)驗(yàn),此方法成功合成目標(biāo)電路206次,失敗294次;其中僅含有7個(gè)邏輯門的最優(yōu)組合邏輯電路87次;除此之外,在成功合成出目標(biāo)電路的實(shí)驗(yàn)中,本方法平均只需要48.95代就能完成目標(biāo)電路的自動(dòng)合成,成功概率為41.2%,獲得最優(yōu)組合邏輯電路的成功概率為17.4%。自動(dòng)合成出一個(gè)滿足目標(biāo)真值表要求的個(gè)體的“圖”編碼如圖7所示,對(duì)應(yīng)的組合邏輯電路圖如圖8所示。
實(shí)施例3一種基于“圖”編碼的四輸入三輸出組合邏輯電路的自動(dòng)合成方法,該組合邏輯電路的自動(dòng)合成步驟流程如圖1所示 第一步同實(shí)施例1第一步。
第二步設(shè)定如圖9所示的目標(biāo)組合邏輯電路真值表和最大循環(huán)次數(shù)為500。
第三步模板組合邏輯電路如圖3所示,是由一個(gè)兩輸入一輸出的邏輯門、兩個(gè)輸入端子和一個(gè)輸出端子組成的組合邏輯單元;種群中任意一個(gè)個(gè)體是一個(gè)組合邏輯電路的“圖”編碼形式,個(gè)體是在模板組合邏輯電路的基礎(chǔ)上隨機(jī)產(chǎn)生。個(gè)體產(chǎn)生的過程是向模板組合邏輯電路中隨機(jī)添加新頂點(diǎn),添加新頂點(diǎn)的個(gè)數(shù)和位置是隨機(jī)的,在隨機(jī)添加的新頂點(diǎn)和模板組合邏輯電路中的頂點(diǎn)之間添加有向邊,直到該“圖”滿足規(guī)定的輸入頂點(diǎn)數(shù)為4、輸出頂點(diǎn)數(shù)為3且不含環(huán)狀結(jié)構(gòu)的條件為止。
個(gè)體產(chǎn)生的過程重復(fù)進(jìn)行500次,在模板組合邏輯電路基礎(chǔ)上則隨機(jī)產(chǎn)生500個(gè)不同的個(gè)體,500個(gè)不同的個(gè)體表示500個(gè)不同的四輸入三輸出組合邏輯電路,形成種群P。
第四步評(píng)估種群P中所有個(gè)體所表示的四輸入三輸出組合邏輯電路的性能,即每個(gè)個(gè)體親和力的計(jì)算。每個(gè)個(gè)體的親和力等于它的功能親和力與性能親和力的和 Affinity=FV+PV(1) 式(1)中Fv是個(gè)體的功能親和力; Pv是個(gè)體的性能親和力。
功能親和力Fv的計(jì)算公式為 式(2)中M是組合邏輯電路輸入的個(gè)數(shù),M=4; N是組合邏輯電路輸出的個(gè)數(shù),N=3; fvij的定義如下
式(3)中fi(xi)表示當(dāng)輸入為真值表的第i行時(shí)組合邏輯電路第j個(gè)輸出端子的值; xi是真值表第i個(gè)變量; Pij表示真值表第i行第j個(gè)輸出值。
性能親和力Pv的計(jì)算公式為
式(4)中r表示組合邏輯電路的邏輯門數(shù)。
第五步將種群P中的500個(gè)個(gè)體按照親和力的大小降序排列,親和力高的200個(gè)個(gè)體被選中,形成臨時(shí)種群PS,臨時(shí)種群PS中的個(gè)體同樣按照親和力的大小降序排列。
第六步臨時(shí)種群PS被克隆(復(fù)制),克隆后的個(gè)體形成克隆種群PC??寺》N群PC中第i個(gè)個(gè)體被克隆的份數(shù)與第i個(gè)個(gè)體的親和力成正比 Ni=round(β*n/i)(5) 式(5)中Ni是第i個(gè)個(gè)體被克隆的份數(shù); β是克隆因子,β=2; n是臨時(shí)種群PS中的個(gè)體數(shù),n=200; i是第i個(gè)個(gè)體在臨時(shí)種群PS中的序號(hào); round是四舍五入取整函數(shù)。
克隆種群PC中個(gè)體的總個(gè)數(shù)為 第七步同實(shí)施例1第七步。
第八步評(píng)估變異種群PM中的2348個(gè)個(gè)體,評(píng)估的過程與第四步相同。
第九步將評(píng)估后的變異種群PM中的2348個(gè)個(gè)體首先按照親和力的大小降序排列,然后從中選出200個(gè)親和力高的個(gè)體形成重選種群PR,若重選種群PR中的個(gè)體親和力高于種群P中的個(gè)體親和力,則種群P中的親和力低的個(gè)體被替換,形成次新種群PN。
第十步按照第三步所述的產(chǎn)生新個(gè)體的過程,隨機(jī)產(chǎn)生200個(gè)新個(gè)體,再替換次新種群PN中200個(gè)親和力低的個(gè)體,形成新種群PT;然后對(duì)新種群PT按照第四步所述的過程進(jìn)行評(píng)估。
重復(fù)執(zhí)行上述步驟中的第五步~第十步,依此循環(huán),直到達(dá)到最大的循環(huán)次數(shù)500次,以上步驟執(zhí)行完最大循環(huán)次數(shù)500次以后稱為一次合成實(shí)驗(yàn)。
重復(fù)進(jìn)行500次合成實(shí)驗(yàn),此方法成功合成目標(biāo)電路84次,失敗416次;其中僅含有10個(gè)邏輯門的最優(yōu)組合邏輯電路17次;除此之外,在成功合成出目標(biāo)電路的實(shí)驗(yàn)中,本方法平均只需要196.50代就能完成目標(biāo)電路的自動(dòng)合成,成功概率為16.8%,獲得最優(yōu)組合邏輯電路的成功概率為3.4%.。自動(dòng)合成出一個(gè)滿足目標(biāo)真值表要求的個(gè)體的“圖”編碼如圖10所示,對(duì)應(yīng)的組合邏輯電路圖如圖11所示。
具體實(shí)施方式
采用的基于“圖”編碼方法可以生成任意結(jié)構(gòu)的組合邏輯電路,編碼方便直接,并且將編碼映射到組合邏輯電路的過程非常簡單,因此編碼效率高。且采用的克隆選擇搜索算法,具有全局搜索的能力,此外,本具體實(shí)施方式
設(shè)計(jì)了添加邊、刪除邊、修改邊、添加頂點(diǎn)、刪除頂點(diǎn)、串聯(lián)和反串聯(lián)七種用于改變組合邏輯電路結(jié)構(gòu)的操作算子,這些操作算子可以直接對(duì)“圖”進(jìn)行操作,具有不破壞電路連通性的特性。
因此,本具體實(shí)施方式
具有高效自動(dòng)生成任意組合邏輯電路、映射簡單、編碼效率高和能用“圖”的結(jié)構(gòu)表示組合邏輯電路的特點(diǎn)。
權(quán)利要求
1、一種基于“圖”編碼的組合邏輯電路的自動(dòng)合成方法,其特征在于該組合邏輯電路的自動(dòng)合成步驟為
第一步用“有向圖”表示組合邏輯電路,“圖”G記作(V,E),V是“圖”的頂點(diǎn)的集合,E是“圖”的邊的集合;
第二步設(shè)定目標(biāo)組合邏輯電路的真值表和最大循環(huán)次數(shù);
第三步模板組合邏輯電路是由一個(gè)兩輸入一輸出的邏輯門、兩個(gè)輸入端子和一個(gè)輸出端子組成的組合邏輯單元;種群中任意一個(gè)個(gè)體是一個(gè)組合邏輯電路的“圖”編碼形式,個(gè)體是在模板組合邏輯電路的基礎(chǔ)上隨機(jī)產(chǎn)生;個(gè)體產(chǎn)生的過程是向模板組合邏輯電路中隨機(jī)添加新頂點(diǎn),添加新頂點(diǎn)的個(gè)數(shù)和位置是隨機(jī)的;在隨機(jī)添加的新頂點(diǎn)和模板組合邏輯電路中的頂點(diǎn)之間添加有向邊,直到該“圖”滿足規(guī)定的輸入輸出頂點(diǎn)數(shù)且不含環(huán)狀結(jié)構(gòu)為止;
個(gè)體產(chǎn)生的過程重復(fù)進(jìn)行N次,N個(gè)不同的個(gè)體表示N個(gè)不同的組合邏輯電路,從而形成種群P;
第四步評(píng)估種群P中所有個(gè)體所表示的組合邏輯電路的性能,即每個(gè)個(gè)體親和力的計(jì)算,每個(gè)個(gè)體的親和力等于它的功能親和力與性能親和力的和
Affinity=FV+PV(1)
式(1)中Fv是個(gè)體的功能親和力;
Pv是個(gè)體的性能親和力;
功能親和力Fv的計(jì)算公式為
式(2)中M是組合邏輯電路輸入的個(gè)數(shù);
N是組合邏輯電路輸出的個(gè)數(shù);
fvij的定義如下
式(3)中fj(xi)表示當(dāng)輸入為真值表的第i行時(shí)組合邏輯電路第j個(gè)輸出端子的值;
xi是真值表第i個(gè)變量;
Pij表示真值表第i行第j個(gè)輸出值;
性能親和力Pv的計(jì)算公式為
式(4)中r表示組合邏輯電路的邏輯門數(shù);
第五步將種群P中的N個(gè)個(gè)體按照親和力的大小降序排列,親和力高的n(n<N)個(gè)個(gè)體被選中,形成臨時(shí)種群PS,臨時(shí)種群PS中的個(gè)體同樣按照親和力的大小降序排列;
第六步臨時(shí)種群PS被克隆,克隆后的個(gè)體形成克隆種群PC,克隆種群PC中第i個(gè)個(gè)體被克隆的份數(shù)與第i個(gè)個(gè)體的親和力成正比
Ni=round(β*n/i)(5)
式(5)中Ni是第i個(gè)個(gè)體被克隆的份數(shù);
β是克隆因子;
n是臨時(shí)種群PS中的個(gè)體數(shù);
i是該個(gè)體在臨時(shí)種群PS中的序號(hào);
round是四舍五入取整函數(shù);
第七步克隆種群PC中的個(gè)體被隨機(jī)選中進(jìn)行變異操作,個(gè)體被選中的條件如下
if rand(1)<RM (6)
式(6)中RM是變異的概率,0<RM≤1;
rand(1)隨機(jī)產(chǎn)生一個(gè)0~1范圍內(nèi)的實(shí)數(shù);
選中的個(gè)體被隨機(jī)選中的操作算子所修改,選中的操作算子為以下待選的操作算子中的全部或部分
a、添加邊操作算子;
b、刪除邊操作算子;
c、修改邊操作算子;
d、添加頂點(diǎn)操作算子;
e、刪除頂點(diǎn)操作算子;
f、串聯(lián)操作算子;
g、反串聯(lián)操作算子;
選中的操作算子的個(gè)數(shù)由下式?jīng)Q定
No=RAND(L) (7)
式(7)中L是操作算子類型的總數(shù);
RAND(x)返回一個(gè)整數(shù)r∈
;
對(duì)克隆種群PC中的個(gè)體修改后,形成變異種群PM,克隆種群PC和變異種群PM中的個(gè)體數(shù)目相同;
第八步評(píng)估變異種群PM中的個(gè)體,評(píng)估的過程與第四步相同;
第九步將評(píng)估后的變異種群PM中的個(gè)體首先按照親和力的大小降序排列,然后從中選出m(m<N)個(gè)親和力高的個(gè)體形成重選種群PR,若重選種群PR中的個(gè)體親和力高于種群P中的個(gè)體親和力,則種群P中的親和力低的個(gè)體將被替換,形成次新種群PN;
第十步按照第三步所述的產(chǎn)生新個(gè)體的過程,隨機(jī)產(chǎn)生d(d<N)個(gè)新個(gè)體,再替換次新種群PN中d個(gè)親和力低的個(gè)體,形成新種群PT,然后對(duì)新種群PT按照第四步所述的過程進(jìn)行評(píng)估;
重復(fù)執(zhí)行上述步驟中的第五步~第十步,依此循環(huán),直到達(dá)到最大的循環(huán)次數(shù);以上步驟執(zhí)行完最大循環(huán)次數(shù)以后稱為一次合成實(shí)驗(yàn),重復(fù)上述合成實(shí)驗(yàn)M次,最后自動(dòng)合成出一個(gè)滿足真值表要求的個(gè)體的“圖”編碼和對(duì)應(yīng)的組合邏輯電路。
2、根據(jù)權(quán)利要求1所述的基于“圖”編碼的組合邏輯電路的自動(dòng)合成方法,其特征在于所述的“圖”的頂點(diǎn)分為輸入頂點(diǎn)、輸出頂點(diǎn)和中間頂點(diǎn),輸入頂點(diǎn)、輸出頂點(diǎn)和中間頂點(diǎn)分別用VIN、VOUT和VMID表示;在進(jìn)化過程中,VMID允許添加、刪除或修改,VIN、VOUT禁止添加、刪除或修改,VIN、VOUT分別表示組合邏輯電路的輸入和輸出端子,VMID表示組合邏輯電路中邏輯門的類型;邏輯門包括與門、或門、非門和異或門四種基本的邏輯門,其中與門、或門和異或門是兩輸入一輸出的邏輯門,非門是一輸入一輸出的邏輯門。
3、根據(jù)權(quán)利要求1所述的基于“圖”編碼的組合邏輯電路的自動(dòng)合成方法,其特征在于所述的“圖”的邊為有向邊,表示邏輯門之間的連接,一條有向邊e∈E僅能起始于某一頂點(diǎn)的輸出端子并終止于另一頂點(diǎn)的輸入端子,有向邊中箭頭表示信號(hào)流的方向,一條有向邊被描述為Name[A-B];其中A、B分別是起始點(diǎn)A和終止點(diǎn)B,符號(hào)Ei(v)和Eo(v)分別表示連接至頂點(diǎn)v的輸入端子的有向邊集和輸出端子的有向邊集。
4、根據(jù)權(quán)利要求1所述的基于“圖”編碼的組合邏輯電路的自動(dòng)合成方法,其特征在于所述的添加邊操作算子的執(zhí)行過程是隨機(jī)選擇兩個(gè)不同的頂點(diǎn)v1、v2∈V,在這兩個(gè)頂點(diǎn)之間增加一條有向邊,并修改頂點(diǎn)v1,v2的值。
5、根據(jù)權(quán)利要求1所述的基于“圖”編碼的組合邏輯電路的自動(dòng)合成方法,其特征在于所述的刪除邊操作算子的執(zhí)行過程是隨機(jī)選擇兩個(gè)不同的頂點(diǎn)v3、v4∈V,在兩個(gè)頂點(diǎn)之間隨機(jī)刪除一條邊e1∈Ei(v3)∩Eo(v4),并修改頂點(diǎn)v3、v4的值。
6、根據(jù)權(quán)利要求1所述的基于“圖”編碼的組合邏輯電路的自動(dòng)合成方法,其特征在于所述的修改邊操作算子的執(zhí)行過程是首先隨機(jī)選取三個(gè)頂點(diǎn)v5、v6、v7∈V,然后隨機(jī)選取其中兩個(gè)頂點(diǎn)v5和v6之間的有向邊e2,如果e2∈Ei(v5)∩Eo(v6),則將e2刪除,并新增加一有向邊e3[v7-v5],最后修改v6和v7的值。
7、根據(jù)權(quán)利要求1所述的基于“圖”編碼的組合邏輯電路的自動(dòng)合成方法,其特征在于所述的添加頂點(diǎn)操作算子的執(zhí)行過程是隨機(jī)選取一個(gè)頂點(diǎn)v8∈V,然后添加一個(gè)新頂點(diǎn)v9∈VMID,使v9的各個(gè)端子均與v8連接。
8、根據(jù)權(quán)利要求1所述的基于“圖”編碼的組合邏輯電路的自動(dòng)合成方法,其特征在于所述的刪除頂點(diǎn)操作算子的執(zhí)行過程是首先隨機(jī)選中一個(gè)頂點(diǎn)v10∈VMID,同時(shí)刪除該頂點(diǎn)以及與該頂點(diǎn)相連接的所有有向邊,最后修改所有與頂點(diǎn)v10連接的頂點(diǎn)的值。
9、根據(jù)權(quán)利要求1所述的基于“圖”編碼的組合邏輯電路的自動(dòng)合成方法,其特征在于所述的串聯(lián)操作算子的執(zhí)行過程是隨機(jī)選中一條邊e4[vstart-vend],添加一個(gè)新頂點(diǎn)v11∈VMID,同時(shí)e4[vstart-vend]被刪除,兩個(gè)新的有向邊e5[vstart-v11]∈Ei(v11)和e6[v11-vend]∈Eo(v11)被加入E。
10、根據(jù)權(quán)利要求1所述的基于“圖”編碼的組合邏輯電路的自動(dòng)合成方法,其特征在于所述的反串聯(lián)操作算子的執(zhí)行過程是隨機(jī)刪除一頂點(diǎn)v12及其Ei(v12)和Eo(v12),將一對(duì)有向邊e7[vstart-v12]∈Ei(v12)和e8[v12-vend]∈Eo(v12)合并為一條新的有向邊e9[vstart-vend]。
全文摘要
本發(fā)明涉及一種基于“圖”編碼的組合邏輯電路的自動(dòng)合成方法。其方案是用“有向圖”表示組合邏輯電路,設(shè)定組合邏輯電路的真值表和最大循環(huán)次數(shù),隨機(jī)產(chǎn)生N個(gè)個(gè)體形成種群P,評(píng)估種群P中所有個(gè)體的性能,選親和力高的n個(gè)個(gè)體形成臨時(shí)種群PS,對(duì)臨時(shí)種群PS克隆形成克隆種群PC,對(duì)克隆種群PC修改形成變異種群PM,評(píng)估變異種群PM,選出m個(gè)親和力高的個(gè)體形成重選種群PR,替換種群P中親和力低的個(gè)體形成次新種群PN,隨機(jī)產(chǎn)生d個(gè)新個(gè)體替換次新種群PN中親和力低的個(gè)體形成新種群PT;對(duì)新種群PT按種群P的評(píng)估方法進(jìn)行評(píng)估,依此循環(huán),直到最大循環(huán)次數(shù)為止。本發(fā)明具有高效自動(dòng)生成任意組合邏輯電路和編碼效率高的特點(diǎn)。
文檔編號(hào)H03K19/00GK101576735SQ20091006198
公開日2009年11月11日 申請(qǐng)日期2009年5月5日 優(yōu)先權(quán)日2009年5月5日
發(fā)明者甘朝暉, 綱 史, 濤 尚, 旻 蔣, 朱平平, 蔣戀華 申請(qǐng)人:武漢科技大學(xué)
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
长岛县| 德江县| 龙山县| 绥中县| 阿勒泰市| 肇州县| 汉中市| 水城县| 四会市| 龙井市| 化隆| 鄯善县| 屯昌县| 夏邑县| 东城区| 额济纳旗| 罗源县| 苏尼特左旗| 墨脱县| 万山特区| 墨竹工卡县| 延寿县| 栖霞市| 剑河县| 游戏| 德钦县| 巴里| 卓资县| 页游| 鹰潭市| 建阳市| 廉江市| 平塘县| 科技| 深泽县| 无棣县| 南投市| 叙永县| 南京市| 塘沽区| 莒南县|