[an error occurred while processing this directive]
|
Делал компоненту в ней шина
entity comp1 is
port (
signal D : inout unsigned(3 downto 0)
);
end entity comp1;
Сейчас выяснил что toplevel в котрый буду вставлять называет эту шину: D3, D2, D1, D0. Они тоже inout.
Нам обоим переименовывать свои шины лень. Поэтому пытаюсь просто вставить
comp1_u: entity work.comp1
port map (
D => (D3, D2, D1, D0)
);
Моделятор ессно ругается
# ** Warning: toplevel.vhd(133): Actual expression in port association 1 is not static.
# ** Error: toplevel.vhd(133): The actual for parameter 'd' must denote a static signal name.
Т.е. я должен бы определить некую шину DD и написать
...
signal DD : unsigned(3 downto 0);
...
port map (
D => DD
);
Но как присваивать эту DD?
Если бы и D(3 downto 0) и D3,D2,D1,D0 были бы только in, записал бы:
DD <= (D3, D2, D1, D0);
или
DD <= D3 & D2 & D1 & D0;
Если бы они были только out:
D3 <= DD(3); D2 <= DD(2); D1 <= DD(1); D0 <= DD(0);
А что делать с inout незнаю.
E-mail: info@telesys.ru