All output ports of a component should be mapped. Unused ports can be mapped with the open keyword.
architecture a of e is
signal sa : std_logic;
signal sb : std_logic;
signal sx : std_logic;
signal sy : std_logic;
component comp
port(
a : in bit;
b : in bit;
x : out bit;
y : out bit
);
end component;
begin
g: comp port map (a => sa, b => sb, x => sx); -- Noncompliant: "y" is not mapped
end;
architecture a of e is
signal sa : std_logic;
signal sb : std_logic;
signal sx : std_logic;
signal sy : std_logic;
component comp
port(
a : in bit;
b : in bit;
x : out bit;
y : out bit
);
end component;
begin
g: comp port map (a => sa, b => sb, x => sx, y => sy); -- Compliant: "a", "b", "x" and "y" are mapped
end;
architecture a of e is
signal sa : std_logic;
signal sb : std_logic;
signal sx : std_logic;
signal sy : std_logic;
component comp
port(
a : in bit;
b : in bit;
x : out bit;
y : out bit
);
end component;
begin
g: comp port map (a => sa, b => sb, x => sx, y => open); -- Compliant: "open" is used
end;