版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、武漢理工大學課程設計 基于Verilog HDL的簡易電子鐘設計 摘 要Verilog是廣泛應用的硬件描述語言,可以用在硬件設計流程的建模、綜合和模擬等多個階段。隨著硬件設計規(guī)模的不斷擴大,應用硬件描述語言進行描述的CPLD結構,成為設計專用集成電路和其他集成電路的主流。通過應用Verilog HDL對簡易電子鐘的設計,達到對Verilog HDL的理解,同時對CPLD器件進行簡要了解。本文著眼于使用EDA開發(fā)工具實現(xiàn)簡易電子鐘的設計。隨著微電子技術,計算機技術的不斷發(fā)展和完善,EDA技術已日趨成熟逐漸成為現(xiàn)代電子技術的核心。EDA技術就是以計算機為工具,設計者在EDA軟件平臺上,用硬件描述語
2、言Verilog HDL完成設計文件,然后由計算機自動地完成邏輯編譯、化簡、分割、綜合、優(yōu)化、布局、布線和仿真,直至對于特定目標芯片的適配編譯、邏輯映射和編程下載等工作。EDA技術的出現(xiàn),極大地提高了電路設計的效率和可操作性,減輕了設計者的勞動強度。EDA技術廣泛應用于機械、電子、通信、航空航天、化工、礦產(chǎn)、生物、醫(yī)學、軍事等各個領域。對Altera公司Flex 10K系列的EPF10K 10簡要介紹,Altera公司軟件Max+plus簡要介紹和應用Verilog HDL對電子鐘進行設計。關鍵詞:電子鐘;現(xiàn)代電子技術;EDA技術;專用集成電路;AbstractIs widely used V
3、erilog hardware description language, can be used in hardware design process modeling, synthesis and simulation phases. With the constant expansion of the hardware design, hardware description language to describe the application of the CPLD architecture, a design of ASICs and other ICs mainstream.
4、Through the application of Verilog HDL design of simple electronic clock, to the understanding of Verilog HDL, while a brief understanding of the CPLD device. This article focuses on the use of EDA tools to achieve the design of simple electronic clock. As microelectronic technology, computer techno
5、logy continues to evolve and improve, EDA technology has matured gradually become the heart of modern electronic technology. EDA technology is to the computer as a tool designer in EDA software platform, with complete hardware description language Verilog HDL design files, and automatically by a com
6、puter to complete the logic compiler, simplification, segmentation, integration, optimization, placement, routing and simulation, up adapter chip for the specific target compilation, mapping and programming logic to download and so on. EDA technologies, circuit design greatly improves the efficiency
7、 and operability, reducing the labor intensity of the designer. EDA technology is widely used in machinery, electronics, communications, aerospace, chemical, mineral, biological, medical, military and other fields. On Altera's Flex 10K series EPF10K 10 brief, Altera Corporation Software Max + pl
8、us Brief introduction and application of Verilog HDL design of the electronic clock.Keywords: modern electronic technology; EDA technology; specific integrated circuit; 目 錄摘 要IIABSTRACTIII引 言1一、緒論21. 開發(fā)背景和目的22. 方案論證23. 設計內(nèi)容和主要工作3二、電子鐘開發(fā)環(huán)境及硬件基礎51. Verilog HDL硬件描述語言簡介52EPF10K 10相關說明7三、電子鐘的7大模塊設計及仿真芯片生
9、成91. 計時功能模塊92. 鬧鈴設置功能模塊93 .校時功能模塊104. 秒表功能模塊115. 整點報時功能模塊126. 鬧鈴屏蔽及響鈴功能模塊137. 秒表提示鈴聲功能模塊13四、電子鐘的設計及仿真141功能描述142源程序(基于Verilog HDL語言)143 . 模塊仿真204. 譯碼顯示模塊21五、論文總結23致 謝24參考文獻25 引 言隨著電子技術的發(fā)展,現(xiàn)場可編程門陣列FPGA和復雜可編程邏輯器件CPLD的出現(xiàn),使得電子系統(tǒng)的設計者利用與器件相應的電子CAD軟件,在實驗室里就可以設計自己的專用集成電路ASIC器件。這種可編程ASIC不僅使設計的產(chǎn)品達到小型化、集成化和高可靠性
10、,而且器件具有用戶可編程特性,大大縮短了設計周期,減少了設計費用,降低了設計風險。目前數(shù)字系統(tǒng)的設計可以直接面向用戶需求,根據(jù)系統(tǒng)的行為和功能要求,自上至下地逐層完成相應的描述綜合優(yōu)化仿真與驗證,直到生成器件,實現(xiàn)電子設計自動化。其中電子設計自動化(EDA)的關鍵技術之一就是可以用硬件描述語言(HDL)來描述硬件電路。VHDL是用來描述從抽象到具體級別硬件的工業(yè)標準語言,它是由美國國防部在80年代開發(fā)的HDL,現(xiàn)在已成為IEEE承認的標準硬件描述語言。VHDL支持硬件的設計、驗證、綜合和測試,以及硬件設計數(shù)據(jù)的交換、維護、修改和硬件的實現(xiàn),具有描述能力強、生命周期長、支持大規(guī)模設計的分解和已有
11、設計的再利用等優(yōu)點。利用VHDL這些優(yōu)點和先進的EDA工具,根據(jù)具體的實際要求,我們可以自己來設計串口異步通信電路。一、緒論1. 開發(fā)背景和目的二十一世紀是信息化高速發(fā)展的世紀,產(chǎn)業(yè)的信息化離不開硬件芯片的支持。芯片技術的進步是推動全球信息化的動力。因此在二十一世紀掌握芯片技術是十分有必要的。20世紀90年代,國際上電子和計算機技術較先進的國家,一直在積極探索新的電子電路設計方法,并在設計方法、工具等方面進行了徹底的變革,取得了巨大成功。在電子技術設計領域,可編程邏輯器件(如CPLD、FPGA)的應用,已得到廣泛的普及,這些器件為數(shù)字系統(tǒng)的設計帶來了極大的靈活性。這些器件可以通過軟件編程而對其
12、硬件結構和工作方式進行重構,從而使得硬件的設計可以如同軟件設計那樣方便快捷。這一切極大地改變了傳統(tǒng)的數(shù)字系統(tǒng)設計方法、設計過程和設計觀念,促進了EDA技術的迅速發(fā)展。EDA技術就是以計算機為工具,設計者在EDA軟件平臺上,用硬件描述語言VHDL完成設計文件,然后由計算機自動地完成邏輯編譯、化簡、分割、綜合、優(yōu)化、布局、布線和仿真,直至對于特定目標芯片的適配編譯、邏輯映射和編程下載等工作。EDA技術的出現(xiàn),極大地提高了電路設計的效率和可操作性,減輕了設計者的勞動強度。利用EDA工具,電子設計師可以從概念、算法、協(xié)議等開始設計電子系統(tǒng),大量工作可以通過計算機完成,并可以將電子產(chǎn)品從電路設計、性能分
13、析到設計出IC版圖或PCB版圖的整個過程的計算機上自動處理完成。 Verilog HDL是一種硬件描述語言(HDL:Hardware Discription Language),是一種以文本形式來描述數(shù)字系統(tǒng)硬件的結構和行為的語言,用它可以表示邏輯電路圖、邏輯表達式,還可以表示數(shù)字邏輯系統(tǒng)所完成的邏輯功能。以硬件描述語言Verilog 所完成的電路設計,可以經(jīng)過簡單的綜合與布局,快速的燒錄至 FPGA 上進行測試,是現(xiàn)代 IC 設計驗證的技術主流。2. 方案論證方案一采用數(shù)字邏輯電路制作,用IC 拼湊焊接實現(xiàn),這種電路很直觀,簡單方便。但應用數(shù)字邏輯電路制作的話,使用的器件較多,連接復雜,體積
14、大,功耗大。電路中焊點和線路較多會,使成品的穩(wěn)定度和精度大大降低。方案二采用現(xiàn)場可編程邏輯器件(FPGA)制作,利用EDA軟件中的Verilog HDL硬件描述語言編程進行控制,然后燒制實現(xiàn).采用FPGA來設計的原理圖由控制輸入電路、FPGA、顯示電路和揚聲器電路組成??刂戚斎腚娐分饕菫橛脩粼O計的,起到一個輸入控制的作用.FPGA是現(xiàn)場可編程邏輯器件,也是本設計方案的核心內(nèi)容,它是實現(xiàn)電子鐘運作的主要控制模塊.由設計者把編好的Verilog HDL程序燒制到現(xiàn)場可編程邏輯器件FPGA中,然后通過控制輸入電路時間把信號輸入到FPGA,產(chǎn)生不同的頻率驅(qū)動揚聲器.同時也把發(fā)出的時間信號通過顯示器輸
15、出。方案三單片機現(xiàn)在已經(jīng)達到很成熟的階段了,它的應用也十分廣泛. 采用單片機來實現(xiàn)電子鐘。 對于電子鐘的設計,三個方案均可以實現(xiàn),但是第一個方案中采用的是數(shù)字邏輯電路來制作,該電路硬件所需的器材多,體積龐大,比較復雜,而且精度和穩(wěn)定度都不是很高.第二個方案采用的是現(xiàn)場可編程邏輯器件來實現(xiàn), 它的優(yōu)點是所有電路集成在一塊芯片上,此方案所需的外圍電路簡單,這樣它的體積就減少了,同時還提高了系統(tǒng)的穩(wěn)定度。還可以用MAX+PLUS II軟件進行仿真和調(diào)試等。設計人員可以充分利用Verilog HDL硬件描述語言方便的編程,提高開發(fā)效率,縮短研發(fā)周期,降低研發(fā)成本;而且易于進行功能的擴展,實現(xiàn)方法靈活,
16、調(diào)試方便,修改容易.方案三也有它的優(yōu)點,但同時也存在缺點.它對設計者的要求比較高,設計者對軟硬件必須十分熟悉.和方案二來比它的實驗仿真沒有方案二簡單直觀,調(diào)試也有一定的難度.在外界環(huán)境相同的條件下,方案三設計出來的產(chǎn)品精度和穩(wěn)定度要比方案二稍微差一些.因此,電子鐘的設計我們選擇方案二來實現(xiàn)。3. 設計內(nèi)容和主要工作1基本功能Ø 具有“秒”、“分”、“時”計時功能,小時按24小時制計時。Ø 具有校時功能,能對“分”和“小時”進行調(diào)整。Ø 具有鬧鐘功能,在設定的時間發(fā)出鬧玲音,其中鬧鈴設置為00:00時無效。Ø 具有整點報時功能,每逢整點按照秒的時序產(chǎn)生四短
17、一長的報時音。二、電子鐘開發(fā)環(huán)境及硬件基礎1. Verilog HDL硬件描述語言簡介Verilog HDL就是在用途最廣泛的C語言的基礎上發(fā)展起來的一種硬件描述語言,它是由GDA(Gateway Design Automation)公司的PhilMoorby在1983年末首創(chuàng)的,最初只設計了一個仿真與驗證工具,之后又陸續(xù)開發(fā)了相關的故障模擬與時序分析工具。1985年Moorby推出它的第三個商用仿真器Verilog-XL,獲得了巨大的成功,從而使得Verilog HDL迅速得到推廣應用。1989年CADENCE公司收購了GDA公司,使得VerilogHDL成為了該公司的獨家專利。1990年C
18、ADENCE公司公開發(fā)表了Verilog HDL,并成立LVI組織以促進Verilog HDL成為IEEE標準,即IEEE Standard 1364-1995.模塊是Verilog 的基本描述單位,用于描述某個設計的功能或結構及其與其他模塊通信的外部端口。一個設計的結構可使用開關級原語、門級原語和用戶定義的原語方式描述; 設計的數(shù)據(jù)流行為使用連續(xù)賦值語句進行描述; 時序行為使用過程結構描述。一個模塊可以在另一個模塊中使用。說明部分用于定義不同的項,例如模塊描述中使用的寄存器和參數(shù)。語句定義設計的功能和結構。說明部分和語句可以散布在模塊中的任何地方;但是變量、寄存器、線網(wǎng)和參數(shù)等的說明部分必須
19、在使用前出現(xiàn)。為了使模塊描述清晰和具有良好的可讀性, 最好將所有的說明部分放在語句前。本書中的所有實例都遵守這一規(guī)范。在模塊中,可用下述方式描述一個設計:(1) 數(shù)據(jù)流方式;(2) 行為方式;(3) 結構方式;(4) 上述描述方式的混合。Verilog HDL模型中的所有時延都根據(jù)時間單位定義。 使用編譯指令將時間單位與物理時間相關聯(lián)。這樣的編譯器指令需在模塊描述前定義。如果沒有編譯器指令, Verilog HDL 模擬器會指定一個缺省時間單位。IEEE Verilog HDL 標準中沒有規(guī)定缺省時間單位。用數(shù)據(jù)流描述方式對一個設計建模的最基本的機制就是使用連續(xù)賦值語句。在連續(xù)賦值語句中,某個
20、值被指派給線網(wǎng)變量。請注意連續(xù)賦值語句是如何對電路的數(shù)據(jù)流行為建模的;這種建模方式是隱式而非顯式的建模方式。此外,連續(xù)賦值語句是并發(fā)執(zhí)行的,也就是說各語句的執(zhí)行順序與其在描述中出現(xiàn)的順序無關。設計的行為功能使用下述過程語句結構描述:(1) initial語句:此語句只執(zhí)行一次。(2) always語句:此語句總是循環(huán)執(zhí)行, 或者說此語句重復執(zhí)行。只有寄存器類型數(shù)據(jù)能夠在這兩種語句中被賦值。寄存器類型數(shù)據(jù)在被賦新值前保持原有值不變。所有的初始化語句和always語句在0時刻并發(fā)執(zhí)行。在順序過程中出現(xiàn)的語句是過程賦值模塊化的實例。模塊化過程賦值在下一條語句執(zhí)行前完成執(zhí)行。過程賦值可以有一個可選的時
21、延。時延可以細分為兩種類型:(1) 語句間時延: 這是時延語句執(zhí)行的時延。(2) 語句內(nèi)時延: 這是右邊表達式數(shù)值計算與左邊表達式賦值間的時延。在Verilog HDL中可使用如下方式描述結構:(1) 內(nèi)置門原語(在門級);(2) 開關級原語(在晶體管級);(3) 用戶定義的原語(在門級);(4) 模塊實例 (創(chuàng)建層次結構)。通過使用線網(wǎng)來相互連接。Verilog HDL 的設計流程:1 文本編輯:用任何文本編輯器都可以進行,也可以用專用的 HDL 編輯環(huán)境。通常 Verilog HDL 文件保存為 .v 文件。 2 功能仿真:將文件調(diào)入 HDL 仿真軟件進行功能仿真,檢查邏輯功能是否正確(也
22、叫前仿真,對簡單的設計可以跳過這一步,只有在布線完成之后,才進行時序仿真)。 3 邏輯綜合:將源文件調(diào)入邏輯綜合軟件進行綜合,即把語言綜合成最簡的布爾表達式。邏輯綜合軟件會生成 .edf ( EDIF )的 EDA 工業(yè)標準文件。4 布局布線:將 .edf 文件調(diào)入 PLD 廠家提供的軟件中進行布線,即把設計好的邏輯安放到 CPLD/FPGA 內(nèi)。 5 時序仿真:需要利用在布局布線中獲得的精確參數(shù),用仿真軟件驗證電路的時序(也叫后仿真)。2EPF10K 10相關說明EPF10K 10隸屬于Altera公司生產(chǎn)的FLEX 10K系列產(chǎn)品,此系列集成度從幾萬門到幾十萬門,是業(yè)界第一個在PLD中嵌入
23、存儲器塊的器件。具有許多特點:高密度。10000到250000典型門;功能強大的I/O引腳。每一個引腳都是獨立的三態(tài)門結構,具有可編程的速率控制;嵌入式陣列塊(EAB)。每個EAB提供2K比特位,可用來作存儲器使用或者用來實現(xiàn)一般的邏輯功能;邏輯單元采用查找表(LUT)結構;采用快速通道(Fast Track)互連,速度快并可預測延時;具有實現(xiàn)快速加法器和計數(shù)器的專用進位鏈和實現(xiàn)高速、多輸入邏輯函數(shù)的專用級連鏈;其中EPF10K 10相關電路說明如下:EPF10K10板,內(nèi)含預定型10K10主體電路和自定義實驗區(qū)二個部分;預定型10K10主體電路特點如下:采用ALTERA公司10K10 PLC
24、C84 腳器件;使用有源晶振4MHZ增強線路板抗干擾性能;采用三種不同的配置方式,對ALTERA公司的10K10芯片進行配置:通過EDA軟件使用本板提供的JTAG接口下載到10K10器件中對其進行加載配置;通過EDA軟件使用本板提供的PS MODE接口下載到10K10器件中對其進行加載配置;為了確保系統(tǒng)板掉電又重新上電后能使10K10正常運行,本系統(tǒng)板提供ALTERA公司EPC1441或EPC1P8二種器件對10K10作上電后自動加載配置。本EDA板提供電源接線端子+5V,GND數(shù)字地,+12V或自定義,-12V或自定義,SGND模擬地及電源測試引線口+5V、+12V、-12V,均給出信號信息
25、LED指示燈,本EDA板提供JTAG PS MODE代碼下載信號信息LED指示燈。自定義實驗區(qū)特點如下:本EDA板提供三個試驗區(qū),其中數(shù)字電路實驗區(qū)A、B二個,模擬電路實驗區(qū)C一個;為了提高EDA系統(tǒng)板抗干擾性能,模擬地和數(shù)字地采用分開設計,而且增加了實驗區(qū)電路的可塑性,數(shù)字電路實驗區(qū)配有+5V GND數(shù)字地,用戶電路實驗自由連接點,模擬電路實驗區(qū)配有+5V SGND模擬地,+12V、-12V用戶電路實驗,自由連接點,用戶實驗區(qū)電路自由連接點共為1908個點,其中數(shù)字電路實驗區(qū)用戶自由連接點為2x49行x12列+6行x8列=1272個點,模擬電路實驗區(qū)用戶自由連接點為49行x12列+6行x8列
26、=636個點,提供10K10可用的全部I/O腳引線插座,方便與用戶實驗區(qū)任意連接。實驗區(qū)連線方式通常使用三種方式:元器件直接焊接方式,一次性使用;實驗區(qū)可焊接可插接排針孔,以便實驗電路任意搭接,增強使用的靈活性,多次性;實驗區(qū)可選配安裝通用實驗面包板, 無須做b項操作,面包板可安裝三塊。EDA 板上跳線連接說明:JP8:控制EPC1441/EPC1P8 +5V電壓的提供,JTAG MODE JP,JTAG下載方式支持由本跳線組確定4個全 短接,則允許JTAG方式下載;斷開則屏蔽JTAG方式下載;PS MODE:JP PS下載方式支持由本跳線組確定5個全 短接,則允許PS方式下載;斷開,則屏蔽P
27、S方式下載;JP10:MSEL0信號受控腳跳左,則MSEL0為0;跳右則MSEL0為1;JP11:MSEL1信號受控腳跳左,則MSEL1為0;跳右則MSEL1為1;PWR5V:+5V跳線開關跳左,+5V為ON接通;跳右+5V為OFF關閉;PIN1_OSC:ALTERA10K10 PIN1腳的時鐘信號輸入端,跳左CLOCK信號頻率,由U5晶振確定;跳右,CLOCK信號頻率由上層獨立型適配器的時鐘晶振確定;PIN43_OSC:ALTERA10K10 PIN43 腳的時鐘信號輸入端跳左,CLOCK信號頻率由U5晶振確定;跳右,CLOCK信號頻率由上層獨立型適配器的時鐘晶振確定;J1A:控制數(shù)字實驗A
28、區(qū)的+5V;DC:電源電壓;J2A:控制數(shù)字實驗A區(qū)的電源電壓數(shù)字信號地GND;J1B:控制數(shù)字實驗B區(qū)的電源電壓數(shù)字信號地GND;J1C:控制模擬實驗C區(qū)的+12V;J2C:控制模擬實驗C區(qū)的-12V;J3C:控制模擬實驗C區(qū)的電源電壓模擬信號地SGND 5;EDA板上電源端子接口LED 指示燈說明;JPWR:電源電壓接線端子,從上往下順序定義為+5V GND、+12V -12V SGND;PWRT:電源電壓測試接線端子,從上往下順序定義,同JPWR +5V GND、+12V -12V SGND;JTAG_MODE:ALTERA10K10 JTAG方式下載接口;PS_MODE: ALTERA
29、10K10 PS方式下載接口;10K10(IN1): ALTERA10K10 外擴展,I/O引線接口 1;10K10(IN2): ALTERA10K10 外擴展,I/O引線接口 2;JP2、JP3、JP4、JP5、JP6向上可選配;GEXIN:各種獨立型適配器;LED指示燈:D2、D3、D4、TCK、LED、PS LED分別為+5V、+12V、-12V、JTAG;PS:信號指示燈。三、電子鐘的7大模塊設計及仿真芯片生成 本章根據(jù)模塊功能共分為七個模塊,分別為計時模塊、鬧鈴設置模塊、校時模塊、秒表功能模塊、整點報時模塊、鬧鈴屏蔽及響鈴功能模塊、秒表提示鈴聲功能模塊。1.計時功能模塊模塊功能為正常
30、計時,即每秒鐘讀一次數(shù),秒表加1,秒計時滿60進1給分計時,分計時滿60進1給小時計時,小時計時滿24清零。從功能上講分別為模60計數(shù)器,模60計數(shù)器和模24計數(shù)器。圖3-1計時模塊芯片圖圖3-2計時模塊仿真波形圖2.鬧鈴設置功能模塊模塊功能為設置鬧鈴的分鐘和小時,設置的時候由turn控制調(diào)整分鐘及調(diào)整小時之間的切換,每按一次change,所調(diào)整的計數(shù)器加1,分鐘計數(shù)器滿60清零,小時計數(shù)器滿24清零。圖3-3鬧鈴模塊芯片圖圖3-4 鬧鈴仿真波形圖3.校時功能模塊模塊功能為修正分鐘和小時時間以及秒鐘的精確調(diào)整清零。由turn控制調(diào)整分鐘和調(diào)整小時之間的切換,每按一下change所調(diào)整的計數(shù)器加
31、1,分鐘計數(shù)器滿60清零,小時計數(shù)器滿24清零;秒種的精確調(diào)整清零具體為在正常計時的情況下,長時間按住turn,即可使秒鐘清零,進行精確調(diào)時。 圖3-5 校時模塊芯片圖圖3-6 校時仿真波形圖4. 秒表功能模塊模塊功能為進行手動計時,按一下count為計時,再按一次count為停止計時,保存計數(shù)數(shù)值,依此類推;按一次clr為計數(shù)清零,停止計數(shù)。計數(shù)器共有三個,分別為百分秒的模100計數(shù)器,秒鐘的模60計數(shù)器和分鐘的模60計數(shù)器。圖3-7 秒表模塊芯片圖圖3-8秒表仿真波形圖5. 整點報時功能模塊模塊功能為當計時模塊中分鐘顯示為59,秒種為55時開始,每秒都發(fā)出一次短音(1/4秒);當秒種和分鐘
32、同時顯示為0時,發(fā)出一聲長音(3/4秒);clk1000為揚聲器驅(qū)動頻率。圖3-9報時模塊芯片圖圖3-10 報時模塊仿真波形圖6. 鬧鈴屏蔽及響鈴功能模塊功能為當計時模塊中的分鐘和小時都等于鬧鈴設置的分鐘和小時的時候,從計時模塊中的秒種為0時開始響鈴,響鈴時間20秒;但是可以通過一直按住change來屏蔽鬧鈴聲音。7. 秒表提示鈴聲功能模塊從秒表的分鐘位和秒鐘位均為59,且百分秒位為76開始,到分鐘位秒鐘位和百分秒位全部為零同時有分鐘位產(chǎn)生的進位這一時刻,之間的14秒時間發(fā)出一聲提示音,提示秒表已經(jīng)計時1個小時,開始下一個小時的計時,請予以記錄。由于這兩個模塊有太多的輸入,所以不進行模塊符號和
33、波形仿真。小節(jié):首先由4HZ的輸入時鐘產(chǎn)生一個1HZ的時鐘基準信號,用MODE信號應用CASE語句控制系統(tǒng)在MODE=2時產(chǎn)生小時調(diào)整信號COUNT1或分鐘調(diào)整信號COUNTa(通過是否按下TURN決定)用于隨后的手動校時;在MODE=1時就產(chǎn)生用于鬧鐘功能的小時調(diào)整信號COUNT2或分鐘調(diào)整信號COUNTb(也通過是否按下TURN決定),現(xiàn)在調(diào)整的狀態(tài)由LED-MIN和LED-HOUR兩個發(fā)光二極管顯示,這些COUNT信號由CHANGE鍵提供。再通過LOOP索引判斷是否快速按下CHANGE鍵,若是,產(chǎn)生NUM1信號用于連續(xù)快速+1,此功能應用于手動校時和鬧鐘定時中。然后加入計時 校時中的分鐘
34、計數(shù)時鐘CT1,定時狀態(tài)下調(diào)整分鐘的時鐘CT2,計時 校時中的小時計數(shù)時鐘CTa,定時狀態(tài)下調(diào)整小時的時鐘CTb。再設計這些時鐘下的進程:秒計數(shù)進程通過按住TURN且MODE不變一段時間來清零,當指示秒數(shù)的計數(shù)器十六進制數(shù)SEC1的前四位為1001(9)的時候,后四位+1(進一位)前四位清零,不然繼續(xù)計數(shù)來實現(xiàn)。分計數(shù)進程當值MIN1=59時清零同時小時的時鐘H-CLK+1,當指示分鐘數(shù)的計數(shù)器十六進制數(shù)MIN1的前四位為D9的時候,后四位+1(進一位)前四位清零,不然繼續(xù)計數(shù)。小時計數(shù)進程當值HOUR1=23時清零,當指示小時數(shù)的計數(shù)器十六進制數(shù)HOUR1的前四位為D9的時候,后四位+1(進
35、一位)前四位清零,不然繼續(xù)計數(shù)。 鬧鈴功能的小時與分鐘調(diào)節(jié)也同上理設置。 再通過賦值語句顯示各個狀態(tài)下的時分秒。四、電子鐘的設計及仿真1功能描述計時功能 包括時、分、秒的計時,分別類似于模24、模60、模60計數(shù)器。鬧鐘功能 在設定的時間發(fā)出鬧玲音,其中鬧鈴設置為00:00時無效。校時功能 能方便的對小時、分鐘和秒進行手動調(diào)整以校準時間。整點報時 每逢整點按照秒的時序產(chǎn)生四短一長的報時音。秒表功能 在每次計數(shù)滿一小時的時候,發(fā)出一聲提示音。2源程序(基于Verilog HDL語言)module clock(CLK,CLK_1K,MODE,CHANGE,TURN,ALERT,HOU,MIN,SE
36、C,LD_AL,LD_H,LD_M);input CLK,CLK_1K,MODE,CHANGE,TURN;output 7:0 HOU,MIN,SEC;output ALERT,LD_AL,LD_H,LD_M;reg 7:0 HOU,MIN,SEC,THOU,TMIN,TSEC,AHOU,AMIN;reg 1:0 m,fm,sound;reg LD_H,LD_M;reg CLK_1Hz,CLK_2Hz,mclk,hclk;reg alert1,alert2,ear;reg count1,count2,lcount1,lcount2;wire ct1,ct2,lct1,lct2,m_clk,h_
37、clk;always (posedge CLK)begin CLK_2Hz<=CLK_2Hz; if(sound=3) begin sound<=0;ear<=1;end /ear信號用于產(chǎn)生或屏蔽聲音 else begin sound<=sound+1;ear<=0;endendalways (posedge CLK_2Hz) CLK_1Hz<=CLK_1Hz; /產(chǎn)生1Hz的時基信號always (posedge MODE) /MODE信號控制3鐘功能的轉(zhuǎn)換 begin if(m=2) m<=0; /m=0:計時功能 else m<=m+1;
38、 /m=1:鬧鐘功能 end /m=2:手動校時always (TURN) fm<=fm; /校時時選擇調(diào)整分鐘還是小時alwaysbegin case(m) 2:begin if(fm) begin count1<=CHANGE; LD_H,LD_M<=2'b01; end else begin count2<=CHANGE; LD_H,LD_M<=2'b10; end count1,count2<=0; end 1:begin if(fm) begin lcount1<=CHANGE; LD_H,LD_M<=2'b01
39、; end else begin lcount2<=CHANGE; LD_H,LD_M<=2'b10; end lcount1,lcount2<=0; end default:count1,count2,lcount1,lcount2,LD_H,LD_M<=0; endcaseendalways (posedge CLK_1Hz) /秒計時和秒調(diào)整 if(!(TSEC8'h59)|TURN&(!m) begin TSEC<=0; if(!(TURN&(!m) mclk<=1; end else begin if(TSEC3:0
40、=9) begin TSEC3:0<=0; TSEC7:4<=TSEC7:4+1; end else TSEC3:0<=TSEC3:0+1; mclk<=0; endassign m_clk=mclk|count1;assign h_clk=hclk|count2;assign ct1=CLK|m_clk; /ct1用于計時、校時中的分鐘計數(shù)assign ct2=CLK|h_clk; /ct2用于計時、校時中的小時計數(shù) assign lct1=CLK|lcount1; /lct1用于定時狀態(tài)下調(diào)整分鐘信號assign lct2=CLK|lcount2; /lct2用于定
41、時狀態(tài)下調(diào)整小時信號always (posedge ct1) /分計時和分調(diào)整 begin if(TMIN=8'h59) begin TMIN<=0; hclk<=1; end else begin if(TMIN3:0=9) begin TMIN3:0<=0; TMIN7:4<=TMIN7:4+1; end else TMIN3:0<=TMIN3:0+1; hclk<=0; end endalways (posedge ct2) /小時計時和小時調(diào)整 if(THOU=8'h23) THOU<=0; else begin if(THOU
42、3:0=9) begin THOU3:0<=0; THOU7:4<=THOU7:4+1; end else THOU3:0<=THOU3:0+1; endalways (posedge lct1) /鬧鐘定時中分鐘調(diào)整 if(AMIN=8'h59) AMIN<=0; else if(AMIN3:0=9) begin AMIN3:0<=0; AMIN7:4<=AMIN7:4+1; end else AMIN3:0<=AMIN3:0+1; always (posedge lct2) /鬧鐘定時中小時調(diào)整 if(AHOU=8'h23) AHO
43、U<=0; else begin if(AHOU3:0=9) begin AHOU3:0<=0; AHOU7:4<=AHOU7:4+1; end else AHOU3:0<=AHOU3:0+1; endalways /鬧鐘功能:產(chǎn)生鬧鈴信號 if(THOU=AHOU)&&(TMIN=AMIN)&&(AHOU|AMIN)&&(!CHANGE) /若按住"CHANGE"鍵不放就可以屏蔽鬧鈴 if(TSEC<8'h30) alert1<=1; /設定鬧鈴聲的長短,這里設為30秒 else
44、alert1<=0; else alert1<=0;always case(m) 0:begin HOU<=THOU; /計時狀態(tài)下時、分、秒顯示 MIN<=TMIN; SEC<=TSEC; end 1:begin HOU<=AHOU; /定時狀態(tài)下時、分、秒顯示 MIN<=AMIN; SEC<=8'hzz; end 2:begin HOU<=THOU; /校時狀態(tài)下時、分、秒顯示 MIN<=TMIN; SEC<=8'hzz; end endcaseassign LD_AL=(AHOU|AMIN)?1:0;alw
45、ays /整點報時功能:產(chǎn)生整點報時信號 begin if(TMIN=8'h59)&&(TSEC>8'h54)|(!(TMIN|TSEC) if(TSEC>8'h54) alert2<=ear & CLK_1K; /產(chǎn)生短音 else alert2<=!ear & CLK_1K; /產(chǎn)生長音 else alert2<=0; endassign ALERT=(alert1)?CLK_1K & CLK:0)|alert2; /鬧鈴音和整點報時信號輸出endmodule3.模塊仿真圖4-1模塊芯片生成圖 圖
46、4-2整體圖仿真波形圖圖4-3局部仿真波圖4. 譯碼顯示模塊3-8譯碼器的原理框圖及真值表如圖及表所示,3個輸入a2:0可能出現(xiàn)8種組合情況:000,001,010,011,100,101,110,111,這樣就可控制8個輸出y7:0相應的某1位輸出為“0”。a03-8譯碼器a1a2y7:0輸 入 輸 出a2:0 y7:0 000 11111110 001 11111101 010 11111011 011 11110111輸 入 輸 出a2:0 y7:0100 11101111101 11011111110 10111111111 01111111表4-1譯碼器真值表 圖4-4譯碼器的原理框
47、圖七段顯示譯碼器的原理框圖及真值表如圖及表所示,4個輸入d3:0可能出現(xiàn)16種組合情況;它的7個輸出y6:0分別控制共陰LED數(shù)碼管的a、b、c、d、e、f、g七段的亮/滅,從而顯出對應的16個字符。abgcdefd3:0y6:0七段顯示譯碼器圖4-5七段顯示譯碼器的原理框圖表4-2 8421BCD七段顯示譯碼器真值表輸 入 輸 出d3:0 y6:0a,b,c,d,e,f,g H"0" 1,1,1,1,1,1,0H"1" 0,1,1,0,0,0,0H"2" 1,1,0,1,1,0,1H"3" 1,1,1,1,0,0,1輸 入 輸 出d3:0 y6:0a,b,c,d,e,f,g H"4" 0,1,1,0,0,1,1H"5&
溫馨提示
- 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 幸福家庭事跡簡介(17篇)
- 教師網(wǎng)絡安全培訓會
- 小班期末評語15篇
- 智研咨詢發(fā)布-2024年中國精密結構件行業(yè)現(xiàn)狀、發(fā)展環(huán)境及投資前景分析報告
- 二零二五年度教育培訓機構教師勞動合同模板4篇
- 一類功能性神經(jīng)元的場耦合同步控制探究
- 技巧與智慧的結合
- 應急預案中的法律法規(guī)與政策解讀
- 二零二五版水利工程勞務分包及施工圖審查協(xié)議3篇
- 彩妝銷售員工作總結
- 勞務協(xié)議范本模板
- 2024年全國職業(yè)院校技能大賽高職組(生產(chǎn)事故應急救援賽項)考試題庫(含答案)
- 2025大巴車租車合同范文
- 人教版(2024)數(shù)學七年級上冊期末測試卷(含答案)
- 文明施工考核標準
- 《霧都孤兒人物分析4000字(論文)》
- MZ/T 039-2013老年人能力評估
- GB/T 8005.3-2008鋁及鋁合金術語第3部分:表面處理
- 相親資料登記表
- 2022年中國電信維護崗位認證動力專業(yè)考試題庫大全-下(判斷、填空、簡答題)
- 績效考評評分表
評論
0/150
提交評論