版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
-.z.EDA實訓(xùn)實驗報告課程名稱:不同類型的移位寄存器設(shè)計專業(yè):13自動化指導(dǎo)教師:**:**:提交日期:2016-7-8實驗一含同步預(yù)置功能的移位寄存器設(shè)計一、實驗?zāi)康脑O(shè)計帶有同步并預(yù)置功能的8位右移移位寄存器。二、實驗容:
CLK
是移位時鐘信號,DIN是8位并行預(yù)置數(shù)據(jù)端口,LOAD是并行數(shù)據(jù)預(yù)置使能信號,QB是串行輸出端口三、實驗原理:LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYSHFRTIS--8位右移寄存器PORT(CLK,LOAD:INSTD_LOGIC;DIN:INSTD_LOGIC_VECTOR(7DOWNTO0);QB:OUTSTD_LOGIC);ENDSHFRT;ARCHITECTUREbehavOFSHFRTISBEGINPROCESS(CLK,LOAD)VARIABLEREG8:STD_LOGIC_VECTOR(7DOWNTO0);BEGINIFCLK'EVENTANDCLK='1'THEN--檢測時鐘上升沿IFLOAD='1'THENREG8:=DIN;--由(LOAD='1')裝載新數(shù)據(jù)ELSEREG8(6DOWNTO0):=REG8(7DOWNTO1);ENDIF;ENDIF;QB<=REG8(0);--輸出最低位ENDPROCESS;ENDbehav;引腳分配:端口名端口模式引腳CLKInputPIN_53DIN[7]InputPIN_66DIN[6]InputPIN_64DIN[5]InputPIN_62DIN[4]InputPIN_61DIN[3]InputPIN_58DIN[2]InputPIN_57DIN[1]InputPIN_56DIN[0]InputPIN_55LOADInputPIN_54QBOutputPIN_52四、實驗過程:引腳設(shè)定五、實驗結(jié)果:輸出波形圖實驗二8位串入并出移位寄存器電路的設(shè)計一、實驗容用VHDL語言實現(xiàn)8位串入并出移位寄存器電路的設(shè)計。二、實驗原理LIBRARYIEEE;USEIEEE.Std_logic_1164.all;ENTITYte*tISPORT(a,b,clr,clock:INBIT;q:BUFFERBIT_VECTOR(0TO7));ENDte*t;ARCHITECTUREoneOFte*tISBEGINPROCESS(a,b,clr,clock)BEGINIFclr='0'THENq<="00000000";ELSEIFclock'EVENTANDclock='1'THENFORiINq'RANGELOOPIFi=0THENq(i)<=(aANDb);ELSEQ(i)<=q(i-1);ENDIF;ENDLOOP;ENDIF;ENDIF;ENDPROCESS;ENDone;保存本文本。三、仿真結(jié)果建立仿真波形文件,進(jìn)行時序防震,得到的仿真結(jié)果如下圖1所示:圖1實驗三串入串出移位寄存器設(shè)計實驗?zāi)康母鶕?jù)實驗容中介紹的4位串入/串出移位寄存器的設(shè)計方法,設(shè)計一個8位串入/串出移位寄存器。二、實驗容在這里我們通過一個4位串入/串出移位寄存器設(shè)計過程來介紹如何設(shè)計串入/串出移位寄存器。所謂的串入/串出移位寄存器,即輸入的數(shù)據(jù)是一個接著一個依序地進(jìn)入,輸出時一個接著一個依序地送出。三、實驗連線輸入信號有CLK(時鐘信號)、DATA-IN(數(shù)據(jù)輸入),CLK用適配器板子上的時鐘端,接數(shù)字信號源的CLK5,頻率調(diào)節(jié)到1Hz左右,DATA-IN接撥碼開關(guān);輸出信號DATA-OUT接發(fā)光二極管。四、實驗原理LIBRARYieee;USEieee.std_logic_1164.ALL;ENTITYsisoISPORT(DATA_IN:INSTD_LOGIC;CLK:INSTD_LOGIC;DATA_OUT:OUTSTD_LOGIC);ENDsiso;ARCHITECTUREaOFsisoISSIGNALQ:STD_LOGIC_VECTOR(3DOWNTO0);BEGINPROCESS(CLK)BEGINIFCLK'EVENTANDCLK='1'THENQ(0)<=DATA_IN;FORIIN1TO3LOOPQ(I)<=Q(I-1);ENDLOOP;ENDIF;ENDPROCESS;DATA_OUT<=Q(3);ENDa;五、波形仿真結(jié)果圖14位串入/串出移位寄存器仿真波形圖因為一開始時寄存器部存儲的數(shù)據(jù)為“0000”,必須等這4個“0”逐一移出后,新的數(shù)據(jù)才能進(jìn)入并存儲,幫數(shù)據(jù)的輸入和輸出會存有4個位延遲時間的差異。DATA_IN表示輸入的數(shù)據(jù)流,DATA_OUT為輸出的數(shù)據(jù)流,Q顯示的為寄存器目前存儲的數(shù)據(jù)容。實驗四帶清零的8位并行輸入串行輸出移位寄存器一、實驗容用VHDL語言實現(xiàn)8位并進(jìn)串出移位寄存器電路的設(shè)計。二、實驗原理LIBRARYIEEE;USEIEEE.STD_LOGIC_1164.ALL;ENTITYpisoISPORT(din:INSTD_LOGIC_VECTOR(7DOWNTO0); clk:INSTD_LOGIC; load:INSTD_LOGIC; dout:OUTSTD_LOGIC);ENDpiso;ARCHITECTUREbehavOFpisoISSIGNALq:STD_LOGIC_VECTOR(7DOWNTO0);BEGINPROCESS(load,clk)BEGIN IF(load='0')THEN q<=din; ELSIF(clk'eventANDclk='1')THEN q(1)<=q(0); FORiIN2TO7LOOP q(i)<=q(i-1); ENDLOOP; ENDIF;ENDPROCESS;PROCESS(load,clk)BEGIN IFload='0'THEN dout<='0'; ELSIF(clk'eventANDclk='1')THEN dout<=q(7); ENDIF;ENDPROCESS;ENDbehav;三、仿真波形結(jié)果實驗五8位雙向移位寄存器電路設(shè)計一、基本工作原理移位寄存器是基本的同步時序電路,基本的移位寄存器可以實現(xiàn)數(shù)據(jù)的串行/并行或并行/串行的轉(zhuǎn)換、數(shù)值運算以及其他數(shù)據(jù)處理功能。但有時候需要對移位寄存器的數(shù)據(jù)流向加以控制,實現(xiàn)數(shù)據(jù)的雙向移動,其中一個方向稱為右移,另一個方向稱為左移,這種移位寄存器就稱為雙向移位寄存器。根據(jù)國家標(biāo)準(zhǔn)規(guī)定,邏輯圖中的最低有效位(LSB)到最高有效位(MSB)的電路排列順序應(yīng)從上到下,從左到右。因此定義移位寄存器中的數(shù)據(jù)從低位觸發(fā)器移向高位為右移,移向低位為左移。為了擴(kuò)展邏輯功能和增加使用的靈活性,*些雙向移位寄存器集成電路產(chǎn)品又附加了并行輸入、并行輸出等功能。下圖所示是上述幾種工作模式的簡化示意圖。圖1-1多功能移位寄存器工作模式簡圖二、基本實現(xiàn)方案圖1-2所示是實現(xiàn)數(shù)據(jù)保持、右移、左移、并行置入和并行輸出的一種電路方案。圖中的D觸發(fā)器是N為移位寄存器中的第m位觸發(fā)器,在其數(shù)據(jù)輸入端插入了一個4選1數(shù)據(jù)選擇器,用2位編碼輸入控制,來選擇觸發(fā)器輸入信號的來源。當(dāng)時,選擇該觸發(fā)器本身輸出的,次態(tài)為,使觸發(fā)器保持狀態(tài)不變;當(dāng)時,觸發(fā)器的輸出被選中,故CP脈沖上升沿到來時,存入此前的邏輯值,即,而,從而實現(xiàn)右移功能;類似地,當(dāng)時,選擇,實現(xiàn)左移功能;而當(dāng)時,則選中并行輸入數(shù)據(jù),其次態(tài),從而完成并行數(shù)據(jù)的置入功能。上述四種操作概述于表1-1,此外,在各觸發(fā)器的輸入端,可以得到N位并行數(shù)據(jù)的輸出。圖1-2實現(xiàn)多功能雙向移位寄存器的一種方案表1-1圖1-2的功能表控制信號功能控制信號功能S1S0S1S000保持10左移01右移11并行輸入三、電路圖設(shè)計(1)電路結(jié)構(gòu)根據(jù)上一節(jié)的移位寄存器的一種基本實現(xiàn)方案,可以設(shè)計出8位雙向移位寄存器,完整電路圖入圖2-1所示。此電路由8個4選1數(shù)據(jù)選擇器、8個帶異步清零的D觸發(fā)器組成。所有的數(shù)據(jù)選擇器編碼端分別對應(yīng)地接在一起,同時選擇D觸發(fā)器的信號數(shù)據(jù)來源。D觸發(fā)器時鐘端CP接一起,清零端也同樣接在一起,這樣可以保證級聯(lián)D觸發(fā)器的同步,和并行輸出數(shù)據(jù)的清零。另,每個D觸發(fā)器的輸出對應(yīng)一位并行輸入。Dsr是右移串行數(shù)據(jù)輸入端,Dsl是左移串行數(shù)據(jù)輸入端,分別接最低有效位對應(yīng)的數(shù)據(jù)選擇器和最高有效位對應(yīng)的數(shù)據(jù)選擇器。圖2-18位雙向移位寄存器(2)真值表分析電路圖,可得此8位雙向移位寄存器的真值表,入下表所示:表2-18位雙向移位寄存器真值表輸入輸出清零控制信號串行輸入時鐘CP并行輸入S1S0DsrDslLLHLLHLHLHLHHHHLLHHLHHHH注:表示CP脈沖上升沿之前瞬間的電平四、移位寄存器的Verilog建模(1)1Verilog建?;A(chǔ)硬件描述語言VerilogHDL類似于高級程序設(shè)計語言(如C語言等),它是一種以文本形式來描述數(shù)字系統(tǒng)硬件的結(jié)構(gòu)和行為的語言,用它可以表示邏輯電路圖、邏輯表達(dá)式,還可以表示更復(fù)雜的數(shù)字邏輯系統(tǒng)所完成的邏輯功能(即行為)。人們還可以用HDL編寫設(shè)計說明文檔,這種文檔易于存儲和修改,適用于不同的設(shè)計人員之間進(jìn)行技術(shù)交流,還能被計算機識別和處理,計算機對于HDL的處理包括兩個方面:邏輯仿真和邏輯綜合。邏輯仿真是指用計算機仿真軟件對數(shù)字邏輯電路的結(jié)構(gòu)和行為進(jìn)行預(yù)測,仿真器對HDL描述進(jìn)行解釋,以文本形式或時序波形圖形式給出電路的輸出。在電路在實現(xiàn)之前,設(shè)計人員可以根據(jù)仿真結(jié)果初步判斷電路的邏輯功能是否正確。在仿真期間,如果發(fā)現(xiàn)設(shè)計中存在錯誤,可以對HDL文件進(jìn)行修改,直至滿足設(shè)計要求為止。在Verilog中,行為級描述主要使用由關(guān)鍵詞initial或always定義的兩種結(jié)構(gòu)類型的語句。一個模塊的部可以包括多個initial或always語句,仿真時這些語句同時并行執(zhí)行,即與他們在的模塊部排列無關(guān),都從仿真的0時刻開始。本設(shè)計采用always語句對8位雙向移位寄存器進(jìn)行行為級功能描述。Always本身是一個無限循環(huán)語句,即不停地循環(huán)執(zhí)行其部的過程語句,直到仿真過程結(jié)束。但用它來描述硬件電路的邏輯功能時,通常在always后面緊跟著循環(huán)控制條件,所以always語句的一般用法如下:always(事件控制表達(dá)式)begin塊局部變量的定義;過程賦值語句;end這里,“事件控制表達(dá)式”也稱敏感事件表,即等待確定的事件發(fā)生或*一特定的條件變?yōu)椤罢妗保菆?zhí)行后面過程賦值語句的條件。“過程賦值語句”左邊的變量必須被定義成寄存器數(shù)據(jù)類型,右邊變量可以是任意數(shù)據(jù)類型。begin和end將多條過程賦值語句包圍起來,組成一個順序執(zhí)行語句塊,塊的語句按照排列順序依次執(zhí)行,最后一條語句執(zhí)行完后,執(zhí)行掛起,然后always語句處于等待狀態(tài),等待下一個事件的發(fā)生。注意,begin和end之間只有一條語句,且沒有定義局部變量時,則關(guān)鍵詞begin和end可以被省略。在Verilog中,將邏輯電路的敏感事件分為兩種類型:電平敏感事件和邊沿觸發(fā)事件。在組合電路中,輸入信號的變化直接會導(dǎo)致輸出信號的變化。時序電路中的鎖存器輸出在使能信號為高電平時未亦隨輸入電平變化,這種對輸入信號電平變化的響應(yīng)稱為電平敏感事件。而觸發(fā)器狀態(tài)的變化僅僅發(fā)生在時鐘脈沖的上升沿或下降沿。Verilog中分別用關(guān)鍵詞posedge(上升沿)和negedge(下降沿)進(jìn)行說明,這就是邊沿敏感事件。(2)位雙向移位寄存器Verilog描述本設(shè)計通過行為級描述語句always描述了一個8位雙向移位寄存器,它有兩個選擇輸入端、兩個串行數(shù)據(jù)輸入端、8個并行數(shù)據(jù)輸入端和8個并行數(shù)據(jù)輸出端,完成的功能與圖2-1的電路相同。它有5種功能:異步置零、同步置數(shù)、左移、右移和保持狀態(tài)不變。當(dāng)清零信號CR跳變到低電平時,寄存器的輸出被異步置零;否則,當(dāng)CR=1時,與時鐘信號有關(guān)的4種功能由case語句中的兩個選擇輸入信號S1和S0決定(在case后面S1、S0被拼接成2位矢量)。設(shè)計程序如下: //BehavioraldescriptionofUniversalshiftregister moduleshift(S1,S0,D,Dsl,Dsr,Q,CP,CR); inputS1,S0; //Selectinputs inputDsl,Dsr; //serialdatainput inputCP,CR; //ClockandReset input[7:0]D; //ParallelDatainput output[7:0]Q; //Registerouput reg[7:0]Q; always(posedgeCPornegedgeCR) if(~CR)Q<=8'b00000000; else case({S1,S0}) 2'b00:Q<=Q; //Nochange 2'b01:Q<={Q[6:0],Dsr}; //Shiftright 2'b10:Q<={Dsl,Q[7:1]}; //Shiftleft 2'b11:Q<=D; //Patallelloadinput endcaseendmodule在程序中定義了一個模塊(module)shift,在QuartusII中新建工程文件時,定義的頂層模塊名需要與工程名保持一致,否則在編譯時會出現(xiàn)錯誤。模塊前端為基本輸入輸出口的設(shè)置。使用了行為級描述語言always,后跟if……else……判斷語句,在循環(huán)執(zhí)行過程中來根據(jù)輸入信號判斷做出相應(yīng)的動作。其中if(~CR)Q<=8’b00000000;表示當(dāng)CR信號為低電平時,(~CR)則為1,此時將8為二進(jìn)制數(shù)b00000000賦給Q,即實現(xiàn)移位寄存器的異步清零。Case語句類似于C語言中的case語句,同樣根據(jù)判斷條件來選擇要執(zhí)行的分支語句。在case中將S1和S0拼接為2位矢量,來共同決定判斷結(jié)果。同樣,移位由串行輸入和7個觸發(fā)器的輸入拼接起來進(jìn)行描述,如Q<={Dsl,Q[7:1]};說明了左移操作,即在時鐘信號CP上升沿作用下,將左移輸入端Dsl的數(shù)據(jù)直接傳給輸出Q[7],而觸發(fā)器輸出端的數(shù)據(jù)左移一位,Q[7:1]傳給Q[6:0](即Q[7]->Q[6],Q[6]->Q[5],……,Q[1]->Q[0]),于是,完成將數(shù)據(jù)左移一位的操作。但是需要注意,上述程序中所注釋的右移和左移方向與圖2-1一致,而與Verilog描述語句中的排列和移動方向正好相反。后者與一般技術(shù)機程序一致(即高位在左,低位在右)。五、程序仿真在QuartuaII中建立shift工程,添加Verilog文件,編寫源代碼后,進(jìn)行全編譯。編譯成功后,即可對定義的模塊進(jìn)行功能仿真。仿真步驟查看相關(guān)QuartusII書籍。本設(shè)計中,將所有定義的引腳添加入仿真環(huán)境中,對輸入數(shù)據(jù)進(jìn)行強制設(shè)定,運行后觀察輸出波形及其時序圖。根據(jù)8位雙向移位寄存器的真值表,仿真時,首先考察此移位寄存器的左移、右移、保持和并行輸入的基本功能,然后再在串行輸入端加入信號,觀察移位寄存器的書序波形。圖4-1為基本功能時序圖。圖4-1基本功能時序圖根據(jù)圖4-1,觀察S1和S0信號,每個基本功能的仿
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年版酒店餐飲行業(yè)食品安全與售后服務(wù)標(biāo)準(zhǔn)協(xié)議3篇
- 二零二五年船舶安全監(jiān)督與船員資質(zhì)審核協(xié)議3篇
- 2025年度商業(yè)空間瓷磚定制及安裝服務(wù)合同4篇
- 二零二五版蒙娜麗莎瓷磚環(huán)保認(rèn)證與市場準(zhǔn)入?yún)f(xié)議4篇
- 2025年度校園建筑裝修設(shè)計及施工合同模板4篇
- 2025年跨境電商物流成本分析與合同執(zhí)行監(jiān)控協(xié)議4篇
- 2025年度購房贈送全屋水電改造及裝修服務(wù)合同4篇
- 2025年度廠外施工環(huán)境保護(hù)合同范本3篇
- 2025版虛擬貨幣交易平臺免責(zé)聲明合同范本4篇
- 2025年智慧環(huán)衛(wèi)綠化服務(wù)外包合同標(biāo)準(zhǔn)范本3篇
- 農(nóng)民工考勤表(模板)
- 承臺混凝土施工技術(shù)交底
- 臥床患者更換床單-軸線翻身
- 加強保育員隊伍專業(yè)化建設(shè)提升幼兒園保教質(zhì)量
- 計量基礎(chǔ)知識培訓(xùn)教材201309
- 中考英語 短文填詞、選詞填空練習(xí)
- 一汽集團(tuán)及各合資公司組織架構(gòu)
- 阿特拉斯基本擰緊技術(shù)ppt課件
- 初一至初三數(shù)學(xué)全部知識點
- 新課程理念下的班主任工作藝術(shù)
- (完整版)企業(yè)破產(chǎn)流程圖(四張)
評論
0/150
提交評論