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

 
 
 
Reply to this topicStart new topic
> Можно ли сделать параметризуемый include?, Vivado+Modelsim
Koluchiy
сообщение Mar 6 2018, 11:54
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 961
Регистрация: 12-04-09
Из: Москва
Пользователь №: 47 543



Здравствуйте, уважаемые.

Есть верилоговский проект в Vivado 2016.4, который симулируется в Modelsim/Questa.
Его параметры сложены в отдельный файл, который подцеплен куда надо через `include.
В `include задаю полный путь, т.к. понятие текущего пути в Вивадо - темная ересь.

В общем, вышеописанным способом работает нормально и компиляция, и симуляция.

Теперь появилась необходимость периодически перекидывать проект на другой компьютер, где он будет располагаться по другому пути.
Вот думаю, как сделать так, чтобы не пришлось все include всего проекта менять туда-сюда.

Чего пробовал:
1) Задавать константу define в глобальном файле (IS_GLOBAL_INCLUDE) и делать include на эту константу. Не работает, Vivado при синтезе пишет, что константа не определена.
2) Задавать нужные параметры в глобальном файле, include не делать. Не работает, Моделсим глобального файла не видит.
3) Класть файл с определениями в "текущий путь" проекта. Не работает, Vivado не видит этого файла, т.к. в процессе синтеза vivado меняет текущий путь.

В общем, мне кажется наиболее перспективным п.2, но надо как-то дать понять Моделсиму, что есть глобальный файл.

Ну или другие советы велкам sm.gif.
Go to the top of the page
 
+Quote Post
yes
сообщение Mar 6 2018, 12:37
Сообщение #2


Гуру
******

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



я для подобных извращений использовал git - то есть два бранча, ну и соответственно файлы с этим инклудом требуют отдельного внимания, чтобы не закомитилось в другую ветку
но это для дома/семьи, в серьезном бизнесе так не делают sm.gif
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Mar 6 2018, 12:41
Сообщение #3


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

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



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

Цитата(Koluchiy @ Mar 6 2018, 14:54) *
...
Есть верилоговский проект в Vivado 2016.4, который симулируется в Modelsim/Questa.
Его параметры сложены в отдельный файл, который подцеплен куда надо через `include.
В `include задаю полный путь, т.к. понятие текущего пути в Вивадо - темная ересь.
...

Ну не совсем уж и ересь - пути где искать include задаются в настройках проекта Vivado
или командой set_property INCLUDE_DIRS "..." в скрипте или tcl консоли.
Похоже задаются пути поиска include и в Modelsim/Questa через опцию в командной строке.

Удачи! Rob.


Go to the top of the page
 
+Quote Post
Koluchiy
сообщение Mar 6 2018, 14:11
Сообщение #4


Знающий
****

Группа: Свой
Сообщений: 961
Регистрация: 12-04-09
Из: Москва
Пользователь №: 47 543



А как-то можно сделать, чтобы global include файлы автоматом передавались в Моделсим именно в таком качестве, т.е. чтобы их не надо было инклюдить?
Или для этого надо создавать библиотеку?
Go to the top of the page
 
+Quote Post
_Ivan_33
сообщение Mar 6 2018, 14:37
Сообщение #5


fpga designer
****

Группа: Свой
Сообщений: 608
Регистрация: 20-04-08
Из: Зеленоград
Пользователь №: 36 928



может пункт 4 - http://www.fpgadeveloper.com/2014/08/versi...o-projects.html - скриптами переносить проект?


--------------------
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Mar 6 2018, 15:00
Сообщение #6


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

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



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

Цитата(Koluchiy @ Mar 6 2018, 17:11) *
А как-то можно сделать, чтобы global include файлы автоматом передавались в Моделсим именно в таком качестве, т.е. чтобы их не надо было инклюдить?
Или для этого надо создавать библиотеку?

Не понятно что Вы имели ввиду под "...автоматом передавались в Моделсим... "

Лежат где то у Вас эти фалы ..../daleko/v_zho/file1.vh ..../eshe_glubge/v_zho/file2.vh
ну так и скажите modelsim где искать из - vlog ... +incdir+"..../daleko/v_zho" +incdir+"..../eshe_glubzhe/v_zho" ...
А еще лучше засунуть все это в файл настроек kucha_mala.f
и скормить его в modelsim vlog -f ./kucha_mala.f ...
или даже vlog -F ./kucha_mala.f
В последнем случае modesim относительные пути в kucha_mala превратит в абсолютные.
Но -F только в последних версиях поддерживается

Удачи! Rob.
Go to the top of the page
 
+Quote Post
Koluchiy
сообщение Mar 6 2018, 15:23
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 961
Регистрация: 12-04-09
Из: Москва
Пользователь №: 47 543



Цитата(RobFPGA @ Mar 6 2018, 19:00) *
Приветствую!


Не понятно что Вы имели ввиду под "...автоматом передавались в Моделсим... "


Это чтобы не надо было передавать дополнительные скрипты и параметры. Чтобы всё делал Вивадо на основании того, какие файлы обозначены в проекте как global_include.
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение Mar 6 2018, 15:51
Сообщение #8


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

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



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

Цитата(Koluchiy @ Mar 6 2018, 18:23) *
Это чтобы не надо было передавать дополнительные скрипты и параметры. Чтобы всё делал Вивадо на основании того, какие файлы обозначены в проекте как global_include.

Честно говоря не знаю.
Так как интерфейс Vivado "живой" и постоянно что то меняется то я стараюсь не зависеть от настроения неизвестных индийский программистов - поэтому структуру проекта стараюсь контролировать самостоятельно.
Соответственно есть набор скриптов который помогает в этом - создать/пересоздать проект, скомпилировать и запустить сим, подключить сигналы к debuger и.т.д ...

Кстати ни кто не мешает Вам написать скрипт который будет делать эту грязную работу так как именно Вам требуется и загружать его автоматом при старте Vivado.
И тогда Vivado будет делать все за Вас. sm.gif (может даже и дизайнить - если Вы в скрипт ИИ запрограммируете)

Удачи! Rob
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 19th July 2018 - 07:29
Рейтинг@Mail.ru


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