版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、摘要摘要隨著EDA(電子設計自動化)技術的發(fā)展和應用領域的擴大,EDA技術在電子信息、通信、自動化控制及計算機應用領域的重要性日益突出。EDA技術作為現(xiàn)代電子設計技術的核心,它依賴功能強大的計算機,在EDA工具軟件平臺上,對以硬件描述語言HDL(Hardware Description language)為系統(tǒng)邏輯描述手段完成的設計文件,自動完成邏輯化簡、邏輯分割、邏輯綜合(布局布線)、邏輯優(yōu)化和仿真測試等項功能5,直至實現(xiàn)既定性能的電子線路系統(tǒng)功能。EDA的關鍵技術之一是用形式化方法來描述數(shù)字系統(tǒng)的硬件電路、即用所謂的硬件描述語言來描述硬件電路。 本設計是基于V
2、erilong語言的萬年歷。在設計中,首先介紹了萬年歷的設計思路,且在Quartus II開發(fā)環(huán)境中編譯和仿真所設計各個模塊的程序,并逐一調試程序使各模塊達到設計目的。其次,利用各元器件生成頂層文件,進行系統(tǒng)仿真。最后,對頂層原理圖進行引腳設定,并下載到試驗箱驗證,證明系統(tǒng)的可行性。 關鍵字:Verilong HDL 萬年歷 Quartus IIABSTRACTWith the development of EDA (electronic desig
3、n automation) technology and expansion of application fields ,the importance of EDA technology in electronic information, communication, auto control, and computer applications is
4、;becoming increasingly prominent. EDA technology is the core of the modern electronic design techniques, which rely on powerful computers . In EDA tools software platform,
5、60;computer automatically completes logic simplification,logical partitions, logic synthesis , logic optimization ,logical simulation and other functions until the electronic circuit system achie
6、ves the stated performance. However, the realization of these function bases on the description of the system using the hardware description language HDL (Hardware Description
7、;language) . One of the key technologies of the EDA is to use formal methods to describe digital systems hardware circuit, which uses the so-called hardware description
8、160;language to describe the hardware circuit. Thedesign is the calendar based on VerilongHDL language. Firstly, in which ,I introduce ideas about designing the calendar. In a
9、ddition, I compile and simulate the program of different modules in the Quartus II development environment and debug one by one to make different modules meet objectives&
10、#160;of the design. Secondly, I take advantage of all components,which is created according to program to generate top-level file . Finally, I make pin settings and downl
11、oad to the test chamber to prove the feasibility of the system. Key words: Verilong HDL calendar:Quartus II第1章 引言目 錄第1章 引言11.1選題意義 11.2電子萬年歷的研究背景 11.3國內外產品研究綜述 21.4 FPG
12、A簡介32.1設計要求 42.2設計方案42.2.1電子萬年歷的發(fā)展42.2.2電子萬年歷的工作原理53.1時鐘問題83.1.1全局時鐘83.1.2門控時鐘83.1.3多級邏輯時鐘93.1.4波動式時鐘93.2電子萬年歷的控制系統(tǒng)93.2.1主控制模塊 maincontrol103.2.2時間及其設置模塊 time_auto_and_set113.2.3時間模塊 timepiece_main113.2.4時間設置模塊 timeset123.3時間數(shù)據(jù)與時間設置數(shù)據(jù)多路選擇模塊 time_mux143.3.1時間顯示動態(tài)位選模塊 time_disp_select163.3.2顯示模塊
13、disp_data_mux173.3.3秒表模塊 stopwatch183.3.4日期顯示與設置模塊 date_main193.3.5日期自動工作模塊 autodate203.3.6日期設置模塊 setdate203.4鬧鐘模塊alarmclock213.5分頻模塊 fdiv223.6頂層模塊圖23第4章 電子萬年歷系統(tǒng)代碼254.1主控制模塊254.2秒自動計時子模塊284.3時間自動工作控制294.4時間數(shù)據(jù)與時間設置數(shù)據(jù)多路選擇模塊304.6時間顯示動態(tài)位選模塊344.7秒表模塊364.8分頻模塊37第5章 結論40參考文獻41致謝421第1章 引言1.1選題意義 鐘表的數(shù)字化
14、給人們生產生活帶來了極大的方便,而且大大地擴展了鐘表原先的報時功能,諸如定時自動報警、按時自動打鈴、時間程序自動控制、定時廣播、定時啟閉路燈等。所有這些,都是以鐘表數(shù)字化為基礎的。因此,研究電子萬年歷及擴大其應用,有非?,F(xiàn)實的意義。數(shù)字鐘是一種用數(shù)字電路技術實現(xiàn)時、分、秒計時的裝置,與機械式時鐘相比具有更高的準確性和直觀性,且無機械裝置,具有更長的使用壽命,因此得到了廣泛的使用。電子萬年歷從原理上講是一種典型的數(shù)字電路,其中包括了組合邏輯電路和時序電路。 因此,我們此次設計與制做電子萬年歷就是為了了解數(shù)字鐘的原理,從而學會制作數(shù)字鐘。而且通過萬年歷的制作進一步了解各種在制作中用到的中
15、小規(guī)模集成電路的作用及使用方法,且由于電子萬年歷包括組合邏輯電路和時序電路,通過它可以進一步學習與掌握各種組合邏輯電路與時序電路的原理與使用方法。 本設計基于 FPGA 芯片6,外圍電路簡單,系統(tǒng)集成化程度高,精度高,采用 Verilog HDL語言編程,用軟件的方式設計硬件,靈活性好,方便以后的產品升級。1.2電子萬年歷的研究背景 在當代繁忙的工作與生活中,時間與我們每一個人都有非常密切的關系,每個人都受到時間的影響。為了更好的利用我們自己的時間,我們必須對時間有一個度量,因此產生了鐘表。鐘表的發(fā)展是非常迅速的,從剛開始
16、的機械式鐘表到現(xiàn)在普遍用到的數(shù)字式鐘表,即使現(xiàn)在鐘表千奇百怪,但是它們都只是完成一種功能計時功能,只是工作原理不同而已,在人們的使用過程中,逐漸發(fā)現(xiàn)了鐘表的功能太單一,沒有更大程度上的滿足人們的需求。因此在這里,我想能不能把一些輔助功能加入鐘表中。在此設計中所設計的鐘表不但具有普通鐘表的功能,它還能實現(xiàn)額外的功能:世界時、農歷顯示。人類不斷研究,不斷創(chuàng)新紀錄。發(fā)展到現(xiàn)在人們廣泛使用的萬年歷。 萬年歷是采用數(shù)字電路實現(xiàn)對.時,分,秒.數(shù)字顯示的計時裝置,廣泛用于個人家庭,車站, 碼頭辦公室等公共場所,成為人們常生活中不可少的必需品,由于數(shù)字集成電路的發(fā)展和石英晶體
17、振蕩器的廣泛應用,使得數(shù)字鐘的精度,遠遠超過老式鐘表, 鐘表的數(shù)字化給人們生產生活帶來了極大的方便,而且大大地擴展了鐘表原先的報時功能。 諸如定時自動報警、按時自動打鈴、時間程序自動控制、定時廣播、自動起閉路燈、定時開關烘箱、通斷動力設備、甚至各種定時電氣的自動啟用等,但是所有這些,都是以鐘表數(shù)字化為基礎的。因此,研究萬年歷及擴大其應用,有著非常現(xiàn)實的意義。它可以對年、月、日、周日、時、分、秒進行計時,對于數(shù)字電子萬年歷采用直觀的數(shù)字顯示,可以同時顯示年、月、日、周日、時、分、秒等信息,還具有時間校準等功能。 綜上所述此萬年歷具有讀取方便、顯示直觀、功能多樣、電路
18、簡潔、成本低廉等諸多優(yōu)點,符合電子儀器儀表的發(fā)展趨勢,具有廣闊的市場前景。1.3國內外產品研究綜述 萬年歷具有讀取方便、顯示直觀、功能多樣、成本低廉等諸多優(yōu)點,符合電子儀器儀表的發(fā)展趨勢,具有廣闊的市場前景。 近些年我國也開始重視對電子萬年歷的開發(fā)與設計,讓更多的電子時鐘能夠走進人民生活,讓更多的人能夠應用到功能強大,精度高的電子時鐘。但是仍然存在很多問題。 中國電子萬年歷產業(yè)發(fā)展出現(xiàn)的問題中,許多情況不容樂觀,如產業(yè)結構不合理、產業(yè)集中于勞動力密集型產品;技術密集型產品明顯落后于發(fā)達工業(yè)國家;生產要素決定性作用正在削弱;產業(yè)能源消耗大、產
19、出率低、環(huán)境污染嚴重、對自然資源破壞力大;企業(yè)總體規(guī)模偏小、技術創(chuàng)新能力薄弱、管理水平落后等。 中國電子萬年歷產業(yè)發(fā)展研究報告闡述了世界電子萬年歷產業(yè)的發(fā)展歷程,分析了中國電子萬年歷產業(yè)發(fā)展現(xiàn)狀與差距,開創(chuàng)性地提出了“新型電子萬年歷產業(yè)” 及替代品產業(yè)概念,在此基礎上,從四個維度即“以人為本”、“科技創(chuàng)新”、“環(huán)境友好”和“面向未來”準確地界定了“新型電子萬年歷產業(yè)” 及替代產品的內涵。根據(jù)“新型電子萬年歷產業(yè)” 及替代品的評價體系和量化指標體系,從全的研究。 新的角度對中國電子萬年歷產業(yè)發(fā)展進行
20、了推演和精準預測,在此基礎上,對中國的行政區(qū)劃和四大都市圈的電子萬年歷產業(yè)發(fā)展進行了全面隨著人們生活水平的提高和生活節(jié)奏的加快,對時間的要求越來越高,精準數(shù)字計時的消費需求也是越來越多。1.4 FPGA簡介PLD/FPGA是近幾年集成電路中發(fā)展最快的產品。由于PLD性能的高速發(fā)展以及設計人員自身能力的提高,可編程邏輯器件供應商將進一步擴大可編程芯片的領地,將復雜的專用芯片擠向高端和超復雜應用。據(jù)IC Insights的數(shù)據(jù)顯示,PLD市場從1999年的29億美元增長到去年的56億美元,幾乎翻了一番。Matas預計這種高速增長局面以后很難出現(xiàn),但可編程邏輯器件依然是集成電路中最具活力和前途的產業(yè)
21、。復雜可編程邏輯器件。 可編程邏輯器件的兩種主要類型是現(xiàn)場可編程門陣列(FPGA)和復雜可編程邏輯7(CPLD)。 在這兩類可編程邏輯器件中,F(xiàn)PGA提供了最高的邏輯密度、最豐富的特性和最高的性能。 現(xiàn)在最新的FPGA器件,如Xilinx Virtex"系列中的部分器件,可提供八百萬"系統(tǒng)門"(相對邏輯密度)。 這些先進的器件還提供諸如內建的硬連線處理器(如IBM Power PC)、大容量存儲器、時鐘管理系統(tǒng)等特性,并支持多種最新的超快速器件至器件(device-to-device)信號技術。 FPGA被應用于范圍廣泛的應用中,從數(shù)據(jù)處理和存儲,以及到
22、儀器儀表、電信和數(shù)字信號處理等。第2章 多功能電子萬年歷第2章 多功能電子萬年歷2.1設計要求 基于FPGA設計多功能電子萬年歷,其中要包括對FPGA的介紹、電子萬年歷的八個模塊以及頂層模塊的工作原理和仿真調試。1設計的內容及目的 2 簡介并了解FPGA 3了解FPGA的工作原理; 4了解萬年歷的工作原理,比較不同的設計方案; 了解萬年歷的八個模塊及頂層模塊的結構功能、工作流程,并仿真; 了解時鐘萬年的控制系統(tǒng)。2.2設計方案2.2.1電子萬年歷的發(fā)展鐘表的數(shù)字化給人們生產生活帶來了極大的方便,而且大大地擴展了鐘表原先的報時
23、功能,諸如定時自動報警、按時自動打鈴、時間程序自動控制、定時廣播、定時啟閉路燈等。所有這些,都是以鐘表數(shù)字化為基礎的。因此,研究電子萬年歷及擴大其應用,有非?,F(xiàn)實的意義。數(shù)字鐘是一種用數(shù)字電路技術實現(xiàn)時、分、秒計時的裝置8,與機械式時鐘相比具有更高的準確性和直觀性,且無機械裝置,具有更長的使用壽命,因此得到了廣泛的使用。電子萬年歷從原理上講是一種典型的數(shù)字電路,其中包括了組合邏輯電路和時序電路。因此,我們此次設計與制做電子萬年歷就是為了了解數(shù)字鐘的原理,從而學會制作數(shù)字鐘。而且通過萬年歷的制作進一步了解各種在制作中用到的中小規(guī)模集成電路的作用及使用方法,且由于電子萬年歷包括組合邏輯電路和時序電
24、路,通過它可以進一步學習與掌握各種組合邏輯電路與時序電路的原理與使用方法。2.2.2電子萬年歷的工作原理按鍵消抖 可 編功能鍵 程調整鍵1 邏調整鍵2 輯 器 件 CPLD/FPGA LED顯示模塊圖2-1 萬年歷的工作原理功能鍵用來選擇不同的工作模式如圖2-1所示:時間正常顯示功能、時間調整與顯示、秒表功能、鬧鐘設置與查看、日期顯示、日期調整與設置。調整鍵1:主要用于鬧鐘設置、日期顯示與調整、秒表、時間調整與設置中的位置選擇按鈕,與功能鍵配合使用。2號鍵功能模式,即時間調整與設置時,用作時、分、秒的移位,按一下,將會實現(xiàn)“時-分-秒”的依次移位,便于在特定位置進行調整;4號鍵功能模式,即鬧鐘
25、設置與查看時,同樣用作時、分、秒的移位,按一下,將會實現(xiàn)“時-分-秒”的依次移位,便于在特定位置進行調整;6號鍵功能模式,即日期調整與設置時,用作月、日的移位,按一下,將會實現(xiàn)“月-日”的依次移位,便于在特定位置進行調整。調整鍵2:主要用于鬧鐘設置、日期顯示與調整、秒表、時間調整與設置中的調整按鈕,與功能鍵配合使用。2號鍵功能模式,即時間調整與設置時,用作時、分、秒的調整,按一下,將會使得當前調整鍵1選擇的位置數(shù)字增加1;4號鍵功能模式,即鬧鐘設置與查看時,同樣用作時、分、秒的調整,按一下,將會使得當前調整鍵1選擇的位置數(shù)字增加1;6號鍵功能模式,即日期調整與設置時,用作月、日的移位,按一下,
26、將會使得當前調整鍵1選擇的位置數(shù)字增加1。時鐘萬年歷的設計方案選擇與比較 方案一:基于FPGA設計萬年歷 方案二:采用 Dallas 公司的專用時鐘芯片 DS1302。該芯片內部采用石英晶體振蕩器,其芯片精度不大于 10ms/年,可直接讀取時間、日期,使得軟件編程相對簡單。而 且 DS1302 可以在很小電流的后備電源(2.5V-5.5V,在2.5V 時耗電小于 300nA)下繼續(xù)計時,時鐘在電網(wǎng)電壓不足或突然掉電等突發(fā)情況下仍能正常工作。 方案三:本方案完全用軟
27、件實現(xiàn)走時,原理為:利用定時器與軟件結合實現(xiàn) 1 秒定時中斷,每產生一次中斷,存儲器內相應的秒值加 1;若秒值達到 60,則將其清零,并 將相應的分字節(jié)值加 1;若分值達到 60,則清零分字節(jié),并將時字節(jié)值加 1;若時值達 到 24,則將十字節(jié)清零9。但由于每次執(zhí)行程序時,定時器都要重新賦初值,所以該時鐘精度不高,而且由于是軟件實現(xiàn),當單片機不上電,程序不執(zhí)行時鐘將不工作。 4選擇與比較 選擇:方案一 比較:方案一采用FPGA技術,方案二和方案三采用的是
28、單片機。相比單片機,F(xiàn)PGA組織邏輯能力更強,時序能力更強,且有以下優(yōu)點,所以本次設計采用FPGA技術。 FPGA運行速度快 FPGA內部集成鎖項環(huán),可以把外部時鐘倍頻,核心頻率可以到幾百M,而單片機運行速度低的多.在高速場合,單片機無法代替FPGA ,FPGA管腳多,容易實現(xiàn)大規(guī)模系統(tǒng) 單片機IO口有限,而FPGA動輒數(shù)百IO,可以方便連接外設.比如一個系統(tǒng)有多路AD,DA,單片機要進行仔細的資源分配,總線隔離,而FPGA由于豐富的IO資源,可以很容易用不同IO連接各外設 FPGA內部程序并行運行,有處理更復雜功能的能力
29、;單片機程序是串行執(zhí)行的,執(zhí)行完一條才能執(zhí)行下一條,在處理突發(fā)事件時只能調用有限的中斷資源;而FPGA不同邏輯可以并行執(zhí)行,可以同時處理不同任務,這就導致了FPGA工作更有效率 FPGA有大量軟核10,可以方便進行二次開發(fā) FPGA甚至包含單片機和DSP軟核,并且IO數(shù)僅受FPGA自身IO限制,所以,FPGA又是單片機和DSP的超集,也就是說,單片機和DSP能實現(xiàn)的功能,FPGA一般都能實現(xiàn)41第3章 多功能電子萬年歷各功能模塊實現(xiàn)第3章 多功能電子萬年歷各功能模塊實現(xiàn)3.1時鐘問題無論是用離散邏輯、可編程邏輯,還是用全定制器件實現(xiàn)任何數(shù)字電路,設計不良的時鐘在
30、極限溫度、電壓或制造工藝存在偏差的情況下將導致系統(tǒng)錯誤的行為,所以可靠的時鐘設計是非常關鍵的。在FPGA設計時通常采用四種時鐘:全局時鐘、門控時鐘、多級邏輯時鐘和波動式時鐘,多時鐘系統(tǒng)是這四種時鐘類型的任意組合。3.1.1全局時鐘對于一個設計項目來說,全局時鐘(或同步時鐘)是最簡單和最可預測的時鐘。在FPGA設計中最好的時鐘方案是:由專用的全局時鐘輸入引腳驅動單個主時鐘去控制設計項目中的每一個觸發(fā)器。FPGA一般都具有專門的全局時鐘引腳,在設計項目時應盡量采用全局時鐘,它能夠提供器件中最短的時鐘到輸出的延時。3.1.2門控時鐘在許多應用中,整個設計項目都采用外部的全局時鐘是不可能或不實際的,所
31、以通常用陣列時鐘構成門控時鐘。門控時鐘常常同微處理器接口有關,例如用地址線去控制寫脈沖。每當用組合邏輯來控制觸發(fā)器時,通常都存在著門控時鐘。在使用門控時鐘時,應仔細分析時鐘函數(shù),以避免毛刺的影響。如果設計滿足下述兩個條件,則可以保證時鐘信號不出現(xiàn)危險的毛刺,門控時鐘就可以像全局時鐘一樣可靠工作:驅動時鐘的邏輯必須只包含一個“與門”或一個“或門”,如果采用任何附加邏輯,就會在某些工作狀態(tài)下出現(xiàn)由于邏輯競爭而產生的毛刺。邏輯門的一個輸入作為實際的時鐘,而該邏輯門的所有其他輸入必須當成地址或控制線,它們遵守相對于時鐘的建立和保持時間的約束。3.1.3多級邏輯時鐘當產生門控時鐘的組合邏輯超過一級,即超
32、過單個的“與門”或“或門”時,該設計項目的可靠性將變得很差。在這種情況下,即使樣機或仿真結果沒有顯示出靜態(tài)險象,但實際上仍然可能存在危險,所以我們不應該用多級組合邏輯區(qū)作為觸發(fā)器的時鐘端。不同的系統(tǒng) 需要采用不同的方法消除多級時鐘,并沒有一個固定的模式。3.1.4波動式時鐘許多系統(tǒng)要求在同一設計內采用多時鐘,最常見的例子是兩個異步微處理器之間的接口,或微處理器和異步通信通道的接口。由于兩個時鐘信號之間要求一定的建立和保持時間,所以上述應用引進了附加的定時約束條件,它們會要求將某些異步信號同步化。而在許多應用中只將異步信號同步化還是不夠的,當系統(tǒng)中有兩個或兩個以上非同源時鐘時,數(shù)據(jù)的建立和保持時
33、間很難得到保證,設計人員將面臨復雜的時間分析問題。最好的方法是將所有非同源時鐘同步化。使用FPGA內部的鎖相環(huán)(PLL)是一個效果很好的方法,但并不是所有FPGA都帶有PLL,而且?guī)в蠵LL功能的芯片大多價格昂貴。這時就需要使用帶使能端的D觸發(fā)器,并引入一個高頻時鐘來實現(xiàn)信號的同步化。穩(wěn)定可靠的時鐘是保證系統(tǒng)可靠工作的重要條件,設計中不能夠將任何可能含有毛刺的輸出作為時鐘信號,并且盡可能只使用一個全局時鐘,對多時鐘系統(tǒng)要特別注意異步信號和非同源時鐘的同步問題。為了獲得高驅動能、低抖動時延、穩(wěn)定的占空比的時鐘信號,一般使用FPGA內部的專用時鐘資源產生同步時序電路的主工作時鐘。專用時鐘資源主要指
34、兩部分,一部分是布線資源,包括全局時鐘布線資源和長線資源等,另一部分則是FPGA內部的PLL。3.2電子萬年歷的控制系統(tǒng)此電子萬年歷系統(tǒng)主要有8個模塊分別設計仿真,分別是以下8個模塊:主控制模塊 maincontrol時間及其設置模塊 timepiece_main時間顯示動態(tài)位選模塊 time_disp_select顯示模塊 disp_data_mux秒表模塊 stopwatch日期顯示與設置模塊 date_main鬧鐘模塊 alarmclock分頻模塊 fdiv3.2.1主控制模塊 maincontrol該模塊實現(xiàn)對各個功能模塊的整體控制,包括對時間顯示與調整、日期顯示與調整、鬧鐘顯示與調整
35、、秒表操作等的控制,結構功能圖如3-1所示,波形仿真圖如3-2所示。圖3-1 主控制模塊的結構功能圖 圖3-2主控制模塊的波形仿真圖SW3是功能鍵,從波形圖中可知,SW3每出現(xiàn)一次上升沿,輸出都會發(fā)生相應的變化,即按照Timepiece_EN(時鐘自動顯示使能),TimeSet_EN(時鐘設置與調整使能),Stopwatch_EN(秒表功能使能),Alarmclock_EN(鬧鐘時間設置使能),Date_EN(日期顯示使能),DateSet_EN(日期顯示與設置使能)的順序依次輸出有效波形“1”,對相應的模塊輸入有效使能,從而實現(xiàn)相應的功能。3.2.2時間及其設置模塊 time_auto_an
36、d_set時間及其設置模塊主要完成時間的自動正常運行與顯示,以及在相應的功能號下,實現(xiàn)時間的調整與設置。3.2.3時間模塊 timepiece_main該模塊主要完成時間的自動增加與顯示功能,即為正常的自動模式運行,其結構功能圖如3-3所示,波形仿真圖如3-4所示。 圖3-3 時間及其設置模塊的結構功能圖 圖3-4 時間模塊的結構功能圖秒自動計時子模塊 second_counter,結構功能圖如3-5所示,圖3-5 秒自動計時子模塊的結構功能圖分自動計時子模塊 minute_counter,結構功能圖如3-6示。圖3-6分自動計時子模塊的結構功能圖小時自動計時子模塊 hour_counter,
37、結構功能如圖3-7,圖3-8所示。圖3-7小時自動計時子模塊的結構功能圖圖3-8 時間模塊的波形仿真圖當Timepiece_EN為1時,即處于時間自動工作狀態(tài),即每出現(xiàn)一次時鐘信號clk,計數(shù)一次,先計數(shù)second0,當計數(shù)到1001(即十進制的9)時,向second1發(fā)出一個計數(shù)信號,此時second1進行一次計數(shù),類推,second1計數(shù)到0101(即十進制的5),且second0計數(shù)到1001(即十進制的9)時,minute0則進行一次計數(shù),按照此規(guī)律進行時間的計數(shù)。當計滿24小時,向day_EN發(fā)出一個計數(shù)信號,即此使能端輸出有效信號1,進行日期的計數(shù)。3.2.4時間設置模塊 tim
38、eset該模塊主要完成對時間的設置相關的閃爍顯示控制以及時間中的小時、分鐘、秒等數(shù)據(jù)的改變,流程圖如3-9所示,結構功能圖如3-10所示,波形仿真圖如3-11所示,表3-12所示。 開 始disp_drive<=3b0結 束初始化,將當前時間賦予設置后的時間Timeset_EN=1?disp_drive<3b101?disp_drive<= disp_drive+3b1依SW2,按位進行數(shù)字調整 圖 3-9 時間設置模塊的流程圖圖3-10 時間設置模塊的結構功能圖圖3-11 時間設置模塊的波形仿真圖表3-12 時間設置模塊的端口說明輸入端口功能TimeSet_EN時間設置使能
39、,當其電平為高時,時間設置有效SW1,SW2調整鍵1與調整鍵2輸入信號hour1,hour0當前時間的小時數(shù)輸入minute1,minute0當前時間的分鐘數(shù)輸入second0,second1當前時間的秒數(shù)輸入輸出端口功能hour_set1,hour_set0設置時間后的小時數(shù)minute_set1,minute_set0設置時間后的分鐘數(shù)second_set1,second_set0設置時間后的秒數(shù)disp_drive設置中的閃爍顯示設置當Timeset_EN為1時,即實現(xiàn)時間設置功能。SW1實現(xiàn)時間格式中小時高、低位,分鐘高、低位,秒鐘高、低位的位選,即每出現(xiàn)一個SW1上升沿,disp_d
40、rive的相應數(shù)值加1(選擇具體的需要調整的位置)。SW2實現(xiàn)相應得位的數(shù)值得調整,即每出現(xiàn)一個SW2上升沿,相應位的數(shù)值增加1。3.3時間數(shù)據(jù)與時間設置數(shù)據(jù)多路選擇模塊 time_mux該模塊用來分時向顯示單元傳輸顯示數(shù)據(jù),流程圖如3-13所示,結構功能圖如3-14所示,波形仿真圖如3-15所示,表3-16所示。圖3-13 多路選擇模塊的結構功能圖開 始依輸入條件,判斷是自動顯示時間,或顯示調整后的時間Timeset_EN=1?顯示設置后的時間顯示自動模式時的時間結 束圖 3 -14 多路選擇模塊的流程圖圖3-15 多路選擇模塊的波形仿真圖表3-16 多路選擇模塊的端口說明輸入端口功能Tim
41、eSet_EN時間設置使能信號hour1,hour0自動模式中當前時間的小時數(shù)輸入minute1,minute0自動模式中當前時間的分鐘數(shù)輸入second0,second1自動模式中當前時間的秒數(shù)輸入hour_set1,hour_set0時間設置后的小時數(shù)輸入minute_set1,minute_set0時間設置后的分鐘數(shù)輸入second_set1,second_set0時間設置后的秒數(shù)輸入輸入端口功能hour_1,hour_0當前需要顯示的小時輸出minute_1,minute_0當前需要顯示的分鐘輸出second_0,second_1當前需要顯示的秒輸出3.3.1時間顯示動態(tài)位選模塊 ti
42、me_disp_select該模塊用來分時顯示時間數(shù)據(jù),但是在選擇合適的時間間隔下,人眼并不能分辨出是分時顯示的,這樣顯示的方式可以降低功耗,結構功能圖如3-17所示,波形仿真圖如3-18所示,如圖3-19所示。圖3-17 時間顯示動態(tài)位選模塊的結構功能圖圖3-18 時間顯示動態(tài)位選模塊的波形仿真圖圖3-19 時間顯示動態(tài)位選模塊的波形仿真圖TimeSet_EN表示時間設置使能,Time_EN表示時間自動顯示使能,clk_1kHz用于動態(tài)顯示時間,clk_200Hz用于閃爍顯示時間,timeset_disp_drive表示時間設置數(shù)據(jù)顯示的同步信號,time_disp_select表示顯示動態(tài)
43、位選輸出信號。當TimeSet_EN為0,Time_EN為1時,以clk_1kHz為是時鐘信號,輸出自動顯示的時間,按位依次顯示;當TimeSet_EN為1,Time_EN為0時,則以clk_200Hz為時鐘信號,輸出以timeset_disp_drive對應的位置。3.3.2顯示模塊 disp_data_mux模塊是時間、日期等數(shù)據(jù)用數(shù)碼管顯示的控制與數(shù)據(jù)傳輸模塊,包括數(shù)據(jù)的傳輸以及BCD碼的譯碼等,結構功能圖如3-20所示。圖3-20 顯示模塊的結構功能圖 顯示原理采用的是七段數(shù)碼管的現(xiàn)實原理,如圖3-21,圖3-22所示:圖3-21七段數(shù)碼管的顯示原理圖3-22顯示模塊的波形仿
44、真圖3.3.3秒表模塊 stopwatch該模塊實現(xiàn)秒表的功能,在實際中,可以通過改變自動工作模式下的時間的計數(shù)時鐘的頻率來實現(xiàn)秒表的功能,流程圖如3-23所示,結構功能圖如3-24所示,波形仿真圖如3-25所示。開 始EN=1?秒表工作狀態(tài)時間自動工作狀態(tài)結 束圖3-23秒表模塊的流程圖圖3-24秒表模塊的結構功能圖圖3-25秒表功能的波形仿真圖EN表示秒表使能控制信號4,clk1表示自動工作模式的時鐘信號,clk2表示秒表工作模式的時鐘信號,故當EN為有效信號1時,輸出F_out與clk2同,即處于秒表工作狀態(tài),同理EN為0時,輸出F_out與clk1同,即處于自動工作狀態(tài)。3.3.4日期
45、顯示與設置模塊 date_main該模塊實現(xiàn)日期的顯示和日期的調整與設置,結構功能圖如2-25所示。圖3-26時間顯示與設置模塊的結構功能圖3.3.5日期自動工作模塊 autodate該模塊實現(xiàn)的是日期的自動工作功能3,結構功能圖如3-27所示,波形仿真圖如3-28,如圖3-29所示。圖3-27日期自動工作模塊的結構功能圖圖3-28 日期自動工作模塊的波形仿真圖圖3-29 日期自動工作模塊的波形仿真圖23.3.6日期設置模塊 setdate該模塊用于日期,結構功能圖如3-30所示。圖3-30日期設置模塊的結構功能圖3.4鬧鐘模塊alarmclock該模塊實現(xiàn)的功能包括鬧鐘的設置以及鬧鐘時間1到
46、后的提示,流程圖如3-31所示,結構功能圖如3-32所示,波形仿真圖如3-33所示。開 始設置的鬧鐘與當前時間比較alarm<=1b1鬧鐘工作alarm<=1b0鬧鐘不工作EN=1disp_drive<3b101?disp_drive<=disp_drive+3,b1disp_drive<=3b0根據(jù)不同的disp_drive選擇在不同的位置上的數(shù)值加1結 束 圖3-31鬧鐘模塊的流程圖圖3-32鬧鐘模塊的結構功能圖圖3-33 鬧鐘模塊的波形仿真圖EN為鬧鐘設置使能,clk_200Hz用于設置中的閃爍顯示的時鐘,其中還定義了hour_set1,hour_set0,
47、minute_set1,minute_set0,second_set1,second_set0,用來表示已經(jīng)設置好的鬧鐘時間。鬧鐘一直處于工作狀態(tài),當前時間(hour1,hour0,minute1,minute0,second1,second0)與設置的鬧鐘時間相比較,當小時、分鐘、秒鐘的時間完全相同時,則鬧鈴響,輸出信號alarm為有效信號1。SW1和SW2是調整鍵,分別控制位選和數(shù)值的調整。3.5分頻模塊 fdiv該模塊完成全局時鐘信號分頻輸出200Hz、60Hz、1Hz的三種時鐘信號,流程圖如3-34所示,結構功能圖如3-35所示,波形仿真圖如3-36所示。圖3-34 分頻模塊的結構功能
48、圖圖3-35分頻模塊的波形仿真圖開始,輸入1kHz時鐘信號posedge clkCNT<4?輸出200Hz時鐘信號f200HzCNT=CNT+1posedge f200HzCNT2<2?CNT2=CNT2+1輸出60Hz時鐘信號posedge f200HzCNT3<199?CNT3=CNT3+1輸出1Hz時鐘信號結 束圖3-36 分頻模塊的流程圖3.6頂層模塊圖將各個主模塊綜合成電子萬年歷系統(tǒng),其包括:fdiv分頻模塊,maincontrol主控制模塊,stopwatch秒表模塊,time_auto_and_set時間及其設置模塊,date_main日期及其設置模塊,alar
49、mclock鬧鐘模塊,time_disp_select時間顯示動態(tài)位選模塊及disp_data_mux顯示模塊,該頂層電路Top如圖3-37所示。圖3-37頂層電路Top第4章 電子萬年歷系統(tǒng)代碼第4章 電子萬年歷系統(tǒng)代碼4.1主控制模塊 module maincontrol(clk,SW3,Timepiece_EN,TimeSet_EN,Stopwatch_EN,Alarmclock_EN,Date_EN,DateSet_EN);output Timepiece_EN; /時間自動顯示使能output TimeSet_EN; /時間調整與設置使能output Stopwatch_EN; /秒
50、鐘功能使能output Alarmclock_EN; /鬧鐘時間設置使能output Date_EN; /時期顯示使能output DateSet_EN; /日期調整與設置使能input SW3; /功能號選擇input clk;reg Timepiece_EN; reg TimeSet_EN; reg Stopwatch_EN; reg Alarmclock_EN; reg Date_EN; reg DateSet_EN; reg 2:0 Function;reg 31:0 cnt;reg q1,q2,q3;reg CLK;always(posedge clk)begin if(cnt<
51、;49999) begin cnt=cnt+1; CLK<=0; end else begin cnt=0; CLK<=1'b1; end endalways(posedge CLK)begin begin q2<=q1; q1<=SW3; end begin q3<=q1&(q2); endendalways(posedge q3 ) /*實現(xiàn)對時間顯示與調整,日期顯示與 調整,鬧鐘顯示與調整,秒表操作等的控制*/ begin /功能號的產生以及其自動循環(huán) if(Function<3'b101 && SW3=1
52、9;b1) Function<=Function+3'b1; else Function<=3'b0; case(Function) /各個分功能的控制和實現(xiàn) /時鐘自動顯示 3'b000:begin Timepiece_EN<=1'b1; TimeSet_EN<=1'b0; Stopwatch_EN<=1'b0; Alarmclock_EN<=1'b0; Date_EN<=1'b0; DateSet_EN<=1'b0; end /時鐘調整與設置 3'b001:beg
53、in end /秒表 3'b010:begin end /鬧鐘時間設置 3'b011:begin end /日期顯示 3'b100:begin end /日期調整與設置 3'b101:begin end default:begin end endcase endendmodule 4.2秒自動計時子模塊module second_counter(EN,clk,second_data1,second_data0,E0);output 3:0 second_data1,second_data0;output E0;input clk,EN;reg 3:0 secon
54、d_data1,second_data0;reg E0;always(posedge clk) begin if(EN=1'b1) begin if(second_data0<4'b1001) second_data0<=second_data0+4'b1; else begin E0<=1'b0; second_data0<=4'b0; if(second_data1<4'b0101) second_data1<= second_data1+4'b1; else begin second_data1&
55、lt;=4'b0; E0<=1'b1; end end end endendmodule4.3時間自動工作控制module timepiece_main(CLK,Timepiece_EN,day_EN,hour0,hour1,minute0,minute1,second0,second1);input CLK;input Timepiece_EN;output day_EN;output 3:0 hour1,hour0;output 3:0 minute1,minute0;output 3:0 second1,second0;wire SYNTHESIZED_WIRE_0;wire SYNTHESIZED_WIRE_1;hour_counter /*小時計時*/b2v_inst(.clk(SYNTHESIZED_WIRE_0),.EN(Timepiece_EN),.E0(day_EN),.hour_data0(hour0),.hour_data1(hour1);minute_counter /*分鐘計時*/
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 養(yǎng)老院工作人員獎懲制度
- 企業(yè)員工培訓與職業(yè)發(fā)展路徑制度
- 2026河北邯鄲市曲周縣醫(yī)院招聘人事代理人員26人備考題庫附答案
- 交通宣傳教育材料制作與發(fā)放制度
- 2026湖北省定向天津大學選調生招錄考試備考題庫附答案
- 2026甘肅銀行股份有限公司招聘校園考試備考題庫附答案
- 2026福建福州市馬尾海關單證資料管理崗位輔助人員招聘1人參考題庫附答案
- 2026西藏日喀則市亞東縣糧食公司人員招聘1人參考題庫附答案
- 公共交通服務質量投訴處理制度
- 2026重慶大學附屬涪陵醫(yī)院年衛(wèi)生專業(yè)技術人員招聘22人參考題庫附答案
- 十八而志夢想以行+活動設計 高三下學期成人禮主題班會
- 2023年上海華東理工大學機械與動力工程學院教師崗位招聘筆試試題及答案
- TOC供應鏈物流管理精益化培訓教材PPT課件講義
- 醫(yī)院18類常用急救藥品規(guī)格清單
- 放棄公開遴選公務員面試資格聲明
- 2023-2024學年江蘇省海門市小學語文五年級期末點睛提升提分卷
- GB/T 1685-2008硫化橡膠或熱塑性橡膠在常溫和高溫下壓縮應力松弛的測定
- 北京城市旅游故宮紅色中國風PPT模板
- DB42T1319-2021綠色建筑設計與工程驗收標準
- 經(jīng)濟學原理 第一章課件
- DB31T 685-2019 養(yǎng)老機構設施與服務要求
評論
0/150
提交評論