NikSave 0 15 февраля, 2018 Опубликовано 15 февраля, 2018 · Жалоба Всем добрый день. К логическому анализатору (находится в топе) подключил сигнал находящийся в вложенном компоненте (точнее там два уровня вложения). Проект откомпилировался, но сигнала в анализаторе нет. Кто-нибудь точно знает поддерживается ли в vivado 2016.4 иерархические имена сигналов? Разумеется файлу поставил поддержку vhdl2008. Заранее спасибо за ответы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flip-fl0p 4 15 февраля, 2018 Опубликовано 15 февраля, 2018 · Жалоба Всем добрый день. К логическому анализатору (находится в топе) подключил сигнал находящийся в вложенном компоненте (точнее там два уровня вложения). Проект откомпилировался, но сигнала в анализаторе нет. Кто-нибудь точно знает поддерживается ли в vivado 2016.4 иерархические имена сигналов? Разумеется файлу поставил поддержку vhdl2008. Заранее спасибо за ответы. А Вашего сигнала в принципе может и не быть. Синтезатор может спокойно взять и "оптимизировать" их. Ну или поменяет полярность сигнала :rolleyes: Самый надежный способ - выводить их на top уровень. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
NikSave 0 16 февраля, 2018 Опубликовано 16 февраля, 2018 · Жалоба А Вашего сигнала в принципе может и не быть. Синтезатор может спокойно взять и "оптимизировать" их. Ну или поменяет полярность сигнала :rolleyes: Самый надежный способ - выводить их на top уровень. Ну, во-первых, сигнал есть - это точно. Выводить их все на топ уровень, конечно, можно но это довольно гемморойно: обявить его в компоненте, объявить в топ-модуле, ну и в port map. И вообще мне одному кажется что vhdl какой-то нахлобученный и избыточный или не только мне?. Вот, например, зачем объявлять компонент в топ модуле? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tausinov 0 16 февраля, 2018 Опубликовано 16 февраля, 2018 (изменено) · Жалоба Ну, во-первых, сигнал есть - это точно. Выводить их все на топ уровень, конечно, можно но это довольно гемморойно: обявить его в компоненте, объявить в топ-модуле, ну и в port map. И вообще мне одному кажется что vhdl какой-то нахлобученный и избыточный или не только мне?. Вот, например, зачем объявлять компонент в топ модуле? Нет, тут много таких. Некоторые сразу и довольно настойчиво начинают агитировать за Verilog. VHDL-2008 позволяет не объявлять. Можно делать так: .... U_1 : entity library_name.entity_name(structure_name) .... Ну и еще некоторые упрощения, свойственные Verilog'у. Полный список можно легко найти в гугле. А так, VHDL несколько более избыточен, но это плата в том числе за то, что основные ошибки обнаруживаются еще на этапе компиляции. В общем полезнее знать оба, а чем уже пользоваться на постоянной основе - решать вам или подстраиваться под требования компании. Изменено 16 февраля, 2018 пользователем Tausinov Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flip-fl0p 4 16 февраля, 2018 Опубликовано 16 февраля, 2018 · Жалоба Ну, во-первых, сигнал есть - это точно. Выводить их все на топ уровень, конечно, можно но это довольно гемморойно: обявить его в компоненте, объявить в топ-модуле, ну и в port map. И вообще мне одному кажется что vhdl какой-то нахлобученный и избыточный или не только мне?. Вот, например, зачем объявлять компонент в топ модуле? А в VHDL компонент давно уже объявлять не надо. Можно написать так: module_name_comp : entity work.module_name port map ( clk => ena => sclr => data_out => ); Более подробно посмотрите тут: http://www.fpga-dev.com/leaner-vhdl-with-e...-instantiation/ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 16 17 февраля, 2018 Опубликовано 17 февраля, 2018 · Жалоба VHDL-2008 позволяет не объявлять.Это позволяет ещё VHDL'93. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
NikSave 0 17 февраля, 2018 Опубликовано 17 февраля, 2018 · Жалоба Нет, тут много таких. Некоторые сразу и довольно настойчиво начинают агитировать за Verilog. VHDL-2008 позволяет не объявлять. Можно делать так: .... U_1 : entity library_name.entity_name(structure_name) .... Ну и еще некоторые упрощения, свойственные Verilog'у. Полный список можно легко найти в гугле. А так, VHDL несколько более избыточен, но это плата в том числе за то, что основные ошибки обнаруживаются еще на этапе компиляции. В общем полезнее знать оба, а чем уже пользоваться на постоянной основе - решать вам или подстраиваться под требования компании. Вот за это реальное спасибо. А то как-то утомляет лишняя писанина. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Lixlex 0 22 февраля, 2018 Опубликовано 22 февраля, 2018 (изменено) · Жалоба Оффтоп: А чем Вас не устроил способ настройки ILA через визард setup debug? Обычно я в отдельной секции кода дублирую исследуемые цепи(для уникальности к имени добавляю какой-нибудь выделяющийся префикс) и помечаю новые цепи директивой mark debug. Таким образом убиваю сразу двух зайцев: 1) Имеем доступ к выходам исследуемых регистров(как известно, если пометить регистр директивой mark debug это нам ничего не даст) 2) После отладки удаляем debug-секцию и получаем чистый код В качестве недостатка способа могу отметить необходимость написания двух строк кода на одну исследуемую цепь(если речь идет о verilog). Изменено 22 февраля, 2018 пользователем Lixlex Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Sulim4n 0 26 февраля, 2018 Опубликовано 26 февраля, 2018 · Жалоба Я обычно помечаю сигнал mark_debug непосредственно в коде через: attribute mark_debug : string; attribute mark_debug of *имя_сигнала*: signal is "true"; При запуске Set Up Debug в Vivado все помеченные таким образом сигналы автоматически добавляются в список. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться