Здравствуйте.
Компилировал простейший проект для проверки адекватности Tco
от внешней тактовой до выхода в cyclone 5.
Суть следующая.
Тактовая частота 125 MHz заходит на специализированный PIN.
Далее она поступает на PLL (PIN->PLLREFCLKSELECT->FRACTIONALPLL).
PLL в normal mode, просто повторяет частоту (сдвиг фазы 0).
От выходной частоты PLL работает выходной триггер, который размещен в IOE.
От триггера сигнал идёт на выход.
Я ожидал, что при расчёте "clock path" для "data arrival path" TimeQuest
выдаст 0 или близкое значение.
Однако видел там значения от 2.5ns до 4.7ns (в зависимости от
условий анализатора - 85 градусов тепла или 0 градусов).

Пробовал Quartus 13.1we и 15.0we.
Также пробовал с разными мегафункциями (старой altpll и новой Altera PLL v13.1).
Ничего существенно не меняется.
Ощущение, что на вход PLL данные как-то не так попадают или
GCLK-пути до IOE плохо доходят.
Хотя видно, что normal mode как-то работает, так как меняется значение
компенсации (COMP) в зависимости от условий анализа. Но почему-то
до конца компенсировать не выходит.
Зато при замене на cyclone3 "clock path" сразу становиться от 0 до 0.5ns
Аналогично для max10 всё в порядке.
Пока работаю в теории. До железа ещё далеко.
Может кто-нибудь встречался с нечто подобным ?
Забыл добавить.
На "data required" и slack прошу не обращать внимания.
Это последствие игр с фазами PLL.
Для фаз отличных от 0, особенно отрицательных,
иногда приходится вычитать время периода в SDC файле.
Тоже загадка, но решаемая.
К данной проблеме это отношения не имеет.