




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 基于vhdl語言的數字鐘設計 張穎摘 要:以自頂向下的模塊化方法進行數字鐘系統設計,采用vhdl語言編寫各功能模塊,原理圖作為頂層文件的方式,在quartus ii集成開發環境里進行編譯、仿真、綜合,最后在線下載到實驗箱進行調試,調試結果表明:數字鐘的時間顯示、調時和鬧鐘功能均可實現。關鍵詞:eda技術;vhdl;自頂向下;數字鐘引言隨著可編程邏輯器件應用的日益廣泛,以大規模可編程集成電路為物質基礎的eda技術打破了軟硬件之間的設計界限,使硬件系統軟件化,這已成為現代電子設計技術的發展趨勢。1vhdl(超高速集成電路硬件描述語言)作為一種常
2、用的數字系統設計輸入方式,語法結構嚴謹,描述功能強大,可用簡潔明了的代碼描述復雜的邏輯電路設計。而且vhdl語言支持從系統級到門級所有層次的設計,支持自頂向下的模塊化設計方法,在電子設計領域,已被廣泛使用。本文詳述使用vhdl語言實現對數字鐘的層次化設計,將文本編輯和圖形編輯兩種方式混合使用2,實現數字鐘計時、調時和鬧鐘功能。1 系統總體設計設計數字時鐘要求實現以下功能:(1)能顯示時、分、秒;(2)可手動調整時和分;(3)具有鬧鐘功能,可設定時間并且到時提醒。根據系統的功能,采用自頂向下的模塊化設計方法,以vhdl語言描述底層模塊硬件功能,原理圖做頂層文件的方式進行設計。根據數字鐘的功能要求
3、,可以把系統大體分為三部分:計時部分、鬧鐘部分和顯示部分。計時部分的主體是3個級聯的異步計數器,計數并輸出結果。其中秒、分計數模塊分別由60進制計數器組成,時計數模塊由24進制計數器組成,且上一級計數器的進位輸出信號作為下一級的時鐘脈沖輸入。為了實現調時調分功能,則分別在秒、分計數模塊外部增加調分調時控制端和調時信號脈沖輸入端。鬧鐘模塊則要求具有鬧鐘功能控制端,若控制端有效,模塊可以手動調整鬧鐘時間;反之,則進行正常的計時功能。而且當鬧鐘時間與正常時間相同時,可以發出提醒信號3。顯示部分則要通過動態掃描的方法將計數器的輸出送到數碼管上來顯示,由選擇模塊和數碼管顯示模塊組成。2 底層模塊的設計與
4、實現2.1 秒計數模塊(實體second)秒計數模塊可以看成一個60進制的計數器,實現正常的計時和調分功能。此模塊與分計數模塊進行級聯,其進位輸出信號enmin作為下一級分計數模塊的時鐘輸入,即秒計數器計數到59時,enmin端輸出單個脈沖,此時分計數器加一計數。當復位端clr有效時,計數器復位清零;當clr無效時,如果調分控制端setmin有效,計數器則進入調分狀態,進位輸出端enmin不再輸出計數器的計數結果,而是輸出手動調分信號minin(minin輸入端為手動控制的脈沖信號),通過使下一級分計數模塊以minin脈沖信號的頻率快速計數來完成調分功能;如果setmin無效,則計數器處于正常
5、計時狀態,從00計數到59并輸出進位信號。硬件功能描述時通過多個if語句的嵌套使用來實現,根據時鐘信號clk的輸入按照流程圖所示依次循環。過程中采用十進制計數,并且用bcd碼來表示個位和十位數字,使其易于理解也方便數碼管的顯示。設計流程如圖1(a)所示,生成的邏輯符號如圖1(b)所示。2.2 分計數模塊(實體minute)分計數模塊實質上與秒計數模塊相同,也是一個60進制的計數器,可實現計時和調時功能。模塊與下一級時計數模塊級聯,當計數到59時,進位輸出端enhour輸出單位脈沖到時計數模塊的時鐘輸入端clkm,時計數模塊加一計數。其設計流程同秒計數模塊相似,調時功能也是通過調時端sethou
6、r來控制進位輸出端enhour輸出手動調時信號hourin,使時計數模塊快速計數到需要的時間。生成模塊的邏輯符號如圖2所示。2.3 時計數模塊(實體hour)時計數模塊是一個簡單的24進制計數器,其時鐘輸入信號是分計數模塊的進位輸出,不需要產生進位信號。模塊功能描述與分、秒計數模塊大同小異,但要注意此計數器是從00計數到23,所以需多加一個if語句使計數器計數到23后復位清零。邏輯符號如圖3所示。2.4 鬧鐘模塊(實體naozhong)此模塊通過3個進程語句,分別描述了手動設定鬧鐘時、分和到時提醒的功能。設定鬧鐘時間的設計思路與之前second模塊調分功能相似,也是控制計數器加一計數直到需要的
7、時間為止。以鬧鐘調分為例,當鬧鐘調分控制端setm有效時,進入鬧鐘定時模式,通過minnao端手動調分信號的輸入來設定鬧鐘時間,這里輸入的minnao信號與分計數模塊的時鐘輸入信號clk作用相同,控制計數器進行計數,其過程與前面時、分、秒計數過程是分開的,二者互不影響;若setm端無效,輸出端outm、outh輸出時、分計數模塊的正常計數結果(即inm和inh的輸入)。而鬧鐘調時過程則需注意是從00計數到23,是24進制計數。設計流程如圖4(a)所示。第三個進程語句較為簡單,只需通過if語句來判斷設定的鬧鐘時間與正常的計數時間是否相同,若相同,則產生提醒信號。生成模塊邏輯符號如圖4(b)所示。
8、2.5 選擇模塊(實體select)和數碼管顯示模塊(實體display)這兩個模塊實質上是通過動態掃描的方法顯示時間。select模塊相當于數據選擇器,在高頻率時鐘信號的作用下進行循環掃描,選擇顯示的數碼管以及對應的時、分、秒的結果。display模塊則接受選擇信號,輪流向各位數碼管送出字形碼和相應位選,使七段數碼管顯示所對應的數字。此處的clk端必須輸入較高頻率的時鐘信號,利用發光管的余輝和人眼視覺暫留作用,使人感覺好像各位數碼管都在顯示4。模塊邏輯符號如圖5(a)(b)所示。2.6 頂層設計原理圖在各模塊編譯通過且仿真成果正確的基礎上,采用頂層原理圖的設計方法,系統頂層方框圖如圖6所示。
9、在實驗中,還可在鬧鐘模塊的提醒信號輸出端sp后接一個簡單的電子琴模塊,當sp信號產生時,鬧鐘定時與正常計時相同,此時控制電子琴模塊自動演奏樂曲作為鬧鐘鈴聲。3 結束語根據上述數字鐘設計實例,可以看出通過vhdl 語言實現電子設計,是一個以軟件設計為主,器件配置相結合的過程,能從多個層次對數字系統進行設計,設計數字電路更為靈活方便,設計周期也可大大減小,提高了設計效率和可靠性5。vhdl語言作為一種標準的硬件描述語言,具備強大的行為描述能力和移植復用能力,支持復雜電路設計的層次化分解和已有設計的移植再利用,已經成為數字系統設計不可缺少的重要工具。參考文獻1李國麗,朱維勇,何劍春.eda與數字系統設計m.北京:機械工業出版社,2009.2胡宏梅.基于vhdl語言的數字鐘層次化設計與實現j.電氣自動化,2016(1).3賴偉瑋,蘇靜怡.fpga原理及應用結課論文d.東北大學秦皇島分校,2012.4席玉清,陳化奎.兩位數碼管動態顯示編程常見問題分析j.科技創新與應用,2016(12).5王彩鳳.vhdl語言在電子設計中的應用j.實驗科學與技術,2014
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 兒童寫真周年活動方案
- 兒童助殘活動方案
- 兒童填詞活動方案
- 兒童存單活動方案
- 兒童家居活動方案
- 兒童小班音樂活動方案
- 兒童康復教研活動方案
- 兒童牙科宣傳活動方案
- 兒童繪畫區域活動方案
- 兒童藝術節活動方案
- 2025遼寧沈陽副食集團所屬企業招聘25人筆試參考題庫附帶答案詳解析集合
- 24年海南生物會考試卷
- 韓茂莉中國歷史地理講義(2009年版)
- DIN32711軸環連接多邊形輪廓P3G第2部分計算和定尺寸
- 胸腔鏡下三切口切除食管癌的手術配合
- 叉車日常維護保養檢查記錄表
- 空白個人簡歷表格
- 吹瓶機工藝培訓資料-sidel
- 中考數學二次函數壓軸題專題
- 海洋生物活性物質-活性多糖
- 飯店出兌合同范本兌店合同范本
評論
0/150
提交評論