引言
超高速集成電路硬件描述語言(VHDL)是一種用于電路設計的高級語言,與其他硬件描述語言相比,其具有語言簡潔、靈活性強、不依賴于器件設計等特點,使其成為EDA技術通用的硬件描述語言,使EDA技術更便于設計者掌握。
本文依托0uartuSⅡ軟件環(huán)境,采用VHDL語言編程,在不修改標準時鐘電路的基礎上,通過軟件編程設計了一款能夠將用戶作息時間在標準時鐘電路中進行提醒的作息時間控制器,該作息時間控制器實現了不同作息事件不同提醒程度和方式的設計目的。
1設計原理
一款根據作息時間的不同,通過不同程度和方式提醒的作息時間控制器,其提醒和模式設計是整個設計的核心。本文充分運用VHDL語言"自頂向下"的設計優(yōu)點,將整個系統(tǒng)進行模塊劃分,設計每一個模塊的功能及各模塊之間的接口,最終確定分為四大模塊:分頻模塊、時間調整模塊、計數器模塊以及顯示模塊。
2功能模塊
2.1分頻模塊
該模塊負責輸入時鐘信號,因為該ⅡFGA中已有的時鐘信號是50MHz的時鐘信號,所以該分頻器是一個50M分頻的分頻器,以保證通過這個分頻器后每一個輸入信號是1S,從而使后面的計時器每一次計數為1S,保證計數的準確。其Symbol如圖1所示,其中clk為系統(tǒng)時鐘信號輸入端,carry為1Hz時鐘頻率輸出端。
2.2時間調整模塊
該模塊負責實現計時器的預設功能,通過手動輸入信號,在計時之初就改變計時器的初始計時狀態(tài)。計時器的最大計時時間是固定的,即23h59min59S,同時可以手動校正與標準時鐘的誤差。調整電路設計如圖2所示,該模塊是由一個非門和一個二選一或門組成的,其中非門的作用是將輸入的低電壓轉化為高電壓,二選一或門的作用是保證標準時鐘電路正常進行的情況下,通過手動也能對時鐘電路進行控制。
2.3計數器模塊
該模塊把分頻器模塊輸出的信號作為相應信號,每有一個信號則作用一次,并在這個計時器模塊中加入了暫停和清零兩個信號的端口,用另外兩個可自由控制的開關給定信號,來控制暫停和清零功能的動作與否84[。同時為了完成最大計時為23h59min59s,這個計數器模塊由3個計數器組成,2個60計數器用來統(tǒng)計秒位和分位的時間變化,l個24計數器用來統(tǒng)計時位的時間變化。其中60秒位計時器的輸入端鏈接60分位計時器的輸出端,保證每60s顯示lmin,60分位計時器的輸入端鏈接24時位計時器的輸出端,保證每60min顯示lh,這樣設計可以保證計時器的計時規(guī)律與實際計時規(guī)律相同,更直觀。
60進制計數器其symbol如圖3所示,引腳clk是接受從60秒位計時器中來的進位信號,并把這個時鐘信號導入到模塊中,即實際中計時60s記為lmin:引腳clr是控制清零功能的,當系統(tǒng)收到從這個端口進入的信號時,此計數器模塊內的所有計時結果清零:引腳en是控制暫停功能的,當系統(tǒng)收到從這個端口進入的信號時,此計時器不管clk口是否有信號,系統(tǒng)均保持計時不變,保持當前狀態(tài):引腳pa為接受改變亮燈模式的輸入信號:引腳h83..o[是輸出亮燈模式的類型的信號:引腳q83..o[是輸出計時個位的結果信號,能顯示0到9:引腳b83..0[是輸出計時十位的結果信號,能顯示0到6:引腳carry是輸出進位信號,當此計數器達到最大值即60時,系統(tǒng)則輸出一個進位信號,同時系統(tǒng)計時結果清零。引腳shl、sh2、sh3、sh4是在達到作息時間表中時間時向彩燈輸出信號,達到鬧鐘設定秒、分鐘位效果。
24進制計數器其symbol如圖4所示,引腳clk、clr、en與60進制計數器功能相同。引腳q83..o[是輸出計時個位的結果信號,能顯示0到9:引腳b83..0[是輸出計時十位的結果信號,能顯示0到9:引腳carry是輸出進位信號,當此計數器達到最大值即24時,系統(tǒng)則輸出一個進位信號,同時系統(tǒng)計時結果清零。引腳shl、sh2、sh3是在達到作息時間表時間時向彩燈輸出信號,達到鬧鐘控制時位的效果。
2.4顯示模塊
該模塊用來處理計數器模塊的輸出信號,通過相應的編碼把計時結果顯示在7位LED數碼管上,從而使計時結果能夠直觀顯示出來。其symbol如圖5所示,引腳d83..0[是接受從計時器模塊輸出的信號,每一個顯示模塊與一位計時器輸出信號相對應:引腳h86..0[是把處理后的計時器輸出信號編譯到7位LED數碼管上,使得每一位數字能夠顯示出來。
3結語
本文利用vHDL語言,在ouartus一軟件環(huán)境下進行編程設計的作息時間控制器,當下載到DE2-ll5開發(fā)板上進行硬件驗證,所得結果滿足設計要求。
在設計過程中,發(fā)現作息時間控制器與我們日常所用的鬧鐘等提醒器件相近,但該作息時間控制器無法與鬧鐘一樣可以讓用戶自己設定提醒時間,希望能與讀者共同探討是否能將作息時間表的設定交予用戶設定的合理方案。