【正文】
when 2057=Q_1=X06B244。 when 2055=Q_1=X66A53C 。 when 2053=Q_1=X049753 。 when 2051=Q_1=X09374B 。 when 2049=Q_1=X0AdA42 。 when 2047=Q_1=X5B52BA 。 when 2045=Q_1=X0A4B51 。 when 2043=Q_1=X049B4A 。 when 2041=Q_1=X056d41 。 when 2039=Q_1=X5dAA38 。 when 2037=Q_1=X0d254f 。 when 2035=Q_1=X0A4d48 。 when 2033=Q_1=XB4AeBf 。 when 2031 =Q_1=X36B537 。 when 2029=Q_1=X0d534d 。 when 2027 =Q_1=X0d2646 。 when 2025=Q_1=X69573d 。 when 2023=Q_1=X24dAB6。 when 2021 =Q_1=X06AA4C。 when 2019 =Q_1=X0A9345 。 when 2017=Q_1=X6517BC 。 when 2015 =Q_1=X04BA53 。variable mmday13:STD_LOGIC_VECTOR(8 DOWNTO 0)。variable mmday11:STD_LOGIC_VECTOR(8 DOWNTO 0)。variable mday1:STD_LOGIC_VECTOR(8 DOWNTO 0)。variable i:integer。variable day12:STD_LOGIC_VECTOR(8 DOWNTO 0)。格式Q(23)(20) 位表示閏月月份,值為0 為無(wú)閏月,Q(19)(16) 對(duì)應(yīng)農(nóng)歷第14 月的大小Q(15)(8) 對(duì)應(yīng)農(nóng)歷第512 月大小,第三字節(jié)Q(7) 表示農(nóng)歷第13 個(gè)月大小月份對(duì)應(yīng)的位為1 表示本農(nóng)歷月大(30 天),為0 表示小(29 天)第三字節(jié)Q(6)(5) 表示春節(jié)的公歷月份,Q(4)(0) 表示春節(jié)的公歷日期 BeginProcess(month1,year1,day1)variable day11:STD_LOGIC_VECTOR(8 DOWNTO 0)。Signal Q:STD_LOGIC_VECTOR(23 DOWNTO 0)。Signal :std_logic_vector(8 downto 0)。 End entity。 Tyear_1 : out integer range 2014 to 2099。 Tday_1:out std_logic_vector(8 downto 0)。 Tmonth:out std_logic_vector(8 downto 0)。 day1 :in std_logic_vector(8 downto 0)。 year1 : in integer range 2014 to 2099。 USE 。: 陽(yáng)歷轉(zhuǎn)陰歷模塊 LIBRARY IEEE。qty5=qy。qty3=qy。qty1=qy。 end if。 else qy=qy+1。139。 elsif(clky39。139。architecture nian of year issignal qy:integer range 2015 to 2099。 qty5: out integer range 2015 to 2099) 。 qty3: out integer range 2015 to 2099。 qty1: out integer range 2015 to 2099。entity year isport ( clky: in std_logic。use 。 年模塊library ieee。qtm5=qm。qtm3=conv_std_logic_vector(qm,4)。qtm1=qm。 end if。039。 elsif qm12 then qm=qm+1。 clk4=39。139。elsif(clkm39。139。architecture yue of month issignal qm:integer range 1 to 12。 clk4: out std_logic) 。 qtm4: out std_logic_vector(8 downto 0)。 qtm2: out integer range 1 to 12。 setm: in std_logic。use 。use 。end ri。 qtd4=qd。 qtd2=qd。 end if。 end if。 clk2=39。139。 elsif ((monthin=4) or (monthin=6) or (monthin=9) or (monthin=11)) then非閏年中月30天 if(qd=30) then qd=1。039。 elsif qd28 then qd=qd+1。 clk2=39。 end if。 clk2=39。139。 elsif ((monthin=1) or (monthin=3) or (monthin=5) or (monthin=7) or (monthin=8) or (monthin=10) or (monthin=12)) then 非閏年大月份31天 if(qd=31) then qd=1。 end if。 clk2=39。139。 elsif ((monthin=4) or (monthin=6) or (monthin=9) or (monthin=11)) then if(qd=30) then 當(dāng)前為中月30天 qd=1。039。 elsif qd29 then qd=qd+1。 clk2=39。 end if。 clk2=39。139。) then if ( yearin rem 4 =0) then 當(dāng)前為閏年 if ((monthin=1) or (monthin=3) or (monthin=5) or (monthin=7) or (monthin=8) or (monthin=10) or (monthin=12)) then當(dāng)前為大月31天 if(qd=31) then qd=1。event and clkd=39。 then qd=6。begin process(clkd,setd,yearin,monthin) begin if setd=39。 end day。 qtd4: out integer range 1 to 31。 qtd2: out integer range 1 to 31。 作為判斷閏年信號(hào),定義最大年份到2099年 monthin:in integer range 1 to 12。 setd: in std_logic。use 。use 。end shi。qth2=qh。qth1=qh。end if。 then hx=12。process(alarmh)beginif alarmh=39。 end if。039。 elsif qh23 then qh=qh+1。clk3=39。139。elsif(clkh39。139。architecture shi of hour issignal qh:integer range 0 to 23。鬧鈴對(duì)比 hy: out integer range 0 to 23) 。輸出當(dāng)前小時(shí)時(shí)間 clk3: out std_logic 。輸出當(dāng)前小時(shí)時(shí)間 qth2: out integer range 0 to 23 。小時(shí)調(diào)制時(shí)間信號(hào) alarmh: in std_logic。entity hour isport ( clkh: in std_logic。use 。end fen。qtmn2=qmn。qtmn1=qmn。end if。 then mnx=33。process(alarmmn)beginif alarmmn=39。 end if。039。 elsif qmn59 then qmn=qmn+1。 clk2=39。139。 elsif(clkmn39。139。architecture fen of minute issignal qmn:integer range 0 to 59。 mny: out integer range 0 to 59) 。 clk2: out std_logic。 qtmn2: out integer range 0 to 59。 alarmmn: in std_logic。entity minute isport ( clkmn: in std_logic。use 。end miao。qts1=qs。 end if。039。 輸出分模塊時(shí)鐘信號(hào) elsif qs59 then qs=qs+1。 clk1=39。139。elsif(clks39。139。architecture miao of second issignal qs:integer range 0 to 59。輸出時(shí)間 clk1: out std_logic)。 qts1: out integer range 0 to 59。entity second isport ( clks: in std_logic。use 。 END behav。 END IF。CQI:=0。 ELSE COUT=39。139。CQI := CQI + 1。 THEN IF CQI 25000000 THEN COUT=39。EVENT AND CLKFP=39。ARCHITECTURE behav OF Fp50 IS BEGINPROCESS(CLKFP) VARIABLE CQI : INTEGER RANGE 0 TO 49999999:=0。 COUT : OUT STD_LOGIC )。USE 。27 參考文獻(xiàn) 參考文獻(xiàn)[1] 姜立東. VHDL語(yǔ)言設(shè)計(jì)及其應(yīng)用[M]. 北京:北京郵電大學(xué)出版社,2001[2] 徐恵民,安德寧. 數(shù)字邏輯設(shè)計(jì)與VHDL描述[M]. 北京:機(jī)械工業(yè)出版社,2008[3] 王振紅. FPGA電子系統(tǒng)設(shè)計(jì)項(xiàng)目實(shí)戰(zhàn)(VHDL語(yǔ)言)[M]. 北京:清華大學(xué)出版社,2014[4]] 陳忠平,袁碧勝,龔亮. 基于VHDL的FPGA數(shù)字系統(tǒng)一樣實(shí)踐[M]. 北京:電子工業(yè)出版社,2014[5] 江國(guó)強(qiáng). EDA技術(shù)應(yīng)用[M]. 北京:電子工業(yè)出版社,2014[6] 江國(guó)強(qiáng). EDA技術(shù)習(xí)題與實(shí)驗(yàn)[M]. 北京: 電子工業(yè)出版社,2014[7] 潘松,黃繼業(yè). EDA技術(shù)應(yīng)用教程. 北京: 科學(xué)出版社,2004[8] 潘松,潘明. 現(xiàn)代計(jì)算機(jī)組成原理. 北京: 科學(xué)出版社,2007[9] 徐志軍,徐光輝. CPLD/FPGA的開(kāi)發(fā)與應(yīng)用. 北京