跪求大神幫忙。出租車顯示計費,公里數,還有時間。一直找不到報錯原因。LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_UNSIGNED.ALL;
USE IEEE.STD_LOGIC_ARITH.ALL;
ENTITY lucheng IS
PORT( CLK: IN STD_LOGIC;
k0, k1, k2, k3: IN STD_LOGIC_VECTOR(3 DOWNTO 0);
k4, k5, k6, k7: IN STD_LOGIC_VECTOR(3 DOWNTO 0);
k8,k9: IN STD_LOGIC_VECTOR(3 DOWNTO 0);
s1,s2,s3: IN STD_LOGIC;
WEI: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
LED: OUT STD_LOGIC_VECTOR(7 DOWNTO 0)
);
END ENTITY;
ARCHITECTURE behave OF lucheng IS
SIGNAL CNT4 : INTEGER RANGE 0 TO 3 :=0;
SIGNAL SHUJU: STD_LOGIC_VECTOR(3 DOWNTO 0);
--SIGNAL S: STD_LOGIC_VECTOR(2 DOWNTO 0);
--S<= (s1 & s2 & s3);
BEGIN
PRO1: PROCESS(CLK ,s1,s2,s3)
BEGIN
--S<= (s1 & s2 & s3);
IF((s1 & s2 & s3) = "011") then
IF (CLK'EVENT AND CLK = '1') THEN
CNT4 <= CNT4 + 1;
CASE CNT4 IS
WHEN 0 => WEI <= "0001"; SHUJU <= k4;
WHEN 1 => WEI <= "0010"; SHUJU <= k5;
WHEN 2 => WEI <= "0100"; SHUJU <= k6;
WHEN 3 => WEI <= "1000"; SHUJU <= k7;
WHEN OTHERS => NULL;
END CASE;
END IF;
ELSIF (s1 & s2 & s3="101") then
IF (CLK'EVENT AND CLK = '1') THEN
CNT4 <= CNT4 + 1;
CASE CNT4 IS
WHEN 0 => WEI <= "0001"; SHUJU <= k0;
WHEN 1 => WEI <= "0010"; SHUJU <= k1;
WHEN 2 => WEI <= "0100"; SHUJU <= k2;
WHEN 3 => WEI <= "1000"; SHUJU <= k3;
WHEN OTHERS => NULL;
END CASE;
END IF;
ELSIF (s1 & s2 & s3="110") THEN
IF (CLK'EVENT AND CLK = '1') THEN
CNT4 <= (CNT4 + 1);
CASE CNT4 IS
WHEN 0 => WEI <= "0001"; SHUJU <= k0;
WHEN 1 => WEI <= "0010"; SHUJU <= k1;
WHEN 2 => WEI <= "0100"; SHUJU <= k2;
WHEN 3 => WEI <= "1000"; SHUJU <= k3;
WHEN OTHERS => NULL;
END CASE;
END IF;
END IF;
END PROCESS;
PRO2: PROCESS(SHUJU)
BEGIN
CASE SHUJU IS
WHEN "0000" => LED<= "01111110" ; --- 0
WHEN "0001" => LED<= "00110000" ; --- 1
WHEN "0010" => LED<= "01101101" ; --- 2
WHEN "0011" => LED<= "01111001" ; --- 3
WHEN "0100" => LED<= "00110011" ; --- 4
WHEN "0101" => LED<= "01011011" ; --- 5
WHEN "0110" => LED<= "01011111" ; --- 6
WHEN "0111" => LED<= "01110000" ; --- 7
WHEN "1000" => LED<= "01111111" ; --- 8
WHEN "1001" => LED<= "01111011" ; --- 9
WHEN others=> LED<= "00000000" ;
END CASE;
END PROCESS;
END behave;
|