【正文】
std_logic。 hclo,mclo,sclo,halr,malr,salr: in std_logic_vector(7 downto 0)。 h,s,m:out std_logic_vector(7 downto 0))。end alarmset。architecture beh of alarmset isbegin process(sel) begin if(sel=39。039。)then h=hclo。 當(dāng)sel輸入端為低電平時,把時鐘信號傳遞到輸出端 m=mclo。 s=sclo。 else h=halr。 當(dāng)sel輸入端為高電平時,把鬧鐘置入的信號傳遞到輸出端 m=malr。 s=salr。 end if。 end process。end beh。(當(dāng)選擇開關(guān)輸入為低電平時,把時鐘信號傳遞到動態(tài)顯示模塊;當(dāng)選擇開關(guān)輸入為高電平時,把鬧鐘信號傳遞到動態(tài)顯示模塊。) (比較模塊)以下是比較模塊設(shè)計的VHDL語言library ieee。use 。use 。use 。entity alarmcmp isport( h,m,halr,malr: in std_logic_vector(7 downto 0)。 stop:in std_logic。 sig:out std_logic)。 end alarmcmp。architecture beh of alarmcmp is begin process(h,m,halr,malr,stop)begin if stop=39。139。then sig=39。039。 當(dāng)stop端輸入為高電平,輸出為低電平 end if。 if h=halr and m=malr and stop=39。039。 then sig=39。139。 當(dāng)stop端輸入為低電平、時鐘傳來的信號與鬧鐘置入的信號一致時,輸出為高電平 else sig=39。039。 當(dāng)時鐘傳來的信號與鬧鐘置入的信號不一致時,輸出為低電平 end if。 end process。end beh。 (輸入選擇電路頂層圖)當(dāng)selalarm端輸入為低電平時,時鐘實現(xiàn)計時功能,選擇電路把輸入信號傳遞到計時模塊,使其調(diào)整時間;當(dāng)selalarm端輸入為高電平時,時鐘實現(xiàn)鬧鐘設(shè)置功能,選擇電路把輸入信號傳遞到鬧鐘模塊,使其設(shè)置鬧鐘。三、總結(jié) 通過這次的數(shù)邏課程設(shè)計后,我學(xué)到了很多,對于VHDL語言有了進一步的認識,掌握了實驗板上某些按鍵的功能。我明白了很多東西都是事在人為,因為一開始弄得時候,什么也不會,后來通過詢問同學(xué)和找資料,才慢慢的懂了一些。會了以后,感覺還是很好玩的,當(dāng)報時的聲音響起的時候,心里面還是很有成就感的。本次試驗不是很困難,用心的話還是挺好玩的,畢竟的合成圖老師已給出,只需要按照步驟來就可以了。然后因為這次實驗,我也明白了自己需要學(xué)的東西還是很多的,畢竟很多東西都需要詢問和查資料才懂,但對于QuartusⅡ還是會比之前更加熟練了,熟能生巧的緣故吧,反正操作起來挺順手的。但一開始沒有將文件置頂,又建立了很多工程名,后來經(jīng)過老師的指導(dǎo),才弄好了,因為學(xué)的不好的緣故,所以今后還是好好學(xué)習(xí)吧??偠灾?,這次實驗給了我很大的學(xué)習(xí)動力。12