T
Tricky
Guest
I was just wondering when global signals became part of VHDL, and
whether they should be synthesisable. Quartus wont synthesise the
following saying:
Error (10808): VHDL error at test_build.vhd(33): unsupported reference
to global signal or variable my_sig
Error (10784): HDL error at test_build.vhd(5): see declaration for
object "my_sig"
ibrary ieee;
use ieee.std_logic_1164.all;
package sig_p is
signal my_sig : std_logic;
end package sig_p;
library IEEE;
use IEEE.STD_LOGIC_1164.all;
use ieee.numeric_std.all;
use work.sig_p.all;
entity test_build is
port(
clk : in std_logic;
a : in std_logic;
b : out std_logic
);
end test_build;
architecture BEHAVIOR of test_build is
signal r : std_logic;
begin
process(clk)
begin
if rising_edge(clk) then
r <= a;
my_sig <= r;
b <= my_sig;
end if;
end process;
end BEHAVIOR;
whether they should be synthesisable. Quartus wont synthesise the
following saying:
Error (10808): VHDL error at test_build.vhd(33): unsupported reference
to global signal or variable my_sig
Error (10784): HDL error at test_build.vhd(5): see declaration for
object "my_sig"
ibrary ieee;
use ieee.std_logic_1164.all;
package sig_p is
signal my_sig : std_logic;
end package sig_p;
library IEEE;
use IEEE.STD_LOGIC_1164.all;
use ieee.numeric_std.all;
use work.sig_p.all;
entity test_build is
port(
clk : in std_logic;
a : in std_logic;
b : out std_logic
);
end test_build;
architecture BEHAVIOR of test_build is
signal r : std_logic;
begin
process(clk)
begin
if rising_edge(clk) then
r <= a;
my_sig <= r;
b <= my_sig;
end if;
end process;
end BEHAVIOR;