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

как работать с пользовательскими библиотеками в квартусе\менторе?

Так как все-таки в Quartus запихать в один библиотечный файл кучу модулей? У меня что-то не находятся они.

у меня всё видится когда я подключаю путь к файлам как Settings -> Libraries

 

Можно подключить файл с библиотечными модулями в файл проекта, например, так:

можно

 

Есть ли более приличное решение?

я предпочитаю все используемые файлы подключать ручками в qsf файле

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


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

у меня всё видится когда я подключаю путь к файлам как Settings -> Libraries

я предпочитаю все используемые файлы подключать ручками в qsf файле

А в этих файлах "куча" модулей, или в каждом по одному?

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


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

А в этих файлах "куча" модулей, или в каждом по одному?

большинство по одному, но есть файлы в которых описано 5-6 модулей

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


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

Создал экспериментальный проект из двух файлов Test.v и Library.v в одном каталоге D:\Test.

Все пути задал.

Из Test.v вызывается модуль CountReload, расположенный в Library.v

Когда раскомментирую строку `include Library.v, проект компилируется.

Если закомментировать - нет! Quartus 9.0, SystemVerilog-2005.

Проект прилагаю.

Кто-то из нас неправ?

Test.zip

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

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


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

Создал экспериментальный проект из двух файлов Test.v и Library.v в одном каталоге D:\Test.

Варианты решения

 

1. включить файл library.v в сорцы проекта, тогда не надо никаких инклудов.

2. Quartus II Handbook Version 9.0 -> Chapter 4: Managing Quartus II Projects -> Filenames and Hierarchies -> Specifying Libraries

 

All files in the directories specified as libraries are relative to the libraries. For example, if you want to include the file /user_lib1/foo1.v and the user_lib1 directory is specified as a user library in the project, the foo1.v file can be specified in the .qsf file as foo1.v. The Quartus II software searches directories that are specified as libraries and finds the file.

 

Т.е. в том случае если иерархия у вас в файле закопана, нужно этот файл указать в сорцах, а местонахождение этого файла квартус отыщет сам. Пример вашего проекта в атаче.

Test_my.zip

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


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

В-общем, выводы такие.

Verilog-mодули в файлах с несколькими модулями (т.е. именно в таких файлах, которые можно было бы назвать библиотечными) Quartus напрямую через указание каталогов Libraries не обнаруживает. В этих файлах обнаруживается только модуль верхнего уровня. Можно подключить в проект сам такой файл, с помощью `include, или в установке Settings / Files (что по большому счету, одно и то же). Благодаря тому, что в проекте задается модуль верхнего уровня (Settings / General), конфликта между файлами не будет. Все остальные модули в файлах (более низкой иерархии) найдутся, так как они уже будут входить в проект. Ничего лишнего компилироваться не будет.

Лучше каждый модуль хранить в отдельном файле. И отлаживать, редактировать проще, и как библиотечный модуль найдется. Но каталог будет забит всякими рабочими-служебными файлами. В таком случае, наверное, лучше отлаживаться в отдельном каталоге (Temporal), а готовые модули хранить в каталоге библиотеки (Library).

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


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

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

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

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

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

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

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

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

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