billidean 0 14 августа, 2017 Опубликовано 14 августа, 2017 · Жалоба Приветствую всех. Интересует вопрос, как создать свою библиотеку из исходников, чтобы потом подключать её как library qwerty; Проект будет компилиться и симулироваттся в моделсиме. Например в xilinx ise есть возможность руками прям в проекте её сформировать, указав лишь папку с исходниками и требуемое имя. Заранее спасибо за ответы. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
novartis 0 14 августа, 2017 Опубликовано 14 августа, 2017 · Жалоба В моделсиме создаешь библиотеку: vlib jeka В корневой папке проекта появится папка jeka, там будет лежать файл _info. vmap jeka Мапишь библиотеку в моделсим, она появится в структуре всех библиотек, но будет пустой. vcom "super_exellent_source.vhd" -work jeka vlog "bla_bla_bla_verilog.v" -work jeka Компилишь таким образом нужные тебе исходники в свою библиотеку. Теперь библитека уже не пустая. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flip-fl0p 4 14 августа, 2017 Опубликовано 14 августа, 2017 · Жалоба Я недавно занимался подобной задачей. https://electronix.ru/forum/index.php?showtopic=141291 В итоге плюнул на это гиблое дело. Библиотеку создал, файлы в неё скомпилировал. Но не нашел способа, чтобы библиотечные файлы автоматически подключались к проекту при симуляции. Надо это делать вручную.... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
novartis 0 14 августа, 2017 Опубликовано 14 августа, 2017 · Жалоба vsim work -L jeka -L lyb111 -L my_lib top_testbench.vhd Будет запущена симуляция проекта с главным модулем top_testbench.vhd, к симуляции будут подключены библиотеки jeka, lyb111 и my_lib Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flip-fl0p 4 14 августа, 2017 Опубликовано 14 августа, 2017 · Жалоба vsim work -L jeka -L lyb111 -L my_lib top_testbench.vhd Будет запущена симуляция проекта с главным модулем top_testbench.vhd, к симуляции будут подключены библиотеки jeka, lyb111 и my_lib А автоматически это можно как-то сделать ? Я обычно запускаю Modelsim через Quartus и библиотеки в этом случае автоматом не подключатся. Может где скриптик какой подправить надо ? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
novartis 0 14 августа, 2017 Опубликовано 14 августа, 2017 · Жалоба А я вообще ниразу так не запускал (Modelsim через Quartus) :rolleyes: Там tcl файл никакой не создается? PS: Запустил Modelsim через Quartus. Создалась папка simulation, в ней modelsim. Прошла компиляция библиотек. И на этом всё, симуляция не стартанула. Там есть top_run_msim_rtl_vhdl.do, но он только компилит, саму симуляцию не запускает. Незнаю как с Modelsim через Quartus нужно работать.... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 16 14 августа, 2017 Опубликовано 14 августа, 2017 · Жалоба vsim work -L jeka -L lyb111 -L my_lib top_testbench.vhd Будет запущена симуляция проекта с главным модулем top_testbench.vhd, к симуляции будут подключены библиотеки jeka, lyb111 и my_lib Не будет. -L -- ключ для Верилога. А автоматически это можно как-то сделать ? Я обычно запускаю Modelsim через Quartus и библиотеки в этом случае автоматом не подключатся. Может где скриптик какой подправить надо ? В modelsim.ini [library] simprim = $VHDL_LIB/simprim unisim = $VHDL_LIB/unisim XilinxCoreLib = $VHDL_LIB/XilinxCoreLib altera = $VHDL_LIB/altera altera_mf = $VHDL_LIB/altera_mf altera_lnsim = $VHDL_LIB/altera_lnsim lpm = $VHDL_LIB/lpm VHDL_LIB - переменная окружения, указывающая на каталог с библиотеками. Можно и захардкодить [library] simprim = /opt/vhdl/lib/simprim но не нужно. Команда vmap делает то же самое. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
novartis 0 14 августа, 2017 Опубликовано 14 августа, 2017 · Жалоба Не будет. -L -- ключ для Верилога. ModelSim® Command Reference Manual: -L <library_name> … (optional) Specifies the library to search for design units instantiated from Verilog and for VHDL default component binding. Refer to “Library Usage” for more information. If multiple libraries are specified, each must be preceded by the -L option. Libraries are searched in the order in which they appear on the command line. Я там ошибся: vsim work -L jeka -L lyb111 -L my_lib top_testbench вот так правильнее Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 16 14 августа, 2017 Опубликовано 14 августа, 2017 · Жалоба ModelSim® Command Reference Manual: -L <library_name> … (optional) Specifies the library to search for design units instantiated from Verilog and for VHDL default component binding. Refer to "Library Usage" for more information. If multiple libraries are specified, each must be preceded by the -L option. Libraries are searched in the order in which they appear on the command line. Я в выводе `vsim -help` вижу, что это ключ описан в разделе "Verilog options". Сколько я ни пользовался Моделсимом, я никогда не использовал этот ключ. Он нужен для того, чтобы в проекте на Верилоге использовать компоненты, описанные на VHDL. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flip-fl0p 4 14 августа, 2017 Опубликовано 14 августа, 2017 · Жалоба Спасибо ! Но проблема в том что при запуске modelsim не генерируется ключик -L MY_LIB из-за чего моя библиотека просто не добавляется к проекту. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
RobFPGA 33 14 августа, 2017 Опубликовано 14 августа, 2017 · Жалоба Приветствую! Если не хочется делать все ручками нужно поработать головой :) Все библиотеки создаем в общей корневой директории для библиотек например "./libs" vlib ./libs vlib ./libs/jeka vmap jeka ./libs/jeka .... Пишем скриптик очень похожий на приведенные ниже и грузим его например автоматом при запуске через "Startup = do mk_tb_libs.tcl" в modelsim.ini proc mk_tb_libs {{dirname "./libs"} {fname "./tb_libs.f"}} { if {[catch {set libs [glob -directory $dirname -type d *]}]==1} { set libs "" } set fou [open $fname w] foreach lib $libs { set lib_name [file tail ${lib}] puts $fou "-L ${lib_name}" } close $fou } Ну а теперь легким движением рук запускаем сим со всеми либами alias sim_jeka { mk_tb_libs "./libs" "./tb_jeka_libs.f" vsim -f "./tb_jeka_libs.f" \ .... другие опции \ tb_jeka } Успехов! Rob. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 16 14 августа, 2017 Опубликовано 14 августа, 2017 · Жалоба Спасибо ! Но проблема в том что при запуске modelsim не генерируется ключик -L MY_LIB из-за чего моя библиотека просто не добавляется к проекту. Блин, вы читаете, что я пишу? Если у вас проект в VHDL, ключ -L вам НЕ НУЖЕН. Бибилиотеку MY_LIB или прописываете в modelsim.ini вручную, или через команду vmap. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flip-fl0p 4 14 августа, 2017 Опубликовано 14 августа, 2017 (изменено) · Жалоба Блин, вы читаете, что я пишу? Если у вас проект в VHDL, ключ -L вам НЕ НУЖЕН. Бибилиотеку MY_LIB или прописываете в modelsim.ini вручную, или через команду vmap. Конечно читаю ! Библиотека прописана в modelism, скомпилирована. Но компоненты из этой библиотеки не добавляются в проект при запуске моделирования через quartus => как следствие компонент из этой библиотеки не находиться => ошибка симуляции. Может мы просто о разных вещах говорим ? P.S Давайте сделаем проще. Я напишу всю последовательность своих действий, и Вы потом скажете где я туплю ? Изменено 14 августа, 2017 пользователем Flip-fl0p Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 16 14 августа, 2017 Опубликовано 14 августа, 2017 · Жалоба Конечно читаю !Похоже, вы перепутали тему. Перечитайте первое сообщение. Библиотека прописана в modelism, скомпилирована. Но компоненты из этой библиотеки не добавляются в проект при запуске моделирования через quartus => как следствие компонент из этой библиотеки не находиться => ошибка симуляции. Может мы просто о разных вещах говорим ?Да, мы говорим о разных вещах. Ваша тема про библиотеки другая. P.S Давайте сделаем проще. Я напишу всю последовательность своих действий, и Вы потом скажете где я туплю ?Вряд ли я могу что-то сказать. Я не делал сторонних библиотек для Квартуса. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Flip-fl0p 4 14 августа, 2017 Опубликовано 14 августа, 2017 (изменено) · Жалоба Похоже, вы перепутали тему. Перечитайте первое сообщение. Да, мы говорим о разных вещах. Ваша тема про библиотеки другая. Вряд ли я могу что-то сказать. Я не делал сторонних библиотек для Квартуса. Как время появится буду пробовать что посоветовал товарищ RobFPGA :rolleyes: P.S пора бы мне начать изучать TCL Изменено 14 августа, 2017 пользователем Flip-fl0p Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться