Советы
Note!: Все команды вводятся в интерпретаторе TCL в интерактивном или пакетном режимах.
Включение мультипроцессорности
set_param general.maxThreads <значение>
можно задавать значение от 1 до 8 ядер.
Справка по командам выбранной категории
help -category <категория>
Справка по командам
read_xdc -help
Мониторинг параметров среды
% report_param
Name Value Type Description
bd.useOldFindObjs 0 boolean If set to true tool will use previous implementation of find_bd_objs for relation connected_to and connected_to_hierip.
general.maxThreads 8 integer Maximum threads created for Vivado Value should be >= 1 and <= 8
gui.enableImprovedElfAssociationDialog 1 boolean When true use the new improved elf association dialog box. Default is true
labtools.hw_server_timeout 120 integer Parameter to control the wait to connect to hw_server timeout in seconds
labtools.ila.autoCloseIlaData 1 boolean Automatically close ILA data objects when associated WCFG closes
labtools.set_target_frequency string Parameter to set target frequency
labtools.use_vcse_server 0 boolean When enabled the connect_hw_server command will start the legacy vcse_server and conect to the server otherwise vcse_server will not be used
simulator.compiled_library_dir string Directory containing compiled simulation libraries
tcl.collectionResultDisplayLimit 500 integer Maximum number of elements that can be displayed by any commands that display a collection. Make unlimited with limit set to 0. (default: 500)
tcl.statsThreshold 5 integer Display runtime and memory stats for any command that runs longer than this threshold specified in seconds. Disable with threshold < 0. (default: 5)
Изменение подробности вывода лога/выключение лога
Note!: делаем осторожно - важное не выключаем!
set_param messaging.defaultLimit 1000
- установка глобального лимита сообщений по умолчанию
set_msg_config -suppress -id {[Synth 8-5544]}
- в данном случае полностью выключается вывод информационного сообщения с ID типа “INFO: [Synth 8-5544]”
set MSG_LIMIT 10
set_msg_config -id {[Synth 8-3331]} -limit $MSG_LIMIT
- в данном случае вывод информационного сообщения с ID типа “INFO: [Synth 8-3331]” ограничивается выводом первых 10-ти сообщений
set_property SEVERITY {Warning} [get_drc_checks LUTLP-1]
- для интерпретации проверки на DRC c ID “LUTLP-1” как предупреждения, вместо критического предупреждения (позволяет получить битстрим, если вы действительно уверены, что в дизайне необходимы комбинационные петли)
Выключение некоторых DRC-проверок
В некоторых ситуациях необходимо выключить определенные типы DRC-проверок, сделать это можно следующим образом:
set_property is_enabled false [get_drc_checks REQP-119]
вот мой полный список отключенных проверок:
set_property is_enabled false [get_drc_checks REQP-119]
set_property is_enabled false [get_drc_checks REQP-1839]
set_property is_enabled false [get_drc_checks DPIP-1]
set_property is_enabled false [get_drc_checks DPOP-1]
set_property is_enabled false [get_drc_checks REQP-1577]
set_property is_enabled false [get_drc_checks REQP-165]
set_property is_enabled false [get_drc_checks REQP-14]
set_property is_enabled false [get_drc_checks RPBF-3]
set_property is_enabled false [get_drc_checks RPBF-4]
Добавление временной метки в битстрим
##### ddddd_MMMM_yyyyyy_hhhhh_mmmmmm_ssssss
##### (bit 31)......................(bit 0)
set_property BITSTREAM.CONFIG.USR_ACCESS TIMESTAMP [current_design]
report_property [current_design] BITSTREAM.CONFIG.USR_ACCESS
- для добавления таймштампа в примитив USR_ACCESS
Использование внешних переменных среды в TCL
$env(USER)
- обращение к переменной $USER в shell
if {![info exists env(USER)]} { ... }
- проверка существования переменной $USER в shell
Вызов одного скрипта из другого
source ../filter.tcl
Выполнение shell-команды из скрипта
exec cp -f ${PROJ}.bit ~/smb-share
- копировать с перезаписью, если файл уже существует