【正文】
s。sel=11111101。sel=11111011。sel=11110111。sel=11101111。sel=11011111。sel=10111111。sel=01111111。 end if。 ) then if temp=7 then temp=000。event and clk=39。 begin process(clk) variable num:std_logic_vector(3 downto 0)。signal seg:std_logic_vector(7 downto 0)。end dongtaism2。 selout:out std_logic_vector(7 downto 0)。 ml:in std_logic_vector(3 downto 0)。 fl:in std_logic_vector(3 downto 0)。 speaktimeh,speaktimel,sl:in std_logic_vector(3 downto 0)。use 。(2)動(dòng)態(tài)掃描模塊library ieee。 ELSE 0。 Q_SBO=QSBI WHEN K2=39。139。 ELSE QM_ARM_B。 Q_MBO=QMBI WHEN K2=39。139。 ELSE QH_ARM_B。 Q_HBO=QHBI WHEN K2=39。139。END NOR_ARM_CTL。Q_HBO: OUT INTEGER RANGE 0 TO 9。QM_ARM_B: IN INTEGER RANGE 0 TO 9。QH_ARM_A,QM_ARM_A: IN INTEGER RANGE 0 TO 9。QSBI,QMBI:IN INTEGER RANGE 0 TO 9。ENTITY NOR_ARM_CTL ISPORT( k2: IN STD_LOGIC。(1)時(shí)間切換模塊LIBRARY ieee。 END PROCESS 。 END IF。Q_20S=39。 END IF。Q_20S=39。139。 THEN IF tmp=speaktime THEN tmp:=tmp+1。 THEN IF QY=39。event AND CLK=39。ARCHITECTURE a OF s20 ISBEGIN PROCESS(CLK) VARIABLE tmp: INTEGER RANGE 0 TO 64。 q_20s: out STD_LOGIC)。ENTITY s20 ISPORT( QY,CLK: IN STD_LOGIC。(2)蜂鳴器發(fā)聲模塊LIBRARY ieee。 END PROCESS 。 END IF 。 ELSe Q_tmpma:=0。139。 ELSIF up_key39。039。ARCHITECTURE a OF ctrl_s IS begin PROCESS(reset,up_key) variable Q_tmpma: INTEGER RANGE 0 TO 15。 k1高電平為調(diào)時(shí),低電平為調(diào)分 speaktime: out INTEGER RANGE 0 TO 15)。 USE 。 END a。 END IF。039。139。139。139。139。139。139。139。139。139。139。139。139。139。139。139。139。139。139。139。139。139。139。139。 END CASE。 WHEN OTHERS= Q_Y=39。 WHEN 0001010100010000 = Q_Y=39。WHEN 0010001000000000 = Q_Y=39。 WHEN 0001010000100101 = Q_Y=39。WHEN 0010000100000000 = Q_Y=39。 WHEN 0001010000010101 = Q_Y=39。WHEN 0010000000010101 = Q_Y=39。 WHEN 0001001100110000 = Q_Y=39。WHEN 0010000000000101 = Q_Y=39。 WHEN 0001001000000000 = Q_Y=39。WHEN 0001100100100000 = Q_Y=39。 WHEN 0001000100010101 = Q_Y=39。WHEN 0001100100010101 = Q_Y=39。 WHEN 0001000100000101 = Q_Y=39。WHEN 0001100000110000 = Q_Y=39。 WHEN 0001000000100000 = Q_Y=39。WHEN 0001011100000000 = Q_Y=39。 WHEN 0001000000010000 = Q_Y=39。WHEN 0001011000010101 = Q_Y=39。 WHEN 0000100100100101 = Q_Y=39。WHEN 0001011000000101 = Q_Y=39。 WHEN 0000100100010101 = Q_Y=39。WHEN 0001010100100000 = Q_Y=39。 THEN CASE QTIME IS WHEN 0000100000110000 = Q_Y=39。PROCESS(QTIME) BEGIN IF K3=39。 Q_MB amp。 BEGIN QTIME=Q_HB amp。END COMP_TIME。 Q_MB: IN STD_LOGIC_VECTOR(3 DOWNTO 0)。 Q_HA,Q_MA: IN STD_LOGIC_VECTOR(3 DOWNTO 0)。 USE 。END a。 WHEN (QH_A=HARM_A) AND (QM_A=MARM_A) AND (QH_B=HARM_B) AND (QM_B=MARM_B) ELSE 39。 Y=39。ARCHITECTURE a OF BIJIAOQI IS SIGNAL Y: STD_LOGIC。SPEAK: OUT STD_LOGIC)。HARM_B: IN INTEGER RANGE 0 TO 9。QM_B:IN INTEGER RANGE 0 TO 9。 QH_A,QM_A:IN INTEGER RANGE 0 TO 9。 USE 。END a。 Q_minuea=Q_tmpma。 Q_houra=Q_tmpha。 END IF 。 END IF。 Q_tmpmb:=Q_tmpmb+1。 Q_tmpma:=0 。 END IF。 Q_tmphb:=Q_tmphb+1。 Q_tmpha:=0 。139。139。 ELSIF up_key39。Q_tmpha:= 0。 THEN Q_tmpma:= 0。BEGIN IF reset=39。 VARIABLE Q_tmpha: INTEGER RANGE 0 TO 9。ARCHITECTURE a OF ctrl_memo IS BEGIN PROCESS(reset,k1,up_key) VARIABLE Q_tmpma: INTEGER RANGE 0 TO 9。 Q_minuea:OUT INTEGER RANGE 0 TO 9)?!皶r(shí)”高位 Q_houra : OUT INTEGER RANGE 0 TO 9。ENTITY ctrl_memo ISPORT( reset,k1,up_key: IN STD_LOGIC。(1)定時(shí)模塊LIBRARY ieee。 end process。 else c=a。039。end mux2to1。 a,b: in std_logic。use 。use 。end bhv。end if。end if。else sh=0000。else sl=0000。else sl=sl+1。) thenif(sh=0010and sl=0011)thensh=0000。event and clk=39。sl=0000。039。end sh24。sh:buffer std_logic_vector(3 downto 0)。entity sh24 isport(clk:in std_logic。use 。end MIN。min0=t0。end if。end if。039。elset1:=0000。elset0:=0000。t0:=1001。 thenif t1=0101 and t0=1000 thenco=39。 thenif clr=39。event and clk=39。architecture MIN of MINUTE isbeginprocess(clk,clr)variable t1,t0:std_logic_vector(3 downto 0)。 min1,min0:out std_logic_vector(3 downto 0) )。entity MINUTE isport(clk,clr:in std_logic。use 。end SEC。sqmsl=t0。end if。end if。co=39。if t10101 thent1:=t1+1。elsif t01001 thent0:=t0+1。139。139。elsif cp39。 thent1:=0000。beginif clr=39。end SECOND。 sqmsl,sqmsh:out std_logic_vector(3 downto 0)。use 。(1)秒計(jì)數(shù)模塊library ieee。end process。) thenq=d。event and clk=39。end entity Dcfq。entity Dcfq isport(d,clk:in std_logic。library ieee。 end process。 end if。then if cqi=250 then cqi=1。event and clk=39。039。039。139。Architecture art of t250 issignal cqi : integer range 1 to co:out std_logic)。use 。 end architecture art。 end if。 else cqi=cqi+1。139。 process (clk) is beginif clk39。else 39。 when cqi=50e3 and clk=39。beginco=39。end entity。entity t50e is port( clk :in std_logic。(4)library ieee。 end process。 end if。then if cqi=200 then cqi=1。event and clk=39。039。039。139。Architecture art of t200 issignal cqi : integer range 1 to 200。 co:out std_logic)。use 。 end architecture art。 end if。 else cqi=cqi+1。139。 process (clk) is beginif clk39。else 39。 when cqi=5 and clk=39。beginco=39。end entity。entity t5 is port( clk :in std_logic。(2)library ieee。 end process。 end if。then if cqi=25000 then cqi=1。event and clk=39。039。039。139。Architecture art of fenpin25k issignal cqi : integer range 1 to 25000。 co:out std_logic)。use 。另外,在本設(shè)計(jì)的基礎(chǔ)上還可以進(jìn)行一系列的創(chuàng)新,比如增加音樂