国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

淺析基于verilog 的加法器設(shè)計(jì)

2020-08-11 09:19王怡
科學(xué)技術(shù)創(chuàng)新 2020年25期
關(guān)鍵詞:邏輯電路級(jí)聯(lián)流水線

王怡

(電子科技大學(xué)成都學(xué)院微電子技術(shù)系,四川 成都611731)

本文將介紹三種基于verilog 的加法器設(shè)計(jì),分別是:級(jí)聯(lián)加法器、并行加法器和流水線加法器。在介紹每種設(shè)計(jì)方法的同時(shí),對(duì)每種方法的優(yōu)缺點(diǎn)、適合使用的場(chǎng)合以及改進(jìn)方法都會(huì)進(jìn)行詳細(xì)的闡述。

1 級(jí)聯(lián)加法器

級(jí)聯(lián)加法器的核心設(shè)計(jì)思想來源于加法運(yùn)算法則本身。在多位數(shù)的加法運(yùn)算中,運(yùn)算順序是從低位到高位依次進(jìn)行加法運(yùn)算,每次運(yùn)算一位。除最低位外,其他位都是用本位的數(shù)據(jù)與來自低位的進(jìn)位相加。本質(zhì)上講,每一位的運(yùn)算都是一個(gè)一位全加器,只是不同位的輸入數(shù)據(jù)不同,運(yùn)算的時(shí)機(jī)不同而已。所以,我們可以設(shè)計(jì)一個(gè)一位全加器,然后按照運(yùn)算的順序,將多個(gè)一位全加器串聯(lián)起來就可以了。這也是級(jí)聯(lián)加法器中“級(jí)聯(lián)”的含義。設(shè)計(jì)方法可以采用全結(jié)構(gòu)設(shè)計(jì)的方法,也可以采用結(jié)構(gòu)設(shè)計(jì)和行為描述結(jié)合的方法,本文采用第二種方法。一位全加器的設(shè)計(jì)代碼如下:

將以上代碼在開發(fā)工具中生成圖形符號(hào),再利用繪圖功能依次互聯(lián)即可,電路結(jié)構(gòu)如圖1 所示。

圖1

這種設(shè)計(jì)方法的優(yōu)點(diǎn)是設(shè)計(jì)簡(jiǎn)單,但主要應(yīng)用于一些對(duì)運(yùn)算速度要求不高的場(chǎng)合,要求高則無法使用。因?yàn)檫@種加法器每一位的運(yùn)算都要等待前一位運(yùn)算完成,輸出進(jìn)位之后才能完成。所以運(yùn)算的位數(shù)越多,延時(shí)就越長(zhǎng)。

2 并行加法器

并行加法器的設(shè)計(jì)方法,是直接利用verilog 的加法運(yùn)算符直接進(jìn)行行為描述。這種設(shè)計(jì)方法的好處是,設(shè)計(jì)人員無需了解加法器的底層硬件結(jié)構(gòu),只需要描述功能即可。并行加法器的優(yōu)點(diǎn)是運(yùn)行速度快,而缺點(diǎn)也很明顯:a.并行加法器完全依賴門電路來搭建,所以對(duì)系統(tǒng)資源的耗費(fèi)是很大的。特別是隨著加法器寬度的增加,資源的耗費(fèi)也會(huì)迅速增大。b.并行加法器是一個(gè)純組合邏輯電路,因?yàn)檩斎胄盘?hào)時(shí)間上的不一致以及電路本身延時(shí)等原因,會(huì)造成競(jìng)爭(zhēng)冒險(xiǎn)現(xiàn)象,從而在電路的輸出端產(chǎn)生中間態(tài)輸出,形成毛刺,影響系統(tǒng)的穩(wěn)定性。

針對(duì)這一問題,我們可以在加法器設(shè)計(jì)中引入時(shí)鐘,通過在輸入端和輸出端加觸發(fā)器來改善毛刺。輸入端的觸發(fā)器由主時(shí)鐘統(tǒng)一控制,可以最大程度的將輸入信號(hào)的輸入時(shí)序同步,降低毛刺形成的可能性。輸出端的觸發(fā)器每一個(gè)主時(shí)鐘周期輸出一次加法器的運(yùn)算結(jié)果,不輸出中間態(tài),也就隔離了毛刺的輸出。當(dāng)然,主時(shí)鐘頻率的選擇是有要求的:它的周期必須大于加法器組合邏輯電路的運(yùn)算時(shí)間,否則無法隔離毛刺的輸出。具體代碼如下:

3 流水線加法器

流水線加法器是一種基于時(shí)鐘的同步邏輯電路,設(shè)計(jì)方法相對(duì)復(fù)雜,但運(yùn)算速度,對(duì)系統(tǒng)頻率的適應(yīng)性,都是非常優(yōu)越的。流水線加法器也是這篇文章重點(diǎn)介紹的加法器設(shè)計(jì)方法。流水線加法器可以解決系統(tǒng)主頻很高,而加法運(yùn)算由于位寬大,運(yùn)算速度低,而拖慢整個(gè)系統(tǒng)運(yùn)行頻率的問題。例如:某系統(tǒng)是一個(gè)全同步系統(tǒng),同時(shí)又運(yùn)行在25MHz 的頻率上,那么任何信號(hào)從輸出端寄存器反饋到信號(hào)輸入端之間的最大延時(shí)必須小于40ns。如果反饋時(shí)通過的邏輯電路較復(fù)雜,延時(shí)路徑比較長(zhǎng),系統(tǒng)時(shí)鐘的速度就很難維持。在加法器這個(gè)問題上,如果沿用上文提到的同步并行加法器的設(shè)計(jì),當(dāng)加法器的運(yùn)算速度大于系統(tǒng)時(shí)鐘周期40ns 時(shí),加法器將會(huì)輸出運(yùn)算的中間值,產(chǎn)生輸出錯(cuò)誤。如果不改進(jìn)加法器設(shè)計(jì),就只能降低整個(gè)系統(tǒng)運(yùn)行的頻率。流水線電路設(shè)計(jì)的基本思路是:將原來的組合邏輯電路分成若干個(gè)規(guī)模更小的電路來實(shí)現(xiàn)。并且在這些小規(guī)模邏輯電路中加入若干寄存器來存儲(chǔ)中間運(yùn)算結(jié)果。中間結(jié)果在下一拍時(shí)鐘進(jìn)入下級(jí)電路進(jìn)行運(yùn)算。這樣一級(jí)級(jí)的傳遞和運(yùn)算,直到最后一級(jí)電路算出最終結(jié)果。這樣,用多個(gè)時(shí)鐘周期來完成電路的運(yùn)算。雖然多用了一些寄存器資源,但是減少了每一級(jí)組合電路的時(shí)延,可以提高整個(gè)電路的運(yùn)行頻率。同時(shí),由于流水線電路的每一級(jí)都處于同一個(gè)系統(tǒng)時(shí)鐘的控制下,因此,多級(jí)電路是并行工作的。這就意味著,最后一級(jí)流水線在處理第一條指令的最后一步時(shí),前幾級(jí)的流水線電路可以同時(shí)處理后續(xù)多條指令的不同步驟。以四級(jí)流水線深度的32 位加法器為例:32 位加法運(yùn)算被分解成4 步,每一步完成一個(gè)字節(jié)的加法運(yùn)算,對(duì)應(yīng)一級(jí)流水線的硬件,由系統(tǒng)時(shí)鐘統(tǒng)一控制。前四拍時(shí)鐘,電路的工作內(nèi)容如下:

表1

從上表可以看出,在四個(gè)時(shí)鐘周期中,電路完成了第一組32位數(shù)的加法運(yùn)算。同時(shí)還分別完成了第二、第三、第四組數(shù)的前三、前二、前一步的運(yùn)算。所以,盡管一組32 位數(shù)據(jù)需要4 個(gè)時(shí)鐘周期才能算完,但由于電路運(yùn)行的并行性,實(shí)際最終平均一個(gè)時(shí)鐘周期就能輸出一組運(yùn)算結(jié)果。這樣,不但沒有拖慢系統(tǒng)運(yùn)行的主頻,還提高了加法運(yùn)算的速度。流水線電路設(shè)計(jì)的核心在于每級(jí)電路運(yùn)算結(jié)果的緩存,這個(gè)設(shè)計(jì)如果不正確,將無法得到正確的結(jié)果。分析如下:a.輸入數(shù)據(jù): 因?yàn)槎鄠€(gè)周期才能完成一次運(yùn)算。因此如果在運(yùn)算完成前輸入數(shù)據(jù)就變化的話,將得不到正確的運(yùn)算結(jié)果;b.前一級(jí)流水線的運(yùn)算結(jié)果,分兩種情況:如果在下一級(jí)流水線中馬上就用的,如進(jìn)位信息,就不用緩存。如果在下一級(jí)流水線中不用,到最后才用或輸出的值,則在運(yùn)算結(jié)果出來之后的每一級(jí)流水線中都需要緩存。因此,每一級(jí)流水線中應(yīng)完成如下數(shù)據(jù)緩沖任務(wù):a. 后級(jí)流水線需要用到的輸入數(shù)據(jù);b.前級(jí)流水線的運(yùn)算結(jié)果。以四級(jí)流水線深度的32 位加法器為例,其每級(jí)需緩存數(shù)據(jù)的定義如以下代碼所示:

4 結(jié)論

本文介紹了三種基于verilog 的加法器設(shè)計(jì),分別是:級(jí)聯(lián)加法器、并行加法器和流水線加法器。其中級(jí)聯(lián)加法器設(shè)計(jì)簡(jiǎn)單,但運(yùn)算速度受限,只能應(yīng)用于對(duì)運(yùn)算速度要求不高的場(chǎng)合。并行加法器速度快,但是資源占用較大。隨著運(yùn)算位數(shù)的增加,運(yùn)算速度也將越來越慢。同時(shí),并行加法器是組合邏輯路,存在競(jìng)爭(zhēng)冒險(xiǎn)現(xiàn)象,影響結(jié)果輸出。本文就此也提出了解決方案。流水線加法器設(shè)計(jì)復(fù)雜,但性能十分優(yōu)越。在不同的應(yīng)用場(chǎng)合,可根據(jù)需求的不同選擇不同的加法器設(shè)計(jì)方法。

猜你喜歡
邏輯電路級(jí)聯(lián)流水線
鈾濃縮廠級(jí)聯(lián)系統(tǒng)核安全分析
流水線
數(shù)字電子時(shí)鐘邏輯電路的教學(xué)設(shè)計(jì)與仿真
基于PLC的飲料灌裝流水線設(shè)計(jì)
全加器設(shè)計(jì)中的卡諾圖化簡(jiǎn)法
流水線
汽車噴漆流水線的應(yīng)用與研究
整體級(jí)聯(lián)式增壓空氣冷卻器的進(jìn)氣模塊
淺談時(shí)序邏輯電路
論邏輯電路中的競(jìng)爭(zhēng)與冒險(xiǎn)現(xiàn)象
湖北省| 华坪县| 五寨县| 札达县| 涡阳县| 通渭县| 尉氏县| 娄烦县| 广宁县| 清镇市| 乌什县| SHOW| 嵊泗县| 华蓥市| 天峻县| 宁强县| 宁河县| 通渭县| 蓬溪县| 平顶山市| 布拖县| 河池市| 巴南区| 桦川县| 丹凤县| 岱山县| 工布江达县| 大姚县| 巢湖市| 江川县| 上蔡县| 陈巴尔虎旗| 遂宁市| 满城县| 吉安县| 百色市| 宝兴县| 凤凰县| 平远县| 临安市| 崇礼县|