AlexZabr 0 23 ноября, 2008 Опубликовано 23 ноября, 2008 · Жалоба В проэкте есть юзерская библиотека в которй находится package которым пользуюсь в проэкте. Включаю ее в файлы сорсов (VHDL): library work; use work.constant.all Constants - это данный package, физизически находится в совем VHDL файле. Вопрос: какая физическая привязка места хранения данного файла библиотеки относительно сорсов/рабочих файлов проэкта ? Обязана-ли находиться в той-же дирректории где и рабочие файлы (например файл сборки проэкта, файлу компиляции и т.д.) ? Или главное чтоб был там где сорсы проэкта (в которые он включен) ? Есть ли "железное" правило на эту тему или оно зависит от конкретнго производителя/IDE ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 14 24 ноября, 2008 Опубликовано 24 ноября, 2008 · Жалоба Вопрос: какая физическая привязка места хранения данного файла библиотеки относительно сорсов/рабочих файлов проэкта ? Никакой. Файлы могут лежать где угодно. В проекте они описываются или абсолютными путями, или относительно рабочего каталога программы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexZabr 0 24 ноября, 2008 Опубликовано 24 ноября, 2008 · Жалоба Никакой. Файлы могут лежать где угодно. В проекте они описываются или абсолютными путями, или относительно рабочего каталога программы. Спасибо. Рабочий каталог - это там где находятся файлы генерирующиеся программой ? (сайлы синтеза, PAR и т.д.) И ispLeverа такя структура (создается при создани нового проэкта): Проэкт | |-----project.dir |-----backup |-----coreip |-----syntmp |-----work Все генерированые файлы проэкта находятся в основной директории (Проэкт), там-же и сорсы. Это значит что Проэкт есть рабочий каталог ? Если библиотека расположена в под-директории относительно рабочей, как описывать относительный путь в library, use ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 24 ноября, 2008 Опубликовано 24 ноября, 2008 · Жалоба Все генерированые файлы проэкта находятся в основной директории (Проэкт), там-же и сорсы. Это значит что Проэкт есть рабочий каталог ? :bb-offtopic: давно интересно почему вы всегда пишете проЭкт, а не проЕкт ? Вы стебетесь над своими проектами и не воспринимаете их всерьез ? : ) Если библиотека расположена в под-директории относительно рабочей, как описывать относительный путь в library, use ? понятие библиотеки относиться не к исходникам, а с компилятору. поэтому пути до библиотек прописывать в коде не нужно, надо задавать их в настройках компилятора. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexZabr 0 24 ноября, 2008 Опубликовано 24 ноября, 2008 · Жалоба :bb-offtopic: давно интересно почему вы всегда пишете проЭкт, а не проЕкт ? Вы стебетесь над своими проектами и не воспринимаете их всерьез ? : ) :07: хмм, сорри, не совсем въехал что вас обидело в произношении проэкт или проект...и какая связь с уважением/неуважением к своим работам... :cranky: мне в голову не приходило что это можно воспринимать лично... :07: но нет проблем, если грамматиьески правильно писать "проект" значит пусть будет так, а просто писал как произносится... не обжайтесь, но по моему связывать то как пишу с тем что я стебаюсь на своими работами - по детски смешно... :) понятие библиотеки относиться не к исходникам, а с компилятору. поэтому пути до библиотек прописывать в коде не нужно, надо задавать их в настройках компилятора. ОК, спасибо. Я просто пытаюсь понять что физически означает: library work я думал это указание где искать библиотеку (или package указанный в use work.xxxx.all) может имеется ввиду что в настройках компилятора нужно указывать где находится сей work ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 14 24 ноября, 2008 Опубликовано 24 ноября, 2008 · Жалоба Я просто пытаюсь понять что физически означает: library work я думал это указание где искать библиотеку (или package указанный в use work.xxxx.all) может имеется ввиду что в настройках компилятора нужно указывать где находится сей work ? Work -- это библиотека по умолчанию в соостветствии со стандартом VHDL. Поэтому каждая программа сама её создаёт и знает, где она находится. library work; в исходнике можно вообще не писать. Достаточно просто use work.xxxx.all Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexZabr 0 24 ноября, 2008 Опубликовано 24 ноября, 2008 · Жалоба Work -- это библиотека по умолчанию в соостветствии со стандартом VHDL. Поэтому каждая программа сама её создаёт и знает, где она находится. library work; в исходнике можно вообще не писать. Достаточно просто use work.xxxx.all Ага, спасибо, понял. Попробую закинуть вопрос в саппорт Латиса, как с ispLever определяется work и как добавляять юзерксие библиотеки в месте отличном от defaultного (work).. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 24 ноября, 2008 Опубликовано 24 ноября, 2008 · Жалоба не обжайтесь, но по моему связывать то как пишу с тем что я стебаюсь на своими работами - по детски смешно... :) да какие обиды, просто интересно было что послужило источником буквы Э в этом слове %) ладно проехали Я просто пытаюсь понять что физически означает: library work я думал это указание где искать библиотеку (или package указанный в use work.xxxx.all) это означает что все пакеты нужно искать в текущей рабочей либе. по умолчанию это либа носит название work, но никто не мешает вам назвать ее например pipa и подключить еще уже скомпилированную библиотеку popa; тогда вам нужно будет писать так library pipa; library popa; use pipa.const_pkg.all; use popa.func_pkg.all; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
AlexZabr 0 24 ноября, 2008 Опубликовано 24 ноября, 2008 · Жалоба да какие обиды, просто интересно было что послужило источником буквы Э в этом слове %) ладно проехали это означает что все пакеты нужно искать в текущей рабочей либе. по умолчанию это либа носит название work, но никто не мешает вам назвать ее например pipa и подключить еще уже скомпилированную библиотеку popa; тогда вам нужно будет писать так library pipa; library popa; use pipa.const_pkg.all; use popa.func_pkg.all; Понял, спасибо. Но сорс файлы содержащие эти packages должен находиться в библиотеках pipa и popa соответственно, так ? то что я пытаюсь понять это как эти библиотеки физически привязывать к директориям. Согласно уважаемому andrew_b это устновки конкретной среды, пока таковых не нашел в моей среде (ispLever). Буду стучаться в саппорт Латиса за пояснениями. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
des00 25 25 ноября, 2008 Опубликовано 25 ноября, 2008 · Жалоба то что я пытаюсь понять это как эти библиотеки физически привязывать к директориям. никак они к ним не привязываются. исходники компилируются в библиотеку с именем отличным от work. для поделок от ментора это будет vlog -work my_lib_pipa my_lib_pipa_file.v затем эта либа цепляется как внешняя при запуске моделирования/компиляции vcom -L my_lib_pipa my_lib_work_file.vhd vsim -L my_lib_pipa work.tb Это позволяет использовать уже скомпилированную готовую библиотеку. Точно также вы поступаете когда используете библиотеку готовых примитивов (например unisim/Xilinx, altera_mf/Altera и т.д.). Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться