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

 
 
2 страниц V   1 2 >  
Reply to this topicStart new topic
> modelsim /как создать библиотеку/, как создать свою библиотеку
billidean
сообщение Aug 14 2017, 03:20
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 228
Регистрация: 4-10-10
Из: г. Екатеринбург
Пользователь №: 59 925



Приветствую всех.
Интересует вопрос, как создать свою библиотеку из исходников, чтобы потом подключать её как library qwerty;
Проект будет компилиться и симулироваттся в моделсиме.
Например в xilinx ise есть возможность руками прям в проекте её сформировать, указав лишь папку с исходниками и требуемое имя.

Заранее спасибо за ответы.
Go to the top of the page
 
+Quote Post
novartis
сообщение Aug 14 2017, 04:24
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 361
Регистрация: 9-10-09
Из: Свердловский регион
Пользователь №: 52 845



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

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

vcom "super_exellent_source.vhd" -work jeka
vlog "bla_bla_bla_verilog.v" -work jeka
Компилишь таким образом нужные тебе исходники в свою библиотеку.
Теперь библитека уже не пустая.
Go to the top of the page
 
+Quote Post
Flip-fl0p
сообщение Aug 14 2017, 04:48
Сообщение #3


Местный
***

Группа: Участник
Сообщений: 395
Регистрация: 11-06-13
Пользователь №: 77 140



Я недавно занимался подобной задачей. https://electronix.ru/forum/index.php?showtopic=141291 В итоге плюнул на это гиблое дело. Библиотеку создал, файлы в неё скомпилировал. Но не нашел способа, чтобы библиотечные файлы автоматически подключались к проекту при симуляции. Надо это делать вручную....
Go to the top of the page
 
+Quote Post
novartis
сообщение Aug 14 2017, 05:03
Сообщение #4


Местный
***

Группа: Свой
Сообщений: 361
Регистрация: 9-10-09
Из: Свердловский регион
Пользователь №: 52 845



vsim work -L jeka -L lyb111 -L my_lib top_testbench.vhd
Будет запущена симуляция проекта с главным модулем top_testbench.vhd, к симуляции будут подключены библиотеки jeka, lyb111 и my_lib
Go to the top of the page
 
+Quote Post
Flip-fl0p
сообщение Aug 14 2017, 05:12
Сообщение #5


Местный
***

Группа: Участник
Сообщений: 395
Регистрация: 11-06-13
Пользователь №: 77 140



Цитата(novartis @ Aug 14 2017, 08:03) *
vsim work -L jeka -L lyb111 -L my_lib top_testbench.vhd
Будет запущена симуляция проекта с главным модулем top_testbench.vhd, к симуляции будут подключены библиотеки jeka, lyb111 и my_lib

А автоматически это можно как-то сделать ?
Я обычно запускаю Modelsim через Quartus и библиотеки в этом случае автоматом не подключатся. Может где скриптик какой подправить надо ?
Go to the top of the page
 
+Quote Post
novartis
сообщение Aug 14 2017, 05:15
Сообщение #6


Местный
***

Группа: Свой
Сообщений: 361
Регистрация: 9-10-09
Из: Свердловский регион
Пользователь №: 52 845



А я вообще ниразу так не запускал (Modelsim через Quartus) rolleyes.gif
Там tcl файл никакой не создается?

PS:
Запустил Modelsim через Quartus.
Создалась папка simulation, в ней modelsim. Прошла компиляция библиотек. И на этом всё, симуляция не стартанула.
Там есть top_run_msim_rtl_vhdl.do, но он только компилит, саму симуляцию не запускает.

Незнаю как с Modelsim через Quartus нужно работать....
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Aug 14 2017, 05:26
Сообщение #7


Профессионал
*****

Группа: Свой
Сообщений: 1 800
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



Цитата(novartis @ Aug 14 2017, 08:03) *
vsim work -L jeka -L lyb111 -L my_lib top_testbench.vhd
Будет запущена симуляция проекта с главным модулем top_testbench.vhd, к симуляции будут подключены библиотеки jeka, lyb111 и my_lib
Не будет. -L -- ключ для Верилога.

Цитата(Flip-fl0p @ Aug 14 2017, 08:12) *
А автоматически это можно как-то сделать ?
Я обычно запускаю 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 делает то же самое.
Go to the top of the page
 
+Quote Post
novartis
сообщение Aug 14 2017, 05:30
Сообщение #8


Местный
***

Группа: Свой
Сообщений: 361
Регистрация: 9-10-09
Из: Свердловский регион
Пользователь №: 52 845



Цитата
Не будет. -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
вот так правильнее
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Aug 14 2017, 06:21
Сообщение #9


Профессионал
*****

Группа: Свой
Сообщений: 1 800
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



Цитата(novartis @ Aug 14 2017, 08:30) *
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.
Go to the top of the page
 
+Quote Post
Flip-fl0p
сообщение Aug 14 2017, 06:23
Сообщение #10


Местный
***

Группа: Участник
Сообщений: 395
Регистрация: 11-06-13
Пользователь №: 77 140



Цитата(andrew_b @ Aug 14 2017, 08:26) *

Спасибо ! Но проблема в том что при запуске modelsim не генерируется ключик -L MY_LIB из-за чего моя библиотека просто не добавляется к проекту.
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Aug 14 2017, 07:19
Сообщение #11


Знающий
****

Группа: Свой
Сообщений: 914
Регистрация: 23-12-04
Пользователь №: 1 643



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

Если не хочется делать все ручками нужно поработать головой sm.gif
Все библиотеки создаем в общей корневой директории для библиотек например "./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.
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Aug 14 2017, 07:49
Сообщение #12


Профессионал
*****

Группа: Свой
Сообщений: 1 800
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



Цитата(Flip-fl0p @ Aug 14 2017, 09:23) *
Спасибо ! Но проблема в том что при запуске modelsim не генерируется ключик -L MY_LIB из-за чего моя библиотека просто не добавляется к проекту.

Блин, вы читаете, что я пишу? Если у вас проект в VHDL, ключ -L вам НЕ НУЖЕН. Бибилиотеку MY_LIB или прописываете в modelsim.ini вручную, или через команду vmap.
Go to the top of the page
 
+Quote Post
Flip-fl0p
сообщение Aug 14 2017, 08:09
Сообщение #13


Местный
***

Группа: Участник
Сообщений: 395
Регистрация: 11-06-13
Пользователь №: 77 140



Цитата(andrew_b @ Aug 14 2017, 10:49) *
Блин, вы читаете, что я пишу? Если у вас проект в VHDL, ключ -L вам НЕ НУЖЕН. Бибилиотеку MY_LIB или прописываете в modelsim.ini вручную, или через команду vmap.

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

Сообщение отредактировал Flip-fl0p - Aug 14 2017, 08:17
Go to the top of the page
 
+Quote Post
andrew_b
сообщение Aug 14 2017, 08:39
Сообщение #14


Профессионал
*****

Группа: Свой
Сообщений: 1 800
Регистрация: 30-12-04
Из: Воронеж
Пользователь №: 1 757



Цитата(Flip-fl0p @ Aug 14 2017, 11:09) *
Конечно читаю !
Похоже, вы перепутали тему. Перечитайте первое сообщение.

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

Цитата
P.S Давайте сделаем проще. Я напишу всю последовательность своих действий, и Вы потом скажете где я туплю ?
Вряд ли я могу что-то сказать. Я не делал сторонних библиотек для Квартуса.
Go to the top of the page
 
+Quote Post
Flip-fl0p
сообщение Aug 14 2017, 08:48
Сообщение #15


Местный
***

Группа: Участник
Сообщений: 395
Регистрация: 11-06-13
Пользователь №: 77 140



Цитата(andrew_b @ Aug 14 2017, 11:39) *
Похоже, вы перепутали тему. Перечитайте первое сообщение.

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

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

Как время появится буду пробовать что посоветовал товарищ RobFPGA rolleyes.gif
P.S пора бы мне начать изучать TCL

Сообщение отредактировал Flip-fl0p - Aug 14 2017, 08:48
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 23rd September 2017 - 23:50
Рейтинг@Mail.ru


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