hendehoh 0 19 мая, 2015 Опубликовано 19 мая, 2015 · Жалоба Имеется Active-HDL(9.x) с готовым проектом (идет с модулем) и ISE(14.7), мне необходимо создать IP core в ISE (если конкретнее - то стандарт aurora). И добавить его в A-HDL готовый проект, чтобы дальше уже можно было симулировать сигналы совместно с ним. Ip core создать оказалось не сложно. В ISE - новый проект IP core generator, там выбрал уже готовый, галочками установил все настройки и вуаля. А дальше? Находил здесь тему что создают пустой .vhd файл в A-HDL, потом в опциях синтеза read core - галочка и путь к .ngc файлам IP CORE от ISE. Вопросы следующие: 0) Так ли я все понял? 1) После таких манипуляций я могу использовать сигналы из IP CORE в проекте? 2) Почему они не добавились никуда в A-HDL? Или где их посмотреть? Спасибо Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
hendehoh 0 21 мая, 2015 Опубликовано 21 мая, 2015 · Жалоба Попутный вопрос: Как можно в такой связке (AHDL+ISE) посмотреть(отловить) значение в определенном регистре.? И вообще это возможно? (что-то типа режима отладки существует? Я слышал что в квартусе можно это сделать через signal Trap вроде... а здесь!? Спасибо Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Krys 2 21 мая, 2015 Опубликовано 21 мая, 2015 · Жалоба Находил здесь темуПокажите плиз. Вообще обычно у корки предлагается сгенерировать vhdl-модель для симуляции. В ней и регистры будут видны. Полазьте в настройках коргенератора, посмотрите в папке с коркой на предмет наличия исходников. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
hendehoh 0 21 мая, 2015 Опубликовано 21 мая, 2015 · Жалоба Покажите плиз. Да, конечно: вот та тема... http://electronix.ru/forum/lofiversion/index.php/t91259.html Вообще обычно у корки предлагается сгенерировать vhdl-модель для симуляции. В ней и регистры будут видны. Полазьте в настройках коргенератора, посмотрите в папке с коркой на предмет наличия исходников. Корка делается в ISE, там я выбираю нужный мне блэк-бокс для генерации (это реализация протокола/стандарта aurora 64/67 для работы с оптикой), вылезает окно с условным обозначением с указанием входов и выходов. На этом изображении четко видно например входной сигнал такой-то разрядности, выходной - такой-то. а потом после генерации - создаются файлы vhdl в папке проекта ISE и несколько ngc файлов. Но вот как мне это сгенерированное перетащить в AHDL я непонимаю! Это и есть исходники? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Krys 2 22 мая, 2015 Опубликовано 22 мая, 2015 · Жалоба Вот смотрите: в ISE заходите в меню tools - core generator. В нём заходите в меню file - open project, указываете путь к файлу *.cgp (обычно coregen.cgp) в общей папке ваших корок. Когда откроете - увидите внизу в окошке весь список сгенерённых Вами корок. Далее заходите в меню Project - Project Options и там видите следующее: Делаете нужные настройки симуляционных файлов. Затем заходите в Project - Regenerate all project IP (можно и по одной перегенерить). Но вполне возможно эти настройки уже и так правильно стояли, поэтому симуляционные файлы и так были сгенерены. И искать их нужно в папке с коркой. Открывайте в этой папке все подряд файлы с расширениями *.vhd и смотрите - то, не то. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
hendehoh 0 22 мая, 2015 Опубликовано 22 мая, 2015 · Жалоба Вот смотрите: в ISE заходите в меню tools - core generator. В нём заходите в меню file - open project, указываете путь к файлу *.cgp (обычно coregen.cgp) в общей папке ваших корок. Когда откроете - увидите внизу в окошке весь список сгенерённых Вами корок. Далее заходите в меню Project - Project Options и там видите следующее: ---PICTURE--- Делаете нужные настройки симуляционных файлов. Затем заходите в Project - Regenerate all project IP (можно и по одной перегенерить). Но вполне возможно эти настройки уже и так правильно стояли, поэтому симуляционные файлы и так были сгенерены. И искать их нужно в папке с коркой. Открывайте в этой папке все подряд файлы с расширениями *.vhd и смотрите - то, не то. Спасибо огромное. За выходные попробую подкинуть их в AHDL и проверить симуляцию... еще раз спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
hendehoh 0 3 июня, 2015 Опубликовано 3 июня, 2015 · Жалоба В общем вот что получилось: создал корку в ISE ethernet (решил проверить на простом примере просто) - сделал как все описано (можно и не делать, все действительно уже правильно настроено и фалы лежать в папке с проектом). в корне проекта есть .vhd и .vho и еще куча других. vhd - собственно сам наш необходимый файл для проекта, а в vho - можно посмотреть как его подключить(как я понял), из него надо скопировать в проект объявление компонента и его портов/сигналов. Соответсвие портов-сигналов изменяем (сигналы ставим из своего проекта и вуаля - должно работать). Затем я проделал то же самое и создал корку AURORA. Так в проекте там куча .vhd файлов, как я понял - в каждом описан свой блок, являющийся частью реализации протокола. И если я правильно понимаю надо все эти файлы прицеплять в свой проект, и получается здесь не один компонент а много!?? но почему, если при создании корки рисуется один блок с несколькими сигналами (схематично). И здесь я запутался... мне надо выискивать все сигналы в сгенерированных vhd файлах корки, смотреть в каких компонентах они и уже после в своем проекте объявлять все эти компоненты и сопоставлять порты с сигналами!?!?!?!? Или же все намного проще? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
toshas 0 4 июня, 2015 Опубликовано 4 июня, 2015 · Жалоба Найдите файл верхнего (top) уровня, тогда вся иерархия соберется автоматически. Также обратите внимание на exdes - пример установки этого самого top. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
hendehoh 0 5 июня, 2015 Опубликовано 5 июня, 2015 (изменено) · Жалоба Найдите файл верхнего (top) уровня, тогда вся иерархия соберется автоматически. А как определить этот самый ТОП левел? Например тем есть файл тест-бенча, а так же есть папка example_design - там в файле ***_block.vhd в коментариях написано что этот файл является топом. Так ли это? Какие еще варианты определить топ? Есть папка тест-бенч, разве не тестбенч должен быть топом? Также обратите внимание на exdes - пример установки этого самого top Непонял что такое exdes (это example_design?) и как там посмотреть пример установки топа? Если не трудно поясните мне пожалуйста... Изменено 5 июня, 2015 пользователем hendehoh Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
toshas 0 7 июня, 2015 Опубликовано 7 июня, 2015 · Жалоба на примере 8b10b: aurora_8b10b_v8_3.v - модуль верхнего уровня, который нужно использовать в своем проекте aurora_8b10b_v8_3_exdes.v - example design, пример использования, включает генерацию и проверку передаваемых данных aurora_8b10b_v8_3_tb.v - тестбенч для проведения симуляции example design Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
hendehoh 0 8 июня, 2015 Опубликовано 8 июня, 2015 · Жалоба на примере 8b10b: aurora_8b10b_v8_3.v - модуль верхнего уровня, который нужно использовать в своем проекте aurora_8b10b_v8_3_exdes.v - example design, пример использования, включает генерацию и проверку передаваемых данных aurora_8b10b_v8_3_tb.v - тестбенч для проведения симуляции example design Спасибо большое. Разобрался. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
hendehoh 0 8 июня, 2015 Опубликовано 8 июня, 2015 (изменено) · Жалоба И новый вопрос: Как в VHDL вставить/объявить/описать entity другого фала vhdl? я пробую так: *** entity top is *** end top; architecture name of name is ***описание сигналов*** component a_example_design port ( RX_HARD_ERR : out std_logic; RX_SOFT_ERR : out std_logic; DATA_ERR_COUNT : out std_logic_vector(0 to 7); RX_LANE_UP : out std_logic_vector(0 to 2); RX_CHANNEL_UP : out std_logic; INIT_CLK : in std_logic; PMA_INIT : in std_logic; GTXQ0_P : in std_logic; GTXQ0_N : in std_logic; GTXQ2_P : in std_logic; GTXQ2_N : in std_logic; RXP : in std_logic_vector(0 to 2); RXN : in std_logic_vector(0 to 2); RESET : in std_logic); end component; begin aurora: a_example_design port map ( RX_HARD_ERR => RX_HARD_ERR, RX_SOFT_ERR => RX_SOFT_ERR, DATA_ERR_COUNT => DATA_ERR_COUNT, RX_LANE_UP => RX_LANE_UP, RX_CHANNEL_UP => RX_CHANNEL_UP, INIT_CLK => INIT_CLK, PMA_INIT => PMA_INIT, GTXQ0_P => GTXQ0_P, GTXQ0_N => GTXQ0_N, GTXQ2_P => GTXQ2_P, GTXQ2_N => GTXQ2_N, RXP => RXP, --здесь будет порт входа с трансивера RXN => RXN, --not -||- RESET => RESET); При этом в каталоге проекта лежит файл с entity a_example_design - сгенерированный ISE-ом Что я делаю не так. Простите что в одну и ту же тему...все это исходит из того первоначального вопроса, и плодить тем не хочется. А подобную реализацию я смотрю в книжке -Бибило(основы языка VHDL)стр.131-132-133 Ах да... а ругается на все подряд при компиляции: Unknown identifier "RX_HARD_ERR" и так со всеми портами Cannot find object declaration и так ко всем строкам портов Undefined type of expression и так тоже ко всему , хотя в файле a_example_design - есть такой же набор портов, почему он не видит их? Изменено 8 июня, 2015 пользователем hendehoh Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
hendehoh 0 9 июня, 2015 Опубликовано 9 июня, 2015 · Жалоба Понял свою ошибку. в бегине, когда пишем порт меп: либо перечисляем порты через запятую, либо сопоставляем сразу с сигналами объявленными в архитектуре. а я совсем не то сделал. Буду копать дальше. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться