設計異步清零和同步時鐘使能的加法計數器_第1頁
設計異步清零和同步時鐘使能的加法計數器_第2頁
設計異步清零和同步時鐘使能的加法計數器_第3頁
設計異步清零和同步時鐘使能的加法計數器_第4頁
設計異步清零和同步時鐘使能的加法計數器_第5頁
已閱讀5頁,還剩5頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、肅節附表1:蕆廣州大學學生實驗報告莇開課學院及實驗室:物理與電子工程學院-電子樓317室 2016 年 4 月 21 日 膃學 院蚃物 電腿年級、專業、班膅芃姓名膃jason.p蚇學號膈莃實驗課程名稱芀eda技術實驗荿成績羇莃實驗項目名稱蟻設計含異步清零和同步時鐘使能的加法計數器肁指 導 教 師蚆一、二、 蒂實驗目的:肂學習計數器的設計、仿真和硬件測試,進一步熟悉veriloghdl設計技術。葿三、四、 蒅實驗內容:薂蒃含異步清0和同步時鐘使能的4位加法器芁蒈(1)實驗原理:螞上圖是一含計數使能、異步復位的4位加法計數器,書中例3-15是其veriloghdl描述。由圖2-1所示,圖中間是4位

2、鎖存器;rst是異步清信號,高電平有效;clk是鎖存信號;d3:0是4位數據輸入端。當ena為1時,多路選擇器將加1器的輸出值加載于鎖存器的數據端;當ena為0時保持上一次的輸出。薀(2)實驗步驟:蠆(2)-1按照發給大家的文件“quartus ii 9.0基本設計流程-veriloghdl.ppt”所講述的步驟,在quartusii上對例3-15(第四版)(第五版p124例5-15)進行編輯、編譯、綜合、適配、仿真。說明例2-1各語句的作用,詳細描述示例的功能特點,給出其所有信號的時序仿真波形。芇(2)-2引腳鎖定以及硬件下載測試:螂若目標器件是ep3c40q240c8n,建議選實驗電路模式

3、5,用鍵8(pio7)控制rst;用鍵7控制ena;計數溢出cout接發光管d8;outy是計數輸出接數碼1;時鐘clk接clock2,通過跳線選擇4hz信號。引腳鎖定后進行編譯、下載和硬件測試實驗。將實驗過程和實驗結果寫進實驗報告。羈五、六、 莁實驗hdl描述:肆module cnt10(clk,rst,en,load,cout,dout,data)肆input clk,en,rst,load; /定義輸入信號莂input3:0 data; /定義4位的并行加載數據data袈output3:0 dout; /定義4位的計數輸出數據dout肈output cout; /定義進位輸出信號cout

4、膆reg3:0 q1; /定義4位的寄存器型中間變量q1螂reg cout;薀assign dout = q1; /將內部寄存器的計數結果輸出至dout袇always (posedge clk or negedge rst) /時序過程芆begin膃if(!rst) q1 = 0; /rst=0時,對內部寄存器單元異步清0肈else if(en)薆begin /同步使能en=1,則允許加載或計數薁if(!load) q1 = data; /當load=0,向內部寄存器加載數據薅else if(q19) q1 =q1+1; /當q1小于9時,允許累加羅else q1 =4b0000; /否則一個

5、時鐘后清零返回初值蝕end蝕end羆always (q1) /組合過程蒃if (q1=4h9) cout = 1b1;蚃else cout = 1b0;螀endmodule莇膅四、仿真結果:蒂袀圖1螈薃圖2膁羀由圖1的時序波形可見,當en=0時,dout的輸出數據3保持了一段時間;羅當en=1,且在時鐘clk的上升沿時間范圍load=0時,4位輸入數據data=0被加載,在load=1后作為計數器的計數初值(圖1);聿當en=1,load=1時,輸入的數據不被加載;螄rst在任意時刻均有效,即使clk非上升沿時,計數也能即刻清0(圖2:計數到3后清0);螄當計數到9時,cout輸出進位1,如圖

6、2所示。肀薆五、引腳鎖定:螇襖蒁羋六、硬件測試結果:薅蒃莁程序下載芅袃薃袁羇袆蚃羈蠆蚅螃荿膇莄袂硬件測試效果(模式5)螀衿硬件測試的結果現象為:當鍵1(rst)、鍵2(en)、鍵3(load)均處于高電平時,數碼管1依照時鐘信號的周期(clock0=1hz),從0依次變化到9,當計數到9時,led燈(d8:cout)亮起。膃數碼管1顯示的過程中,按下鍵1(rst)時(變為低電平),數碼管1即刻清零;按下鍵2(en)時(變為低電平),數碼管1保持顯示當前的數字(如上硬件測試效果圖:保持顯示數字5);按下鍵3(load)時(變為低電平),數碼管1顯示的數字變為由鍵8-鍵5確定的data值(上圖為:

7、0011b,就是十進制數3),恢復鍵1-鍵3的高電平狀態,計數功能正常運行。袂膁七、實驗心得:芇通過本次實驗,使我進一步熟悉了quartusii的veriloghdl文本設計流程以及電路仿真和硬件測試。本次實驗的重難點是引腳鎖定,數碼管的顯示是需要先經過譯碼器的處理,所以我選擇了模式5。通過對照實驗電路結構圖以及芯片引腳的定義表,正確進行引腳鎖定,否則編譯會出錯或者達不到預期的效果。總的來說,本次實驗還是有一定的挑戰性。八、思考題:給出含異步清零和同步使能的16位二進制加減可控計數器的veriloghdl描述。module updowncnt16(q,cout,data,load,en,clk

8、,rst,up_down)input15:0 data;input load,en,clk,rst,up_down;output15:0 q;output cout;reg15:0 q;always (posedge clk or negedge rst)beginif(!rst) q=16h0000; /異步清零,低電平有效else if(en) /計數使能端,高電平有效beginif(!load) q=data; /同步置數,低電平有效if(up_down) q=q+1; /up_down=1時,加計數else q=q-1; /up_down=0時,減計數endendalways (q)if(q=16hffff & up_down)cout=1b1;else if(q=16h000

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論