EDA課程設計報告基于VHDL語言的數(shù)字電子鐘實現(xiàn)_第1頁
EDA課程設計報告基于VHDL語言的數(shù)字電子鐘實現(xiàn)_第2頁
EDA課程設計報告基于VHDL語言的數(shù)字電子鐘實現(xiàn)_第3頁
EDA課程設計報告基于VHDL語言的數(shù)字電子鐘實現(xiàn)_第4頁
EDA課程設計報告基于VHDL語言的數(shù)字電子鐘實現(xiàn)_第5頁
已閱讀5頁,還剩22頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、 基于 vhdl 語言的數(shù)字電子鐘實現(xiàn) 第1頁 共 26 頁 目目 錄錄 1 引 言.4 1.1 eda 概述.4 1.2 vhdl 語言概述.5 1.3 max+plus ii 概述.6 2 數(shù)字電子鐘設計.9 2.1 設計方案.9 2.2 設計思路.9 2.3 模塊設計.10 3 數(shù)字電子鐘的仿真.15 3.1 六進制計數(shù)器的仿真.15 3.2 十進制計數(shù)器的仿真.16 3.324 進制計數(shù)器的仿真.17 3.4 顯示模塊的仿真.18 3.5 頂層模塊的仿真.18 4 小 結.19 參考文獻.20 附錄:設計源程序清單.21 基于 vhdl 語言的數(shù)字電子鐘實現(xiàn) 第2頁 共 26 頁 基于

2、基于 vhdl 的數(shù)字電子鐘設計的數(shù)字電子鐘設計 學生姓名:學生姓名: 指導老師:指導老師: 摘摘 要要 隨著eda技術的發(fā)展和應用領域的擴大與深入, eda技術在電子信息、通信、 自動控制及計算機應用領域的重要性日益突出。eda技術就是依賴功能強大的計算機, 在eda工具軟件平臺上,對以硬件描述語言vhdl為系統(tǒng)邏輯描述手段完成的設計文件, 自動地完成邏輯優(yōu)化和仿真測試,直至實現(xiàn)既定的電子線路系統(tǒng)功能。本文介紹了基于 vhdl硬件描述語言設計的多功能數(shù)字時鐘的思路和技巧。在max+plus ii開發(fā)環(huán)境中 編譯和仿真了所設計的程序,并逐一調(diào)試驗證程序的運行狀況。仿真和驗證的結果表明,該 設計

3、方法切實可行,該數(shù)字時鐘具有一定的實際應用性。 關鍵詞關鍵詞 數(shù)字電子鐘;仿真調(diào)試;vhdl;max+plus ii 基于 vhdl 語言的數(shù)字電子鐘實現(xiàn) 第3頁 共 26 頁 design of digital electronic clock based on vhdl student name: chen ben teacher: chen yuantao abstract with the development of eda technology and expansion and deepen of application, eda technology has become mo

4、re and more important in electronic information, communications, automatic control and computer app lications. eda technology depends on powerful computers, complete logic optimization and simulation tests of design documents by means of making hardware description language vhdl as the system logic

5、description automatically in eda tools software platform, until it has achieved the function of established electronic circuits system. in this paper, we have introduced ideas and crafts manship of multi-function digital clock design based on vhdl hardware description language. compile and simulate

6、designed procedures in max+plus ii development environment and debug and verify each ofthe operation of program. simulation and verify results show that this design is workable and this digital clock is practical. key words digital electronic clock; emulator debugger; vhdl; max+plus ii 基于 vhdl 語言的數(shù)字

7、電子鐘實現(xiàn) 第4頁 共 26 頁 1 引引 言言 當今社會是數(shù)字化的社會,也是數(shù)字集成電路廣泛應用的社會,數(shù)字電路本身在 不斷地進行更新?lián)Q代。它由早期的電子管、晶體管、小中規(guī)模集成電路發(fā)展到超大規(guī) 模集成電路(vlsic1)以及許多具有特定功能的專用集成電路。但是,隨著微電子技 術的發(fā)展,設計與制造集成電路的任務已不完全由半導體廠商來獨立承擔。系統(tǒng)設計 師們更愿意自己設計專用集成電路(asic)芯片,而且希望 asic 的設計周期盡可能 的短,最好是在實驗室里就能設計出合適的 asic 芯片,并且立即投入實際應用之中, 因而出現(xiàn)了現(xiàn)場可編程邏輯器件(fpld),其中應用最廣泛的當屬現(xiàn)場可編程門

8、陣列 (fpga2)和復雜可編程邏輯器件(cpld)。比較典型的就是 xilinx 公司的 fpga 器件系列和 altera 公司的 cpld 器件系列,它們開發(fā)較早,占用較大的 pld 市場。目 前,altera 系列產(chǎn)品在我國使用較多。 1.1 eda 概述概述 20 世紀 90 年代,國際上電子和計算機技術較先進的國家,一直在積極探索新的電 子電路設計方法,并在設計方法、工具等方面進行了徹底的變革,取得了巨大成功。 在電子技術設計領域,可編程邏輯器件(如 cpld、fpga)的應用,已得到廣泛的普 及,這些器件為數(shù)字系統(tǒng)的設計帶來了極大的靈活性。這些器件可以通過軟件編程而 對其硬件結構

9、和工作方式進行重構,從而使得硬件的設計可以如同軟件設計那樣方便 快捷。這一切極大地改變了傳統(tǒng)的數(shù)字系統(tǒng)設計方法、設計過程和設計觀念,促進了 eda 技術的迅速發(fā)展。 eda 技術就是以計算機為工具,設計者在 eda 軟件平臺上,用硬件描述語言 hdl 完成設計文件,然后由計算機自動地完成邏輯編譯、化簡、分割、綜合、優(yōu)化、 布局、布線和仿真,直至對于特定目標芯片的適配編譯、邏輯映射和編程下載等工作。 eda 技術的出現(xiàn),極大地提高了電路設計的效率和可操作性,減輕了設計者的勞動強 度。 利用 eda 工具,電子設計師可以從概念、算法、協(xié)議等開始設計電子系統(tǒng), 大量工作可以通過計算機完成,并可以將電

10、子產(chǎn)品從電路設計、性能分析到設計出 ic 版圖或 pcb 版圖的整個過程的計算機上自動處理完成。 現(xiàn)在對 eda 的概念或范疇用得很寬。包括在機械、電子、通信、航空航天、化工、 礦產(chǎn)、生物、醫(yī)學、軍事等各個領域,都有 eda 的應用。目前 eda 技術已在各大公 基于 vhdl 語言的數(shù)字電子鐘實現(xiàn) 第5頁 共 26 頁 司、企事業(yè)單位和科研教學部門廣泛使用。例如在飛機制造過程中,從設計、性能測 試及特性分析直到飛行模擬,都可能涉及到 eda 技術。 1.2 vhdl 語言概述語言概述 硬件描述語言是 eda 技術的重要組成部分,vhdl3 是作為電子設計主流硬件 描述語言,vhdl(very

11、 high speed integrated circuit hardware description language) 于 1983 年由美國國防部發(fā)起創(chuàng)建,由 ieee 進一步發(fā)展并在 1987 年作為 ieee 標準 10760 發(fā)布。因此,vhdl 成為硬件描述語言的業(yè)界標準之一。vhdl 作為 ieee 的工 業(yè)標準硬件描述語言,得到眾多 eda 公司的支持,在電子工程領域,已成為事實上的 通用硬件描述語言。vhdl 語言具有很強的電路描述和建模能力,能從多個層次對數(shù) 字系統(tǒng)進行建模和描述,從而大大簡化了硬件設計任務,提高了設計效率和可靠性, 使用 vhdl 語言,可以就系統(tǒng)的總體

12、要求出發(fā),自上而下地將設計內(nèi)容細化,最后完 成系統(tǒng)硬件的整體設計。一個完整的 vhdl 程序包括以下幾個基本組成部分:實體 (entity) ,結構體(architecture) ,程序包(package) ,庫(library) 。其中,實體是一 個 vhdl 程序的基本單元,由實體說明和結構體兩部分組成,實體說明用于描述設計 系統(tǒng)的外部接口信號;結構體用于描述系統(tǒng)的行為,系統(tǒng)數(shù)據(jù)的流程或系統(tǒng)組織結構 形式。程序包存放各設計模塊能共享的數(shù)據(jù)類型,常數(shù),子程序等。庫用于存放已編 譯的實體,機構體,程序包及配置。 vhdl 語言的編譯環(huán)境有不同的版本,我們應用的是 altera 公司的 maxp

13、lus 軟件, 它的操作順序如下:使用 texteditor 編寫 vhdl 程序使用 compiler 編譯 vhdl 程序;使用 wave2formeditor,simularot 仿真實驗;使用 timinganaltzer 進行芯片的時序分析;用 floorplaneditor 鎖定芯片管腳位 置;使用 programmer 將編譯好的 vhdl 程序下載到芯片中。 vhdl 進行工程設計的優(yōu)點是顯而易見的。 1與其他的硬件描述語言相比,vhdl 具有更強的行為描述能力,從而決定了他 成為系統(tǒng)設計領域最佳的硬件描述語言。 2vhdl 豐富的仿真語句和庫函數(shù),使得在任何大系統(tǒng)的設計早期就

14、能查驗設計 系統(tǒng)的功能可行性,隨時可對設計進行仿真模擬。 3vhdl 語句的行為描述能力和程序結構決定了他具有支持大規(guī)模設計的分解和 已有設計的再利用功能。符合市場需求的大規(guī)模系統(tǒng)高效、高速地完成必須有多人甚 至多個代發(fā)組共同并行工作才能實現(xiàn)。 基于 vhdl 語言的數(shù)字電子鐘實現(xiàn) 第6頁 共 26 頁 4對于用 vhdl 完成的一個確定的設計,可以利用 eda 工具進行邏輯綜合和 優(yōu)化,并自動的將 vhdl 描述設計轉變成門級網(wǎng)表。 5vhdl 對設計的描述具有相對獨立性,設計者可以不懂硬件的結構,也不必管 理最終設計實現(xiàn)的目標器件是什么,而進行獨立的設計。 6用 vhdl 語言編寫的源程序

15、便于文檔管理,用源代碼描述來進行復雜控制邏 輯的設計,既靈活方便,又便于設計結果的交流、保存和重用。 綜上所述,vhdl 語言的極強的行為描述能力和豐富的仿真語句及庫函數(shù),決定 了它具有支持大規(guī)模設計的分析和已有設計的再利用功能 5 和功能 6,用 vhdl 完成 一個確定的設計,可以利用 eda 工具進行邏輯綜合和優(yōu)化,并自動把 vhdl 描述設 計轉變成門級網(wǎng)表。這種方式突破了門級設計的瓶頸,極大地減少了電路設計的時間 和可能發(fā)生的錯誤,降低了開發(fā)成本。 1.3 max+plus ii 概述概述 max+plus ii4是美國 altera 公司開發(fā)的軟件,它具有操作系統(tǒng)的程序界面,采用

16、全菜單操作和鼠標操作方式,是一個完全集成化,易學易用的可編程邏輯設計環(huán)境。 它提供了功能強大,直觀便捷和操作靈活的原理圖輸入設計功能,同時還配備了適用 于各種需要的元件庫,其中包含基本邏輯元件庫(如與非門、反向器、觸發(fā)器等) ,宏 功能元件(包含了幾乎所有 74 系列的器件)以及功能強大、性能良好的類似于核的兆 功能塊庫,但更為重要的是它提供了使用方便,精度良好的時序仿真器,能夠對系統(tǒng) 中任一元件的功能進行精確的時序仿真,精度達 0.1ns,非常準確。 max+plus ii 開發(fā)系統(tǒng)是一個完全集成化、易學易用的可編程邏輯器件設計和開發(fā) 系統(tǒng),它提供了一種真正與結構無關的可編程邏輯設計環(huán)境。它

17、所提供的靈活性和高 效性是無可比擬的,其豐富的圖形界面,輔之以完整的、可即時訪問的在線文檔,使 設計人員能夠輕松、愉快地掌握和使用 max+plus ii 軟件。max+plus ii 支持靈活多樣 的輸入方式:原理圖輸入、硬件描述語言輸入、波形輸入,以及層次設計輸入。 max+plus ii 的設計輸入、處理和校驗功能全部集成在統(tǒng)一的開發(fā)環(huán)境下,這樣可 以加快動態(tài)調(diào)試進程。它提供豐富的庫單元供設計者使用,包括 74 系列的全部器件、 多種特殊的邏輯宏功能(macro-function)和參數(shù)化功能模塊(lpm: library of parameterized modules) ,但更為重要

18、的是 max+plus ii 還提供了原理圖輸入多層次設計 功能,使得用戶能設計更大規(guī)模的電路系統(tǒng),以及使用方便、精度良好的時序仿真器。 與傳統(tǒng)的數(shù)字電路實驗相比,max+plus ii 提供靈活多樣的層次化輸入設計功能,具有 基于 vhdl 語言的數(shù)字電子鐘實現(xiàn) 第7頁 共 26 頁 顯著的優(yōu)勢: 1能進行任意層次的數(shù)字系統(tǒng)設計。傳統(tǒng)的數(shù)字電路實驗只能完成單一層次的設 計,使設計者無法了解和實現(xiàn)多層次的硬件數(shù)字系統(tǒng)設計; 2對系統(tǒng)中的任一層次或任一元件的功能進行精確的時序仿真,精度達 0.1ns, 因此能發(fā)現(xiàn)對系統(tǒng)可能產(chǎn)生不良影響的競爭冒險現(xiàn)象; 3通過時序仿真,能迅速定位電路系統(tǒng)的錯誤所在

19、,并隨時糾正; 4能對設計方案進行隨時更改,并儲存設計過程中所有的電路和測試文件入檔; 5通過編譯和下載,能在 fpga 或 cpld 上對設計項目隨時進行硬件測試驗證; 6如果使用 fpga 和配置編程方式,將不會有器件損壞和損耗問題; 7符合現(xiàn)代電子設計技術規(guī)范。傳統(tǒng)的數(shù)字電路實驗利用手工連線的方法完成元 件連接,容易對學習者產(chǎn)生誤導,以為只要將元件間的引腳用引線按電路圖連上即可, 而不必顧及引線長短,粗細彎曲方式,可能產(chǎn)生的分布電感和電容效應,以及電磁兼 容性等等十分重要的問題。 max+plus ii 還提供設計校驗的仿真器,其中包括功能仿真和時序仿真。仿真器的 靈活性很強電路設計完成

20、后,需要驗證電路設計的邏輯功能是否正確。這是一項簡單 的邏輯檢查,可采用功能仿真,這對于初步的邏輯功能檢測非常方便。功能檢查完成 后,可進行時序仿真。max+plus ii 的時序分析程序可以計算點到點的器件延時,確定 器件引腳上的建立時間和保持時間要求,還可計算最高時鐘頻率。 用 max+plus ii 軟件進行邏輯設計的步驟包括: 1根據(jù)所選課題的任務和設計指標要求,確定總體設計方案,畫出總體方案的系 統(tǒng)框圖(亦稱預設計階段) 2進行底層單元電路分析及輸入設計、編譯、仿真; 3利用已編譯正確的底層單元電路模塊,畫出頂層電路的原理圖 ,進行編譯調(diào) 試和仿真測試; 4撰寫設計報告。 max+p

21、lus ii 的設計流程可以用如下圖 1.1 給出。 基于 vhdl 語言的數(shù)字電子鐘實現(xiàn) 第8頁 共 26 頁 圖形成 vhdl 編 輯器 編譯 網(wǎng)表 提取 數(shù)據(jù) 庫建 立 邏輯 綜合 邏輯 分割 匹配延時 網(wǎng)表 提取 編輯 文件 匯編 編輯 器 圖圖 1.1 max+plus ii 設計流程設計流程 從圖 1.1 可清晰了解到 max+plus ii 提供了一種與結構無關的設計環(huán)境,使設計者 能方便地進行設計輸入、快速處理和器件編程。他包括設計輸入編輯、編譯網(wǎng)表提取、 數(shù)據(jù)庫建立、邏輯綜合、邏輯分割、適配、延時網(wǎng)表提取、編輯文件匯編以及編程下 載 9 個步驟。 基于 vhdl 語言的數(shù)字電

22、子鐘實現(xiàn) 第9頁 共 26 頁 2 數(shù)字電子鐘設計數(shù)字電子鐘設計 本設計采用自頂向下的設計方法5,將數(shù)字電子時鐘分11個子模塊和1個頂層模塊。 子模塊包括2個六進制計數(shù)器,2個十進制計數(shù)器,1個24進制計數(shù)器和6個led七段數(shù) 碼顯示模塊。然后將各個子模塊再細分為更小的功能塊,直到最后能用 vhdl語言進 行描述為止。當各個模塊都描述完成并仿真確認無誤后,再采用元件例化,將各個元 件一層一層的例化連接起來,直到最后完成系統(tǒng)設計。秒鐘和分鐘的高位只能計數(shù)到 5,低位可以計數(shù)到9,如59秒,59分,而小時最大計數(shù)到23。時、分、秒的計時結果 采用6個數(shù)碼管動態(tài)顯示。 2.1設計方案設計方案 基于可

23、編程邏輯器件 cpld/fpga 的芯片,使用硬件描述語言(vhdl)設計一 個數(shù)字電子鐘芯片5,并進行計算機仿真和編程下載。要求該數(shù)字電子鐘芯片能夠實現(xiàn) 如下功能: 1計數(shù)功能:完成 00 時 00 分 00 秒到 23 時 59 分 59 秒的計時功能。 2清零功能:到 23 時 59 分 59 秒時電路自動清零,并設有一個手動清零開關, 通過它可以對電路實現(xiàn)隨時的手動的清零。 3定時功能:能夠隨意設定,精確到秒,由開關調(diào)節(jié)設定需要設定的時刻。 4動態(tài)顯示功能:能夠動態(tài)顯示電子中的時刻數(shù)。 2.2 設計思路設計思路 根據(jù)該數(shù)字電子鐘的功能要求,現(xiàn)劃分為以下 5 個模塊: 1秒計數(shù)模塊 2分

24、計數(shù)模塊 3時計數(shù)模塊 4顯示模塊 5頂層模塊 在計數(shù)模塊中,程序中的控制信號表示如下: clk 是脈沖控制輸入信號。 reset 是清零輸入信號,低電平有效。 基于 vhdl 語言的數(shù)字電子鐘實現(xiàn) 第10頁 共 26 頁 2.3 模塊設計模塊設計 秒計數(shù)模塊的功能是從 00 計數(shù)到 59,為六十進制,所以可以由 1 個六進制計數(shù)器 和 1 個十進制計數(shù)器組成 1 個六十進制的計數(shù)器。 六進制計數(shù)器設計圖如圖 2.1 所示。 圖圖 2.1 六進制計數(shù)器設計圖六進制計數(shù)器設計圖 其中 reset 是六進制計數(shù)器的清零輸入信號,低電平有效,clk 是脈沖控制輸 入信號。din2.0是秒計數(shù)模塊的十

25、位輸入信號,用來調(diào)整秒的十位的數(shù)值。 dout2.0是秒計數(shù)模塊的十位輸出信號。c 為秒計數(shù)器的進位。 十進制計數(shù)器設計圖如圖 2.2 所示。 圖圖 2.2 十進制計數(shù)器設計圖十進制計數(shù)器設計圖 其中 reset 是十進制計數(shù)器的清零輸入信號,低電平有效,clk 是脈沖控制輸 入信號。din3.0是秒計數(shù)模塊的個位輸入信號,用來調(diào)整秒的個位的數(shù)值。 dout3.0是秒計數(shù)模塊的個位輸出信號。c 為秒計數(shù)器的個位的進位。 秒計數(shù)模塊的原理圖如圖 2.3 所示。 圖圖 2.3 秒計數(shù)模塊原理圖秒計數(shù)模塊原理圖 基于 vhdl 語言的數(shù)字電子鐘實現(xiàn) 第11頁 共 26 頁 分計數(shù)模塊的功能同樣是從

26、00 計數(shù)到 59,所以分計數(shù)模塊的構成和秒計數(shù)模塊的 構成一樣。同樣由 1 個六進制計數(shù)器和 1 個十進制計數(shù)器組成。設計圖同秒計數(shù)模塊。 原理圖如圖 2.4 所示。其中需將秒的進位輸出信號接到分計數(shù)模塊的個位的時鐘信號上。 圖圖 2.4 分計數(shù)模塊原理圖分計數(shù)模塊原理圖 時計數(shù)模塊的功能是從 00 計數(shù)到 23,為 24 進制。所以該模塊只需 1 個 24 進制計 數(shù)器構成。 24 進制計數(shù)器設計圖如圖 2.5 所示。其中需將分的進位輸出信號接到時計數(shù)模塊 的時鐘信號上。 圖圖 2.5 24 進制計數(shù)器設計圖進制計數(shù)器設計圖 其中 reset 是 24 進制計數(shù)器的清零輸入信號,低電平有效

27、,clk 是脈沖控制輸 入信號。din5.0是秒計數(shù)模塊的輸入信號,用來調(diào)整小時的數(shù)值。dout5.0是時 計數(shù)模塊的輸出信號。 時計數(shù)模塊原理圖如圖 2.6 所示。 基于 vhdl 語言的數(shù)字電子鐘實現(xiàn) 第12頁 共 26 頁 圖圖 2.6 時計數(shù)模塊原理圖時計數(shù)模塊原理圖 顯示模塊通過譯碼,將秒、分、時的高低位數(shù)字分別譯成led七段數(shù)碼管上對應 的高低電平,然后輸出七段值。 7段數(shù)碼顯示器由7個顯示碼管組成,4個輸入信號d0,d1,d2,d3來表示0000到1111, 即 表示十六進制中的0到f;同時它有7個輸出信號,分別用a,b,c,d,e,f,g來表示,決定可發(fā)光二 極管的狀態(tài)。圖2.

28、7表示的是七段數(shù)碼管的7個輸出信號a,b,c,d,e,f,g與可發(fā)光二極管的對 應關系。 圖圖 2.7 七段數(shù)碼管輸入輸出示意圖七段數(shù)碼管輸入輸出示意圖 若該數(shù)碼管為共陽數(shù)碼管,當某位為0時,表示這位所在的數(shù)碼管發(fā)光;如為1, 則表示不發(fā)光;共陰數(shù)碼管則正好相反。從7段數(shù)碼顯示器的原理可以知道,7段數(shù)碼 顯示器用4個輸入信號對應16個輸出信號,并且一個輸入信號只能對應一個唯一的輸出。 從這點出發(fā),很容易想到前面所學的譯碼器電路,事實上,7段數(shù)碼顯示器的顯示就是 調(diào)用了一個4-16線譯碼器。本設計采用的是共陽數(shù)碼管,共陽數(shù)碼管的真值表如圖2.8 所示。 基于 vhdl 語言的數(shù)字電子鐘實現(xiàn) 第1

29、3頁 共 26 頁 圖圖 2.8 七段共陽極數(shù)碼管真值表七段共陽極數(shù)碼管真值表 顯示模塊設計圖如圖 2.9 所示。 圖圖 2.9 顯示模塊設計圖顯示模塊設計圖 其中din3.0是數(shù)字電子鐘的時、分、秒的個位或者十位輸入信號,dout6.0 是顯示模塊的輸出信號。 顯示模塊原理圖如圖 2.10 所示。 圖圖 2.10 顯示模塊原理圖顯示模塊原理圖 各功能子模塊設計完成后,再設計頂層模塊,它主要是通過元件聲明和元件例化語句 對各子模塊進行調(diào)用來完成的。 頂層模塊設計圖如圖2.11所示。 基于 vhdl 語言的數(shù)字電子鐘實現(xiàn) 第14頁 共 26 頁 圖圖 2.11 頂層模塊設計圖頂層模塊設計圖 其中

30、 reset 是頂層模塊的清零輸入信號,低電平有效,clk 是脈沖控制輸入信 號。dins6.0是頂層模塊的秒輸入信號,用來調(diào)整秒的數(shù)值。dinm6.0是頂層模塊 的分輸入信號,用來調(diào)整分的數(shù)值。dinh5.0是頂層模塊的時輸入信號,用來調(diào)整小 時的數(shù)值。輸出信號為時、分、秒的個位和十位的輸出,將此輸出分別接到 6 個七位 led 數(shù)碼管上便可顯示。 頂層模塊原理圖如圖 2.12 所示。 圖圖 2.12 頂層模塊原理圖頂層模塊原理圖 基于 vhdl 語言的數(shù)字電子鐘實現(xiàn) 第15頁 共 26 頁 3 數(shù)字電子鐘的仿真數(shù)字電子鐘的仿真 3.1 6 進制計數(shù)器的仿真進制計數(shù)器的仿真 將程序使用 ma

31、x+plus ii 進行運行并仿真,得到 6 進制計數(shù)器的計數(shù)狀態(tài)仿真圖如 圖 3.1 所示。 圖圖 3.1 6 進制計數(shù)器計數(shù)狀態(tài)仿真圖進制計數(shù)器計數(shù)狀態(tài)仿真圖 當輸入信號 reset 為 1 時,在時鐘信號的上升沿來臨時,計數(shù)器加 1,加到 5 時, 在下一個時鐘信號的上升沿來臨時,計數(shù)器清零,進位信號變?yōu)楦唠娖剑绱朔磸汀?當輸入信號 reset 為 0,且 din 為 0 時,得到 6 進制計數(shù)器的清零狀態(tài),如圖 3.2 所 示。 圖圖 3.2 6 進制計數(shù)器清零狀態(tài)仿真圖進制計數(shù)器清零狀態(tài)仿真圖 當輸入信號 reset 為 0,且 din 不為 0 時,得到 6 進制計數(shù)器的置數(shù)狀態(tài)

32、,即將 din 的值賦給 dout,如圖 3.3 所示。 圖圖 3.3 6 進制計數(shù)器置數(shù)狀態(tài)仿真圖進制計數(shù)器置數(shù)狀態(tài)仿真圖 基于 vhdl 語言的數(shù)字電子鐘實現(xiàn) 第16頁 共 26 頁 3.2 10 進制計數(shù)器的仿真進制計數(shù)器的仿真 將程序使用 max+plus ii 進行運行并仿真,得到 10 進制計數(shù)器計數(shù)狀態(tài)仿真圖如 圖 3.4 所示。 圖圖 3.4 10 進制計數(shù)器計數(shù)狀態(tài)仿真圖進制計數(shù)器計數(shù)狀態(tài)仿真圖 當輸入信號 reset 為 1 時,在時鐘信號的上升沿來臨時,計數(shù)器加 1,加到 9 時, 在下一個時鐘信號的上升沿來臨時,計數(shù)器清零,進位信號變?yōu)楦唠娖?,如此反復?當輸入信號 r

33、eset 為 0,且 din 為 0 時,得到 10 進制計數(shù)器的清零狀態(tài),如圖 3.5 所示。 圖圖 3.5 10 進制計數(shù)器清零狀態(tài)仿真圖進制計數(shù)器清零狀態(tài)仿真圖 當輸入信號 reset 為 0,且 din 不為 0 時,得到 10 進制計數(shù)器的置數(shù)狀態(tài),即將 din 的值賦給 dout,如圖 3.6 所示。 圖圖 3.6 10 進制計數(shù)器置數(shù)狀態(tài)仿真圖進制計數(shù)器置數(shù)狀態(tài)仿真圖 3.3 24 進制計數(shù)器的仿真進制計數(shù)器的仿真 將程序使用 max+plus ii 進行運行并仿真,得到 24 進制計數(shù)狀態(tài)的仿真圖如圖 3.7 基于 vhdl 語言的數(shù)字電子鐘實現(xiàn) 第17頁 共 26 頁 所示。

34、 圖圖 3.7 24 進制計數(shù)狀態(tài)仿真圖進制計數(shù)狀態(tài)仿真圖 當輸入信號 reset 為 1 時,在時鐘信號的上升沿來臨時,計數(shù)器加 1,加到 23 時, 在下一個時鐘信號的上升沿來臨時,計數(shù)器清零,如此反復。 當輸入信號 reset 為 0,且 din 為 0 時,得到 24 進制計數(shù)器的清零狀態(tài),如圖 3.8 所示。 圖圖 3.8 24 進制清零狀態(tài)仿真圖進制清零狀態(tài)仿真圖 當輸入信號 reset 為 0,且 din 不為 0 時,得到 24 進制計數(shù)器的置數(shù)狀態(tài),即將 din 的值賦給 dout,如圖 3.9 所示。 圖圖 3.9 24 進制置數(shù)狀態(tài)仿真圖進制置數(shù)狀態(tài)仿真圖 3.4 顯示模

35、塊的仿真顯示模塊的仿真 將程序使用 max+plus ii 進行運行并仿真,得到顯示模塊仿真圖如圖 3.10 所示。 圖圖 3.10 顯示模塊仿真圖顯示模塊仿真圖 基于 vhdl 語言的數(shù)字電子鐘實現(xiàn) 第18頁 共 26 頁 此模塊是將 4 為二進制輸入信號轉化成對應的七段數(shù)碼管的 7 位二進制輸出信號。 3.5 頂層模塊的仿真頂層模塊的仿真 將程序使用 max+plus ii 進行運行并仿真,得到頂層模塊仿真圖如圖 3.11 所示。 圖圖 3.11 頂層模塊仿真圖頂層模塊仿真圖 此模塊是通過元件聲明和元件例化語句對各子模塊進行調(diào)用,同時將時、分、秒 的個位和十位都轉換成 4 位二進制數(shù),然后

36、將這六組數(shù)據(jù)傳給顯示模塊。頂層模塊的 輸出的數(shù)據(jù)是七段數(shù)碼管的 7 位二進制輸出信號。 基于 vhdl 語言的數(shù)字電子鐘實現(xiàn) 第19頁 共 26 頁 4 小小 結結 本課題要求基于可編程邏輯器件,使用硬件描述語言 vhdl 編寫一個數(shù)字電子鐘 芯片,并用 max+plus ii 軟件進行仿真。根據(jù)自己對數(shù)字電子鐘的理解我設計了四大功 能:一是計數(shù)功能,二是清零功能,三是定時功能,四是動態(tài)顯示功能。由此必需設 計出五個大的模塊:一是秒計數(shù)模塊,此模塊是由 1 個 6 進制計數(shù)器和 1 個 10 進制計 數(shù)器組成 1 個 60 進制計數(shù)器;二是分計數(shù)模塊,此模塊也是是由 1 個 6 進制計數(shù)器和

37、1 個 10 進制計數(shù)器組成 1 個 60 進制計數(shù)器;三是時計數(shù)模塊,此模塊由 1 個 24 進制 計數(shù)器構成;四是顯示模塊,主要功能是把輸入的 4 位二進制信號轉換為對應的七段 數(shù)碼管的 7 位二進制信號。五是頂層模塊,此模塊是通過元件聲明和元件例化語句對 各子模塊進行調(diào)用,將其余模塊整合成一塊芯片,避免的繁雜的連線。在設計剛開始, 我對 max+plus ii 很陌生,所以我花了不少時間來熟悉該軟件的使用方法。我一度比別 的同學落下不少,所以回到宿舍后我仔細研究了該軟件的使用,繪圖方法,連接快捷 鍵。這樣軟件的使用就不是大問題了,也使得我能夠在最后的幾個功能上趕上來,很 好的完成數(shù)字電子

38、鐘的設計。對于一些提高的要求,我們也可以通過學過的數(shù)電知識 進行分析設計,所以整個實驗過程不但是對我們所學數(shù)電知識的一個回顧,更是對數(shù) 電知識的應用。 通過本學期課程設計的學習,我從中學習到了很多東西,對可編程邏輯器件, vhdl 語言,max+plus ii 軟件有了一定的了解,尤其是用 vhdl 語言編程和仿真。在 本次設計中最大的收獲是在不斷地發(fā)現(xiàn)問題,分析問題,解決問題的過程中培養(yǎng)了自 己的科研能力,為今后的學習工作做了一個良好的鋪墊。eda 軟件的應用簡化了像通 信電路實習那樣插線的繁瑣,使我們的時間多花在實驗的原理上,基本的東西由軟件 來完成,這樣的實驗不但可以少花時間,也使得我們

39、了解了現(xiàn)在做一些數(shù)字系統(tǒng)的基 本流程。受益匪淺。 基于 vhdl 語言的數(shù)字電子鐘實現(xiàn) 第20頁 共 26 頁 參考文獻參考文獻 1王道憲vhdl 電路設計技術m北京:國防工業(yè)出版社 2004.1 2劉瑞vhdl 語言與 fpga 設計m北京:機械工業(yè)出版社 2004.4 3王振紅vhdl 數(shù)字電路設計與應用實踐教程m 北京:機械工業(yè)出版社 2004 4潘松,王國棟vhdl 實用教程m 西安:電子科技大學出版社 2000.3 5王毓銀數(shù)字電路邏輯設計m北京:高等教育出版社,1999.9 6王道憲,賀名臣,劉偉vhdl 電路設計技術m北京:國防工業(yè)出版社, 2004.1 基于 vhdl 語言的數(shù)

40、字電子鐘實現(xiàn) 第21頁 共 26 頁 附錄:設計源程序清單 / 程序名稱:基于 vhdl 語言的數(shù)字電子鐘實現(xiàn) / 程序作者: / 最后修改日期:2010-12-29 六進制計數(shù)器的程序 library ieee; -庫說明 use ieee.std_logic_1164.all; -調(diào)用庫文件 use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity counter6 is port(clk:in std_logic; reset:in std_logic; din:in std_logic_vector(2

41、downto 0); dout:out std_logic_vector(2 downto 0); c:out std_logic); end counter6; architecture behavioral of counter6 is signal count:std_logic_vector(2 downto 0); begin dout=count; process(clk, reset,din) begin if reset=0then count=din; c=0; elsif rising_edge(clk) then if count=101 then count=000;

42、c=1; else 基于 vhdl 語言的數(shù)字電子鐘實現(xiàn) 第22頁 共 26 頁 count=count+1; c=0; end if; end if; end process; end behavioral; 十進制計數(shù)器的程序 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity counter10 is port(clk:in std_logic; reset:in std_logic; din:in std_logi

43、c_vector(3 downto 0); dout:out std_logic_vector(3 downto 0); c:out std_logic) ; end counter10; architecture behavioral of counter10 is signal count:std_logic_vector(3 downto 0); begin dout=count; process(clk,reset,din) begin if reset=0 then count=din; c=0; elsif rising_edge(clk) then if count=1001 t

44、hen count=0000; 基于 vhdl 語言的數(shù)字電子鐘實現(xiàn) 第23頁 共 26 頁 c=1; else count=count+1; c=0; end if; end if; end process; end behavioral; 24進制計數(shù)器的程序 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity counter24 is port(clk:in std_logic; reset:in std_logic

45、; din:in std_logic_vector(5 downto 0); dout:out std_logic_vector(5 downto 0); end counter24; architecture behavioral of counter24 is signal count:std_logic_vector(5 downto 0); begin dout=count; process(clk,reset,din) begin if reset=0 then count=din; elsif rising_edge(clk) then if (count(3 downto 0)=

46、3 and count(5 downto 4)=2) or count(3 downto 0)=9 then count(3 downto 0)=0000; 基于 vhdl 語言的數(shù)字電子鐘實現(xiàn) 第24頁 共 26 頁 if count(5 downto 4)=2 then count(5 downto 4)=00; else count(5 downto 4)= count(5 downto 4)+1; end if; else count(3 downto 0) dout dout dout dout dout dout dout dout dout dout dout = 1111111

47、; end case; end process; end behavioral; 頂層模塊的程序 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity clock is port(clk,reset:in std_logic; dins:in std_logic_vector(6 downto 0); dinm:in std_logic_vector(6 downto 0); dinh:in std_logic_vector

48、(5 downto 0); secondl:out std_logic_vector(6 downto 0); secondh:out std_logic_vector(6 downto 0); minutel:out std_logic_vector(6 downto 0); minuteh:out std_logic_vector(6 downto 0); hourl:out std_logic_vector(6 downto 0); hourh:out std_logic_vector(6 downto 0); end clock; architecture behavioral of clock is component counter10 is port(clk:in std_logic; reset:in std_logic; din:

溫馨提示

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

評論

0/150

提交評論