含異步清零和同步使能的加法計數(shù)器
一、 實驗?zāi)康?/strong>
1、 了解二進(jìn)制計數(shù)器的工作原理。
2、 進(jìn)一步熟悉QUARTUSII軟件的使用方法和VHDL輸入。
3、時鐘在編程過程中的作用。
二、 實驗原理
二進(jìn)制計數(shù)器中應(yīng)用最多、功能最全的計數(shù)器之一,含異步清零和同步使能的加法計數(shù)器的具體工作過程如下:
在時鐘上升沿的情況下,檢測使能端是否允許計數(shù),如果允許計數(shù)(定義使能端高電平有效)則開始計數(shù),否則一直檢測使能端信號。在計數(shù)過程中再檢測復(fù)位信號是否有效(低電平有效),當(dāng)復(fù)位信號起作用時,使計數(shù)值清零,繼續(xù)進(jìn)行檢測和計數(shù)。其工作時序如圖4-3-1所示:
圖4-3-1 計數(shù)器的工作時序
三、 實驗內(nèi)容
本實驗要求完成的任務(wù)是在時鐘信號的作用下,通過使能端和復(fù)位信號來完成加法計數(shù)器的計數(shù)。實驗中時鐘信號使用數(shù)字時鐘源模塊的1HZ信號,用一位撥動開關(guān)K1表示使能端信號,用復(fù)位開關(guān)RST表示復(fù)位信號,用LED模塊的D1~D4來表示計數(shù)的二進(jìn)制結(jié)果。實驗LED亮表示對應(yīng)的位為‘1’,LED滅表示對應(yīng)的位為‘0’。通過輸入不同的值模擬計數(shù)器的工作時序,觀察計數(shù)的結(jié)果。
四、 實驗步驟
1、 打開QUARTUSII軟件,新建一個工程。
2、 建完工程之后,再新建一個VHDL File,打開VHDL編輯器對話框。
3、 按照實驗原理和自己的想法,在VHDL編輯窗口編寫VHDL程序,用戶可參照光盤中提供的示例程序。
4、 編寫完VHDL程序后,保存起來。方法同實驗一。
5、 對自己編寫的VHDL程序進(jìn)行編譯并仿真,對程序的錯誤進(jìn)行修改。
6、 編譯仿真無誤后,根據(jù)用戶自己的要求進(jìn)行管腳分配。分配完成后,再進(jìn)行全編譯一次,以使管腳分配生效。
7、 根據(jù)實驗內(nèi)容用實驗導(dǎo)線將上面管腳分配的FPGA管腳與對應(yīng)的模塊連接起來。
如果是調(diào)用的本書提供的VHDL代碼,則實驗連線如下:
CLK:FPGA時鐘信號,接數(shù)字時鐘CLOCK4,并將這組時鐘設(shè)為1HZ。
Ret:計數(shù)復(fù)位信號,接核心板按鍵開關(guān)RST。
EN:計數(shù)使能信號,接一個撥動開關(guān)K1(LOCK KEY AREA)。
CQ:計數(shù)進(jìn)位信號,接一個LED燈D8(LED AREA)。
COUT:計數(shù)輸出,接四個連續(xù)的LED燈D1-D4(LED AREA)。
8、 用下載電纜通過JTAG口將對應(yīng)的sof文件加載到FPGA中。觀察實驗結(jié)果是否與自己的編程思想一致。
五、 實驗現(xiàn)象與結(jié)果
以設(shè)計的參考示例為例,當(dāng)設(shè)計文件加載到目標(biāo)器件后,確認(rèn)信號連接線已正確連接,將數(shù)字信號源的時鐘選擇為1HZ,使撥動開關(guān)K1置為高電平(使撥動開關(guān)向上),四位LED會按照實驗原理中依次被點亮,當(dāng)加法器加到9時,D8(進(jìn)位信號)被點亮。當(dāng)復(fù)位鍵(核心板上的RST鍵)按下后,計數(shù)被清零。如果撥動開關(guān)K1置為低電平(撥動開關(guān)向下)則加法器不工作。
六、 實驗報告
1、 繪出仿真波形,并作說明。
2、 寫出在VHDL編程過程中需要說明的規(guī)則。
3、 將實驗原理、設(shè)計過程、編譯仿真波形和分析結(jié)果、硬件測試結(jié)果記錄下來。
4、改變時鐘頻率,看實驗現(xiàn)象會有什么改變,試解釋這一現(xiàn)象。