Jump to content
    

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

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

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

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

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

Edited by Aleksey25

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...