oratie
Sep 25 2008, 12:32
Здравствуйте, а кто-нибудь самолично сравнивал результаты полученные в DesignCompiler с помощью команды 'compile' и 'compile -ultra'? При условии, что RTL и constraints не изменялись.
Стоит ли брать лицензию на 'ultra'?
-=Vitaly=-
Sep 26 2008, 08:52
Цитата(oratie @ Sep 25 2008, 15:32)

Здравствуйте, а кто-нибудь самолично сравнивал результаты полученные в DesignCompiler с помощью команды 'compile' и 'compile -ultra'? При условии, что RTL и constraints не изменялись.
Стоит ли брать лицензию на 'ultra'?
У меня с ультра получалось лучше. Процентов на 10 меньше площадь была, но сейчас перевели на Каденсовский компилятор, поэтому свежих данных нет.
oratie
Sep 26 2008, 09:30
Спасибо за инфу. 10% это уже что-то.
разница будет не на каждом проекте. далеко не на каждом.
для себя определил так отличие "-ultra" от обычного прогона compile (частично информацию можете почерпнуть из SOLDа - там тоже присутствует некоторое описание, что делается при "compile -ultra"):
- использование синтетической библиотеки DesignWare
- по умолчанию полная разгруппировка проекта (ungroup all ?) и оптимизация сквозь границы модулей.
DesignWare позволяет использовать более продвинутые implementations базовых примитивов (арифметика), но при наличии соответствующей лицензии что мешает использовать ее и при не_ультра прогоне??
тоже самое и с разгруппировкой ("To use the auto-ungroup capability, use the 'compile_ultra' command or the '-auto_ungroup delay' option of the 'compile' command.").
на реальном проекте, насыщенном ЦОС, разница в использовании ультры и обычного DC с настроенной разгруппировкой (ну + там помоему "-map_effort high" задавали) и использованием синтетических библиотек весьма мизерна.
Цитата(Doka @ Sep 26 2008, 21:32)

разница будет не на каждом проекте. далеко не на каждом.
-----
на реальном проекте, насыщенном ЦОС, разница в использовании ультры и обычного DC с настроенной разгруппировкой (ну + там помоему "-map_effort high" задавали) и использованием синтетических библиотек весьма мизерна.
а математика (суматоры умножители и т.п.) там было? вроде бы ультра "поумнее" использует DW?
ну и вообще - это push-button solution, то есть за дополнительные деньги получаете свбоду от изучения параметров синтеза (что имхо дело очень малоприятное)
и вроде бы DW или ultra стоят практически одинаково
yes
>> а математика (суматоры умножители и т.п.) там было? вроде бы ультра "поумнее" использует DW?
математика была. я так и написал - "проекте, насыщенном ЦОС.."
а вся "умность" ультры в том и заключается, что в продвинутой DW более продвинутые имплементации математики (сумматоры, умножители, etc)..
>> и вроде бы DW или ultra стоят практически одинаково
ну оно очень похоже, что ultra - это просто библиотека DW =)
Так вот в этом-то и вопрос - Ultra это просто правильно подобранные параметры синтеза (которые и так доступны без Ultra)? Или это все же немного другой алгоритм синтеза (улучшенный). Все их рекламные и не рекламные доки я читал. Хотелось бы услышать про реальные результаты.
Цитата(oratie @ Oct 1 2008, 21:41)

Так вот в этом-то и вопрос - Ultra это просто правильно подобранные параметры синтеза (которые и так доступны без Ultra)? Или это все же немного другой алгоритм синтеза (улучшенный). Все их рекламные и не рекламные доки я читал. Хотелось бы услышать про реальные результаты.
осмелюсь предположить, что точно это никогда не узнаете.
скорее всего алгоритм синтеза не отличается, отличается библиотека и параметры
я не смог добится лучшего результата без ультры для куска кода (~500к вентлей), чем давала ультра
замечал улучшение slack на 5-10% максимум в блоках ~600k gates, насыщенных DW
после ungroup DW улучшение slack сильно реже.
также получается использовать ultra для того, чтобы "перетряхнуть" дизайн, сдвинуть его с локально пойманного минимума.
Для просмотра полной версии этой страницы, пожалуйста,
пройдите по ссылке.