реклама на сайте
подробности

 
 
> Помогите разобраться с библиотеками (VHDL)
Elf
сообщение Dec 27 2006, 11:43
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 15
Регистрация: 23-08-06
Пользователь №: 19 771



Всем привет и с наступающим Новым годом,

Наработав некоторое кол-во проектов (VHDL, Quartus) решил свалить более-менее универсальные компоненты и функции в пользовательскую библиотеку - в результате пришел к выводу, что не знаю как это сделать. Стал читать описания - продвинулся не сильно. Помогите разобраться с некоторыми вопросами:

1) Для примера (VHDL, Quartus)- библиотека парам. модулей: Library- LPM ... package -lpm_components...File - lpm_pack.vhd.
Если открыть файл - то он содежит пакет с объявлениями компонентов, а где хранятся собственно описания? Как вся эта "кухня" работает? Я поймал себя на том, что просто "втыкал" library и use, и не особенно задумывался по этому поводу.

2)Как подобно примеру приведенному выше создать собственную библиотеку.

Понимаю, что вопросы наивны и путанны - помогите внести ясность (разъяснениями, ссылками и т. д.)
В книгах этому вопросу отводят немного.

Спасибо.

Сообщение отредактировал Elf - Dec 27 2006, 11:44
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
De-ep
сообщение Jan 2 2007, 13:03
Сообщение #2





Группа: Новичок
Сообщений: 4
Регистрация: 30-12-06
Пользователь №: 24 020



Самурай <= спасибо. Путь который ты описал, на мой взгляд, вполне корректен.
Но моя проблема более касалась библиотек компонентов - т.е по сути проектов.
Дело в том, что используя package можно указать component declaration, но в package body не указать architecture. В описании VHDL сказано, что Package Body может содержать:
-subprogram declaration
-subprogram body
-type, subtype declaration
-constant declaration
-file declaration
-alias declaration
-use clause

Если в Quartus создавать проект с спользованием ранее созданных компонетов (проектов) - то в Settings->Files предлагается "Select the Design Files You Want to Include to the project". Такми образом можно включить в процесс компиляции исходники ранее созданных компонентов.
Однако используя компоненты поставляемые с Quartus, например параметризованные модули, достаточно указать библиотеку LPM (Library of Parameterized Modules).
Вот я и заинтересовался есть ли инструментарий для создания подобной библиотеки или можно только свалить свои исходники в какой-нибудь каталог и при помощи "Select the Design Files You Want to Include to the project" присоединять необходимые к процессу компиляции.
Похоже, что бибиотеки поставляемые с Quartus интегрированы в него и вряд ли можно создать что-либо подобное пользовательскими средствами.
Что же касается функций, констант, типов и т. д. - то их можно хранить в едином файле и ссылаться на него как на юзерскую библиотеку, как ты и предложил.

Пока получается так - в юзеской библиотеке можно создать component declaration, а архитектуру компонентов подключать через Settings->Files в виде исходников.

Возможно, мои рассуждения некорректны. Все это требует проверки.
Если у кого-то другие мысли по этому поводу - пишите.


Всего наилучшего.
Go to the top of the page
 
+Quote Post
Самурай
сообщение Jan 2 2007, 20:35
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 468
Регистрация: 4-03-05
Пользователь №: 3 066



Процитирую самого себяsmile.gif, а потом еще немного добавлю:

Цитата
Можно попробовать и немного по другому. В окне Settings, на странице User Libraries (Current Project) в поле Library Name написать имя своей библиотеки и нажать кнопку ADD. При этом файл библиотеки должен быть включен в проект и название библиотеки должно совпадать с именем файла.


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

Библиотеки, подключенные таким образом, могут использоваться только в текущем проекте.
Директории, хранящие библиотеки для всех проектов, задаются на странице Global User Libraries (All Project) в меню Tools/Options/General.

А что касается вот этого:

Цитата
1) Для примера (VHDL, Quartus)- библиотека парам. модулей: Library- LPM ... package -lpm_components...File - lpm_pack.vhd.
Если открыть файл - то он содержит пакет с объявлениями компонентов, а где хранятся собственно описания? Как вся эта "кухня" работает?


то посмотрите директорию \quartusxx\libraries\megafunctions. Я думаю, Вы будете немного удивленыsmile.gif, найдя здесь описание ВСЕХ параметризованных модулей и мегафункций Alterы, правда на языке AHDL:).
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- Elf   Помогите разобраться с библиотеками (VHDL)   Dec 27 2006, 11:43
- - Oldring   Про Quartus не скажу ничего. Использовал билиотеки...   Dec 29 2006, 20:10
|- - BSV   Цитата(Oldring @ Dec 29 2006, 20:10) Все ...   Dec 29 2006, 23:39
|- - Oldring   Цитата(BSV @ Dec 29 2006, 23:39) Цитата(O...   Dec 30 2006, 00:54
|- - vleo   Цитата(Oldring @ Dec 30 2006, 00:54) А во...   Mar 19 2007, 22:59
|- - Oldring   Цитата(vleo @ Mar 19 2007, 22:59) Да, про...   Mar 19 2007, 23:23
|- - vleo   Цитата(Oldring @ Mar 19 2007, 23:23) http...   Mar 21 2007, 12:20
|- - Oldring   Цитата(vleo @ Mar 21 2007, 12:20) Это что...   Mar 21 2007, 13:06
- - BSV   Вот в чем заключается отличие рабочих и ресурсных ...   Dec 30 2006, 20:05
|- - Oldring   Цитата(BSV @ Dec 30 2006, 20:05) При этом...   Dec 30 2006, 21:24
|- - BSV   Цитата(Oldring @ Dec 30 2006, 21:24) Логи...   Dec 30 2006, 23:38
- - De-ep   Всем здравствуйте и с наступающим 2007! De-ep...   Dec 31 2006, 00:09
|- - Самурай   Возможно Вам поможет вот такой вариант: 1. Помещ...   Jan 1 2007, 18:10
- - De-ep   Да действительно - эти файлы там есть. Причем, ког...   Jan 2 2007, 21:59


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 06:45
Рейтинг@Mail.ru


Страница сгенерированна за 0.01391 секунд с 7
ELECTRONIX ©2004-2016