Цитата(Shivers @ Nov 17 2017, 12:54)
Посмотрите тайминг до передающего триггера и после принимающего, есть ли там запас по сетапу. Тул ведь сводит всю микросхему/блок, а не один выделенный путь. Если где то совсем плохо с таймингом, тулл попытается вытащить эти места за счет хороших путей. А если все же надо вытащить именно один путь или группу путей на фоне проблем в остальной части дизайна - выделите это в отдельную группу (group_path), и повысьте на ней приоритет (setPathGroupOptions).
Я смотрел worst chain в отчетах ccopt и там все сводится к тому, что нет временного окна для usful skew(constaraint = 0!)
Т.е. он не может добавить задержку в регистр gen clock(в данном случае это латч) --> choosen = 0.
Тут используется gating clock для генерации, но в классической ситуации где gen clock описывается сразу с выхода делителя аналогичные проблемы.
В UG ничего не нашел по этому поводу, кроме увеличения auto_limit_insertion_delay_factor. Т.е. проблема в том, что изначально ccopt задает временное окно равное нулю.
Хотя добавление задержки не вызовет ухудшения WNS(EcoAddRepeater). В общем беда!