![設(shè)計(jì)8位雙向移位寄存器電路_第1頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-10/29/125aea02-81c1-42b2-b014-435ac6e12eef/125aea02-81c1-42b2-b014-435ac6e12eef1.gif)
![設(shè)計(jì)8位雙向移位寄存器電路_第2頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-10/29/125aea02-81c1-42b2-b014-435ac6e12eef/125aea02-81c1-42b2-b014-435ac6e12eef2.gif)
![設(shè)計(jì)8位雙向移位寄存器電路_第3頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-10/29/125aea02-81c1-42b2-b014-435ac6e12eef/125aea02-81c1-42b2-b014-435ac6e12eef3.gif)
![設(shè)計(jì)8位雙向移位寄存器電路_第4頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-10/29/125aea02-81c1-42b2-b014-435ac6e12eef/125aea02-81c1-42b2-b014-435ac6e12eef4.gif)
![設(shè)計(jì)8位雙向移位寄存器電路_第5頁(yè)](http://file2.renrendoc.com/fileroot_temp3/2021-10/29/125aea02-81c1-42b2-b014-435ac6e12eef/125aea02-81c1-42b2-b014-435ac6e12eef5.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、武漢理工大學(xué)暑期能力拓展訓(xùn)練目錄1多功能雙向移位寄存器11.1基本工作原理11.2 基本實(shí)現(xiàn)方案12電路圖設(shè)計(jì)22.1 電路結(jié)構(gòu)22.2真值表33移位寄存器的verilog建模33.1verilog建?;A(chǔ)43.2 8位雙向移位寄存器verilog描述54程序仿真65心得體會(huì)8參考文獻(xiàn)10附錄11摘要使用硬件描述語(yǔ)言verilog,在eda工具quartussii中,對(duì)8位雙向移位寄存器進(jìn)行行為級(jí)描述,根據(jù)設(shè)計(jì)語(yǔ)言進(jìn)行功能時(shí)序仿真,驗(yàn)證設(shè)計(jì)的正確性與可行性。通過本基本設(shè)計(jì)熟悉quartusii環(huán)境下的硬件描述操作流程,掌握基本的verilog語(yǔ)法與編寫風(fēng)格。關(guān)鍵字:verilog quartu
2、sii 移位寄存器3設(shè)計(jì)8位雙向移位寄存器電路1多功能雙向移位寄存器1.1基本工作原理移位寄存器是基本的同步時(shí)序電路,基本的移位寄存器可以實(shí)現(xiàn)數(shù)據(jù)的串行/并行或并行/串行的轉(zhuǎn)換、數(shù)值運(yùn)算以及其他數(shù)據(jù)處理功能。但有時(shí)候需要對(duì)移位寄存器的數(shù)據(jù)流向加以控制,實(shí)現(xiàn)數(shù)據(jù)的雙向移動(dòng),其中一個(gè)方向稱為右移,另一個(gè)方向稱為左移,這種移位寄存器就稱為雙向移位寄存器。根據(jù)國(guó)家標(biāo)準(zhǔn)規(guī)定,邏輯圖中的最低有效位(lsb)到最高有效位(msb)的電路排列順序應(yīng)從上到下,從左到右。因此定義移位寄存器中的數(shù)據(jù)從低位觸發(fā)器移向高位為右移,移向低位為左移。為了擴(kuò)展邏輯功能和增加使用的靈活性,某些雙向移位寄存器集成電路產(chǎn)品又附加了
3、并行輸入、并行輸出等功能。下圖所示是上述幾種工作模式的簡(jiǎn)化示意圖。圖1-1 多功能移位寄存器工作模式簡(jiǎn)圖1.2 基本實(shí)現(xiàn)方案圖1-2所示是實(shí)現(xiàn)數(shù)據(jù)保持、右移、左移、并行置入和并行輸出的一種電路方案。圖中的d觸發(fā)器是n為移位寄存器中的第m位觸發(fā)器,在其數(shù)據(jù)輸入端插入了一個(gè)4選1數(shù)據(jù)選擇器,用2位編碼輸入控制,來(lái)選擇觸發(fā)器輸入信號(hào)的來(lái)源。當(dāng)時(shí),選擇該觸發(fā)器本身輸出的,次態(tài)為,使觸發(fā)器保持狀態(tài)不變;當(dāng)時(shí),觸發(fā)器的輸出被選中,故cp脈沖上升沿到來(lái)時(shí),存入此前的邏輯值,即,而,從而實(shí)現(xiàn)右移功能;類似地,當(dāng)時(shí),選擇,實(shí)現(xiàn)左移功能;而當(dāng)時(shí),則選中并行輸入數(shù)據(jù),其次態(tài),從而完成并行數(shù)據(jù)的置入功能。上述四種操作
4、概述于表1-1,此外,在各觸發(fā)器的輸入端,可以得到n位并行數(shù)據(jù)的輸出。圖1-2 實(shí)現(xiàn)多功能雙向移位寄存器的一種方案表1-1 圖1-2的功能表控制信號(hào)功能控制信號(hào)功能s1s0s1s000保持10左移01右移11并行輸入2電路圖設(shè)計(jì)2.1 電路結(jié)構(gòu)根據(jù)上一節(jié)的移位寄存器的一種基本實(shí)現(xiàn)方案,可以設(shè)計(jì)出8位雙向移位寄存器,完整電路圖入圖2-1所示。此電路由8個(gè)4選1數(shù)據(jù)選擇器、8個(gè)帶異步清零的d觸發(fā)器組成。所有的數(shù)據(jù)選擇器編碼端分別對(duì)應(yīng)地接在一起,同時(shí)選擇d觸發(fā)器的信號(hào)數(shù)據(jù)來(lái)源。d觸發(fā)器時(shí)鐘端cp接一起,清零端也同樣接在一起,這樣可以保證級(jí)聯(lián)d觸發(fā)器的同步,和并行輸出數(shù)據(jù)的清零。另,每個(gè)d觸發(fā)器的輸出
5、對(duì)應(yīng)一位并行輸入。dsr是右移串行數(shù)據(jù)輸入端,dsl是左移串行數(shù)據(jù)輸入端,分別接最低有效位對(duì)應(yīng)的數(shù)據(jù)選擇器和最高有效位對(duì)應(yīng)的數(shù)據(jù)選擇器。圖2-1 8位雙向移位寄存器2.2真值表分析電路圖,可得此8位雙向移位寄存器的真值表,入下表所示:表2-1 8位雙向移位寄存器真值表輸 入輸 出清零控制信號(hào)串行輸入時(shí)鐘cp并行輸入s1s0dsrdslllhllhlhlhlhhhhllhhlhhhh注:表示cp脈沖上升沿之前瞬間的電平3移位寄存器的verilog建模3.1verilog建?;A(chǔ)硬件描述語(yǔ)言verilog hdl類似于高級(jí)程序設(shè)計(jì)語(yǔ)言(如c語(yǔ)言等),它是一種以文本形式來(lái)描述數(shù)字系統(tǒng)硬件的結(jié)構(gòu)和行為
6、的語(yǔ)言,用它可以表示邏輯電路圖、邏輯表達(dá)式,還可以表示更復(fù)雜的數(shù)字邏輯系統(tǒng)所完成的邏輯功能(即行為)。人們還可以用hdl編寫設(shè)計(jì)說明文檔,這種文檔易于存儲(chǔ)和修改,適用于不同的設(shè)計(jì)人員之間進(jìn)行技術(shù)交流,還能被計(jì)算機(jī)識(shí)別和處理,計(jì)算機(jī)對(duì)于hdl的處理包括兩個(gè)方面:邏輯仿真和邏輯綜合。邏輯仿真是指用計(jì)算機(jī)仿真軟件對(duì)數(shù)字邏輯電路的結(jié)構(gòu)和行為進(jìn)行預(yù)測(cè),仿真器對(duì)hdl描述進(jìn)行解釋,以文本形式或時(shí)序波形圖形式給出電路的輸出。在電路在實(shí)現(xiàn)之前,設(shè)計(jì)人員可以根據(jù)仿真結(jié)果初步判斷電路的邏輯功能是否正確。在仿真期間,如果發(fā)現(xiàn)設(shè)計(jì)中存在錯(cuò)誤,可以對(duì)hdl文件進(jìn)行修改,直至滿足設(shè)計(jì)要求為止。在verilog中,行為級(jí)描
7、述主要使用由關(guān)鍵詞initial或always定義的兩種結(jié)構(gòu)類型的語(yǔ)句。一個(gè)模塊的內(nèi)部可以包括多個(gè)initial或always語(yǔ)句,仿真時(shí)這些語(yǔ)句同時(shí)并行執(zhí)行,即與他們?cè)诘哪K內(nèi)部排列無(wú)關(guān),都從仿真的0時(shí)刻開始。本設(shè)計(jì)采用always語(yǔ)句對(duì)8位雙向移位寄存器進(jìn)行行為級(jí)功能描述。always本身是一個(gè)無(wú)限循環(huán)語(yǔ)句,即不停地循環(huán)執(zhí)行其內(nèi)部的過程語(yǔ)句,直到仿真過程結(jié)束。但用它來(lái)描述硬件電路的邏輯功能時(shí),通常在always后面緊跟著循環(huán)控制條件,所以always語(yǔ)句的一般用法如下:always (事件控制表達(dá)式)begin塊內(nèi)局部變量的定義;過程賦值語(yǔ)句;end這里,“事件控制表達(dá)式”也稱敏感事件表,
8、即等待確定的事件發(fā)生或某一特定的條件變?yōu)椤罢妗?,它是?zhí)行后面過程賦值語(yǔ)句的條件。“過程賦值語(yǔ)句”左邊的變量必須被定義成寄存器數(shù)據(jù)類型,右邊變量可以是任意數(shù)據(jù)類型。begin和end將多條過程賦值語(yǔ)句包圍起來(lái),組成一個(gè)順序執(zhí)行語(yǔ)句塊,塊內(nèi)的語(yǔ)句按照排列順序依次執(zhí)行,最后一條語(yǔ)句執(zhí)行完后,執(zhí)行掛起,然后always語(yǔ)句處于等待狀態(tài),等待下一個(gè)事件的發(fā)生。注意,begin和end之間只有一條語(yǔ)句,且沒有定義局部變量時(shí),則關(guān)鍵詞begin和end可以被省略。在verilog中,將邏輯電路的敏感事件分為兩種類型:電平敏感事件和邊沿觸發(fā)事件。在組合電路中,輸入信號(hào)的變化直接會(huì)導(dǎo)致輸出信號(hào)的變化。時(shí)序電路中
9、的鎖存器輸出在使能信號(hào)為高電平時(shí)未亦隨輸入電平變化,這種對(duì)輸入信號(hào)電平變化的響應(yīng)稱為電平敏感事件。而觸發(fā)器狀態(tài)的變化僅僅發(fā)生在時(shí)鐘脈沖的上升沿或下降沿。verilog中分別用關(guān)鍵詞posedge(上升沿)和negedge(下降沿)進(jìn)行說明,這就是邊沿敏感事件。3.2 8位雙向移位寄存器verilog描述本設(shè)計(jì)通過行為級(jí)描述語(yǔ)句always描述了一個(gè)8位雙向移位寄存器,它有兩個(gè)選擇輸入端、兩個(gè)串行數(shù)據(jù)輸入端、8個(gè)并行數(shù)據(jù)輸入端和8個(gè)并行數(shù)據(jù)輸出端,完成的功能與圖2-1的電路相同。它有5種功能:異步置零、同步置數(shù)、左移、右移和保持狀態(tài)不變。當(dāng)清零信號(hào)cr跳變到低電平時(shí),寄存器的輸出被異步置零;否則
10、,當(dāng)cr=1時(shí),與時(shí)鐘信號(hào)有關(guān)的4種功能由case語(yǔ)句中的兩個(gè)選擇輸入信號(hào)s1和s0決定(在case后面s1、s0被拼接成2位矢量)。設(shè)計(jì)程序如下:/behavioral description of universal shift registermodule shift (s1,s0,d,dsl,dsr,q,cp,cr);input s1,s0;/select inputsinput dsl,dsr;/serial data inputinput cp,cr;/clock and resetinput 7:0d;/parallel data inputoutput 7:0q;/regist
11、er ouputreg7:0q;always (posedge cp or negedge cr)if(cr) q <= 8'b00000000 ;elsecase (s1,s0)2'b00:q<=q;/no change2'b01:q<=q6:0,dsr;/shift right2'b10:q<=dsl,q7:1;/shift left2'b11:q<=d;/patallel load inputendcaseendmodule在程序中定義了一個(gè)模塊(module)shift,在quartusii中新建工程文件時(shí),定義的頂
12、層模塊名需要與工程名保持一致,否則在編譯時(shí)會(huì)出現(xiàn)錯(cuò)誤。模塊前端為基本輸入輸出口的設(shè)置。使用了行為級(jí)描述語(yǔ)言always,后跟ifelse判斷語(yǔ)句,在循環(huán)執(zhí)行過程中來(lái)根據(jù)輸入信號(hào)判斷做出相應(yīng)的動(dòng)作。其中if(cr) q<=8b00000000 ;表示當(dāng)cr信號(hào)為低電平時(shí),(cr)則為1,此時(shí)將8為二進(jìn)制數(shù)b00000000賦給q,即實(shí)現(xiàn)移位寄存器的異步清零。case語(yǔ)句類似于c語(yǔ)言中的case語(yǔ)句,同樣根據(jù)判斷條件來(lái)選擇要執(zhí)行的分支語(yǔ)句。在case中將s1和s0拼接為2位矢量,來(lái)共同決定判斷結(jié)果。同樣,移位由串行輸入和7個(gè)觸發(fā)器的輸入拼接起來(lái)進(jìn)行描述,如q<=dsl,q7:1;說明了
13、左移操作,即在時(shí)鐘信號(hào)cp上升沿作用下,將左移輸入端dsl的數(shù)據(jù)直接傳給輸出q7,而觸發(fā)器輸出端的數(shù)據(jù)左移一位,q7:1傳給q6:0(即q7->q6,q6->q5,,q1->q0),于是,完成將數(shù)據(jù)左移一位的操作。但是需要注意,上述程序中所注釋的右移和左移方向與圖2-1一致,而與verilog描述語(yǔ)句中的排列和移動(dòng)方向正好相反。后者與一般技術(shù)機(jī)程序一致(即高位在左,低位在右)。4程序仿真在quartuaii中建立shift工程,添加verilog文件,編寫源代碼后,進(jìn)行全編譯。編譯成功后,即可對(duì)定義的模塊進(jìn)行功能仿真。仿真步驟查看相關(guān)quartusii書籍。本設(shè)計(jì)中,將所有定
14、義的引腳添加入仿真環(huán)境中,對(duì)輸入數(shù)據(jù)進(jìn)行強(qiáng)制設(shè)定,運(yùn)行后觀察輸出波形及其時(shí)序圖。根據(jù)8位雙向移位寄存器的真值表,仿真時(shí),首先考察此移位寄存器的左移、右移、保持和并行輸入的基本功能,然后再在串行輸入端加入信號(hào),觀察移位寄存器的書序波形。圖4-1為基本功能時(shí)序圖。圖4-1 基本功能時(shí)序圖根據(jù)圖4-1,觀察s1和s0信號(hào),每個(gè)基本功能的仿真之前都先強(qiáng)制s1=s0=1,即實(shí)現(xiàn)并行輸入功能,給輸入d7:0設(shè)置初值,然后再下一個(gè)周期對(duì)s1、s0進(jìn)行改變,觀察輸出q的變化。程序中,語(yǔ)句always (posedge cp or negedge cr)表示當(dāng)有cp的上升沿或cr的下降沿時(shí)觸發(fā),因此可以從仿真時(shí)
15、序圖驗(yàn)證,d和q的數(shù)據(jù)改變都發(fā)生在cp信號(hào)的上升沿。在第一個(gè)cp周期上升沿之前,設(shè)定的d初值為128,上升沿到來(lái),d是數(shù)據(jù)移入q,q值為128,q的各位同并行輸入d相同。第二個(gè)cp周期中,s1=s0=0,移位寄存器功能為保持,從時(shí)序圖中驗(yàn)證知,q的初值保持到第三個(gè)cp周期上升沿時(shí)刻。在第三個(gè)cp周期初,設(shè)定并行輸入d為15,第四個(gè)周期為保持,第五個(gè)周期,設(shè)定s1s0=01,則寄存器實(shí)現(xiàn)右移,換算到計(jì)算機(jī)運(yùn)算中即為左移一位,數(shù)值增大1倍。觀察第五個(gè)周期cp上升沿之后,q數(shù)值由15增大為30,q的各位數(shù)值與d的各位數(shù)值比較,可以看出q的d移位后的結(jié)果,此時(shí)串行輸入的值為0,仿真驗(yàn)證正確。第六個(gè)周期
16、保持?jǐn)?shù)據(jù),第七個(gè)周期并行移入數(shù)據(jù)18,保持一個(gè)周期,在第九個(gè)周期中,s1s0=10,寄存器功能為左移,換算到計(jì)算機(jī)運(yùn)算為右移,及數(shù)據(jù)變?yōu)樵瓉?lái)的一半。從仿真時(shí)序圖知道,第九個(gè)cp上升沿到來(lái)后,q數(shù)值變?yōu)?,功能仿真正確。完成基本功能的仿真后,設(shè)置串行輸入dsl和dsr,繼續(xù)仿真然后觀察時(shí)序圖。圖4-2為加入串行輸入時(shí)的仿真結(jié)果。圖4-2 加入串行輸入時(shí)的仿真結(jié)果主要觀察第五個(gè)周期,q初值為15,寄存器功能設(shè)定為右移,右移串行輸入為1,cp上升沿到來(lái)后,q值增大為31,即增大到2倍后右在低位移入1。同樣在第九個(gè)周期中,寄存器設(shè)定功能為左移,cp上升沿到來(lái)后,原有的值18變?yōu)?,但是左移串行輸入為1
17、,從高位引入1,即為128+9=137,功能仿真結(jié)果正確。5心得體會(huì)通過這次的能力拓展訓(xùn)練的課程設(shè)計(jì),使我又學(xué)習(xí)了很多知識(shí),而且是課堂上不容易學(xué)到的知識(shí)。俗話說,“實(shí)踐出真知”,課堂上學(xué)習(xí)到的理論知識(shí),如果不轉(zhuǎn)化為實(shí)踐的話,始終都將是一紙空文,沒什么大的價(jià)值。作為一名電類專業(yè)的學(xué)生,掌握基本的eda設(shè)計(jì)方法是理所當(dāng)然的事情。雖然我們的課程中,對(duì)此次課設(shè)使用的硬件描述語(yǔ)言的介紹并不是很多,但是并不代表它不重要,相反,我們需要學(xué)好這樣一種工具,并熟練掌握。而這次的課設(shè),則給了我學(xué)習(xí)并使用verilog和使用quartusii的機(jī)會(huì),和將理論轉(zhuǎn)化為實(shí)踐的機(jī)會(huì),使我獲益匪淺。首先,通過課設(shè)中的程序設(shè)計(jì)
18、,查閱相關(guān)的資料,我能熟練地使用verilog語(yǔ)言編寫基本的程序,熟悉各寄存器的使用方法和數(shù)據(jù)傳送與處理,根據(jù)verilog來(lái)對(duì)這些基本的硬件進(jìn)行行為級(jí)的描述。在verilog程序編寫中,我還學(xué)到了使用它強(qiáng)大的實(shí)序仿真方法,進(jìn)而根據(jù)仿真結(jié)果來(lái)來(lái)輔助程序設(shè)計(jì),直到達(dá)到預(yù)期的功能。這個(gè)方法對(duì)以后進(jìn)行verilog程序的編寫和硬件開發(fā)將起到很大的幫助。其次,在之前的課程中,我們所學(xué)習(xí)的編程語(yǔ)言如c、visual basic,都是高級(jí)語(yǔ)言,在系統(tǒng)下編寫,以其自然的語(yǔ)法和結(jié)構(gòu),和方便的調(diào)試工具,使我們很快學(xué)習(xí)吸收。而此次課設(shè),我們卻接觸了直接對(duì)硬件進(jìn)行描述的hdl語(yǔ)言,是區(qū)別于c之類的。verilog語(yǔ)言并不像想象中的那么晦澀難懂,其實(shí)它也有靈活的結(jié)構(gòu)和處理方式,而且很貼近于c語(yǔ)言的語(yǔ)法習(xí)慣和句式,學(xué)習(xí)起來(lái)很
溫馨提示
- 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 社區(qū)個(gè)人工作總結(jié)
- 加油站項(xiàng)目合作框架協(xié)議書范本
- 南京郵電大學(xué)通達(dá)學(xué)院《中醫(yī)藥膳食養(yǎng)學(xué)》2023-2024學(xué)年第二學(xué)期期末試卷
- Delphinidin-3-O-galactoside-chloride-Standard-生命科學(xué)試劑-MCE
- 上海海洋大學(xué)《職務(wù)分析》2023-2024學(xué)年第二學(xué)期期末試卷
- 政府學(xué)校企業(yè)三方合作框架協(xié)議書范本
- Betaine-chloride-Standard-生命科學(xué)試劑-MCE
- Articaine-Standard-生命科學(xué)試劑-MCE
- 云南工程職業(yè)學(xué)院《軟件設(shè)計(jì)模式》2023-2024學(xué)年第二學(xué)期期末試卷
- 2025年微粉拋光磚項(xiàng)目投資可行性研究分析報(bào)告-20241226-210458
- 火電廠消防培訓(xùn)課件
- 工廠物料損耗狀況和人為因素和差異清查步驟與方法講解培訓(xùn)課件
- 精神障礙患者的生活技能培訓(xùn)
- 《系統(tǒng)解剖學(xué)》期末考試復(fù)習(xí)題庫(kù)大全-下(多選題匯總)
- 中醫(yī)護(hù)理技術(shù)-麥粒灸 懸灸 穴位注射-培訓(xùn)課件
- 燒掉數(shù)學(xué)書:重新發(fā)明數(shù)學(xué)
- 廈門弘愛醫(yī)院硼中子俘獲治療系統(tǒng)項(xiàng)目環(huán)境影響報(bào)告
- 酒店招標(biāo)文件內(nèi)容
- 腹腔鏡胃癌根治術(shù)護(hù)理教學(xué)查房
- 【茶道】宋代點(diǎn)茶道詳解
- 初中語(yǔ)文短語(yǔ)練習(xí)(附參考答案)
評(píng)論
0/150
提交評(píng)論