Перейти к содержанию
    

Импорт пакетов SystemVerilog

Здравствуйте. Подскажите, пожалуйста, кто-нибудь сталкивался с импортом пакетов, которые размещены в отдельной директории, а не в папке с файлом, в который нужно импортировать ? 
 

В сети попадались несколько вариантов, например « import my_project.packages.my_package::*; »

где my_project и packages - имена директории , my_package - сам пакет. Но при компиляции выдается ошибка синтаксиса.

После долгих поисков, пришел к мнению, что SystemVerilog не поддерживает импорт пакетов из других директории. Получается нужно использовать include, верно?

Изменено пользователем Aleksey25

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вы за какую среду спрашиваете? Mentor при моделировании это делает без вопросов. Есть подозрение, что и с другими средами вопросов быть не должно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Если хотите скомпилировать пакет вместе с файлом, который его использует, то исходный код пакета надо включить, например, с помощью `include. Если файл с пакетом находится в другой директории,, нежели исходный, то компилятор может его не найти, тогда нужно компилятору указать пути поиска (+incdir+...).

Пакеты до компиляции проекта можно откомпилировать в отдельную библиотеку, которую подключать к vopt как обычно с ключом -L. Тогда ничего включать с помощью `include уже не надо, достаточно только import.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно обойтись и без компиляции в отдельную библиотеку, а скомпилировать в work. Вопрос в том, что скомпилирован пакет долен быть раньше, чем файл, в который он импортируется. А компиляция пакета не отличается от любой другой компиляции. Компилятору должно быть известно, где найти все файлы, необходимые для текущей компиляции.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...