資源描述:
《簡(jiǎn)單時(shí)鐘 verilog設(shè)計(jì).doc》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在應(yīng)用文檔-天天文庫。
1、VerilogEDA課程設(shè)計(jì)(簡(jiǎn)單時(shí)鐘電路)2012年春季期信息科學(xué)與工程學(xué)院電科09-1班黎富林一、實(shí)驗(yàn)?zāi)康?.掌握可編程邏輯器件的應(yīng)用開發(fā)技術(shù)——設(shè)計(jì)輸入、編譯、仿真和器件編程;2.熟悉一種EDA軟件使用;3.掌握Verilog設(shè)計(jì)方法;4.掌握分模塊分層次的設(shè)計(jì)方法;5.用Verilog完成一個(gè)多功能數(shù)字鐘設(shè)計(jì)。二、實(shí)驗(yàn)要求1.基本功能①具有“秒”、“分”、“時(shí)”計(jì)時(shí)功能,小時(shí)按24小時(shí)制計(jì)時(shí)。②具有校時(shí)功能,能對(duì)“分”和“小時(shí)”進(jìn)行調(diào)整。③仿廣播電臺(tái)正點(diǎn)報(bào)時(shí)。在59分51秒、53秒、55秒、57秒發(fā)出低音512Hz信號(hào),
2、在59分59秒時(shí)發(fā)出一次高音1024Hz信號(hào),音響持續(xù)1秒鐘,在1024Hz音響結(jié)束時(shí)刻為整點(diǎn)。2.拓展功能①任意時(shí)刻鬧鐘②自動(dòng)報(bào)整點(diǎn)時(shí)數(shù)③小時(shí)計(jì)數(shù)器改為12翻1三、實(shí)驗(yàn)設(shè)計(jì)1.數(shù)字鐘整體設(shè)計(jì)框圖數(shù)字鐘電路系統(tǒng)由主體電路和擴(kuò)展電路兩大部分所組成2.數(shù)字鐘模塊設(shè)計(jì)分和秒計(jì)數(shù)器都是模M=60的計(jì)數(shù)器,時(shí)計(jì)數(shù)器是一個(gè)模M=24的計(jì)數(shù)器3.數(shù)字鐘輸入輸出分配Adj_Min校分控制→按鍵K1→8Adj_Hour校時(shí)控制→按鍵K2→9Set_Min鬧鈴校分控制→按鍵K3→10Set_Hour鬧鈴校時(shí)控制→按鍵K4→11Type鬧鈴切換控制→
3、按鍵K5→16Bell蜂鳴器控制信號(hào)→按鍵K6→17Chg實(shí)現(xiàn)24、12進(jìn)制轉(zhuǎn)換控制→按鍵K7→18Second0-Second7秒輸出信號(hào)→數(shù)碼管1,2→21-25,27-29Minute0-Minute7分輸出信號(hào)→數(shù)碼管4,5→38,39,47-52Hour0-Hour7小時(shí)輸出信號(hào)→數(shù)碼管7,8→60-62,64-67,69四.各工作模式仿真波形1.時(shí)鐘正常計(jì)時(shí)波形00:00:59時(shí)刻波形00:59:59時(shí)刻波形23:59:59時(shí)刻波形2.定時(shí)鬧鐘波形如圖所示為01:02:00-01:02:59的一分鐘鬧鐘波形。3.仿電
4、臺(tái)報(bào)時(shí)波形如圖所示,在任意小時(shí)59分的51、53、55、57秒內(nèi)蜂鳴器為低頻(512Hz)信號(hào)輸出,在59秒內(nèi)蜂鳴器為高頻(1024Hz)信號(hào)輸出,實(shí)現(xiàn)模仿電臺(tái)報(bào)時(shí)功能。3.整點(diǎn)報(bào)時(shí)波形如圖所示,在06:00:00后的6秒內(nèi),蜂鳴器前半秒無輸入,后半秒有高頻(1024Hz)輸入,達(dá)到整點(diǎn)報(bào)時(shí)功能。在N小時(shí)整時(shí)刻,蜂鳴器會(huì)鳴響N次。如此仿真中為六點(diǎn),響六下4.12翻1功能波形如圖所示,在chg按鍵為低電平時(shí),Hour輸出類型為12翻1,實(shí)現(xiàn)12翻1功能。通常chg按鍵為高電平,即24小時(shí)制。五、實(shí)測(cè)將程序文件下載到FPGA芯片上,
5、即可看到從零開始的處于計(jì)數(shù)狀態(tài)的數(shù)字鐘。其結(jié)果由六個(gè)BCD碼7段顯示管顯示,形式為—小時(shí):分鐘:秒鐘。將按鍵模式設(shè)置為琴鍵模式,按下Type鍵一次,觀察到時(shí)鐘處于鬧鐘設(shè)置狀態(tài),設(shè)置時(shí)間為6:58。再一次按下Type鍵,數(shù)字鐘處于校時(shí)狀態(tài),將時(shí)間校正為6:57。按下Type鍵,時(shí)鐘處于計(jì)數(shù)狀態(tài)。觀察時(shí)鐘,當(dāng)?shù)竭_(dá)6:58時(shí),鬧鈴以1kHZ的頻率響起,鬧鈴功能實(shí)現(xiàn)。當(dāng)處于6:59的51秒、53、55、57秒時(shí),報(bào)警為“嘀嘀嘀”,當(dāng)為59秒時(shí)為“嘟”,報(bào)時(shí)功能實(shí)現(xiàn)。當(dāng)為6:00時(shí),蜂鳴器以1Hz的頻率響起6下,報(bào)整點(diǎn)功能實(shí)現(xiàn)。六、源代碼
6、moduleComplete_Clock(Hr,Min,Sec,ALARM,_1kHzIN,Adj_Min,Adj_Hour,Set_Min,Set_Hour,Bell,Type);input_1kHzIN;output[7:0]Hr,Min,Sec;wire[7:0]Hr,Min,Sec;supply1Vdd;inputAdj_Min,Adj_Hour;wire[7:0]Hour,Minute,Second;wireMinL_EN,MinH_EN,Hour_EN;wire_1Hz,_500Hz;regALARM_Radio;w
7、ireALARM_Clock;outputALARM;wire[7:0]Set_Hr,Set_Min;wireHr_H_EQU,Hr_L_EQU,Min_H_EQU,Min_L_EQU;inputSet_Hour,Set_Min;inputBell;inputType;Divided_FrequencyU0(_1Hz,_500Hz,Vdd,Vdd,_1kHzIN);counter10U1(Second[3:0],Vdd,Vdd,_1Hz);counter6U2(Second[7:4],Vdd,(Second[3:0]==4'h9
8、),_1Hz);assignMinL_EN=Adj_Min?Vdd:(Second==8'h59);assignMinH_EN=(Adj_Min&&(Minute[3:0]==4'h9))
9、
10、(Minute[3:0]==4'h9)&&(Second==8'h59