0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何對(duì)數(shù)字電路進(jìn)行優(yōu)化設(shè)計(jì)

h1654155282.3538 ? 來(lái)源:電子迷 ? 作者:電子迷 ? 2020-08-21 17:37 ? 次閱讀

隨著時(shí)代的不斷發(fā)展,科技的不斷創(chuàng)新,軟硬件設(shè)備的功能逐漸增多,數(shù)字電路變得越來(lái)越復(fù)雜、越來(lái)越集成化,大規(guī)模集成電路芯片設(shè)計(jì)、數(shù)據(jù)儲(chǔ)存中被大量應(yīng)用,傳統(tǒng)的設(shè)計(jì)規(guī)則與經(jīng)驗(yàn)已經(jīng)無(wú)法滿足信息時(shí)代的要求。為了保障系統(tǒng)設(shè)計(jì)的可靠性與通用性,可以從以下3方面對(duì)數(shù)字電路進(jìn)行優(yōu)化改進(jìn):一是大規(guī)模使用現(xiàn)場(chǎng)可重構(gòu)器件,使硬件電路的實(shí)現(xiàn)載體和評(píng)價(jià)方式變得更加優(yōu)化,以推進(jìn)數(shù)字電路的優(yōu)化。二是優(yōu)化算法,從而全面優(yōu)化搜索性能。例如使用代入遺傳算法的過(guò)程中,可以采用新的結(jié)構(gòu)來(lái)提高數(shù)字電路的設(shè)計(jì)模型,并將下載的最好染色體保留在可重構(gòu)器件上,用染色體算法進(jìn)行運(yùn)算,進(jìn)而使運(yùn)算和操作變得更加優(yōu)化。三是利用軟件模型,將期望的數(shù)值和電路優(yōu)化設(shè)計(jì)所得到的結(jié)果與當(dāng)前的實(shí)際情況進(jìn)行對(duì)比,方便優(yōu)化過(guò)程中直觀明確地了解優(yōu)化方案的效果,進(jìn)而提出更加完善的優(yōu)化設(shè)計(jì)。

1模塊化數(shù)字電路簡(jiǎn)介

1.1模塊化的設(shè)計(jì)理念

本文提出的自頂向下的模塊設(shè)計(jì)理念,將復(fù)雜的數(shù)字電路設(shè)計(jì)分解、細(xì)化為一系列相對(duì)簡(jiǎn)單的子電路,將復(fù)雜、繁瑣的電路設(shè)計(jì)變?yōu)楹?jiǎn)單、容易的設(shè)計(jì),這種將復(fù)雜難懂的問(wèn)題轉(zhuǎn)換為簡(jiǎn)單易懂的問(wèn)題的方式在于思維的轉(zhuǎn)變。在本文中,具體描述數(shù)字電路功能時(shí),可在數(shù)字電路設(shè)計(jì)上搭建一個(gè)真值表,對(duì)于那些可以?xún)?yōu)化的過(guò)程,需把真值表看成一個(gè)完整的數(shù)字電路系統(tǒng),對(duì)數(shù)字電路的輸入變量和輸出變量進(jìn)行模塊化設(shè)計(jì),讓整個(gè)過(guò)程變得更加簡(jiǎn)單方便。把輸入部分的位數(shù)看作子功能輸入信號(hào),把其余位數(shù)看作通信信號(hào),這樣就可使整個(gè)算法變得簡(jiǎn)單。通俗說(shuō)就是利用優(yōu)化電子電路的輸入和輸出來(lái)改變傳統(tǒng)的電路算法,使用模塊化設(shè)計(jì),優(yōu)化計(jì)算系統(tǒng)的獨(dú)立性。

與傳統(tǒng)電路算法相比,模塊化進(jìn)化算法具有兩個(gè)優(yōu)勢(shì),一是可以讓功能電路的選擇更加準(zhǔn)確;二是能夠縮小子系統(tǒng)輸入和輸出的位數(shù)占比,降低算法復(fù)雜程度,提高算法的成功概率,減少算法計(jì)算時(shí)間。

1.2數(shù)字電路優(yōu)化設(shè)計(jì)

數(shù)字電路設(shè)計(jì)劃分為許多個(gè)小模塊,為了快速、高效地尋找出一種最優(yōu)的電路設(shè)計(jì)目標(biāo),引入遺傳算法,遺傳算法的過(guò)程如下。

1.2.1染色體編碼

在對(duì)染色體定向編碼過(guò)程中,首先要進(jìn)行遺傳算法的運(yùn)算時(shí)間規(guī)劃,對(duì)電路模塊化結(jié)構(gòu)的染色體進(jìn)行優(yōu)化,以提升運(yùn)算時(shí)間。進(jìn)行染色體編碼時(shí),可將染色體分成更為獨(dú)立的邏輯段,每個(gè)獨(dú)立的邏輯段都表示一個(gè)小的子系統(tǒng),在子系統(tǒng)當(dāng)中采用更加精準(zhǔn)的門(mén)級(jí)電路進(jìn)化方式,讓每個(gè)子系統(tǒng)都包含編碼、通信信號(hào)和聯(lián)線編碼,這樣就可以讓整個(gè)染色體變化的過(guò)程變得更為簡(jiǎn)單快捷。遺傳算法的染色編碼為實(shí)數(shù)編碼,把所有的子系統(tǒng)整合為一個(gè)大的染色體,每個(gè)子系統(tǒng)既可以獨(dú)立進(jìn)行并排凈化,又可以降低大范圍的電路資源浪費(fèi),而且每個(gè)子系統(tǒng)之間既相互獨(dú)立又相互聯(lián)系。

1.2.2適應(yīng)度函數(shù)設(shè)計(jì)

在數(shù)字電路設(shè)計(jì)中,適應(yīng)度函數(shù)有著非常重要的作用,適應(yīng)度函數(shù)設(shè)計(jì)的優(yōu)劣可以對(duì)最終目標(biāo)產(chǎn)生直接影響。可對(duì)適應(yīng)度函數(shù)的輸入值與期望值進(jìn)行更為科學(xué)的對(duì)比研究,讓整個(gè)評(píng)價(jià)系統(tǒng)變得更加準(zhǔn)確,評(píng)價(jià)過(guò)程采用的標(biāo)準(zhǔn)就是操作結(jié)果;數(shù)字電路中遺傳算法的使用公式可以表示電路功能的正確度。

1.2.3選擇操作

在進(jìn)行遺傳算法的過(guò)程中,需選擇很多操作,其中包括競(jìng)爭(zhēng)選擇方法和輪盤(pán)法。本文采用模塊化原則,故而傾向選用競(jìng)爭(zhēng)選擇方法。競(jìng)爭(zhēng)選擇方法就是從父代的種族當(dāng)中挑選多個(gè)遺傳個(gè)體,然后將這些個(gè)體采用適應(yīng)度函數(shù)進(jìn)行比較,最終選擇最好的個(gè)體來(lái)進(jìn)行交叉算法,不斷地進(jìn)行重復(fù),直到整個(gè)過(guò)程操作完畢。

1.2.4交叉算法

如果使用交叉算法進(jìn)行操作,就需要從父代當(dāng)中隨便選擇兩個(gè)染色體進(jìn)行雜交,以便把優(yōu)秀基因保留下來(lái),并且較大程度地保留特別優(yōu)秀的基因。采用交叉算法可以使種族的基因更加優(yōu)化,讓整個(gè)種族變得更加發(fā)達(dá)。在進(jìn)行交叉算法的過(guò)程中,一般采用均勻交叉方式或兩點(diǎn)交叉方式及單點(diǎn)交叉方式。均勻交叉方式就是將染色體的很多優(yōu)點(diǎn)進(jìn)行交換,讓它們更加有利于種族延續(xù),本文采用的是均勻交叉操作方式。

1.2.5變異算子

變異算子是把染色體中的一些基因按照相應(yīng)的概率進(jìn)行變異操作,所選取的概率值越大,遺傳過(guò)程中的多樣性就會(huì)越大。變異操作僅在父代上進(jìn)行就可改變某一個(gè)基因,使種族發(fā)生整體改變。本文中變異算子的具體操作是選擇一條染色體,根據(jù)變異概率決定是否變異,如果取值為零,那么就不進(jìn)行變異;如果取值不為零,那么就進(jìn)行文件的變異操作。

2降低功耗的具體措施

1)優(yōu)化方向。使用組合邏輯+時(shí)序邏輯+存儲(chǔ)的方法。時(shí)序電路的特點(diǎn):輸出與當(dāng)時(shí)的輸入值和電路之前的狀態(tài)有關(guān)系;組合電路功能的特點(diǎn):任意一個(gè)時(shí)刻的輸出僅僅與該時(shí)刻的輸入有關(guān)系,和電路原來(lái)的狀態(tài)沒(méi)有關(guān)系,可以采用結(jié)合的方式來(lái)減小功耗。

2)組合邏輯。通過(guò)算法優(yōu)化來(lái)減少門(mén)電路,復(fù)用模塊,優(yōu)化算法。

3)時(shí)序邏輯。盡量降低采用沒(méi)有用的register和非功能性的register,最好不要采用帶復(fù)位reg,數(shù)據(jù)打拍。

3存儲(chǔ)模塊及不同規(guī)格

RAM的選擇存儲(chǔ)模塊選擇RAM還是register,應(yīng)根據(jù)需求綜合考慮。規(guī)模小的存儲(chǔ)結(jié)構(gòu)可以采用寄存器實(shí)現(xiàn)(規(guī)模小于8×32的FIFO);規(guī)模較大的存儲(chǔ)模塊可采用RAM實(shí)現(xiàn)(規(guī)模大于8×32的FIFO)。同等容量下,register比RAM功耗大,所以大容量存儲(chǔ)采用register會(huì)造成更大的功耗。如果是小規(guī)模存儲(chǔ),采用register面積開(kāi)銷(xiāo)比較少,且相對(duì)于RAM功耗增加不明顯。

拆分RAM能夠減少功耗;采用低主頻高密度的RAM,減小使用面積能夠加大位寬降低訪問(wèn)頻率;把多端口的RAM換成單端口的RAM或采用共享RAM的方式都能夠減小使用面積與功耗。

4減小面積的措施及電路時(shí)序的優(yōu)化

1)減小面積的措施。在組合邏輯方面,除了采取優(yōu)化算法減小門(mén)電路,還可以采用共享資源、復(fù)用模塊等方法減小面積。采取組合邏輯+時(shí)序邏輯+存儲(chǔ)的方式同樣可以減小面積。

2)電路時(shí)序的優(yōu)化。通過(guò)優(yōu)化算法可以降低組合邏輯的層數(shù);邏輯復(fù)制可以改善路徑延時(shí)的情況。在流水設(shè)計(jì)的過(guò)程中插入寄存器可以更好地減少延時(shí)情況。除此之外,優(yōu)化關(guān)鍵信號(hào)可以將信號(hào)轉(zhuǎn)變?yōu)?a target="_blank">控制器的控制信號(hào),從而將關(guān)鍵路徑信號(hào)調(diào)整到離輸出很近的位置,使得信號(hào)更快地被接收。如果想對(duì)晚到的信號(hào)進(jìn)行優(yōu)化,通常會(huì)采取兩種方式,一種是把數(shù)據(jù)信號(hào)變?yōu)槁盘?hào)(優(yōu)化ifelse嵌套);另一種是把控制信號(hào)變?yōu)槁盘?hào)(優(yōu)化ifelse嵌套)。

5系統(tǒng)速度和資源的優(yōu)化

5.1速度優(yōu)化

通常而言,優(yōu)化速度相比于優(yōu)化資源更為重

要,需優(yōu)先考慮。速度優(yōu)化包括FPGA的結(jié)構(gòu)特性、HDL綜合器性能、PCB制版情況等,也包括Verilog編程風(fēng)格。下面探討4種電路結(jié)構(gòu)方面的速度優(yōu)化方式。

1)流水線是一種在成組的邏輯之間添加寄存器的方法,它在很大程度上提升了設(shè)計(jì)電路運(yùn)行的速度。在使用了兩級(jí)流水線之后,組合邏輯塊的延時(shí)大大減少,兩級(jí)組合邏輯塊的延時(shí)分別為T(mén)1,T2,設(shè)置T1≈T2,且Ta=T1+T2,Tclk可接近T1,其最高工作頻率為fmax≈fmax1≈fmax2≈1/T1≈1/T2,使用流水線的最高工作頻率比沒(méi)有使用流水線的速度提升了將近一倍。

2)使用流水線加法器實(shí)現(xiàn)八位加法器。用3個(gè)4bit加法器以及多個(gè)鎖存器實(shí)現(xiàn)。

3)乒乓操作法。乒乓操作法是一種數(shù)據(jù)緩沖優(yōu)化設(shè)計(jì)技術(shù),可以將其看作是不同的流水線技術(shù),通過(guò)輸入數(shù)據(jù)流選擇單元和輸出數(shù)據(jù)流的單元,按照不同的方式進(jìn)行切換,將緩沖數(shù)據(jù)流中的數(shù)據(jù)無(wú)接縫地傳遞到處理模塊,進(jìn)而進(jìn)行接下來(lái)的操作。

4)加法樹(shù)法。想要實(shí)現(xiàn)A+B+C的結(jié)構(gòu),可先實(shí)現(xiàn)A+B,再將A+B的和鎖存一個(gè)時(shí)鐘周期之后再與C相加。

5.2資源優(yōu)化

5.2.1資源共享

資源共享采取選擇、復(fù)用來(lái)共享使用該模塊,達(dá)到降低使用資源、優(yōu)化減小面積的目的。可以選用規(guī)模更小的可編程器件對(duì)資源進(jìn)行優(yōu)化,以降低成本,提升性?xún)r(jià)比,為后續(xù)技術(shù)升級(jí)保留可編程的資源。這樣做可以減少資源的耗用,減輕器件的耗費(fèi)。

5.2.2優(yōu)化組合邏輯

在優(yōu)化過(guò)程中可以進(jìn)行組合邏輯的優(yōu)化,以最大程度減少資源浪費(fèi)。首先在流水線設(shè)計(jì)過(guò)程中進(jìn)行優(yōu)化,在不同的組合邏輯之間插入寄存器,以盡可能減少出現(xiàn)延時(shí)的可能。其次可以采用模塊復(fù)用、資源共享的方式,減少邏輯運(yùn)算過(guò)程中占用的面積。此外,還可以采用邏輯復(fù)制的方式,減少延遲情況的產(chǎn)生;將關(guān)鍵路徑信息轉(zhuǎn)變?yōu)榭刂破鞯目刂菩盘?hào),再將信號(hào)調(diào)到離輸出很近的位置也是減少路徑運(yùn)輸時(shí)間的方法。

5.2.3串行化

串行化可以將巨大的邏輯塊分割成小的邏輯塊,并在運(yùn)送過(guò)程中尋找相同的邏輯塊,用多個(gè)時(shí)鐘周期完成相同的功能??梢允褂貌⑿羞壿嬙O(shè)計(jì),或者采用串行化設(shè)計(jì),只需要用一個(gè)八位的乘法器和一個(gè)十六位的加法器及一個(gè)附加信號(hào)start即可。

6結(jié)束語(yǔ)

通過(guò)對(duì)電路的優(yōu)化設(shè)計(jì)可以讓整個(gè)電路變得更加模塊化,在進(jìn)行數(shù)據(jù)儲(chǔ)存及芯片設(shè)計(jì)過(guò)程中降低設(shè)計(jì)復(fù)雜度,使設(shè)計(jì)變得更為方便。數(shù)字電路采用模塊化設(shè)計(jì)方式可以使遺傳算法得到更多的優(yōu)化,提高了數(shù)字電路的準(zhǔn)確性和可靠性;這種方法在現(xiàn)階段適應(yīng)于比較精密的儀器,可整體提高機(jī)器設(shè)備的自動(dòng)化和智能化水平。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    數(shù)字電路的基礎(chǔ)知識(shí)

      用數(shù)字信號(hào)完成對(duì)數(shù)字進(jìn)行邏輯運(yùn)算和算術(shù)運(yùn)算的電路稱(chēng)為數(shù)字電路。 由于它具有邏輯運(yùn)算和邏輯處理功能,所以又稱(chēng)為
    發(fā)表于 02-23 14:18 ?2.4w次閱讀
    <b class='flag-5'>數(shù)字電路</b>的基礎(chǔ)知識(shí)

    如何對(duì)數(shù)字電路PCB的EMI進(jìn)行控制?

    EMI的產(chǎn)生及抑制原理如何對(duì)數(shù)字電路PCB的EMI進(jìn)行控制?
    發(fā)表于 04-21 06:46

    如何對(duì)高速數(shù)字電路進(jìn)行仿真測(cè)試?

    高速數(shù)字信號(hào)的阻抗匹配有什么作用?傳輸線長(zhǎng)度對(duì)高速數(shù)字電路的設(shè)計(jì)有什么影響?如何對(duì)高速數(shù)字電路進(jìn)行仿真測(cè)試?
    發(fā)表于 04-21 06:00

    DIY Protoboard數(shù)字電路

    描述DIY Protoboard 數(shù)字電路用于電子電路的 0.100" 原型板。這對(duì)數(shù)字和模擬設(shè)計(jì)都有好處
    發(fā)表于 07-27 06:31

    模擬電路數(shù)字電路的區(qū)別詳解

    在模擬電路數(shù)字電路中,信號(hào)的表達(dá)方式不同。對(duì)模擬信號(hào)能夠執(zhí)行的操作,例如放大、濾波、限幅等,都可以對(duì)數(shù)字信號(hào)進(jìn)行操作。事實(shí)上,所有的數(shù)字電路
    發(fā)表于 05-23 09:07 ?7429次閱讀
    模擬<b class='flag-5'>電路</b>與<b class='flag-5'>數(shù)字電路</b>的區(qū)別詳解

    數(shù)字電路該怎么學(xué)_數(shù)字電路的學(xué)習(xí)方法(要點(diǎn)、注意事項(xiàng))

    數(shù)字信號(hào)完成對(duì)數(shù)字進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算的電路稱(chēng)為數(shù)字電路,或數(shù)字系統(tǒng)。由于它具有邏輯運(yùn)算和
    發(fā)表于 03-23 17:27 ?3.5w次閱讀

    數(shù)字電路基礎(chǔ)視頻

    數(shù)字信號(hào)完成對(duì)數(shù)字進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算的電路稱(chēng)為數(shù)字電路,或數(shù)字系統(tǒng)。由于它具有邏輯運(yùn)算和
    的頭像 發(fā)表于 09-06 17:55 ?1.4w次閱讀

    數(shù)字電路的特點(diǎn)及優(yōu)勢(shì)介紹

    數(shù)字信號(hào)完成對(duì)數(shù)字進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算的電路稱(chēng)為數(shù)字電路,或數(shù)字系統(tǒng)。由于它具有邏輯運(yùn)算和
    的頭像 發(fā)表于 05-20 15:19 ?2.1w次閱讀
    <b class='flag-5'>數(shù)字電路</b>的特點(diǎn)及優(yōu)勢(shì)介紹

    模擬電路數(shù)字電路的不同之處

    數(shù)字信號(hào)完成對(duì)數(shù)字進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算的電路稱(chēng)為數(shù)字電路,或數(shù)字系統(tǒng)。由于它具有邏輯運(yùn)算和
    發(fā)表于 06-19 14:49 ?2773次閱讀

    數(shù)字電路主要應(yīng)掌握哪些概念

    數(shù)字信號(hào)完成對(duì)數(shù)字進(jìn)行算術(shù)運(yùn)算和邏輯運(yùn)算的電路稱(chēng)為數(shù)字電路數(shù)字系 統(tǒng)。由于它具有邏輯運(yùn)算和
    的頭像 發(fā)表于 03-24 10:36 ?1649次閱讀
    <b class='flag-5'>數(shù)字電路</b>主要應(yīng)掌握哪些概念

    數(shù)字電路基礎(chǔ)知識(shí)匯總1

    數(shù)字信號(hào)完成對(duì)數(shù)字進(jìn)行邏輯運(yùn)算和算術(shù)運(yùn)算的電路稱(chēng)為數(shù)字電路。由于它具有邏輯運(yùn)算和邏輯處理功能,所以又稱(chēng)為
    的頭像 發(fā)表于 03-24 10:39 ?2825次閱讀
    <b class='flag-5'>數(shù)字電路</b>基礎(chǔ)知識(shí)匯總1

    數(shù)字電路基礎(chǔ)知識(shí)概述

    數(shù)字信號(hào)完成對(duì)數(shù)字進(jìn)行邏輯運(yùn)算和算術(shù)運(yùn)算的電路稱(chēng)為數(shù)字電路。由于它具有邏輯運(yùn)算和邏輯處理功能,所以又稱(chēng)為
    的頭像 發(fā)表于 06-06 16:50 ?7434次閱讀
    <b class='flag-5'>數(shù)字電路</b>基礎(chǔ)知識(shí)概述

    建立/保持時(shí)間對(duì)數(shù)字電路的影響

    建立/保持時(shí)間對(duì)數(shù)字電路的影響 數(shù)字電路是指使用數(shù)字信號(hào)進(jìn)行連接和處理信息的電路。數(shù)字電路是由一
    的頭像 發(fā)表于 10-29 14:21 ?619次閱讀

    電源過(guò)沖對(duì)數(shù)字電路有哪些潛在的影響?

    電源過(guò)沖對(duì)數(shù)字電路的影響是一個(gè)絕對(duì)不容忽視的問(wèn)題,因?yàn)樗赡軐?duì)電路的性能和穩(wěn)定性產(chǎn)生極其負(fù)面的影響。
    的頭像 發(fā)表于 12-13 11:41 ?694次閱讀

    數(shù)字電路是對(duì)什么信號(hào)進(jìn)行傳輸?shù)?/a>

    數(shù)字電路是一種電子系統(tǒng),它使用數(shù)字信號(hào)進(jìn)行信息傳輸和處理。數(shù)字信號(hào)是由離散的電壓水平或電流水平表示的信號(hào),通常用二進(jìn)制代碼表示。與模擬電路
    的頭像 發(fā)表于 08-11 11:00 ?560次閱讀