Timequest timing analyzer
После того как выполнена функциональная симуляция Вашего RTL описания, следует убедиться, что в конечном итоге цифровое устройство сможет работать с необходимым быстродействием в конкретном устройстве. Здесь на первый план выходят анализаторы таймингов. У компании Altera ставка сделана на Timequest timing analyzer, который успешно вытесняет некогда привычный Classic timing analyzer.
Самым интересным моментом является то, что у разработчика при задании временных констрейнов есть возможность использовать как GUI , так и непосредственно писать SDC скрипты (GUI является лишь front end’ом). Т.е. после компиляции проекта разработчик должен каким либо из двух упомянутых способов указать констрейны своего проекта (разнообразные временные характеристики, частоты, нестабильность, условия работы по температуре, напряжению и др.). После всего этого можно получить подробный отчет об устройстве и его быстродействии, вплоть до отдельных путей распространения сигналов.
Сам язык SDC скриптов весьма своеобразный, но несложный. Вот пример:
create_clock -name {rx_clk_156} -period 6.400 -waveform { 0.000 3.200 } [get_ports {rx_clk}]
Данная строка, будучи выполненной с консоли, либо запущенной в составе скрипта создаст синхросинал rx_clk_156 с периодом 6.4ns, заполнением 50%, и соответствовать он будет порту rx_clk в проекте.