Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Можно ли сделать параметризуемый include?
Форум разработчиков электроники ELECTRONIX.ru > Программируемая логика ПЛИС (FPGA,CPLD, PLD) > Среды разработки - обсуждаем САПРы
Koluchiy
Здравствуйте, уважаемые.

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

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

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

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

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

Ну или другие советы велкам sm.gif.
yes
я для подобных извращений использовал git - то есть два бранча, ну и соответственно файлы с этим инклудом требуют отдельного внимания, чтобы не закомитилось в другую ветку
но это для дома/семьи, в серьезном бизнесе так не делают sm.gif
RobFPGA
Приветствую!

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

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

Удачи! Rob.


Koluchiy
А как-то можно сделать, чтобы global include файлы автоматом передавались в Моделсим именно в таком качестве, т.е. чтобы их не надо было инклюдить?
Или для этого надо создавать библиотеку?
_Ivan_33
может пункт 4 - http://www.fpgadeveloper.com/2014/08/versi...o-projects.html - скриптами переносить проект?
RobFPGA
Приветствую!

Цитата(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.
Koluchiy
Цитата(RobFPGA @ Mar 6 2018, 19:00) *
Приветствую!


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


Это чтобы не надо было передавать дополнительные скрипты и параметры. Чтобы всё делал Вивадо на основании того, какие файлы обозначены в проекте как global_include.
RobFPGA
Приветствую!

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

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

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

Удачи! Rob
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.