Top-level entity ports are mapped on real component pins. Restrictions should apply to be sure that these VHDL pins map flawlessly to real pins. Thus, only use the following allowed types:
std_logicstd_logic_vectorLow-level entity/component port types are restricted to the following types:
std_logicstd_logic_vectorNote that the list of allowed port types can be customized through parameters.
std_logic,std_logic_vectorstd_logic,std_logic_vector
entity top is
port(
a : in std_logic;
b : out std_logic_vector(0 to 7);
c : out integer -- Noncompliant: 'integer' is not part of the allowed types
);
end;
entity low is
port(
a : in std_logic;
c : out std_logic_vector(0 to 7);
d : out integer; -- Noncompliant: 'integer' is not part of the allowed types
);
end;
component c
port(
a : in std_logic;
c : out std_logic_vector(0 to 7);
d : out integer; -- Noncompliant: 'integer' is not part of the allowed types
);
end component;
std_logic,std_logic_vectorstd_logic,std_logic_vector
entity top is
port(
a : in std_logic;
b : out std_logic_vector(0 to 7)
);
end;
entity low is
port(
a : in std_logic;
c : out std_logic_vector(0 to 7)
);
end;
component c
port(
a : in std_logic;
c : out std_logic_vector(0 to 7);
);
end component;
With custom values of allowed types:
std_logic,std_logic_vectorstd_logic,std_logic_vector,integer
entity top is
port(
a : in std_logic;
b : out std_logic_vector(0 to 7)
);
end;
entity low is
port(
a : in std_logic;
c : out std_logic_vector(0 to 7);
d : out integer
);
end;
component c
port(
a : in std_logic;
c : out std_logic_vector(0 to 7);
d : out integer
);
end component;