Aleksey25 0 28 января Опубликовано 28 января (изменено) · Жалоба Здравствуйте. Подскажите, пожалуйста, кто-нибудь сталкивался с импортом пакетов, которые размещены в отдельной директории, а не в папке с файлом, в который нужно импортировать ? В сети попадались несколько вариантов, например « import my_project.packages.my_package::*; » где my_project и packages - имена директории , my_package - сам пакет. Но при компиляции выдается ошибка синтаксиса. После долгих поисков, пришел к мнению, что SystemVerilog не поддерживает импорт пакетов из других директории. Получается нужно использовать include, верно? Изменено 28 января пользователем Aleksey25 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Zversky 17 28 января Опубликовано 28 января · Жалоба Вы за какую среду спрашиваете? Mentor при моделировании это делает без вопросов. Есть подозрение, что и с другими средами вопросов быть не должно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Aleksey25 0 28 января Опубликовано 28 января · Жалоба Как раз Questa при моделировании и выдает ошибку. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
dxp 51 28 января Опубликовано 28 января · Жалоба Если хотите скомпилировать пакет вместе с файлом, который его использует, то исходный код пакета надо включить, например, с помощью `include. Если файл с пакетом находится в другой директории,, нежели исходный, то компилятор может его не найти, тогда нужно компилятору указать пути поиска (+incdir+...). Пакеты до компиляции проекта можно откомпилировать в отдельную библиотеку, которую подключать к vopt как обычно с ключом -L. Тогда ничего включать с помощью `include уже не надо, достаточно только import. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Aleksey25 0 29 января Опубликовано 29 января · Жалоба Спасибо за совет. Буду пробовать. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
one_eight_seven 6 29 января Опубликовано 29 января · Жалоба Можно обойтись и без компиляции в отдельную библиотеку, а скомпилировать в work. Вопрос в том, что скомпилирован пакет долен быть раньше, чем файл, в который он импортируется. А компиляция пакета не отличается от любой другой компиляции. Компилятору должно быть известно, где найти все файлы, необходимые для текущей компиляции. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться