【正文】
when 0101 =DOUT7=0010010。8 when 1001 =DOUT7=0010000。 END ARCHITECTURE ART。use 。 C1:in std_logic_vector(6 downto 0)。 JSXS2:in std_logic_vector(6 downto 0)。architecture rtl of seg issignal clk_fresh : std_logic。139。 elsif t20000 then clk_fresh=39。039。process(clk_fresh)位選信號(hào)(掃描時(shí)間1MS)variable t : std_logic_vector(2 downto 0)。) then t:=t+1。 seg=A1。 seg=C1。 seg=JSXS1。 seg=0000000。end rtl。 CLK: IN STD_LOGIC。 END ENTITY QDJB。 CONSTANT W4: STD_LOGIC_VECTOR:=0100。 A1=39。C1=39。 ELSIF CLK39。039。139。139。039。 ELSIF (A=39。AND C=39。) THEN A1=39。 C1=39。 STATES=W2。139。139。039。039。AND B=39。AND D=39。 B1=39。 D1=39。039。039。 END IF。 (5)定時(shí)模塊的VHDL程序: LIBRARY IEEE。 TA,TB: IN STD_LOGIC。 ARCHITECTURE ART OF JSQ IS SIGNAL DA: STD_LOGIC_VECTOR(3 DOWNTO 0)。 BEGIN process(clk) begin if(clk39。 if tempcounter2500000 then clock=39。 else tempcounter=0。 end if。039。event and clock=39。 THEN IF DA=1001 THEN DA=0000。 END IF。 THEN IF DB=1001 THEN DB=0000。 END IF。 VARIABLE TMPB: STD_LOGIC_VECTOR(3 DOWNTO 0)。 TMPB:=0000。 THEN IF LDN=39。 ELSIF EN=39。 ELSE TMPB:=TMPB1。 END IF。 END PROCESS。 USE 。 CHOS: IN STD_LOGIC_VECTOR(3 DOWNTO 0)。 ARCHITECTURE ART OF JFQ IS BEGIN PROCESS(RST,ADD,CHOS,clk) IS VARIABLE POINTS_A1: STD_LOGIC_VECTOR(3 DOWNTO 0)。 VARIABLE t:integer range 0 to 2500000。) THEN IF RST=39。 POINTS_C1:=0000。 then t:=t+1。139。139。139。139。 END IF。 BB1=POINTS_B1。 END ARCHITECTURE ART。 DD1=POINTS_D1。 END IF。 else t:=0。 ELSIF CHOS=0100 THEN IF POINTS_D1=1001 THEN POINTS_D1:=0000。 ELSIF CHOS=0011 THEN IF POINTS_C1=1001 THEN POINTS_C1:=0000。 ELSIF CHOS=0010 THEN IF POINTS_B1=1001 THEN POINTS_B1:=0000。 IF CHOS=0001 THEN IF POINTS_A1=1001 THEN POINTS_A1:=0000。 ELSIF ADD=39。 THEN POINTS_A1:=0000。EVENT AND clk=39。 VARIABLE POINTS_C1: STD_LOGIC_VECTOR(3 DOWNTO 0)。 CC1,DD1: OUT STD_LOGIC_VECTOR(3 DOWNTO 0))。 ADD: IN STD_LOGIC。 (6)倒計(jì)時(shí)計(jì)數(shù)模塊JFQ的VHDL程序: LIBRARY IEEE。 QA=TMPA。 ELSE TMPA:=TMPA1。 THEN IF TMPA=0000 THEN TMPA:=1001。 THEN TMPA:=DA。EVENT AND clock=39。039。 END PROCESS。139。 IF TB=39。139。 then IF TA=39。 DB=0000。 end process。139。 elsif tempcounter5000000 then clock=39。139。 signal tempcounter: integer range 0 to 5000000。 QB: OUT STD_LOGIC_VECTOR(3 DOWNTO 0))。 USE 。 END PROCESS。039。039。 STATES=W4。 C1=39。) THEN A1=39。AND C=39。 ELSIF (A=39。139。039。039。139。 D1=39。 B1=39。AND D=39。AND B=39。039。039。139。139。139。D1=39。B1=39。039。 CONSTANT W2: STD_LOGIC_VECTOR:=0010。 A1,B1,C1,D1: OUT STD_LOGIC。 USE 。 end if。 seg=JSXS2。 seg=D1。 seg=B1。 seg=ZBXS。event and clk_fresh=39。 end if。 else t:=0。 if t10000 then clk_fresh=39。定時(shí)1MSbegin if clk39。 輸出7位seg數(shù)據(jù); segcs : out std_logic_vector(7 downto 0))。 ZBXS:in std_logic_vector(6 downto 0)。 A1:in std_logic_vector(6 downto 0)。use 。 END CASE。6 when 0111 =DOUT7=1111000。2 when 0011 =DOUT7=0110000。 END YMQ。