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