【正文】
最終實現(xiàn)了一個自己動手完成的電子作品,增強了我們分析問題、解決問題的能力,培養(yǎng)了對電子工程設(shè)計的濃厚興趣。頂層設(shè)計采樣原理圖輸入方法,用以上的各模塊的VHDL源程序分別生成元器件,在此基礎(chǔ)上用“導(dǎo)線”對元器件進行連接,搭建原理圖,完成系統(tǒng)的頂層設(shè)計,而不是利用元件例化程序去設(shè)計。Q3=DL。Q7=YL。END CONTROL。USE 。 END PROCESS。039。039。039。MO=39。 選通月模塊,調(diào)月 WHEN 0100=WO=39。YLO=39。039。039。DO=K2。YHO=39。MO=39。YHO=YHI。 CASE A IS WHEN 0000=WO=WI。 THEN A=A+1。ARCHITECTURE BEHAV OF JIAODUI ISSIGNAL A: STD_LOGIC_VECTOR (3 DOWNTO 0)。ENTITY JIAODUI IS PORT(K1,K2:IN STD_LOGIC。K1進行模式的選擇,K2的功能如同手動時鐘脈沖,進行調(diào)時設(shè)置。Y4=Q22。 END IF。COUT=39。 Q22=Q22+1。 THEN Q11=Q11+1。ARCHITECTURE ONE OF YEAR IS SIGNAL Q11,Q22:STD_LOGIC_VECTOR(3 DOWNTO 0)。ENTITY YEAR IS PORT(CLK:IN STD_LOGIC。 END。 END IF。139。 END IF。 IF Q1=9 THEN Q1=(OTHERS=39。BEGIN PROCESS(CLK) BEGIN IF CLK39。 Y1,Y2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)。年的高兩位和低兩位都為一百進制計數(shù)器,功能基本相同源程序:LIBRARY IEEE。 十二進制計數(shù)器 cq1=cq3。039。cq4=0000。IF cq3=9 THEN cq4=cq4+1。BEGINPROCESS(clk)BEGINIF clk39。 cout :OUT STD_LOGIC。仿真結(jié)果:圖44 30進制計數(shù)器仿真圖如圖所示,仿真結(jié)果與設(shè)計要求一致,日模塊的設(shè)計正確月模塊為12進制計數(shù)器源程序:LIBRARY IEEE。 END IFEND PROCESS。139。 END IF。 IF CQ3=9 THEN CQ3=(OTHERS=39。BEGIN PROCESS(CLK) BEGIN IF CLK39。 CQ2 :OUT STD_LOGIC_VECTOR (3 DOWNTO 0)。USE 。日模塊原本有四種情況,大月為31進制計數(shù)器,小月為30進制計數(shù)器,平年二月為28進制計數(shù)器,閏年二月為29進制計數(shù)器。 END PROCESS。 THEN Q11=Q11+1。ARCHITECTURE ONE OF WEEK IS SIGNAL Q11:STD_LOGIC_VECTOR(3 DOWNTO 0)。ENTITY WEEK IS PORT(CLK:IN STD_LOGIC。仿真結(jié)果: 圖42 24進制計數(shù)器仿真圖如上圖所示當2計滿24時,2都歸零同時有一個進位輸出脈沖,完成了二十四進制計數(shù)器的功能,設(shè)計正確。 END PROCESS。 ELSE COUT=39。 IF Q22=2 AND Q11=3 THEN Q22=0000。039。EVENT AND CLK=39。 COUT:OUT STD_LOGIC)。USE 。END。 END IF。139。 END IF。 IF Q11=9 THEN Q11=(OTHERS=39。BEGIN PROCESS(CLK) BEGIN IF CLK39。 Q1,Q2:OUT STD_LOGIC_VECTOR(3 DOWNTO 0)。第四章 設(shè)計結(jié)果秒與分模塊為六十進制的計數(shù)器