реклама на сайте
подробности

 
 
> ПРОБЛЕМЫ СИНТЕЗА ТАКТОВОГО ДЕРЕВА
Mikhail241
сообщение Nov 16 2017, 06:29
Сообщение #1


Частый гость
**

Группа: Validating
Сообщений: 77
Регистрация: 27-06-17
Из: Msk
Пользователь №: 97 862



Добрый день.

Имеется дизайн с одним клоком и несколькими сгенерированными клоками(generated clock).
При выполнении CCOPT в Innovus получается большой skew между регистром источника generated clock и примыкающими к нему регистрами.
Поясняющая картинка:

Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Shivers
сообщение Nov 17 2017, 05:54
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 680
Регистрация: 11-02-08
Из: Msk
Пользователь №: 34 950



Посмотрите тайминг до передающего триггера и после принимающего, есть ли там запас по сетапу. Тул ведь сводит всю микросхему/блок, а не один выделенный путь. Если где то совсем плохо с таймингом, тулл попытается вытащить эти места за счет хороших путей. А если все же надо вытащить именно один путь или группу путей на фоне проблем в остальной части дизайна - выделите это в отдельную группу (group_path), и повысьте на ней приоритет (setPathGroupOptions).
Go to the top of the page
 
+Quote Post
Mikhail241
сообщение Nov 17 2017, 08:53
Сообщение #3


Частый гость
**

Группа: Validating
Сообщений: 77
Регистрация: 27-06-17
Из: Msk
Пользователь №: 97 862



Цитата(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). В общем беда!

Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 21st August 2025 - 21:16
Рейтинг@Mail.ru


Страница сгенерированна за 0.01357 секунд с 7
ELECTRONIX ©2004-2016