Don't have a Xilinx account yet?

  • Choose to receive important news and product information
  • Gain access to special content
  • Personalize your web experience on Xilinx.com

Create Account

Username

Password

Forgot your password?
XClose Panel
Xilinx Home
Reply
Visitor
slamjam82
Posts: 5
Registered: ‎05-20-2010
0

[xc3s700an-4fgg484 Spartan3] Line 41. parse error, unexpected INTEGER_LITERAL, expecting IDENTIFIER

Hello!

 

I need help!

 

 

 

xc3s700an-4fgg484 Spartan3

 

 

 

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

---- Uncomment the following library declaration if instantiating
---- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;

entity Test is
    Port ( takt : in  STD_LOGIC;
           reset : in  STD_LOGIC;
           bcd_south : in  STD_LOGIC;
           V : out  STD_LOGIC;
           R : out  STD_LOGIC;
           Ag : in  STD_LOGIC;
           Bg : in  STD_LOGIC;
           state : out  STD_LOGIC_VECTOR (2 downto 0); -- Flankenerkennung --
           state1 : out  STD_LOGIC_VECTOR (2 downto 0); -- Flankenerkennung --
              y : out  STD_LOGIC_VECTOR (1 downto 0);
                    01 : out  STD_LOGIC;
                    02 : out  STD_LOGIC;
                    03 : out  STD_LOGIC;
                    04 : out  STD_LOGIC;
                    05 : out  STD_LOGIC;
                    06 : out  STD_LOGIC;
                    07 : out  STD_LOGIC);
                    
                    
        end test;

architecture Behavioral of test is


-- Automatenzustände und interne Signale --

type ZUSTAENDE  is (A,B,C,D,E,F);
type ZUSTAENDE1 is (A1,B1,C1,D1,E1,F1);
type ZUSTAENDE2 is (A2,B2,C2);

signal ZUSTAND, FOLGEZUSTAND: ZUSTAENDE;
signal ZUSTAND1, FOLGEZUSTAND1: ZUSTAENDE1;
signal ZUSTAND2, FOLGEZUSTAND2: ZUSTAENDE2;
signal Af : STD_LOGIC;
signal Bf : STD_LOGIC;
signal ci : STD_LOGIC;
signal co : STD_LOGIC;
signal V_int : STD_LOGIC;
signal R_int : STD_LOGIC;
signal y_int : STD_LOGIC_VECTOR (2 downto 0) := "000";
signal LED : STD_LOGIC_VECTOR (6 downto 0);


begin


COUNTER: process (takt, reset)

    begin
        if reset = '1' then y_int <= "000";
        elsif takt = '1' and takt'event then
            if V_int = '1' then y_int <= y_int +1;
            else                y_int <= y_int -1;
        
            end if;
        end if;
    end process COUNTER;
    

ZUSTANDSAKTUALISIERUNG: process (takt,reset)

    begin
        if reset = '1' then ZUSTAND <= A;
        elsif takt = '1' and takt'event then ZUSTAND <= FOLGEZUSTAND;
        end if;
        end process ZUSTANDSAKTUALISIERUNG;
        
        
FOLGEZUSTANDSBERECHNUNG: process (Ag,Af,ci,co,ZUSTAND)

    begin
        case ZUSTAND is
                        when A => if Ag = '1' then FOLGEZUSTAND <= B;
                                                     else FOLGEZUSTAND <= A;
                                end if;
                                            Af <= '0';
                                            ci <= '0';
                        when B => if co = '1' then FOLGEZUSTAND <= C;
                                                     else FOLGEZUSTAND <= B;
                                end if;
                                            Af <= '0';
                                            ci <= '1';
                        when C => FOLGEZUSTAND <= D;
                                                
                                            Af <= '0';
                                            ci <= '0';
                        when D => if Ag = '0' then FOLGEZUSTAND <= E;
                                                     else FOLGEZUSTAND <= D;
                                end if;
                                            Af <= '0';
                                            ci <= '0';
                        when E => if co = '1' then FOLGEZUSTAND <= F;
                                                     else FOLGEZUSTAND <= E;
                                end if;
                                            Af <= '0';
                                            ci <= '1';
                        when F => FOLGEZUSTAND <= A;

                                            Af <= '0';
                                            ci <= '1';
                        
      end case;
    end process FOLGEZUSTANDSBERECHNUNG;
    
    
ZUSTANDSAUSGABE: process (ZUSTAND)
    
    begin
        case ZUSTAND is
                        when A => state <= "000";
                        when B => state <= "001";
                        when C => state <= "010";
                        when D => state <= "100";
                        when E => state <= "101";
                        when F => state <= "110";
        end case;
    end process ZUSTANDSAUSGABE;
    

ZUSTANDSAKTUALISIERUNG1: process (takt,reset)
    
    begin
        if reset = '1' then ZUSTAND1 <= A1;
            elsif takt = '1' and takt'event then ZUSTAND1 <= FOLGEZUSTAND1;
        end if;
    end process ZUSTANDSAKTUALISIERUNG1;
    
    
FOLGEZUSTANDSBERECHNUNG1: process (Bg,Bf,ci,co,ZUSTAND1)
    
    begin
        case ZUSTAND1 is
                        when A1 => if Bg = '1' then FOLGEZUSTAND1 <= B1;
                            else FOLGEZUSTAND1 <= A1;
                                end if;
                                            Bf <= '0';
                                            ci <= '0';
                        when B1 => if co = '1' then FOLGEZUSTAND1 <= C1;
                            else FOLGEZUSTAND1 <= B1;
                                end if;
                                            Bf <= '0';
                                            ci <= '1';
                        when C1 => FOLGEZUSTAND1 <= D1;
                                            
                                            Bf <= '1';
                                            ci <= '1';
                        when D1 => if Bg = '0' then FOLGEZUSTAND1 <= E1;
                            else FOLGEZUSTAND1 <= D1;
                                end if;
                                            Bf <= '0';
                                            ci <= '0';
                        when E1 => if co = '1' then FOLGEZUSTAND1 <= F1;
                            else FOLGEZUSTAND1 <= E1;
                                end if;
                                            Bf <= '0';
                                            ci <= '1';
                        when F1 => FOLGEZUSTAND1 <= A1;
                        
                                            Bf <= '0';
                                            ci <= '1';
                                            
        end case;
    end process FOLGEZUSTANDSBERECHNUNG1;
    
    
ZUSTANDSAUSGABE1: process (ZUSTAND1)
    
    begin
        case ZUSTAND1 is
                        when A1 => state1 <= "000";
                        when B1 => state1 <= "001";
                        when C1 => state1 <= "010";
                        when D1 => state1 <= "011";
                        when E1 => state1 <= "101";
                        when F1 => state1 <= "110";
        end case;
    end process ZUSTANDSAUSGABE1;
    
    
ZUSTANDSAKTUALISIERUNG2: process (takt, reset)

    begin
        if reset = '1' then ZUSTAND2 <= A2;
            elsif takt = '1' then takt'event then ZUSTAND2 <= FOLGEZUSTAND2;
        end if;
    end process ZUSTANDSAKTUALISIERUNG2;
    
    
FOLGEZUSTANDSBERECHNUNG2 : process (Af,Bf,Bg,Ag,ZUSTAND2)

    begin
        case ZUSTAND2 is
                        when A2 => if Af = '1' and Bg = '0' then FOLGEZUSTAND2 <= B2;
                                                V <= '1';
                                                R <= '0';
                            
                                  elsif Bf = '1' and Ag = '0' then FOLGEZUSTAND2 <= C2;
                                                V <= '0';
                                                R <= '1';
                                                
                                     else FOLGEZUSTAND2 <= A2;
                                end if;
                        when B2 => FOLGEZUSTAND2 <= A2;
                        when C2 0> FOLGEZUSTAND2 <= A2;
        end case;
    end process FOLGEZUSTANDSBERECHNUNG2;
    
    
ZUSTANDSAUSGABE2: process (ZUSTAND2)

    begin
        case ZUSTAND2 is
                        when A2 => y <= "00";
                        when B2 => y <= "01";
                        when C2 => y <= "10";
        end case;
    end process ZUSTANDSAUSGABE2
    
    
COUNTER_y: process (reset,takt,V_int,y_int)

    begin
        if reset = '1' then y_int <= "000";
            elsif takt = '1' and takt'event then
                         if V_int = '1' then y_int <= y_int +1;
                            else             y_int <= y_int -1;
                            
                         end if;
        end if;
    end process COUNTER_y;


process (bcd_south,y_int,LED)
    begin
        case y_int is
                        when "000" => LED <= "0000000";
                        when "001" => LED <= "0000001";
                        when "010" => if bcd_south = '0' then LED <= "0000010";
                                              else                                 "0000011";
                        when "011" => if bcd_south = '0' then LED <= "0000100";
                                              else                                 "0000111";
                        when "100" => if bcd_south = '0' then LED <= "0001000";
                                              else                                 "0001111";
                        when "101" => if bcd_south = '0' then LED <= "0010000";
                                              else                                 "0011111";
                        when "110" => if bcd_south = '0' then LED <= "0100000";
                                              else                                 "0111111";
                        when others => if bcd_south = '0' then LED <= "1000000";
                                              else                                 "1111111";
                        end if;
        end case;
    end process;
    
    
01 <= LED(6);
02 <= LED(5);
03 <= LED(4);
04 <= LED(3);
05 <= LED(2);
06 <= LED(1);
07 <= LED(0);


end Behavioral;

Expert Contributor
bassman59
Posts: 6,063
Registered: ‎02-25-2008
0

Re: [xc3s700an-4fgg484 Spartan3] Line 41. parse error, unexpected INTEGER_LITERAL, expecting IDENTIFIER

So rather than making us guess, which line is line 41?


----------------------------------------------------------------
Yes, I do this for a living.
Visitor
slamjam82
Posts: 5
Registered: ‎05-20-2010
0

Re: [xc3s700an-4fgg484 Spartan3] Line 41. parse error, unexpected INTEGER_LITERAL, expecting IDENTIFIER

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

---- Uncomment the following library declaration if instantiating
---- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;

entity Test is
    Port ( takt : in  STD_LOGIC;
           reset : in  STD_LOGIC;
           bcd_south : in  STD_LOGIC;
           V : out  STD_LOGIC;
           R : out  STD_LOGIC;
           Ag : in  STD_LOGIC;
           Bg : in  STD_LOGIC;
           state : out  STD_LOGIC_VECTOR (2 downto 0); -- Flankenerkennung --
           state1 : out  STD_LOGIC_VECTOR (2 downto 0); -- Flankenerkennung --
              y : out  STD_LOGIC_VECTOR (1 downto 0);
                    01 : out  STD_LOGIC;              parse error, unexpected INTEGER_LITERAL, expecting IDENTIFIER
                    02 : out  STD_LOGIC;
                    03 : out  STD_LOGIC;
                    04 : out  STD_LOGIC;
                    05 : out  STD_LOGIC;
                    06 : out  STD_LOGIC;
                    07 : out  STD_LOGIC);
                    
                    
        end test;

architecture Behavioral of test is


-- Automatenzustände und interne Signale --

type ZUSTAENDE  is (A,B,C,D,E,F);
type ZUSTAENDE1 is (A1,B1,C1,D1,E1,F1);
type ZUSTAENDE2 is (A2,B2,C2);

signal ZUSTAND, FOLGEZUSTAND: ZUSTAENDE;
signal ZUSTAND1, FOLGEZUSTAND1: ZUSTAENDE1;
signal ZUSTAND2, FOLGEZUSTAND2: ZUSTAENDE2;
signal Af : STD_LOGIC;
signal Bf : STD_LOGIC;
signal ci : STD_LOGIC;
signal co : STD_LOGIC;
signal V_int : STD_LOGIC;
signal R_int : STD_LOGIC;
signal y_int : STD_LOGIC_VECTOR (2 downto 0) := "000";
signal LED : STD_LOGIC_VECTOR (6 downto 0);


begin


COUNTER: process (takt, reset)

    begin
        if reset = '1' then y_int <= "000";
        elsif takt = '1' and takt'event then
            if V_int = '1' then y_int <= y_int +1;
            else                y_int <= y_int -1;
        
            end if;
        end if;
    end process COUNTER;
    

ZUSTANDSAKTUALISIERUNG: process (takt,reset)

    begin
        if reset = '1' then ZUSTAND <= A;
        elsif takt = '1' and takt'event then ZUSTAND <= FOLGEZUSTAND;
        end if;
        end process ZUSTANDSAKTUALISIERUNG;
        
        
FOLGEZUSTANDSBERECHNUNG: process (Ag,Af,ci,co,ZUSTAND)

    begin
        case ZUSTAND is
                        when A => if Ag = '1' then FOLGEZUSTAND <= B;
                                                     else FOLGEZUSTAND <= A;
                                end if;
                                            Af <= '0';
                                            ci <= '0';
                        when B => if co = '1' then FOLGEZUSTAND <= C;
                                                     else FOLGEZUSTAND <= B;
                                end if;
                                            Af <= '0';
                                            ci <= '1';
                        when C => FOLGEZUSTAND <= D;
                                                
                                            Af <= '0';
                                            ci <= '0';
                        when D => if Ag = '0' then FOLGEZUSTAND <= E;
                                                     else FOLGEZUSTAND <= D;
                                end if;
                                            Af <= '0';
                                            ci <= '0';
                        when E => if co = '1' then FOLGEZUSTAND <= F;
                                                     else FOLGEZUSTAND <= E;
                                end if;
                                            Af <= '0';
                                            ci <= '1';
                        when F => FOLGEZUSTAND <= A;

                                            Af <= '0';
                                            ci <= '1';
                        
      end case;
    end process FOLGEZUSTANDSBERECHNUNG;
    
    
ZUSTANDSAUSGABE: process (ZUSTAND)
    
    begin
        case ZUSTAND is
                        when A => state <= "000";
                        when B => state <= "001";
                        when C => state <= "010";
                        when D => state <= "100";
                        when E => state <= "101";
                        when F => state <= "110";
        end case;
    end process ZUSTANDSAUSGABE;
    

ZUSTANDSAKTUALISIERUNG1: process (takt,reset)
    
    begin
        if reset = '1' then ZUSTAND1 <= A1;
            elsif takt = '1' and takt'event then ZUSTAND1 <= FOLGEZUSTAND1;
        end if;
    end process ZUSTANDSAKTUALISIERUNG1;
    
    
FOLGEZUSTANDSBERECHNUNG1: process (Bg,Bf,ci,co,ZUSTAND1)
    
    begin
        case ZUSTAND1 is
                        when A1 => if Bg = '1' then FOLGEZUSTAND1 <= B1;
                            else FOLGEZUSTAND1 <= A1;
                                end if;
                                            Bf <= '0';
                                            ci <= '0';
                        when B1 => if co = '1' then FOLGEZUSTAND1 <= C1;
                            else FOLGEZUSTAND1 <= B1;
                                end if;
                                            Bf <= '0';
                                            ci <= '1';
                        when C1 => FOLGEZUSTAND1 <= D1;
                                            
                                            Bf <= '1';
                                            ci <= '1';
                        when D1 => if Bg = '0' then FOLGEZUSTAND1 <= E1;
                            else FOLGEZUSTAND1 <= D1;
                                end if;
                                            Bf <= '0';
                                            ci <= '0';
                        when E1 => if co = '1' then FOLGEZUSTAND1 <= F1;
                            else FOLGEZUSTAND1 <= E1;
                                end if;
                                            Bf <= '0';
                                            ci <= '1';
                        when F1 => FOLGEZUSTAND1 <= A1;
                        
                                            Bf <= '0';
                                            ci <= '1';
                                            
        end case;
    end process FOLGEZUSTANDSBERECHNUNG1;
    
    
ZUSTANDSAUSGABE1: process (ZUSTAND1)
    
    begin
        case ZUSTAND1 is
                        when A1 => state1 <= "000";
                        when B1 => state1 <= "001";
                        when C1 => state1 <= "010";
                        when D1 => state1 <= "011";
                        when E1 => state1 <= "101";
                        when F1 => state1 <= "110";
        end case;
    end process ZUSTANDSAUSGABE1;
    
    
ZUSTANDSAKTUALISIERUNG2: process (takt, reset)

    begin
        if reset = '1' then ZUSTAND2 <= A2;
            elsif takt = '1' then takt'event then ZUSTAND2 <= FOLGEZUSTAND2;
        end if;
    end process ZUSTANDSAKTUALISIERUNG2;
    
    
FOLGEZUSTANDSBERECHNUNG2 : process (Af,Bf,Bg,Ag,ZUSTAND2)

    begin
        case ZUSTAND2 is
                        when A2 => if Af = '1' and Bg = '0' then FOLGEZUSTAND2 <= B2;
                                                V <= '1';
                                                R <= '0';
                            
                                  elsif Bf = '1' and Ag = '0' then FOLGEZUSTAND2 <= C2;
                                                V <= '0';
                                                R <= '1';
                                                
                                     else FOLGEZUSTAND2 <= A2;
                                end if;
                        when B2 => FOLGEZUSTAND2 <= A2;
                        when C2 0> FOLGEZUSTAND2 <= A2;
        end case;
    end process FOLGEZUSTANDSBERECHNUNG2;
    
    
ZUSTANDSAUSGABE2: process (ZUSTAND2)

    begin
        case ZUSTAND2 is
                        when A2 => y <= "00";
                        when B2 => y <= "01";
                        when C2 => y <= "10";
        end case;
    end process ZUSTANDSAUSGABE2
    
    
COUNTER_y: process (reset,takt,V_int,y_int)

    begin
        if reset = '1' then y_int <= "000";
            elsif takt = '1' and takt'event then
                         if V_int = '1' then y_int <= y_int +1;
                            else             y_int <= y_int -1;
                            
                         end if;
        end if;
    end process COUNTER_y;


process (bcd_south,y_int,LED)
    begin
        case y_int is
                        when "000" => LED <= "0000000";
                        when "001" => LED <= "0000001";
                        when "010" => if bcd_south = '0' then LED <= "0000010";
                                              else                                 "0000011";
                        when "011" => if bcd_south = '0' then LED <= "0000100";
                                              else                                 "0000111";
                        when "100" => if bcd_south = '0' then LED <= "0001000";
                                              else                                 "0001111";
                        when "101" => if bcd_south = '0' then LED <= "0010000";
                                              else                                 "0011111";
                        when "110" => if bcd_south = '0' then LED <= "0100000";
                                              else                                 "0111111";
                        when others => if bcd_south = '0' then LED <= "1000000";
                                              else                                 "1111111";
                        end if;
        end case;
    end process;
    
    
01 <= LED(6);
02 <= LED(5);
03 <= LED(4);
04 <= LED(3);
05 <= LED(2);
06 <= LED(1);
07 <= LED(0);


end Behavioral;

Visitor
slamjam82
Posts: 5
Registered: ‎05-20-2010
0

Re: [xc3s700an-4fgg484 Spartan3] Line 41. parse error, unexpected INTEGER_LITERAL, expecting IDENTIFIER

Thank You for reply :)

Expert Contributor
bassman59
Posts: 6,063
Registered: ‎02-25-2008
0

Re: [xc3s700an-4fgg484 Spartan3] Line 41. parse error, unexpected INTEGER_LITERAL, expecting IDENTIFIER

Your signal name starts with a zero, not an oh.

Signal names can't start with a number.

 

And for readability and maintainability reasons, calling a signal O1 is awful. Give it a meaningful name.


----------------------------------------------------------------
Yes, I do this for a living.
Visitor
slamjam82
Posts: 5
Registered: ‎05-20-2010
0

Re: [xc3s700an-4fgg484 Spartan3] Line 41. parse error, unexpected INTEGER_LITERAL, expecting IDENTIFIER

Thank you for helping me!

 

I use ISE Webpack 10.1 and f I change the zero into an oh, i get 20 errors!

 


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

---- Uncomment the following library declaration if instantiating
---- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;

entity Test is
    Port ( takt : in  STD_LOGIC;
           reset : in  STD_LOGIC;
           bcd_south : in  STD_LOGIC;
           V : out  STD_LOGIC;
           R : out  STD_LOGIC;
           Ag : in  STD_LOGIC;
           Bg : in  STD_LOGIC;
           state : out  STD_LOGIC_VECTOR (2 downto 0); -- Flankenerkennung --
           state1 : out  STD_LOGIC_VECTOR (2 downto 0); -- Flankenerkennung --
              y : out  STD_LOGIC_VECTOR (1 downto 0);
                    O1 : out  STD_LOGIC;
                    O2 : out  STD_LOGIC;
                    O3 : out  STD_LOGIC;
                    O4 : out  STD_LOGIC;
                    O5 : out  STD_LOGIC;
                    O6 : out  STD_LOGIC;
                    O7 : out  STD_LOGIC);
                    
                    
        end test;

architecture Behavioral of test is


-- Automatenzustände und interne Signale --

type ZUSTAENDE  is (A,B,C,D,E,F);
type ZUSTAENDE1 is (A1,B1,C1,D1,E1,F1);
type ZUSTAENDE2 is (A2,B2,C2);

signal ZUSTAND, FOLGEZUSTAND: ZUSTAENDE;
signal ZUSTAND1, FOLGEZUSTAND1: ZUSTAENDE1;
signal ZUSTAND2, FOLGEZUSTAND2: ZUSTAENDE2;
signal Af : STD_LOGIC;
signal Bf : STD_LOGIC;
signal ci : STD_LOGIC;
signal co : STD_LOGIC;
signal V_int : STD_LOGIC;
signal R_int : STD_LOGIC;
signal y_int : STD_LOGIC_VECTOR (2 downto 0) := "000";
signal LED : STD_LOGIC_VECTOR (6 downto 0);


begin


COUNTER: process (takt, reset)

    begin
        if reset = '1' then y_int <= "000";
        elsif takt = '1' and takt'event then
            if V_int = '1' then y_int <= y_int +1;
            else                y_int <= y_int -1;
        
            end if;
        end if;
    end process COUNTER;
    

ZUSTANDSAKTUALISIERUNG: process (takt,reset)

    begin
        if reset = '1' then ZUSTAND <= A;
        elsif takt = '1' and takt'event then ZUSTAND <= FOLGEZUSTAND;
        end if;
        end process ZUSTANDSAKTUALISIERUNG;
        
        
FOLGEZUSTANDSBERECHNUNG: process (Ag,Af,ci,co,ZUSTAND)

    begin
        case ZUSTAND is
                        when A => if Ag = '1' then FOLGEZUSTAND <= B;
                                                     else FOLGEZUSTAND <= A;
                                end if;
                                            Af <= '0';
                                            ci <= '0';
                        when B => if co = '1' then FOLGEZUSTAND <= C;
                                                     else FOLGEZUSTAND <= B;
                                end if;
                                            Af <= '0';
                                            ci <= '1';
                        when C => FOLGEZUSTAND <= D;
                                                
                                            Af <= '0';
                                            ci <= '0';
                        when D => if Ag = '0' then FOLGEZUSTAND <= E;
                                                     else FOLGEZUSTAND <= D;
                                end if;
                                            Af <= '0';
                                            ci <= '0';
                        when E => if co = '1' then FOLGEZUSTAND <= F;
                                                     else FOLGEZUSTAND <= E;
                                end if;
                                            Af <= '0';
                                            ci <= '1';
                        when F => FOLGEZUSTAND <= A;

                                            Af <= '0';
                                            ci <= '1';
                        
      end case;
    end process FOLGEZUSTANDSBERECHNUNG;
    
    
ZUSTANDSAUSGABE: process (ZUSTAND)
    
    begin
        case ZUSTAND is
                        when A => state <= "000";
                        when B => state <= "001";
                        when C => state <= "010";
                        when D => state <= "100";
                        when E => state <= "101";
                        when F => state <= "110";
        end case;
    end process ZUSTANDSAUSGABE;
    

ZUSTANDSAKTUALISIERUNG1: process (takt,reset)
    
    begin
        if reset = '1' then ZUSTAND1 <= A1;
            elsif takt = '1' and takt'event then ZUSTAND1 <= FOLGEZUSTAND1;
        end if;
    end process ZUSTANDSAKTUALISIERUNG1;
    
    
FOLGEZUSTANDSBERECHNUNG1: process (Bg,Bf,ci,co,ZUSTAND1)
    
    begin
        case ZUSTAND1 is
                        when A1 => if Bg = '1' then FOLGEZUSTAND1 <= B1;
                            else FOLGEZUSTAND1 <= A1;
                                end if;
                                            Bf <= '0';
                                            ci <= '0';
                        when B1 => if co = '1' then FOLGEZUSTAND1 <= C1;
                            else FOLGEZUSTAND1 <= B1;
                                end if;
                                            Bf <= '0';
                                            ci <= '1';
                        when C1 => FOLGEZUSTAND1 <= D1;
                                            
                                            Bf <= '1';
                                            ci <= '1';
                        when D1 => if Bg = '0' then FOLGEZUSTAND1 <= E1;
                            else FOLGEZUSTAND1 <= D1;
                                end if;
                                            Bf <= '0';
                                            ci <= '0';
                        when E1 => if co = '1' then FOLGEZUSTAND1 <= F1;
                            else FOLGEZUSTAND1 <= E1;
                                end if;
                                            Bf <= '0';
                                            ci <= '1';
                        when F1 => FOLGEZUSTAND1 <= A1;
                        
                                            Bf <= '0';
                                            ci <= '1';
                                            
        end case;
    end process FOLGEZUSTANDSBERECHNUNG1;
    
    
ZUSTANDSAUSGABE1: process (ZUSTAND1)
    
    begin
        case ZUSTAND1 is
                        when A1 => state1 <= "000";
                        when B1 => state1 <= "001";
                        when C1 => state1 <= "010";
                        when D1 => state1 <= "011";
                        when E1 => state1 <= "101";
                        when F1 => state1 <= "110";
        end case;
    end process ZUSTANDSAUSGABE1;
    
    
ZUSTANDSAKTUALISIERUNG2: process (takt, reset)

    begin
        if reset = '1' then ZUSTAND2 <= A2;
            elsif takt = '1' then takt'event then ZUSTAND2 <= FOLGEZUSTAND2;    Line 214
        end if;

    end process ZUSTANDSAKTUALISIERUNG2;
    
    
FOLGEZUSTANDSBERECHNUNG2 : process (Af,Bf,Bg,Ag,ZUSTAND2)

    begin
        case ZUSTAND2 is
                        when A2 => if Af = '1' and Bg = '0' then FOLGEZUSTAND2 <= B2;
                                                V <= '1';
                                                R <= '0';
                            
                                  elsif Bf = '1' and Ag = '0' then FOLGEZUSTAND2 <= C2;
                                                V <= '0';
                                                R <= '1';
                                                
                                     else FOLGEZUSTAND2 <= A2;
                                end if;
                        when B2 => FOLGEZUSTAND2 <= A2;
                        when C2 0> FOLGEZUSTAND2 <= A2;   Line 234
        end case;
    end process FOLGEZUSTANDSBERECHNUNG2;
    
    
ZUSTANDSAUSGABE2: process (ZUSTAND2)

    begin
        case ZUSTAND2 is
                        when A2 => y <= "00";
                        when B2 => y <= "01";
                        when C2 => y <= "10";
        end case;
    end process ZUSTANDSAUSGABE2
    
    
COUNTER_y: process (reset;takt;V_int;y_int)  Line 250

    begin
        if reset = '1' then y_int <= "000";
            elsif takt = '1' and takt'event then
                         if V_int = '1' then y_int <= y_int +1;
                            else             y_int <= y_int -1;
                            
                         end if;
        end if;
    end process COUNTER_y;    Line 260


process (bcd_south,y_int,LED)
    begin
        case y_int is
                        when "000" => LED <= "0000000";
                        when "001" => LED <= "0000001";
                        when "010" => if bcd_south = '0' then LED <= "0000010";    Line 268
                                              else                                 "0000011";                       Line 269
                        when "011" => if bcd_south = '0' then LED <= "0000100";    Line 270
                                              else                                 "0000111";                       Line 271
                        when "100" => if bcd_south = '0' then LED <= "0001000";    Line 272
                                              else                                 "0001111";                       Line 273
                        when "101" => if bcd_south = '0' then LED <= "0010000";   Line 274
                                              else                                 "0011111";                       Line 275
                        when "110" => if bcd_south = '0' then LED <= "0100000";   Line 276
                                              else                                 "0111111";                       Line 277
                        when others => if bcd_south = '0' then LED <= "1000000";   Line 278
                                              else                                 "1111111";                        Line 279
                        end if;
        end case;
    end process;
    
    
01 <= LED(6);      Line 285
02 <= LED(5);
03 <= LED(4);
04 <= LED(3);
05 <= LED(2);
06 <= LED(1);
07 <= LED(0);


end Behavioral;

 

 

ERROR:HDLParsers:164 - "C:/Xilinx/Eigene Dateien/Test1/Test.vhd" Line 214. parse error, unexpected THEN, expecting OPENPAR or TICK or LSQBRACK
ERROR:HDLParsers:164 - "C:/Xilinx/Eigene Dateien/Test1/Test.vhd" Line 234. parse error, unexpected INTEGER_LITERAL, expecting PIPE or ROW
ERROR:HDLParsers:164 - "C:/Xilinx/Eigene Dateien/Test1/Test.vhd" Line 250. parse error, unexpected IDENTIFIER, expecting SEMICOLON
ERROR:HDLParsers:1400 - "C:/Xilinx/Eigene Dateien/Test1/Test.vhd" Line 250. takt is not the name of a procedure.
ERROR:HDLParsers:1400 - "C:/Xilinx/Eigene Dateien/Test1/Test.vhd" Line 250. V_int is not the name of a procedure.
ERROR:HDLParsers:164 - "C:/Xilinx/Eigene Dateien/Test1/Test.vhd" Line 250. parse error, unexpected CLOSEPAR, expecting OPENPAR or TICK or LSQBRACK
ERROR:HDLParsers:3011 - "C:/Xilinx/Eigene Dateien/Test1/Test.vhd" Line 260. End Identifier COUNTER_y does not match declaration, ZUSTANDSAUSGABE2.
ERROR:HDLParsers:3233 - "C:/Xilinx/Eigene Dateien/Test1/Test.vhd" Line 269.  Syntax error: unexpected string literal "0000011".
ERROR:HDLParsers:164 - "C:/Xilinx/Eigene Dateien/Test1/Test.vhd" Line 270. parse error, unexpected WHEN, expecting END
ERROR:HDLParsers:3233 - "C:/Xilinx/Eigene Dateien/Test1/Test.vhd" Line 271.  Syntax error: unexpected string literal "0000111".
ERROR:HDLParsers:164 - "C:/Xilinx/Eigene Dateien/Test1/Test.vhd" Line 272. parse error, unexpected WHEN, expecting END
ERROR:HDLParsers:3233 - "C:/Xilinx/Eigene Dateien/Test1/Test.vhd" Line 273.  Syntax error: unexpected string literal "0001111".
ERROR:HDLParsers:164 - "C:/Xilinx/Eigene Dateien/Test1/Test.vhd" Line 274. parse error, unexpected WHEN, expecting END
ERROR:HDLParsers:3233 - "C:/Xilinx/Eigene Dateien/Test1/Test.vhd" Line 275.  Syntax error: unexpected string literal "0011111".
ERROR:HDLParsers:164 - "C:/Xilinx/Eigene Dateien/Test1/Test.vhd" Line 276. parse error, unexpected WHEN, expecting END
ERROR:HDLParsers:3233 - "C:/Xilinx/Eigene Dateien/Test1/Test.vhd" Line 277.  Syntax error: unexpected string literal "0111111".
ERROR:HDLParsers:164 - "C:/Xilinx/Eigene Dateien/Test1/Test.vhd" Line 278. parse error, unexpected WHEN, expecting END
ERROR:HDLParsers:3233 - "C:/Xilinx/Eigene Dateien/Test1/Test.vhd" Line 279.  Syntax error: unexpected string literal "1111111".
ERROR:HDLParsers:812 - "C:/Xilinx/Eigene Dateien/Test1/Test.vhd" Line 268. A value is missing in case.
ERROR:HDLParsers:164 - "C:/Xilinx/Eigene Dateien/Test1/Test.vhd" Line 285. parse error, unexpected INTEGER_LITERAL
-->

Total memory usage is 208172 kilobytes

Number of errors   :   20 (   0 filtered)
Number of warnings :    0 (   0 filtered)
Number of infos    :    0 (   0 filtered)


Process "Synthesis" failed

Expert Contributor
bassman59
Posts: 6,063
Registered: ‎02-25-2008
0

Re: [xc3s700an-4fgg484 Spartan3] Line 41. parse error, unexpected INTEGER_LITERAL, expecting IDENTIFIER

You forgot the end ifs that close all of the if statements.


----------------------------------------------------------------
Yes, I do this for a living.
Expert Contributor
eilert
Posts: 2,396
Registered: ‎08-14-2007
0

Re: [xc3s700an-4fgg484 Spartan3] Line 41. parse error, unexpected INTEGER_LITERAL, expecting IDENTIFIER

Moin Moin,

you made many silly typing errors.

e.g

twice used then in a single if clause.

Semicolons missing etc.

 

Carefully read AND understand the eror messages.

Then read the mentioned lines AND a few lines before the marked line. (e.g. to find forgotten semicolons).

You will easily find most of your mistakes.

 

One hint:

Don't put your assignments behind the "then", put them in the next line:

if somecondition then

   thissignal <= '1';

else

   thissignal <= '0';

end if;

 

Have a nice synthesis

  Eilert

 

Visitor
slamjam82
Posts: 5
Registered: ‎05-20-2010
0

Re: [xc3s700an-4fgg484 Spartan3] Line 41. parse error, unexpected INTEGER_LITERAL, expecting IDENTIFIER

Moin Moin!

 

 

Vielen Dank für Ihre Hilfe!

 

Synthesis hat geklappt, war in den letzten Wochen etwas durch den WInd, dass ich diese groben Fehler gemacht habe!

 

Habe jetzt nur noch ein letztes Problem, ich weiß nicht, wie der Befehlstext für Ton-Generatoren lautet!

 

Diesbezüglich wollte ich, dass beim Drücken der Taste south für eine halbe Sekunde ein 1 kHz Ton ertönt!

 

 

Ich wäre Ihnen sehr dankbar, wenn Sie mir ein letztes Mal helfen könnten!

Visitor
subhashis
Posts: 2
Registered: ‎10-10-2012
0

Re: [xc3s700an-4fgg484 Spartan3] Line 41. parse error, unexpected INTEGER_LITERAL, expecting IDENTIFIER

I have written a program for integer to binary converter. But it gives a syntax error. How this error can be removed? The xilinx code is given in the following and the type of error is also given.

 

Please kindly me a solution to eliminate the parse error.

 

library IEEE;

use IEEE.STD_LOGIC_1164.ALL;

---- Uncomment the following library declaration if instantiating ---- any Xilinx primitives in this code. --library UNISIM; --use UNISIM.VComponents.all;

entity I_BCon is    

Port (                  A : in  integer range 0 to 1;                           

                    T : out  STD_LOGIC_VECTOR(1 downto 0));          

  end I_BCon;

architecture Behavioral of I_BCon is

begin

process(A)

begin

if (A:= 1) then T<='01';

else (A:= 0) then T<='00';

end if;

end process;

end Behavioral;

 

The error is

 

HDLParsers:164 - BTI.vhd" Line 42. parse error, unexpected AFFECT, expecting COMMA or CLOSEPAR

 

Thanking you

 

Subhashis Maitra