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

Quartus. Создание пользовательских библиотек.

Собственно возник вопрос, а как кучу файлов описаний собрать в одну пользовательскую библиотеку ?

Например имеем 10 разных файлов описаний счетчиков:

COUNTER1.VHD

COUNTER2.VHD

....

COUNTER10.VHD

Как их собрать в библиотеку так, чтобы в последствии я просто указал имя библиотеки, и спокойно применял эти счётчики ?

На данный момент quartus требует чтобы расположение файла было задано явно SETTING => ADD FILE. И никак это не обойти. А хочется, избавиться именно от ручного добавления библиотечных файлов. Когда вручную добавляется 1 файл - проблем нет. Когда вручную добавляется 100 файлов (условно говоря) появляется рутинная работа.

Прошу вашей помощи. Google ответов не дал. Спасибо !

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


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

Приветствую!

 

Собственно возник вопрос, а как кучу файлов описаний собрать в одну пользовательскую библиотеку ?

...

Как их собрать в библиотеку так, чтобы в последствии я просто указал имя библиотеки, и спокойно применял эти счётчики ?

На данный момент quartus требует чтобы расположение файла было задано явно SETTING => ADD FILE. И никак это не обойти. А хочется, избавиться именно от ручного добавления библиотечных файлов. Когда вручную добавляется 1 файл - проблем нет. Когда вручную добавляется 100 файлов (условно говоря) появляется рутинная работа.

Прошу вашей помощи. Google ответов не дал. Спасибо !

Используйте .qip файл, его потом и добавляйте

..
set_global_assignment -library "lib_packages1" -name VHDL_FILE          [file join $::quartus(qip_path) "./pkg1_file.vhd"]
set_global_assignment -library "lib_packages2" -name VHDL_FILE          [file join $::quartus(qip_path) "./pkg2_file.vhd"]

set_global_assignment -name VHDL_FILE          [file join $::quartus(qip_path) "./source_file1.vhd"]
set_global_assignment -name VHDL_FILE          [file join $::quartus(qip_path) "./sub_folder/source_file2.vhd"]
...
set_global_assignment -name QIP_FILE             [file join $::quartus(qip_path) "./sub_folder2/some_ip_core.qip"]
...

 

Успехов! Rob.

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


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

В общем разобрался я с пользовательскими библиотеками, теперь в Quartus нет необходимости добавлять каждый библиотечный файл в проект. Но появилась другая беда, тепрь Modelsim не согласен со мной, и при запуске компиляции он не понимает, что у меня файл в проект не добавлен т.к. берётся из библиотеки:

# ** Error: C:/altera/13.1/BASE/TESTING/LIB_TEST/TOP.vhd(39): Library kaa_lib not found.

###### C:/altera/13.1/BASE/TESTING/LIB_TEST/TOP.vhd(40): USE KAA_LIB.ALL;

#

# ** Error: C:/altera/13.1/BASE/TESTING/LIB_TEST/TOP.vhd(40): (vcom-1136) Unknown identifier "KAA_LIB".

#

###### C:/altera/13.1/BASE/TESTING/LIB_TEST/TOP.vhd(47): ENTITY TOP IS

#

# ** Error: C:/altera/13.1/BASE/TESTING/LIB_TEST/TOP.vhd(47): VHDL Compiler exiting

# ** Error: C:/altera/13.1/modelsim_ase/win32aloem/vcom failed.

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

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


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

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

vlib $MY_VHDL_LIBS/KAA_LIB
vmap KAA_LIB $MY_VHDL_LIBS/KAA_LIB

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


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

vlib $MY_VHDL_LIBS/KAA_LIB
vmap KAA_LIB $MY_VHDL_LIBS/KAA_LIB

А что означает знак $ ? В ModelSim® Command Reference Manual ничего такого не увидел.

Я проделал данные действия и у меня создалась библиотека KAA_LIB(empty). Но она пустая..

Наверное я что-то неправильно сделал поскольку не очень понял назначение вот этого: $MY_VHDL_LIBS

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


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

А что означает знак $ ?
Это переменная окружения (environment variable), очевидно.

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


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

там вроде в менюшке была кнопка импорт библиотек

То-же самое. Создается пустая библиотека (KAA_LIB(empty)) и всё. Хотя все мои описания файлов физически копируются в папку этой библиотеки.

 

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


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

То-же самое. Создается пустая библиотека (KAA_LIB(empty)) и всё. Хотя все мои описания файлов физически копируются в папку этой библиотеки.
Их не надо туда копировать. Их надо туда скомпилировать.

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


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

Их не надо туда копировать. Их надо туда скомпилировать.

Спасибо. Вроде разобрался, библиотеку скомпилировал. И получил ошибку такого типа:

# ** Error: C:/altera/13.1/BASE/TESTING/LIB_TEST/TOP.vhd(59): (vcom-1141) Identifier "SHIFT_REG_ENA" does not identify a component declaration.

#

###### C:/altera/13.1/BASE/TESTING/LIB_TEST/TOP.vhd(82): END ARCHITECTURE;

#

# ** Error: C:/altera/13.1/BASE/TESTING/LIB_TEST/TOP.vhd(82): VHDL Compiler exiting

# ** Error: C:/altera/13.1/modelsim_ase/win32aloem/vcom failed.

Как я понял, надо теперь из моей библиотеки KAA_LIB перекомпилировать файл в рабочую директорию. В общем ну его нафиг. Быстрее всё-же файлы добавить вручную в проект и забить на эти заморочки с пользовательскими библиотеками.

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


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

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

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

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

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

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

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

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

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

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