【文章內(nèi)容簡介】
ELSIF(rst=39。039。)THEN tem1=0000。 tem2=0000。 ELSIF(clk39。event AND clk=39。139。)THEN IF tem1=1001 THEN tem1=0000。 IF tem2=0101 THEN tem2=0000。 co=39。139。 ELSE tem2=tem2+1。 co=39。039。 END IF。 ELSE tem1=tem1+1。 END IF。 END IF。 qout1=tem1。 qout2=tem2。 END PROCESS。 END behav。 其仿真波形圖如下: 陳文河 0858210103 南京理工大學(xué) 2020 – 03 – 06 5 封裝圖為: clkrs tenqo ut 1[ 3. .0]qo ut 2[ 3. .0]cosec on dinst 2. 計(jì)分模塊: 本質(zhì)上是跟計(jì)秒模塊一樣,也是模 60 的計(jì)數(shù)器,具有計(jì)數(shù)、保持、清零功能。程序代碼如下: LIBRARY IEEE。 USE 。 USE 。 USE 。 ENTITY minute IS PORT( clk: IN STD_LOGIC。 rst: IN STD_LOGIC。 en: IN STD_LOGIC。 qout1: OUT STD_LOGIC_VECTOR(3 DOWNTO 0)。 qout2: OUT STD_LOGIC_VECTOR(3 DOWNTO 0)。 co: OUT STD_LOGIC)。 END minute。 ARCHITECTURE behav OF minute IS SIGNAL tem1: STD_LOGIC_VECTOR(3 DOWNTO 0)。 SIGNAL tem2: STD_LOGIC_VECTOR(3 DOWNTO 0)。 BEGIN PROCESS(clk,rst) BEGIN IF (en=39。139。)THEN tem1=tem1。 tem2=tem2。 ELSIF(rst=39。039。)THEN tem1=0000。 tem2=0000。 陳文河 0858210103 南京理工大學(xué) 2020 – 03 – 06 6 ELSIF(clk39。event AND clk=39。139。)THEN IF tem1=1001 THEN tem1=0000。 IF tem2=0101 THEN tem2=0000。 co=39。139。 ELSE tem2=tem2+1。 co=39。039。 END IF。 ELSE tem1=tem1+1。 END IF。 END IF。 qout1=tem1。 qout2=tem2。 END PROCESS。 END behav。 仿真波形圖如下: 封裝圖為: clkrs tenqo ut 1[ 3. .0]qo ut 2[ 3. .0]com inut einst 3. 計(jì)時(shí)模塊: 是一個(gè)模 24 的計(jì)數(shù)器, VHDL 的程序代碼如下: LIBRARY IEEE。 USE 。 USE 。 USE 。 ENTITY hour IS PORT( clk: IN STD_LOGIC。 rst: IN STD_LOGIC。 en: IN STD_LOGIC。 陳文河 0858210103 南京理工大學(xué) 2020 – 03 – 06 7 qout1: OUT STD_LOGIC_VECTOR(3 DOWNTO 0)。 qout2: OUT STD_LOGIC_VECTOR(3 DOWNTO 0)。 co: OUT STD_LOGIC)。 END hour。 ARCHITECTURE behav OF hour IS SIGNAL tem1: STD_LOGIC_VECTOR(3 DOWNTO 0)。 SIGNAL tem2: STD_LOGIC_VECTOR(3 DOWNTO 0)。 BEGIN PROCESS(clk,rst) BEGIN IF (en=39。139。)THEN tem1=tem1。 tem2=tem2。 ELSIF(rst=39。039。)THEN tem1=0000。 tem2=0000。 ELSIF(clk39。event AND clk=39。139。)THEN IF (tem2=0010 AND tem1=0011) THEN tem1=0000。 tem2=0000。 co=39。139。 ELSE co=39。039。 IF(tem1=1001)THEN tem1=0000。 tem2=tem2+1。 ELSE tem1=tem1+1。 END IF。 END IF。 END IF。 qout1=tem1。 qout2=tem2。 END PROCESS。 END behav。 仿真波形圖如下: 封裝圖為: 陳文河 0858210103 南京理工大學(xué) 2020 – 03 – 06 8 clkrs tenqo ut 1[ 3. .0]qo ut 2[ 3. .0]cohourinst 4. 校準(zhǔn)模塊: 在正常情況下 ,分的輸入時(shí)鐘 clk 信號(hào)是由秒的進(jìn)位輸出給的,而時(shí)的輸入時(shí)鐘 clk信號(hào)由分進(jìn)位輸出信號(hào)給的。當(dāng)要進(jìn)行校準(zhǔn)時(shí)可以直接將 2Hz的時(shí)鐘信號(hào)(從分頻器直接分出來)送到分或時(shí)的輸入時(shí)鐘 clk端上,這樣就可以快速的進(jìn)行對(duì)電子鐘的分或時(shí)校準(zhǔn)。因此采用 VHDL 語言實(shí)現(xiàn),程序代碼如下: (1) 校時(shí): LIBRARY IEEE。 USE 。 USE 。 USE 。 ENTITY jiaoshi IS PORT( clk: IN STD_LOGIC。 clk_2H: IN STD_LOGIC。 key: IN STD_LOGIC。 en: OUT STD_LOGIC。 co: OUT STD_LOGIC )。 END jiaoshi。 ARCHITECTURE behav OF jiaoshi IS SIGNAL tem: STD_LOGIC。 SIGNAL x: STD_LOGIC。 BEGIN PROCESS(key) BEGIN IF(key=39。039。) THEN x=39。039。 tem=clk。 ELSE x=39。139。 tem=clk_2H。 END IF。 co=tem。 en=x。 END PROCESS。 END behav。 其封裝圖為: 陳文河 0858210103 南京理工大學(xué) 2020 – 03 – 06 9 clkclk_2Hkeyencojiaoshiinst1 (2) 校分: LIBRARY IEEE。 USE 。 USE 。 USE 。 ENTITY jiaofen IS PORT( clk: IN STD_LOGIC。 clk_2H: IN STD_LOGIC。 key: IN STD_LOGIC。 co: OUT STD_LOGIC )。 END jiaofen。 ARCHITECTURE behav OF jiaofen IS SIGNAL tem: STD_LOGI