C
Christopher Head
Guest
Hi folks,
I seem to have convinced ISE to output incorrect multiple-driver error
messages. I've reduced the example to the following:
-- test.vhd
library ieee;
use ieee.std_logic_1164.all;
entity Test is
port(
Clock : in std_ulogic;
Foo : out std_ulogic;
Bar : out std_ulogic);
end entity Test;
architecture Arch of Test is
begin
Foo <= '1';
Bar <= '1';
process(Clock) is
variable Temp : std_ulogic := '0';
begin
if rising_edge(Clock) then
Temp := not Temp;
end if;
Bar <= Temp;
end process;
end architecture Arch;
-- test.prj
vhdl work test.vhd
-- test.xst
run
-ifn test.prj
-ofn test.ngc
-p xc6slx9-tqg144-2
-top test
-opt_level 1
-opt_mode speed
-arch arch
$ xst -ifn test.xst
Release 13.4 - xst O.87xd (lin64)
[snip]
Elaborating entity <Test> (architecture <Arch> from library <work>.
ERROR:HDLCompiler:1401 - "/tmp/vhdl/test.vhd" Line 16: Signal Foo in
unit Test is connected to following multiple drivers:
ERROR:HDLCompiler:1379 - "/tmp/vhdl/test.vhd" Line 13: Driver 0: output
signal of instance Power ERROR:HDLCompiler:1379 - "/tmp/vhdl/test.vhd"
Line 16: Driver 1: output signal Temp of instance Flip-Flop
but clearly the signal with multiple drivers is Bar, not Foo!
Thoughts on this?
Chris
I seem to have convinced ISE to output incorrect multiple-driver error
messages. I've reduced the example to the following:
-- test.vhd
library ieee;
use ieee.std_logic_1164.all;
entity Test is
port(
Clock : in std_ulogic;
Foo : out std_ulogic;
Bar : out std_ulogic);
end entity Test;
architecture Arch of Test is
begin
Foo <= '1';
Bar <= '1';
process(Clock) is
variable Temp : std_ulogic := '0';
begin
if rising_edge(Clock) then
Temp := not Temp;
end if;
Bar <= Temp;
end process;
end architecture Arch;
-- test.prj
vhdl work test.vhd
-- test.xst
run
-ifn test.prj
-ofn test.ngc
-p xc6slx9-tqg144-2
-top test
-opt_level 1
-opt_mode speed
-arch arch
$ xst -ifn test.xst
Release 13.4 - xst O.87xd (lin64)
[snip]
Elaborating entity <Test> (architecture <Arch> from library <work>.
ERROR:HDLCompiler:1401 - "/tmp/vhdl/test.vhd" Line 16: Signal Foo in
unit Test is connected to following multiple drivers:
ERROR:HDLCompiler:1379 - "/tmp/vhdl/test.vhd" Line 13: Driver 0: output
signal of instance Power ERROR:HDLCompiler:1379 - "/tmp/vhdl/test.vhd"
Line 16: Driver 1: output signal Temp of instance Flip-Flop
but clearly the signal with multiple drivers is Bar, not Foo!
Thoughts on this?
Chris