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

modelsim /как создать библиотеку/

Приветствую всех.

Интересует вопрос, как создать свою библиотеку из исходников, чтобы потом подключать её как library qwerty;

Проект будет компилиться и симулироваттся в моделсиме.

Например в xilinx ise есть возможность руками прям в проекте её сформировать, указав лишь папку с исходниками и требуемое имя.

 

Заранее спасибо за ответы.

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


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

В моделсиме создаешь библиотеку:

vlib jeka

В корневой папке проекта появится папка jeka, там будет лежать файл _info.

 

vmap jeka

Мапишь библиотеку в моделсим, она появится в структуре всех библиотек, но будет пустой.

 

vcom "super_exellent_source.vhd" -work jeka

vlog "bla_bla_bla_verilog.v" -work jeka

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

Теперь библитека уже не пустая.

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


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

Я недавно занимался подобной задачей. https://electronix.ru/forum/index.php?showtopic=141291 В итоге плюнул на это гиблое дело. Библиотеку создал, файлы в неё скомпилировал. Но не нашел способа, чтобы библиотечные файлы автоматически подключались к проекту при симуляции. Надо это делать вручную....

 

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


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

vsim work -L jeka -L lyb111 -L my_lib top_testbench.vhd

Будет запущена симуляция проекта с главным модулем top_testbench.vhd, к симуляции будут подключены библиотеки jeka, lyb111 и my_lib

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


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

vsim work -L jeka -L lyb111 -L my_lib top_testbench.vhd

Будет запущена симуляция проекта с главным модулем top_testbench.vhd, к симуляции будут подключены библиотеки jeka, lyb111 и my_lib

А автоматически это можно как-то сделать ?

Я обычно запускаю Modelsim через Quartus и библиотеки в этом случае автоматом не подключатся. Может где скриптик какой подправить надо ?

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


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

А я вообще ниразу так не запускал (Modelsim через Quartus) :rolleyes:

Там tcl файл никакой не создается?

 

PS:

Запустил Modelsim через Quartus.

Создалась папка simulation, в ней modelsim. Прошла компиляция библиотек. И на этом всё, симуляция не стартанула.

Там есть top_run_msim_rtl_vhdl.do, но он только компилит, саму симуляцию не запускает.

 

Незнаю как с Modelsim через Quartus нужно работать....

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


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

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 делает то же самое.

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


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

Не будет. -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

вот так правильнее

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


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

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.

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


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

Спасибо ! Но проблема в том что при запуске modelsim не генерируется ключик -L MY_LIB из-за чего моя библиотека просто не добавляется к проекту.

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


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

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

 

Если не хочется делать все ручками нужно поработать головой :)

Все библиотеки создаем в общей корневой директории для библиотек например "./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.

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


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

Спасибо ! Но проблема в том что при запуске modelsim не генерируется ключик -L MY_LIB из-за чего моя библиотека просто не добавляется к проекту.

Блин, вы читаете, что я пишу? Если у вас проект в VHDL, ключ -L вам НЕ НУЖЕН. Бибилиотеку MY_LIB или прописываете в modelsim.ini вручную, или через команду vmap.

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


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

Блин, вы читаете, что я пишу? Если у вас проект в VHDL, ключ -L вам НЕ НУЖЕН. Бибилиотеку MY_LIB или прописываете в modelsim.ini вручную, или через команду vmap.

Конечно читаю ! Библиотека прописана в modelism, скомпилирована. Но компоненты из этой библиотеки не добавляются в проект при запуске моделирования через quartus => как следствие компонент из этой библиотеки не находиться => ошибка симуляции. Может мы просто о разных вещах говорим ?

P.S Давайте сделаем проще. Я напишу всю последовательность своих действий, и Вы потом скажете где я туплю ?

Изменено пользователем Flip-fl0p

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


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

Конечно читаю !
Похоже, вы перепутали тему. Перечитайте первое сообщение.

 

Библиотека прописана в modelism, скомпилирована. Но компоненты из этой библиотеки не добавляются в проект при запуске моделирования через quartus => как следствие компонент из этой библиотеки не находиться => ошибка симуляции. Может мы просто о разных вещах говорим ?
Да, мы говорим о разных вещах. Ваша тема про библиотеки другая.

 

P.S Давайте сделаем проще. Я напишу всю последовательность своих действий, и Вы потом скажете где я туплю ?
Вряд ли я могу что-то сказать. Я не делал сторонних библиотек для Квартуса.

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


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

Похоже, вы перепутали тему. Перечитайте первое сообщение.

 

Да, мы говорим о разных вещах. Ваша тема про библиотеки другая.

 

Вряд ли я могу что-то сказать. Я не делал сторонних библиотек для Квартуса.

Как время появится буду пробовать что посоветовал товарищ RobFPGA :rolleyes:

P.S пора бы мне начать изучать TCL

Изменено пользователем Flip-fl0p

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


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

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

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

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

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

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

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

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

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

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