Evgenij 0 23 января Опубликовано 23 января · Жалоба Подскажите как обозначаются порты питания в VHDL. В Verilog это V port. Ниже примерный кусок кода. Как обозначить порт XLXI_153 XLXI_152 : GND port map (G=>XLXN_278); XLXI_153 : VCC port map (power=>XLXN_279); Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Beby 8 23 января Опубликовано 23 января · Жалоба 2 hours ago, Evgenij said: Подскажите как обозначаются порты питания в VHDL. В Verilog это V port. Честно, не понимаю, что вы хотите (и судя по тишине - не один я такой). 1. Если необходимо signal'у XLXN_278 типа std_logic назначить значение '0', то так и пишем: XLXN_278 <= '0'; XLXN_279 <= '1'; 2. Если требуется что-то иное, то так и спрашивайте: "как лучше сделать то-то ?" (описывайте задачу целиком, а не задавайте вопрос вырванный из середины решения: если решение неверное - люди просто не поймут чего вы хотели и, соответственно, не помогут). 3. В конструкции port map настоятельно рекомендую указывать тип того, что вы хотите использовать component или entity: Xil_inst: component PULLUP port map ( O => qwerty ); My_Inst: entity My_XYI port map ( O => asdf ); Соответственно для component'а должно быть описание его портов (например в библиотеке), для PULLUP это будет библиотека UNISIM: Library UNISIM; use UNISIM.vcomponents.all; А используемая entity должна быть синтезирована до того, как вы её используете (т.е. правильно задать compilation order ваших исходников), и тогда можно сослаться на рабочую библиотеку: Library work; use work.all; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 16 23 января Опубликовано 23 января · Жалоба 1 hour ago, Beby said: В конструкции port map настоятельно рекомендую указывать тип того, что вы хотите использовать component или entity: Зачем? Что это даёт? Или меется в виду direct instantiation? Никогда не встречал использлвание слова component в этом контексте. 1 hour ago, Beby said: Library work; use work.all; Это бессмысленно. По умолчанию всё и так ищется в work. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Beby 8 23 января Опубликовано 23 января · Жалоба 2 hours ago, andrew_b said: Зачем? Что это даёт? Или меется в виду direct instantiation? Никогда не встречал использлвание слова component в этом контексте. Да, direct instantiation. При отсутствие слова entity считается, что применён component, соответственно - требуется описание портов оного компонента. Если это библиотечный компонент - то всё естественно: подключаем библиотеку - там описание портов. Тело компонентов может отсутствовать на уровне синтеза (BlackBox). Для нами описанных модулей - entity (скомпилированных в библиотеку work) можно при direct instantiation указывать 'entity', тогда никаких дополнительных описаний не требуется: порты подключаемого entity мы уже описывали (когда это entity объявляли) - требуется только чтобы он был скомпилирован ранее, чем применяется. В своё время подсмотрел это в обучаловках в Aldec AHDL 5.x (и спецификации VHDL'93), лет с 20 назад. 2 hours ago, andrew_b said: Это бессмысленно. По умолчанию всё и так ищется в work. Обычно да. У сред от Xilinx, Altera всё в полном порядке. А вот ModelSim 5.x - 6.x может попить крови. Кстати тоже подсмотрел, но у Xilinx (где-то в ISE 7.1 c MXE - ModelSim Xilinx Edition) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yes 7 23 января Опубликовано 23 января · Жалоба 7 hours ago, Evgenij said: XLXI_152 : GND port map (G=>XLXN_278); XLXI_153 : VCC port map (power=>XLXN_279); это похоже из какого-то нетлиста выдрано. там не любят обычно '0' или '1', а специальные ячейки к которым прицепляются цепи с 0 и 1 соответственно. насколько я понимаю, эта запись означает, что есть два библиотечных элемента с именами GND и VCC. один такой элемент установлен в "схему" под именем XLXI_153, и обеспечивает 1 (или power) в цепи XLNX_279 ну и хочу поинтересоваться, что значит "В Verilog это V port." Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Evgenij 0 24 января Опубликовано 24 января · Жалоба В VERILOG порт питания обозначается V ,что приведено на примере . VCC XLXI_167 (.V(XLXN_369)); VCC XLXI_1670 (.V(XLXN_3690)); GND XLXI_174 (.G(XLXN_413)); GND XLXI_500 (.G(XLXN_500)); VCC XLXI_181 (.V(XLXN_385)); VCC XLXI_182 (.V(XLXN_386)); VCC XLXI_183 (.V(XLXN_388)); VCC XLXI_184 (.V(XLXN_389)); VCC XLXI_187 (.V(XLXN_397)); VCC XLXI_189 (.V(XLXN_400)); VCC XLXI_190 (.V(XLXN_401)); VCC XLXI_191 (.V(XLXN_406)); В VHDL не ясно каким знаком обозначается порт питания ERROR (EX4916) : Formal vcc is not declared("C:\Users\e.svirin\Documents\fpga_project_1V7MI850 VHDL UST\src\TOP.vhd":6630) ERROR (EX4916) : Formal vcc is not declared("C:\Users\e.svirin\Documents\fpga_project_1V7MI850 VHDL UST\src\TOP.vhd":6679) ERROR (EX4916) : Formal vcc is not declared("C:\Users\e.svirin\Documents\fpga_project_1V7MI850 VHDL UST\src\TOP.vhd":6803) ERROR (EX4916) : Formal vcc is not declared("C:\Users\e.svirin\Documents\fpga_project_1V7MI850 VHDL UST\src\TOP.vhd":6816) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flood 13 24 января Опубликовано 24 января · Жалоба По аналогии можно предположить, что в port map для VCC будет V без точки перед ним. ПС. Вопрос не имеет отношения ни к VHDL, ни к ПЛИСам, ни к Verilog. 1 hour ago, Evgenij said: В VERILOG порт питания обозначается V ,что приведено на примере Это у вас в примере он так обозначен, язык Verilog этого не требует. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Evgenij 0 24 января Опубликовано 24 января · Жалоба ЗАМЕНА в port map VCC на V не всегда помогает ПРИМЕР: ERROR (EX4916) : Formal v is not declared("C:\Users\e.svirin\Documents\fpga_project_1V7MI850 VHDL UST\src\TOP.vhd":11083) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flood 13 24 января Опубликовано 24 января · Жалоба 27 minutes ago, Evgenij said: ЗАМЕНА в port map VCC на V не всегда помогает ПРИМЕР: ERROR (EX4916) : Formal v is not declared("C:\Users\e.svirin\Documents\fpga_project_1V7MI850 VHDL UST\src\TOP.vhd":11083) Какую вообще задачу вы пытаетесь решить? Переписать синтезированный нетлист с верилога на VHDL? 🙂 Вы показываете абсолютно бесполезные примеры. Не видя ваших исходников невозможно сказать, что у вас там происходит в 11083 строке. Повторюсь, к свойствам языка этот вопрос отношения не имеет. Фактически, вы спрашиваете: "что в моих исходниках не так?". Как обычно в этих случаях говорят, телепаты в отпуске и силой мысли проникнуть в ваши задачи возможности нет. Спросите у лучше тех, кто задал вам эту задачку и находится в контексте происходящего. 1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MrGalaxy 9 24 января Опубликовано 24 января · Жалоба Мозги закипают...😵💫 Питание ПЛИС подаётся на определённые пины, которые не переназначаются. 🙄 Для каких целей такая задача? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrewkrot 0 24 января Опубликовано 24 января · Жалоба Возможно для расчета потребляемой мощности Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yes 7 24 января Опубликовано 24 января · Жалоба 10 hours ago, Evgenij said: В VHDL не ясно каким знаком обозначается порт питания ERROR (EX4916) : Formal vcc is not declared("C:\Users\e.svirin\Documents\fpga_project_1V7MI850 VHDL UST\src\TOP.vhd":6630) ну вроде бы в вашем примере написано power , то есть вот так и обозначается/называется или это нерабочий пример, просто чтоб проиллюстрировать вопрос? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться