yes 8 14 октября, 2009 Опубликовано 14 октября, 2009 · Жалоба в директории проекта находит, но в другом месте нет ну или хотябы явно указать файлы, в линуксовской системе мне линки не сложно сделать, но когда под виндосом будут компилить - будут проблемы upd: set_global_assignment -name SEARCH_PATH xxxx но, что интересно из GUI квартус вставляет абсолютный путь и в придачу с виндовыми \\ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 2 14 октября, 2009 Опубликовано 14 октября, 2009 · Жалоба в директории проекта находит, но в другом месте нет Обычно разумно-достаточным бывает указание относительного пути прямо в `include. Причем это будет работать для всех пакетов а не только для квартуса. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 15 октября, 2009 Опубликовано 15 октября, 2009 · Жалоба в директории проекта находит, но в другом месте нет GUI :: settings -> libraries QSF :: set_global_assignment -name SEARCH_PATH ../../include/ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
LordVader 0 15 октября, 2009 Опубликовано 15 октября, 2009 · Жалоба Обычно разумно-достаточным бывает указание относительного пути прямо в `include. Причем это будет работать для всех пакетов а не только для квартуса. Вот ещё есть проблема. Имеем: file1.v: ... `include "path/file2.v" ... file2.v: ... `include "local_include_file.v" ... проблема в том, что в процессе просмотра file1.v синтезатором, он, заинклудив file2.v, будет искать local_include_file.v в директории, где лежит file1.v, а не file2.v. А если синтезатор просматривает file2.v не в результате инклуда, то local_include_file.v ищется в директории path. Как решать? Приходится руками копировать local_include_file.v во все директории и иметь гемор при его изменении. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Intekus 0 16 октября, 2009 Опубликовано 16 октября, 2009 · Жалоба Вот ещё есть проблема. Имеем: file1.v: ... `include "path/file2.v" ... (...) А если синтезатор просматривает file2.v не в результате инклуда, то local_include_file.v ищется в директории path. Пользовался Quartus, сейчас на ISE + Modelsim - и во всех случаях в include-файлы выносилось что-то такое, что имеет смысл только в составе другого файла. То есть в проект Quartus я их включал с типом "текстовый файл", исключительно чтоб быстрее вызывать для правки; с сейчас в скриптах для Modelsim не упоминаю их при компиляции в библиотеку. Может быть Вам прересмотреть разбиение проекта по файлам, чтоб все включаемые файлы принципиально не просматривались синтезатором как исходный код? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
LordVader 0 19 октября, 2009 Опубликовано 19 октября, 2009 (изменено) · Жалоба Может быть Вам прересмотреть разбиение проекта по файлам, чтоб все включаемые файлы принципиально не просматривались синтезатором как исходный код? Иногда синтез проекта идёт из одной поддиректории, а например симуляция - из другой. При этом удобнее не добавлять в тот же квартус стопицот файлов, а один *top.v, из которого заинклудить все другие. "Все другие" при этом могут иметь свои инклуды с настройками, например, лежащие в их родных поддиректориях. А получается, что после инклуда сорцов с кодом - [см. выше]. Может, тут надо действовтаь как-то по другому, например не лениться добавлять все файлы в квартус, или не использовать настройки дефайнами в инклудах, а всё делать через параметры... Изменено 19 октября, 2009 пользователем LordVader Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Intekus 0 19 октября, 2009 Опубликовано 19 октября, 2009 · Жалоба Иногда синтез проекта идёт из одной поддиректории, а например симуляция - из другой. Как правило, делаю всё из корневого каталога проекта. Может, тут надо действовтаь как-то по другому, например не лениться добавлять все файлы в квартус, или не использовать настройки дефайнами в инклудах, а всё делать через параметры... Вот эту фразу ещё понял. При этом удобнее не добавлять в тот же квартус стопицот файлов, а один *top.v, из которого заинклудить все другие. "Все другие" при этом могут иметь свои инклуды с настройками, например, лежащие в их родных поддиректориях. А получается, что после инклуда сорцов с кодом - [см. выше]. А вот это поясните пожалуйста подробне. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
LordVader 0 20 октября, 2009 Опубликовано 20 октября, 2009 · Жалоба Как правило, делаю всё из корневого каталога проекта. Я как минимум квартусовую файлопомойку в поддир пихаю. Ну и сорцы по темам тоже в поддиры распихиваю. Большая помойка в одной дире напрягает. А вот это поясните пожалуйста подробне. Ну блин, как пример посмотрите openmsp430 с опенкорок. Там *_defines.v распиханы одинаковые в 3-4 местах. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Intekus 0 22 октября, 2009 Опубликовано 22 октября, 2009 · Жалоба Я как минимум квартусовую файлопомойку в поддир пихаю. Ну и сорцы по темам тоже в поддиры распихиваю. Большая помойка в одной дире напрягает. Я делал точно также, но необходимости в дополнительных include не возникало; правда, при этом аккуратно прописывал все файлы в Квартусовском проекте. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
LordVader 0 22 октября, 2009 Опубликовано 22 октября, 2009 · Жалоба Я делал точно также, но необходимости в дополнительных include не возникало; правда, при этом аккуратно прописывал все файлы в Квартусовском проекте. Так - да, проблем не возникает. Но я попробовал добавлять в квартус только один файл с инклудами остального. Выяснилось, что в отличие от любого C компилятора, который инклуды "" делает из директории, где файл с инклудом находится, "любой" синтезатор или моделятор (квартус, моделсим) не ищет там же инклуды :( Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rrlagic 0 14 июня, 2011 Опубликовано 14 июня, 2011 · Жалоба Апну тему. Не совсем про Квартус - пользую связку ISE + Modelsim, но поскольку с последним горе, то эта тема самая близкая Вводные таковы, что сорцы *.v проекта не лежат в одном каталоге с собственно файлом проекта. В каталоге проекта есть подкаталог src с сорцами и sim с тестбенчами. В src, например, лежит top.v и constants.vh. Так вот, если в top.v есть `include "constants.vh" то ISE аж бегом его находит и правильно обрабатывает. А вот Моделсим - не находит. Ему подавай пути относительно каталога, из которого его запустили. Например, в fdo-скрипте, который его запускает, есть vlog +acc "../src/top.v" vlog +acc "../sim/tb_top.v" топ - находит, а когда выполняет инклюд, то constants.vh уже не находит. Поделитесь идеями/советами. Спасибо. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 14 июня, 2011 Опубликовано 14 июня, 2011 · Жалоба хелп на команду vlog посмотреть никак ? что то в районе ключа $incdir :) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
rrlagic 0 15 июня, 2011 Опубликовано 15 июня, 2011 · Жалоба что то в районе ключа $incdir :) Это последнее средство... Если проект лежит больше, чем в одном каталоге и инклюды не в одном каталоге, то придется их все добавлять уже в свойства проекта. То есть, оно как бы и решение, но корявое... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vadimuzzz 0 15 июня, 2011 Опубликовано 15 июня, 2011 · Жалоба Это последнее средство... Если проект лежит больше, чем в одном каталоге и инклюды не в одном каталоге, то придется их все добавлять уже в свойства проекта. То есть, оно как бы и решение, но корявое... Assignments/Libraries/Project Libraries не пойдет? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 15 июня, 2011 Опубликовано 15 июня, 2011 · Жалоба Указать путь, с учетом выхода на более верхний уровень папок (..), а дальше - куда надо. `include "../src/constants.vh" Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться