Я снова и снова запускал WebPack на своей машине и, синтезировав простой дизайн и загрузив его в свою FPGA, столкнулся с довольно сложной проблемой.Как файлы User Constraint действительно работают?
Когда есть строка, как это в файле пользователя ограничения:
NET "W1A<0>" LOC = "P18" ;
Как именно программное обеспечение синтеза определяют, как этот вывод получает присваивается кодом VHDL?
Например, возьмем этот пример кода я был предоставлен:
entity Webpack_Quickstart is
Port (
W1A : out STD_LOGIC_VECTOR(15 downto 0);
rx : in STD_LOGIC;
tx : inout STD_LOGIC;
clk : in STD_LOGIC
);
end Webpack_Quickstart;
architecture Behavioral of Webpack_Quickstart is
signal counter : STD_LOGIC_VECTOR(47 downto 0) := (others => '0');
begin
W1A(0) <= '1';
end;
Как именно этот код делает WIA0
контактный на моем FPGA включить? Какая ссылка? Это просто имя порта в объявлении сущности, есть ли еще магия?
Да, это в значительной степени просто: вы указываете логический сигнал в VHDL и физическое местоположение, к которому должен подключиться этот логический сигнал, а логика места и маршрута обеспечивает их подключение. –