Vivado reprorts => report_clocks¶
Синтаксис¶
report_clocks [-file <arg>] [-append] [-return_string] [-quiet] [-verbose] [<clocks>]
Возвращаемое значение¶
Нет
Категории¶
теги: #Report, #Timing
Описание¶
Возвращает таблицу, показывающую все тактовые сигналы в проекте, включая тактовые сигналы различных типов: propagated, generated, auto‑generated, virtual, inverted в текущем открытом синтезированном или имплементированном проекте. Более детальную информацию о каждом тактовом сигнале проекта можно получить командой report_clock_utilization.
Примечание: по умолчанию команда выдаёт отчёт в TCL консоль или стандартное устройство ввода/вывода. Однако результаты также могут быть записаны в файл или возвращены в виде строки.
Аргументы
-file <arg> - (опционально) Записать отчёт в файл. Если файл существует, он будет перезаписан или же информация будет добавлена в файл, если использована опция –append
Примечание: если путь не указан в имени файла, то файл будет записан в текущую рабочую директорию или в директорию, из которой запущена среда.
-append – (опционально) добавить выходные данные команды в файл, вместо того, что бы его перезаписать.
Примечание: опция –append может быть использована только с опцией ‑file
-return_string – (опционально) Сформировать выход команды в TCL строку, вместо того, что бы отобразить её в стандартном устройстве ввода/вывода. TCL строка может быть определена как переменная и в последующем обработана.
-quiet – (опционально) Команда выполняется в «тихом» режиме, сообщения команды не отображаются. Команда возвращает TCL_OK независимо от каких-либо ошибок её выполнения.
Примечание: Если ошибка обнаружена в командной строке при вводе команды, то ошибка будет отображена. Не отображается ошибки, которые появляются во время выполнения команды.
-verbose – (опционально) Временное переопределение ограничений на количество выводимых сообщений команды.
Примечание: количество выводимых сообщений может регулироваться с помощью команды set_msg_config.
<clocks> - (опционально) Вывод отчёта ля тактовых сигналов, соответствующих шаблону. По умолчанию шаблон состоит из подстановочного символа *, который позволяет вывести все тактовые сигналы проекта. Может быть указан более чем один тактовый сигнал.
Примеры¶
Рассмотрим модуль, у которого имеется два тактовых сигнала iClock_1 и iClock_2:
entity top is
port (
iClock_1 : in std_logic;
iClock_2 : in std_logic;
iData_1 : in std_logic;
iData_2 : in std_logic;
oOut_1 : out std_logic;
oOut_2 : out std_logic
);
end top;
Код архитектуры, реализующий два триггера по одному на каждый тактовый сигнал:
process(iClock_1)
begin
if rising_edge(iClock_1) then
oOut_1 <= iData_1;
end if;
end process;
process(iClock_2)
begin
if rising_edge(iClock_2) then
oOut_2 <= iData_2;
end if;
end process;
Предположим, что параметры определены только для тактового сигнала iClock_1, а сигнал iClock_2 не имеет каких либо параметров.
create_clock -period 10.000 -name iClock_1 -waveform {0.000 5.000} [get_ports iClock_1]
- Выполним синтез. Netlist выглядит следующим образом

- Запустим
report_clocks:
Clock Report
Atributes
P: Propagated
G: Generated
A: Auto-derived
R: Renamed
V: Virtual
I: Inverted
S: Pin phase shifted with Latency mode
Clock Period(ns) Waveform(ns) Arrtibutes Sources
iClock_1 10.000 {0.000 5.000} P {iClock_1}
Как вы видите, отчёт report_clock выдаёт только сведения о тех тактовых сигналах, которые имеют соответствующие ограничения. Не определённые тактовые сигналы undefined в этом отчёте не отображаются.
Примечание: узнать какие сигналы являются
undefinedилиUnconstrainedможно с помощью командыreport_clock_networks
Unconstrained Clocks
-------------------
Clock iClock_2 (endpoints: 1 clock, 0 nonclock)
Port iClock_2
- Следующая команда возвращает имя, период, временную диаграмму и источник тактовых сигналов в текущем проекте и записывает выход команды в файл:
report_clocks –file {report_clocks.txt}
Содержимое отчёта в текстовом файле аналогично тому, что выводится в консоль.
- Следующий пример возвращает отчёт для тактовых сигналов, которые содержат символы
Clockв имени (чувствительно к регистру букв):
report_clocks *Clock*
Также посмотрите:
-
create_clock -
create_generated_clock -
report_clock_utilization
Литература¶
UG835 Vivado Design Suite Tcl Command Reference Guide