Hello!

Trying to analyze the attached code I get:

$ ghdl -a error.vhdl
error.vhdl:16:17: choice must be locally static expression
ghdl: compilation error

Here the choice is B and this is a constant! even when B is derived from
another constant it doesn't mean it can change at all.
What exactly means "locally static expression"? B looks locally static
to me, but I don't know what exactly means for GHDL.

Regards, SET

-- 
_______________________________________________________________
Ing. Salvador Eduardo Tropea          http://utic.inti.gov.ar/
INTI-Electrónica e Informática        Tel: (+54 11) 4724 6315
Colectora de Av. General Paz 5445     San Martín - B1650KNA
Casilla de Correo 157                 FAX: (+54 11) 4754 5194
Buenos Aires * Argentina              http://www.inti.gov.ar/

library IEEE;
use IEEE.std_logic_1164.all;

entity Bug is
end entity Bug;

architecture Example of Bug is
   constant A : std_logic_vector(7 downto 0):=(others => '0');
   constant B : std_logic_vector(5 downto 0):=A(5 downto 0);
   signal c : std_logic_vector(5 downto 0);
begin
   test:
   process
   begin
      case c is
           when B =>
                null;
      end case;
   end process test;
end architecture Example; -- Entity: Bug
_______________________________________________
Ghdl-discuss mailing list
[email protected]
https://mail.gna.org/listinfo/ghdl-discuss

Reply via email to