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

 
 
2 страниц V  < 1 2  
Reply to this topicStart new topic
> tcl на FPGA, Использование tcl при разработке на FPGA
AnatolySh
сообщение Apr 6 2018, 14:05
Сообщение #16


Частый гость
**

Группа: Свой
Сообщений: 92
Регистрация: 20-01-06
Из: Зеленоград
Пользователь №: 13 407



Кстати, у Альтеры есть презентация по теме: Quartus II Software Tcl Scripting (ODSW1190)
И прямая ссылка на материалы для тех, кто не хочет регистрироваться.


--------------------
WMBR
Go to the top of the page
 
+Quote Post
Tpeck
сообщение May 8 2018, 12:46
Сообщение #17


Местный
***

Группа: Свой
Сообщений: 304
Регистрация: 14-03-06
Пользователь №: 15 243



Цитата(Kuzmi4 @ Apr 5 2018, 10:53) *
В догонку от того же товарища на гитхабе:
TCL scripts for FPGA (Xilinx)

А можно запустить скрипт без помощи Vivado (tool->Run tcl script), с помощью батника например?
Спасибо за помощь.
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение May 8 2018, 12:59
Сообщение #18


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

Группа: Свой
Сообщений: 1 198
Регистрация: 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.
Go to the top of the page
 
+Quote Post
Tpeck
сообщение May 8 2018, 14:04
Сообщение #19


Местный
***

Группа: Свой
Сообщений: 304
Регистрация: 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?
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение May 8 2018, 14:15
Сообщение #20


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

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



Приветствую!
Цитата(Tpeck @ May 8 2018, 17:04) *
Да. Спасибо. Получилось.
А зачем нужны аргументы arg1 и arg2?

А чтобы было ... sm.gif ... в качестве параметров при запуске script.tcl

Удачи! Rob.
Go to the top of the page
 
+Quote Post
Marat Zuev
сообщение May 10 2018, 12:38
Сообщение #21


Участник
*

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



И, вроде, вот это ещё не упоминали: Quartus Prime and Quartus II Software Scripting Support )


--------------------
--
С наилучшими пожеланиями, Marat.
Go to the top of the page
 
+Quote Post
Alexey_Rostov
сообщение May 13 2018, 10:03
Сообщение #22


Местный
***

Группа: Свой
Сообщений: 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
 
Go to the top of the page
 
+Quote Post
Shivers
сообщение May 13 2018, 18:43
Сообщение #23


Знающий
****

Группа: Свой
Сообщений: 680
Регистрация: 11-02-08
Из: Msk
Пользователь №: 34 950



Так а в чем проблема? Файл D:/example_1v/project_1/project_1.srcs действительно уже есть на диске, и попытка его перезаписи приводит к ошибке? Ну так удаляйте его каждый раз прямо в теле скрипта
rm -f D:/example_1v/project_1/project_1.srcs
Go to the top of the page
 
+Quote Post
Alexey_Rostov
сообщение May 13 2018, 23:09
Сообщение #24


Местный
***

Группа: Свой
Сообщений: 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.
Go to the top of the page
 
+Quote Post
Opex
сообщение May 14 2018, 06:33
Сообщение #25


Частый гость
**

Группа: Свой
Сообщений: 75
Регистрация: 13-03-11
Из: Екатеринбург
Пользователь №: 63 574



Папка project_1/project_1.src управляется средой, поэтому при создании проекта из скрипта перезаписывается. Исходники можно перенести в другую папку, при создании файла write_prj.tcl будут ссылки на файлы в ней, руками править не нужно.


Go to the top of the page
 
+Quote Post
Alexey_Rostov
сообщение May 14 2018, 09:24
Сообщение #26


Местный
***

Группа: Свой
Сообщений: 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?
Go to the top of the page
 
+Quote Post
RobFPGA
сообщение May 14 2018, 09:33
Сообщение #27


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

Группа: Свой
Сообщений: 1 198
Регистрация: 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.
Go to the top of the page
 
+Quote Post
Alexey_Rostov
сообщение May 14 2018, 11:09
Сообщение #28


Местный
***

Группа: Свой
Сообщений: 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, когда импортируем файлы без копирования!
Go to the top of the page
 
+Quote Post
R6L-025
сообщение May 14 2018, 19:12
Сообщение #29


Частый гость
**

Группа: Свой
Сообщений: 76
Регистрация: 8-04-11
Из: Ростов-на-Дону
Пользователь №: 64 227



Использую tcl для парсинга verilog кода. Удобно из кода получать готовые сишные хедеры со всеми смещениями внутри SystemVerilog'ских структур, именованными константами размеров массивов, смещений шин в памяти и пр.
Go to the top of the page
 
+Quote Post

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

 


RSS Текстовая версия Сейчас: 20th September 2018 - 21:48
Рейтинг@Mail.ru


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