P
Pierre
I found that an alias could not not be used to shorten an external
names in VHDL 2008.
Instead I have to use a signal instead.See the small example below.
Any better idea ?
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
ENTITY inv IS
PORT (
i : IN std_logic;
zn : BUFFER std_logic
);
END ENTITY inv;
ARCHITECTURE rtl OF inv IS
SIGNAL zb : std_logic;
BEGIN
zb <= NOT i;
zn <= NOT i;
END ARCHITECTURE rtl;
--
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
ENTITY hinv IS
PORT (
i : IN std_logic;
zn : BUFFER std_logic
);
END ENTITY hinv;
ARCHITECTURE str OF hinv IS
COMPONENT inv IS
PORT (
i : IN std_logic;
zn : BUFFER std_logic
);
END COMPONENT inv;
alias xx is <<signal .u1.zb: std_logic>>;
BEGIN
u1: inv
PORT MAP (
i => i,
zn => zn
);
END ARCHITECTURE str;
--
ARCHITECTURE str1 OF hinv IS
COMPONENT inv IS
PORT (
i : IN std_logic;
zn : BUFFER std_logic
);
END COMPONENT inv;
SIGNAL xx : std_logic;
BEGIN
xx <= <<signal .u1.zb: std_logic>>;
u1: inv
PORT MAP (
i => i,
zn => zn
);
END ARCHITECTURE str1;
names in VHDL 2008.
Instead I have to use a signal instead.See the small example below.
Any better idea ?
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
ENTITY inv IS
PORT (
i : IN std_logic;
zn : BUFFER std_logic
);
END ENTITY inv;
ARCHITECTURE rtl OF inv IS
SIGNAL zb : std_logic;
BEGIN
zb <= NOT i;
zn <= NOT i;
END ARCHITECTURE rtl;
--
LIBRARY ieee;
USE ieee.std_logic_1164.ALL;
ENTITY hinv IS
PORT (
i : IN std_logic;
zn : BUFFER std_logic
);
END ENTITY hinv;
ARCHITECTURE str OF hinv IS
COMPONENT inv IS
PORT (
i : IN std_logic;
zn : BUFFER std_logic
);
END COMPONENT inv;
alias xx is <<signal .u1.zb: std_logic>>;
BEGIN
u1: inv
PORT MAP (
i => i,
zn => zn
);
END ARCHITECTURE str;
--
ARCHITECTURE str1 OF hinv IS
COMPONENT inv IS
PORT (
i : IN std_logic;
zn : BUFFER std_logic
);
END COMPONENT inv;
SIGNAL xx : std_logic;
BEGIN
xx <= <<signal .u1.zb: std_logic>>;
u1: inv
PORT MAP (
i => i,
zn => zn
);
END ARCHITECTURE str1;