|
tcl на FPGA, Использование tcl при разработке на FPGA |
|
|
|
May 8 2018, 12:46
|
Местный
  
Группа: Свой
Сообщений: 307
Регистрация: 14-03-06
Пользователь №: 15 243

|
Цитата(Kuzmi4 @ Apr 5 2018, 10:53)  В догонку от того же товарища на гитхабе: TCL scripts for FPGA (Xilinx)А можно запустить скрипт без помощи Vivado (tool->Run tcl script), с помощью батника например? Спасибо за помощь.
|
|
|
|
|
May 8 2018, 12:59
|
Профессионал
    
Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643

|
Приветствую! Цитата(Tpeck @ May 8 2018, 15:46)  А можно запустить скрипт без помощи Vivado (tool->Run tcl script), с помощью батника например? Спасибо за помощь. Скрит для Vivado? Код vivado -help vivado -mode tcl -source script.tcl [-tclargs arg1 arg2] vivado -mode batch -source script.tcl [-tclargs arg1 arg2] Удачи! Rob.
|
|
|
|
|
May 8 2018, 14:04
|
Местный
  
Группа: Свой
Сообщений: 307
Регистрация: 14-03-06
Пользователь №: 15 243

|
Цитата(RobFPGA @ May 8 2018, 15:59)  Приветствую! Скрит для Vivado? Код vivado -help vivado -mode tcl -source script.tcl [-tclargs arg1 arg2] vivado -mode batch -source script.tcl [-tclargs arg1 arg2] Удачи! Rob. Да. Спасибо. Получилось. А зачем нужны аргументы arg1 и arg2?
|
|
|
|
|
May 8 2018, 14:15
|
Профессионал
    
Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643

|
Приветствую! Цитата(Tpeck @ May 8 2018, 17:04)  Да. Спасибо. Получилось. А зачем нужны аргументы arg1 и arg2? А чтобы было ...  ... в качестве параметров при запуске script.tcl Удачи! Rob.
|
|
|
|
|
May 10 2018, 12:38
|
Участник

Группа: Участник
Сообщений: 38
Регистрация: 8-05-18
Пользователь №: 103 834

|
--------------------
-- С наилучшими пожеланиями, Marat.
|
|
|
|
|
May 13 2018, 10:03
|
Местный
  
Группа: Свой
Сообщений: 236
Регистрация: 28-06-13
Из: Минск, Беларусь
Пользователь №: 77 312

|
Использую tcl в системе контроля версий для сборки проекта из исходников репозитория, скопированных в локальную папку. В локальную папку из репозитория залил write_project.tcl файл, полученный из vivado, и набор исходников в папке .../project_1/project_1.src/source_1/new/ Запуск tcl скрипта должен привести к сборке проекта с исходниками в папке project_1/project_1.src/source_1/new/ Но после запуска появляется ошибка CODE ERROR: [Common 17-53] User Exception: Project already exists on disk, please use '-force' option to overwrite: D:/example_1v/project_1/project_1.srcs если добавлю -force, то папка project_1/project_1.src/source_1/new/ с исходниками удаляется. В скрипте добавление файлов прописано CODE # Set 'sources_1' fileset object set obj [get_filesets sources_1] set files [list \ "[file normalize "$origin_dir/project_1/project_1.srcs/sources_1/new/BRAM_Memory_24x24.v"]"\ "[file normalize "$origin_dir/project_1/project_1.srcs/sources_1/new/kernel_3x3.v"]"\ ]
add_files -norecurse -fileset $obj $files Если исходники вынесу по адресу $origin_dir/project_1.srcs/sources_1/new/ , т.е. за пределы папки project_1 и отредактирую пути в скрипте, то новым проектом файлы подхватываются, но каталог project_1.srcs будет находится за пределами папки project_1. Как отредактировать tcl файл, чтобы происходила сборка проекта в требуемом каталоге с исходниками на своих местах? tcl файл прилагаю.
Прикрепленные файлы
write.rar ( 1.99 килобайт )
Кол-во скачиваний: 7
|
|
|
|
|
May 13 2018, 23:09
|
Местный
  
Группа: Свой
Сообщений: 236
Регистрация: 28-06-13
Из: Минск, Беларусь
Пользователь №: 77 312

|
Цитата(Shivers @ May 13 2018, 21:43)  Так а в чем проблема? Файл D:/example_1v/project_1/project_1.srcs действительно уже есть на диске, и попытка его перезаписи приводит к ошибке? Ну так удаляйте его каждый раз прямо в теле скрипта rm -f D:/example_1v/project_1/project_1.srcs Хотелось бы: 1. Получить из репозитория в локальную папку example_1v файлы : project_1/project_1.src/... и write_prj.tcl. 2. Запустить write_prj.tcl и получить готовый проект в каталоге project_1 со всеми остальными папками .src, .sim и т.д., и подхваченными исходниками без лишних манипуляций с файлами исходниками. По первому пункту вопросов нет, по второму - требуются дополнительные манипуляции с файлами исходниками в tcl файле и локальной папке example_1v.
|
|
|
|
|
May 14 2018, 09:24
|
Местный
  
Группа: Свой
Сообщений: 236
Регистрация: 28-06-13
Из: Минск, Беларусь
Пользователь №: 77 312

|
Цитата(Opex @ May 14 2018, 09:33)  Папка project_1/project_1.src управляется средой, поэтому при создании проекта из скрипта перезаписывается. Исходники можно перенести в другую папку, при создании файла write_prj.tcl будут ссылки на файлы в ней, руками править не нужно. Хорошо, перенес я например исходники в папку project_1/verilog, в скрипте указал, что исходники находятся в данной папке, после запуска скрипта получил проект со скопированными исходниками в папке project_1.src. В процессе работы начинаются правки исходников в папке project_1.src. Делаю commit текущих исходников, в репозитории они сохранятся в project_1/project_1.src. Потом при клонировании репозитория необходимо будет опять переносить исходники в папку project_1/verilog, запускать скрипт для создания проекта. Можно ли обойтись без данных манипуляций с переносом в папку project_1/verilog?
|
|
|
|
|
May 14 2018, 09:33
|
Профессионал
    
Группа: Свой
Сообщений: 1 214
Регистрация: 23-12-04
Пользователь №: 1 643

|
Приветствую! Цитата(Alexey_Rostov @ May 14 2018, 12:24)  Хорошо, перенес я например исходники в папку project_1/verilog, в скрипте указал, что исходники находятся в данной папке, после запуска скрипта получил проект со скопированными исходниками в папке project_1.src. ... Если Вы в скрипте делаете add_files ... а не import_files ... то исходники остаются там где и были и не переносятся в project_1.src. В проекте в таком случае будут линки на project_1/verilog/file... Удачи! Rob.
|
|
|
|
|
May 14 2018, 11:09
|
Местный
  
Группа: Свой
Сообщений: 236
Регистрация: 28-06-13
Из: Минск, Беларусь
Пользователь №: 77 312

|
Цитата(RobFPGA @ May 14 2018, 12:33)  Приветствую! Если Вы в скрипте делаете add_files ... а не import_files ... то исходники остаются там где и были и не переносятся в project_1.src. В проекте в таком случае будут линки на project_1/verilog/file...
Удачи! Rob. Спасибо! уже догадался: команды из GUI для tcl, когда импортируем файлы без копирования!
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|