On Tue, Jan 02, 2007 at 09:52:18AM +0100, Mark van Doesburg wrote:
> Hi,
> 
> It seems that the following construction is not allowed in GHDL.
> 
> ----------------------------------------
> library ieee;
> use ieee.std_logic_1164.all;
> use ieee.numeric_std.all;
> 
> entity test_attribute is
>     port(
>       clk: in std_logic;
>       reset: in std_logic;
> 
>       toggle: out std_logic
>     );
> end;
> 
> architecture first of test_attribute is
> attribute max_fanout: string;
> attribute max_fanout of toggle: signal is "100";
> signal toggle_i: std_logic:='0';
> begin
> 
> process(clk)
> begin
>     if rising_edge(clk) then
>       if reset='1' then
>           toggle<='0';
>           toggle_i<='0';
>       else
>           toggle<=not toggle_i;
>           toggle_i<=not toggle_i;
>       end if;
>     end if;
> end process;
> 
> end;
> ----------------------------------------
> 
> When I try to compile this code, GHDL produces the following message:
> 
> test_attribute.vhd:16:25: no named entities 'toggle' in declarative part
> 
> This construction is required for xst (xilinx) and works fine with
> modelsim.
I really think GHDL is correct.  Attribute specifications may only appear
in the declarative region where the name is declared.  You should put the
attribute specification in the entity.

Tristan.

_______________________________________________
Ghdl-discuss mailing list
[email protected]
https://mail.gna.org/listinfo/ghdl-discuss

Reply via email to