【正文】
put [5:0] disp_select。邏輯框圖如圖322所示,仿真波形如圖323所示。b000000。b000001。 339。b100: time_disp_select = 639。b000100。 339。b010: time_disp_select = 639。b010000。 339。b000: time_disp_select = 639。 disp_drive = timeset_disp_drive。 end else if(TimeSet_EN == 139。b1) begin clk= clk_1khz。b0。b1。always (posedge clk_1khz) /*實(shí)現(xiàn)自動運(yùn)行模式中的動態(tài)顯示“位選的驅(qū)動”*/begin if(auto_disp_drive 339。reg clk。reg [5:0] time_disp_select。input TimeSet_EN。input clk_200hz。 output [5:0] time_disp_select。邏輯框圖如圖320所示,波形仿真如圖321所示。圖317 多路選擇模塊的流程圖表32 多路選擇模塊的端口說明輸入端口功能TimeSet_EN時間設(shè)置使能信號hour1,hour0自動模式中當(dāng)前時間的小時數(shù)輸入minute1,minute0自動模式中當(dāng)前時間的分鐘數(shù)輸入second0,second1自動模式中當(dāng)前時間的秒數(shù)輸入hour_set1,hour_set0時間設(shè)置后的小時數(shù)輸入minute_set1,minute_set0時間設(shè)置后的分鐘數(shù)輸入second_set1,second_set0時間設(shè)置后的秒數(shù)輸入輸出端口功能hour_1,hour_0當(dāng)前需要顯示的小時輸出minute_1,minute_0當(dāng)前需要顯示的分鐘輸出second_0,second_1當(dāng)前需要顯示的秒輸出圖318 時間數(shù)據(jù)多路選擇模塊框圖圖319 時間數(shù)據(jù)多路選擇模塊波形仿真圖 時間顯示動態(tài)位選模塊(time_disp_select)該模塊用來分時顯示時間數(shù)據(jù),TimeSet_EN表示時間設(shè)置使能,Time_EN表示時間自動顯示使能,clk_1kHz用于動態(tài)顯示時,clk_200Hz用于閃爍顯示時間,timeset_disp_drive表示時間設(shè)置數(shù)據(jù)顯示的同步信號,time_disp_select表示顯示動態(tài)位選輸出信號。SW2實(shí)現(xiàn)相應(yīng)得位的數(shù)值的調(diào)整,即每出現(xiàn)一個SW2上升沿,相應(yīng)位的數(shù)值增加1。圖314 時間設(shè)置模塊流程圖圖315 時間設(shè)置模塊框圖圖316 時間設(shè)置模塊波形仿真圖表31 時間設(shè)置模塊的端口說明輸入端口功能TimeSet_EN時間設(shè)置使能,當(dāng)其電平為高時,時間設(shè)置有效SW1,SW2調(diào)整鍵1與調(diào)整鍵2輸入信號hour1,hour0當(dāng)前時間的小時數(shù)輸入minute1,minute0當(dāng)前時間的分鐘數(shù)輸入second0,second1當(dāng)前時間的秒數(shù)輸入輸出端口功能hour_set1,hour_set0設(shè)置時間后的小時數(shù)minute_set1,minute_set0設(shè)置時間后的分鐘數(shù)second_set1,second_set0設(shè)置時間后的秒數(shù)disp_drive設(shè)置中的閃爍顯示設(shè)置當(dāng)Timeset_EN為1時,即實(shí)現(xiàn)時間設(shè)置功能。圖312 分計數(shù)子模塊框圖u 時計數(shù)子模塊邏輯框圖如圖313所示。u 分計數(shù)子模塊的設(shè)計原理與秒模塊的類似。圖39 時間計數(shù)模塊邏輯框圖圖310 時間計數(shù)模塊仿真波形圖u 秒計數(shù)子模塊邏輯框圖如圖311所示。該模塊電路圖如圖38所示:圖38 時間計數(shù)模塊電路圖該模塊邏輯框圖如圖39所示。該模塊頂層電路如圖36所示:圖36 時間及其設(shè)置模塊頂層電路圖該模塊邏輯框圖如圖37所示:圖37 時間及其設(shè)置模塊邏輯框圖 時間計數(shù)模塊(timepiece_main)該模塊主要完成時間的自動增加與顯示功能,即為正常的自動模式運(yùn)行。 end endcaseendendmodule 時間及其設(shè)置模塊(time_auto_and_set)該模塊主要完成時間的自動正常運(yùn)行與顯示,以及在相應(yīng)的功能號下,實(shí)現(xiàn)時間的調(diào)整與設(shè)置。 DateSet_EN = 139。 Date_EN = 139。 Alarmclock_EN = 139。 Stopwatch_EN = 139。 TimeSet_EN = 139。 end default: begin Timepiece_EN = 139。 DateSet_EN = 139。 Date_EN = 139。 Alarmclock_EN = 139。 Stopwatch_EN = 139。 TimeSet_EN = 139。b101: begin Timepiece_EN = 139。b0。b1。b0。b0。b0。b0。 end //日期顯示 339。 DateSet_EN = 139。 Date_EN = 139。 Alarmclock_EN = 139。 Stopwatch_EN = 139。 TimeSet_EN = 139。b011: begin Timepiece_EN = 139。b0。b0。b0。b1。b0。b0。 end //跑表 339。 DateSet_EN = 139。 Date_EN = 139。 Alarmclock_EN = 139。 Stopwatch_EN = 139。 TimeSet_EN = 139。b001: begin Timepiece_EN = 139。b0。b0。b0。b0。b0。b1。 case(Function) //時間自動顯示 339。 else Function = 339。b101) Function = Function + 339。reg [2:0] Function。input SW3。圖34 時鐘主控制電路模塊邏輯框圖圖35 時鐘主控制模塊仿真波形圖該模塊的VerilogHDL程序如下:modconule maintrol(SW3, //功能號選擇 Timepiece_EN, //時間自動顯示使能 TimeSet_EN, //時間調(diào)整與設(shè)置使能 Stopwatch_EN, //跑表功能使能 Alarmclock_EN, //鬧鐘功能使能 Date_EN, //日期顯示使能 DateSet_EN)。主控制電路模塊的邏輯框圖如圖34所示。b1。 end else begin CNT3 = 0。 f1hz = 139。b1。 end else begin CNT2 = 0。 f60hz = 139。b1。 end else begin CNT1 = 0。 f200hz = 139。integer CNT1=0,CNT2=0,CNT3=0。input clk。圖 31 分頻電路流程圖圖32 分頻電路模塊邏輯框圖該電路的VerilogHDL程序如下:module fdiv(clk,f200hz,f60hz,f1hz)。分頻電路的流程圖如圖31所示,邏輯框圖如圖32所示。顯示由數(shù)碼管完成。在控制信號中除了一般的校時信號外,還有自動走時使能信號。計數(shù)器的輸出分別經(jīng)譯碼器送數(shù)碼管顯示。秒計數(shù)器滿60后向分計數(shù)器進(jìn)位,分計數(shù)器滿60后向小時計數(shù)器進(jìn)位,小時計數(shù)器滿24后向日期進(jìn)位。2號鍵功能模式,即時間調(diào)整與設(shè)置時,用作時、分、秒的調(diào)整,按一下,將會使得當(dāng)前調(diào)整鍵1選擇的位置數(shù)字增加1;4號鍵功能模式,即鬧鐘設(shè)置與查看時,同樣用作時、分、秒的調(diào)整,按一下,將會使得當(dāng)前調(diào)整鍵1選擇的位置數(shù)字增加1;6號鍵功能模式,即日期調(diào)整與設(shè)置時,用作月、日的移位,按一下,將會使得當(dāng)前調(diào)整鍵1選擇的位置數(shù)字增加1。2號鍵功能模式,即時間調(diào)整與設(shè)置時,用作時、分、秒的移位,按一下,將會實(shí)現(xiàn)“時分秒”的依次移位,便于在特定位置進(jìn)行調(diào)整;4號鍵功能模式,即鬧鐘設(shè)置與查看時,同樣用作時、分、秒的移位,按一下,將會實(shí)現(xiàn)“時分秒”的依次移位,便于在特定位置進(jìn)行調(diào)整;6號鍵功能模式,即日期調(diào)整與設(shè)置時,用作月、日的移位,按一下,將會實(shí)現(xiàn)“月日”的依次移位,便于在特定位置進(jìn)行調(diào)整。圖21 數(shù)字鐘頂層電路圖 數(shù)字鐘的工作原理圖22 數(shù)字鐘整體框圖功能鍵SW3用來選擇不同的工作模式:時間正常顯示功能、時間調(diào)整與顯示、秒表功能、鬧鐘設(shè)置與查看、日期顯示、日期調(diào)整與設(shè)置。具有校時以及整點(diǎn)報時、任意時刻鬧鐘、跑表等功能,可以對時間及日期進(jìn)行單獨(dú)校對,使其校正到標(biāo)準(zhǔn)時間。近些年,隨著科技的發(fā)展和社會的進(jìn)步,人們對數(shù)字鐘的要求也越來越高,傳統(tǒng)的時鐘已不能滿足人們的需求,因此研究數(shù)字鐘以及擴(kuò)大其應(yīng)用有著非?,F(xiàn)實(shí)的意義[1112]。鐘表的數(shù)字化給人們生產(chǎn)生活帶來了極大的方便,而且大大地擴(kuò)展了鐘表原先的報時功能。ASIC是專用的系統(tǒng)集成電路,是一種帶有邏輯處理的加速處理器。這一切極大地改變了傳統(tǒng)的數(shù)字系統(tǒng)設(shè)計方法、設(shè)計過程和設(shè)計觀念,促進(jìn)了EDA技術(shù)的迅速發(fā)展[14]。而可編程邏輯器件(如CPLD、FPGA)的應(yīng)用普及,為數(shù)字系統(tǒng)的設(shè)計帶來了極大的靈活性。EDA技術(shù)就是以計算機(jī)為工具,設(shè)計者在EDA軟件平臺上,用硬件描述語言HDL完成設(shè)計文件,然后由計算機(jī)自動地完成邏輯編譯、化簡、分割、綜合、優(yōu)化、布局、布線和仿真,直至對于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。支撐信息電子產(chǎn)品高速發(fā)展的基礎(chǔ)就是微電子制造工藝水平的提高和電子產(chǎn)品設(shè)計開發(fā)技術(shù)的發(fā)展。關(guān)鍵詞:數(shù)字鐘,硬件描述語言,VerilogHDL,F(xiàn)PGAABSTRACTThis design for a multifunction digital clock, with time date to show the function to 24 hours cycle count。系統(tǒng)主要由主分頻模塊、控制模塊、時間及其設(shè)置模塊、時間顯示動態(tài)位選模塊、顯示模塊、秒表模塊、日期顯示與設(shè)置模塊、鬧鐘模塊等8個模塊組成。學(xué)士學(xué)位論文 論文題目: 基于FPGA的數(shù)字鐘的設(shè)計 院(部)名 稱: 電氣信息工程學(xué)院 學(xué) 生 姓 名: 專 業(yè): 測控技術(shù)與儀器 學(xué) 號: 指導(dǎo)教師姓名: 論文提交時間: 2012年4月 25 日 論文答辯時間: 2010年5月 6 日 學(xué)位授予時間: 摘 要本設(shè)計為一個多功能的數(shù)字鐘,具有時間日期顯示功能,以24小時循環(huán)計數(shù);具有校時、跑表以及任意時刻鬧鐘功能。本設(shè)計采用EDA技術(shù),以硬件描述語言VerilogHDL為系統(tǒng)邏輯描述手段設(shè)計文件,在Quartus ii工具軟件環(huán)境下,采用自頂向下的設(shè)計方法,由各個基本模塊共同構(gòu)建了一個基于FPGA的數(shù)字鐘。本系統(tǒng)能夠完成日期和時間的分別顯示,由按鍵輸入進(jìn)行數(shù)字鐘的校時、清零、啟停功能。 When PaoBiao and, with the alarm clock function at any time.The use of EDA design technology, hardwaredescription language VerilogHDL description logic means for the system design documents, in Quartus ii tools environment, a topdown design, by the various modules together build a FPGAbased digital clock.System mainly by the main points frequency module, control module, time and set module, time display dynamic a choose module, display module, a stopwatch module, date display and set module, alarm clock module eight modules. This system can finish date and time di