Aya2002
Advanced Member level 4
Dear Friends,
Kindly, I just started with VHDL, I need to display the numbers in the 7 segment display, I do not know how to solve this problem, I have an integer input and I need to display it. Always I face this message of error: (Error (10515): VHDL type mismatch error at ssd.vhd(18): bit type does not match string literal). would somebody help me please?
Thank you
LIBRARY ieee;
USE ieee.std_logic_1164.all;
entity ssd is
port (da0, da1 : IN STD_LOGIC;
clk, reset : IN STD_LOGIC;
a0, b0, c0, d0, e0, f0, g0 : OUT bit;
a1, b1, c1, d1, e1, f1, g1 : OUT bit);
end ssd;
ARCHITECTURE dis OF ssd IS
BEGIN
PROCESS(clk, reset)
VARIABLE da0: INTEGER RANGE 0 TO 10;
VARIABLE da1: INTEGER RANGE 0 TO 10;
BEGIN
-- ---- --------
CASE da0 IS
WHEN 0 => a0 <= "0";
b0 <= "0";
c0 <= "0";
d0 <= "0";
e0 <= "0";
f0 <= "0";
g0 <= "1";
WHEN 1 => a0 <= "1";
b0 <= "0";
c0 <= "0";
d0 <= "1";
e0 <= "1";
f0 <= "1";
g0 <= "1";
WHEN 2 => a0 <= "0";
b0 <= "0";
c0 <= "1";
d0 <= "0";
e0 <= "0";
f0 <= "1";
g0 <= "0";
WHEN 3 => a0 <= "0";
b0 <= "0";
c0 <= "0";
d0 <= "0";
e0 <= "1";
f0 <= "1";
g0 <= "0";
WHEN 4 => a0 <= "1";
b0 <= "0";
c0 <= "0";
d0 <= "1";
e0 <= "1";
f0 <= "0";
g0 <= "0";
WHEN 5 => a0 <= "0";
b0 <= "1";
c0 <= "0";
d0 <= "0";
e0 <= "1";
f0 <= "0";
g0 <= "0";
WHEN 6 => a0 <= "0";
b0 <= "1";
c0 <= "0";
d0 <= "0";
e0 <= "0";
f0 <= "0";
g0 <= "0";
WHEN 7 => a0 <= "0";
b0 <= "0";
c0 <= "0";
d0 <= "1";
e0 <= "1";
f0 <= "1";
g0 <= "1";
WHEN 8 => a0 <= "0";
b0 <= "0";
c0 <= "0";
d0 <= "0";
e0 <= "0";
f0 <= "0";
g0 <= "0";
WHEN 9 => a0 <= "0";
b0 <= "0";
c0 <= "0";
d0 <= "0";
e0 <= "1";
f0 <= "0";
g0 <= "0";
WHEN OTHERS => a0 <= "0";
b0 <= "1";
c0 <= "0";
d0 <= "0";
e0 <= "0";
f0 <= "0";
g0 <= "0";
CASE da1 IS
WHEN 0 => a1 <= "0";
b1 <= "0";
c1 <= "0";
d1 <= "0";
e1 <= "0";
f1 <= "0";
g1 <= "1";
WHEN 1 => a1 <= "1";
b1 <= "0";
c1 <= "0";
d1 <= "1";
e1 <= "1";
f1 <= "1";
g1 <= "1";
WHEN 2 => a1 <= "0";
b1 <= "0";
c1 <= "1";
d1 <= "0";
e1 <= "0";
f1 <= "1";
g1 <= "0";
WHEN 3 => a1 <= "0";
b1 <= "0";
c1 <= "0";
d1 <= "0";
e1 <= "1";
f1 <= "1";
g1 <= "0";
WHEN 4 => a1 <= "1";
b1 <= "0";
c1 <= "0";
d1 <= "1";
e1 <= "1";
f1 <= "0";
g1 <= "0";
WHEN 5 => a1 <= "0";
b1 <= "1";
c1 <= "0";
d1 <= "0";
e1 <= "1";
f1 <= "0";
g1 <= "0";
WHEN 6 => a1 <= "0";
b1 <= "1";
c1 <= "0";
d1 <= "0";
e1 <= "0";
f1 <= "0";
g1 <= "0";
WHEN 7 => a1 <= "0";
b1 <= "0";
c1 <= "0";
d1 <= "1";
e1 <= "1";
f1 <= "1";
g1 <= "1";
WHEN 8 => a1 <= "0";
b1 <= "0";
c1 <= "0";
d1 <= "0";
e1 <= "0";
f1 <= "0";
g1 <= "0";
WHEN 9 => a1 <= "0";
b1 <= "0";
c1 <= "0";
d1 <= "0";
e1 <= "1";
f1 <= "0";
g1 <= "0";
WHEN OTHERS => a1 <= "0";
b1 <= "1";
c1 <= "0";
d1 <= "0";
e1 <= "0";
f1 <= "0";
g1 <= "0";
END CASE;
end process;
end dis;
Kindly, I just started with VHDL, I need to display the numbers in the 7 segment display, I do not know how to solve this problem, I have an integer input and I need to display it. Always I face this message of error: (Error (10515): VHDL type mismatch error at ssd.vhd(18): bit type does not match string literal). would somebody help me please?
Thank you
LIBRARY ieee;
USE ieee.std_logic_1164.all;
entity ssd is
port (da0, da1 : IN STD_LOGIC;
clk, reset : IN STD_LOGIC;
a0, b0, c0, d0, e0, f0, g0 : OUT bit;
a1, b1, c1, d1, e1, f1, g1 : OUT bit);
end ssd;
ARCHITECTURE dis OF ssd IS
BEGIN
PROCESS(clk, reset)
VARIABLE da0: INTEGER RANGE 0 TO 10;
VARIABLE da1: INTEGER RANGE 0 TO 10;
BEGIN
-- ---- --------
CASE da0 IS
WHEN 0 => a0 <= "0";
b0 <= "0";
c0 <= "0";
d0 <= "0";
e0 <= "0";
f0 <= "0";
g0 <= "1";
WHEN 1 => a0 <= "1";
b0 <= "0";
c0 <= "0";
d0 <= "1";
e0 <= "1";
f0 <= "1";
g0 <= "1";
WHEN 2 => a0 <= "0";
b0 <= "0";
c0 <= "1";
d0 <= "0";
e0 <= "0";
f0 <= "1";
g0 <= "0";
WHEN 3 => a0 <= "0";
b0 <= "0";
c0 <= "0";
d0 <= "0";
e0 <= "1";
f0 <= "1";
g0 <= "0";
WHEN 4 => a0 <= "1";
b0 <= "0";
c0 <= "0";
d0 <= "1";
e0 <= "1";
f0 <= "0";
g0 <= "0";
WHEN 5 => a0 <= "0";
b0 <= "1";
c0 <= "0";
d0 <= "0";
e0 <= "1";
f0 <= "0";
g0 <= "0";
WHEN 6 => a0 <= "0";
b0 <= "1";
c0 <= "0";
d0 <= "0";
e0 <= "0";
f0 <= "0";
g0 <= "0";
WHEN 7 => a0 <= "0";
b0 <= "0";
c0 <= "0";
d0 <= "1";
e0 <= "1";
f0 <= "1";
g0 <= "1";
WHEN 8 => a0 <= "0";
b0 <= "0";
c0 <= "0";
d0 <= "0";
e0 <= "0";
f0 <= "0";
g0 <= "0";
WHEN 9 => a0 <= "0";
b0 <= "0";
c0 <= "0";
d0 <= "0";
e0 <= "1";
f0 <= "0";
g0 <= "0";
WHEN OTHERS => a0 <= "0";
b0 <= "1";
c0 <= "0";
d0 <= "0";
e0 <= "0";
f0 <= "0";
g0 <= "0";
CASE da1 IS
WHEN 0 => a1 <= "0";
b1 <= "0";
c1 <= "0";
d1 <= "0";
e1 <= "0";
f1 <= "0";
g1 <= "1";
WHEN 1 => a1 <= "1";
b1 <= "0";
c1 <= "0";
d1 <= "1";
e1 <= "1";
f1 <= "1";
g1 <= "1";
WHEN 2 => a1 <= "0";
b1 <= "0";
c1 <= "1";
d1 <= "0";
e1 <= "0";
f1 <= "1";
g1 <= "0";
WHEN 3 => a1 <= "0";
b1 <= "0";
c1 <= "0";
d1 <= "0";
e1 <= "1";
f1 <= "1";
g1 <= "0";
WHEN 4 => a1 <= "1";
b1 <= "0";
c1 <= "0";
d1 <= "1";
e1 <= "1";
f1 <= "0";
g1 <= "0";
WHEN 5 => a1 <= "0";
b1 <= "1";
c1 <= "0";
d1 <= "0";
e1 <= "1";
f1 <= "0";
g1 <= "0";
WHEN 6 => a1 <= "0";
b1 <= "1";
c1 <= "0";
d1 <= "0";
e1 <= "0";
f1 <= "0";
g1 <= "0";
WHEN 7 => a1 <= "0";
b1 <= "0";
c1 <= "0";
d1 <= "1";
e1 <= "1";
f1 <= "1";
g1 <= "1";
WHEN 8 => a1 <= "0";
b1 <= "0";
c1 <= "0";
d1 <= "0";
e1 <= "0";
f1 <= "0";
g1 <= "0";
WHEN 9 => a1 <= "0";
b1 <= "0";
c1 <= "0";
d1 <= "0";
e1 <= "1";
f1 <= "0";
g1 <= "0";
WHEN OTHERS => a1 <= "0";
b1 <= "1";
c1 <= "0";
d1 <= "0";
e1 <= "0";
f1 <= "0";
g1 <= "0";
END CASE;
end process;
end dis;