please help! unknown sintax errors with my code?

B

bob

what is wrong with my code that I get these errors when I check
sintax?

ERROR:HDLParsers:164 -
C:/projects/XilinxISEProjects/WL02Coolrunner/BCD_27SEGM.vhd Line 25.
parse error, unexpected LT, expecting OPENPAR or TICK or LSQBRACK
ERROR:HDLParsers:164 -
C:/projects/XilinxISEProjects/WL02Coolrunner/BCD_27SEGM.vhd Line 26.
parse error, unexpected LT, expecting OPENPAR or TICK or LSQBRACK
.....ect....


library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity BCD_27SEGM is
port (
PHASE: in STD_LOGIC; --LCD USES PHASE TO PREVENT BURNING
BCD: in std_logic_vector(3 downto 0);
segment: out std_logic_vector(6 downto 0)
);
end BCD_27SEGM;

architecture Behavioral of BCD_27SEGM is
begin
process (BCD,PHASE)
begin
if (PHASE = '0') then
case BCD is -- display segment order a b c d e f g
when "0000" => segment < = "1111110";
when "0001" => segment < = "0110000";
when "0010" => segment < = "1101101";
when "0011" => segment < = "1111001";
when "0100" => segment < = "0110011";
when "0101" => segment < = "1011011";
when "0110" => segment < = "1011111";
when "0111" => segment < = "1110000";
when "1000" => segment < = "1111111";
when "1001" => segment < = "1110011";
when others => segment < = "0000000";
end case;
elsif (PHASE = '1') then
case BCD is -- display segment order a b c d e f g
when "0000" => segment < = "0111111";
when "0001" => segment < = "1001111";
when "0010" => segment < = "0010010";
when "0011" => segment < = "0000110";
when "0100" => segment < = "1001100";
when "0101" => segment < = "0100100";
when "0110" => segment < = "0100000";
when "0111" => segment < = "0001111";
when "1000" => segment < = "0000000";
when "1001" => segment < = "0001100";
when others => segment < = "1111111";
end case;
end if;
end process;
end Behavioral;
 
G

Gietek

process (BCD,PHASE)
begin
if (PHASE = '0') then
case BCD is -- display segment order a b c d e f g (...)
end case;
elsif (PHASE = '1') then <----------------- ?
case BCD is -- display segment order a b c d e f g (...)
end case;
end if;
end process;


Well, I'm not so good in VHDL but... isn't it supposed to be else instead of
elsif ?
Any help is good :)
 
B

bob

tried that variation but still get the same problem
even when I simplify it by commenting out the phase and if than
statments
 
T

Tim Hubberstey

bob said:
what is wrong with my code that I get these errors when I check
sintax?
when "0000" => segment < = "1111110";
-------------------------------------------^
One too many spaces. Use <= not < =.
 
M

Mike Treseler

bob said:
what is wrong with my code that I get these errors when I check
sintax?

try this:

library IEEE;
use IEEE.STD_LOGIC_1164.all;

entity BCD_27SEGM is
port (
PHASE : in std_logic; --LCD USES PHASE TO PREVENT BURNING
BCD : in std_logic_vector(3 downto 0);
segment : out std_logic_vector(6 downto 0)
);
end BCD_27SEGM;

architecture Behavioral of BCD_27SEGM is
begin
process (BCD, PHASE)
begin
if (PHASE = '0') then
case BCD is -- display segment order a b c d e f g
when "0000" => segment <= "1111110";
when "0001" => segment <= "0110000";
when "0010" => segment <= "1101101";
when "0011" => segment <= "1111001";
when "0100" => segment <= "0110011";
when "0101" => segment <= "1011011";
when "0110" => segment <= "1011111";
when "0111" => segment <= "1110000";
when "1000" => segment <= "1111111";
when "1001" => segment <= "1110011";
when others => segment <= "0000000";
end case;
elsif (PHASE = '1') then
case BCD is -- display segment order a b c d e f g
when "0000" => segment <= "0111111";
when "0001" => segment <= "1001111";
when "0010" => segment <= "0010010";
when "0011" => segment <= "0000110";
when "0100" => segment <= "1001100";
when "0101" => segment <= "0100100";
when "0110" => segment <= "0100000";
when "0111" => segment <= "0001111";
when "1000" => segment <= "0000000";
when "1001" => segment <= "0001100";
when others => segment <= "1111111";
end case;
end if;
end process;
end Behavioral;


-- Mike Treseler
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,743
Messages
2,569,478
Members
44,898
Latest member
BlairH7607

Latest Threads

Top