- Советы
- Включение мультипроцессорности
- Справка по командам выбранной категории
- Справка по командам
- Мониторинг параметров среды
- Изменение подробности вывода лога/выключение лога
- Выключение некоторых DRC-проверок
- Добавление временной метки в битстрим
- Использование внешних переменных среды в TCL
- Вызов одного скрипта из другого
- Выполнение shell-команды из скрипта
Советы
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
— копировать с перезаписью, если файл уже существует