Jump to content
    

Clocking Domains в Genus'е

Здравствуйте уважаемые.

Понимаю, что шанса получить ответ не много, но попробую спросить тут (форум Cadence'а мертвее мёртвого).

Я тут изучаю недра Genus'а и наткнулся на интересный функционал, связанный с clock domain. Фактичекски это развязка разных доменов и игнорирование сросдоменного анализа CDC (насколько я понял). То же самое можно сделать, обьявив асинхронные клок группы.

Получается профита никакого, но я в некоторых местах нашёл упрощённую автоматизацию для Кейденсовского OPCG DFT. Нам бы использовать эти настройки как-то, но я даже не имею представления заработает оно или нет.

Может кто-то сталкивался и подскажет. Как по вопросу полезности разделения на разные домены, так и по дальнейшему использованию. 

p.s. Мы делаем свой DFT с некоторым функционалом Cadense'ового, но не полным и ясное дело без их ядра. Автонастройки нужны для миграции от синтезированной модели до генерации ATPG в Модусе и PnR в Инновусе

Share this post


Link to post
Share on other sites

30 минут назад, Nick_K сказал:

Здравствуйте уважаемые.

Понимаю, что шанса получить ответ не много, но попробую спросить тут (форум Cadence'а мертвее мёртвого).

Я тут изучаю недра Genus'а и наткнулся на интересный функционал, связанный с clock domain. Фактичекски это развязка разных доменов и игнорирование сросдоменного анализа CDC (насколько я понял). То же самое можно сделать, обьявив асинхронные клок группы.

Получается профита никакого, но я в некоторых местах нашёл упрощённую автоматизацию для Кейденсовского OPCG DFT. Нам бы использовать эти настройки как-то, но я даже не имею представления заработает оно или нет.

Может кто-то сталкивался и подскажет. Как по вопросу полезности разделения на разные домены, так и по дальнейшему использованию. 

p.s. Мы делаем свой DFT с некоторым функционалом Cadense'ового, но не полным и ясное дело без их ядра. Автонастройки нужны для миграции от синтезированной модели до генерации ATPG в Модусе и PnR в Инновусе

Здравствуйте!

Можно поподробнее что конкретно дает разделение на домены(без set_clock_group) для автоматизации DFT?

 

 

 

 

Share this post


Link to post
Share on other sites

8 minutes ago, MickeyMouse said:

Можно поподробнее что конкретно дает разделение на домены(без set_clock_group) для автоматизации DFT?

Конкретно в моём случае нужно сделать изоляцию кросс доменов в сканчейне. Тут Кейденс описывает как с использованием OPCG реализуется такая задача. Мы делаем всё руками и проблема вылазит на поздних этапах, когда Инновус начинает реордерить сканчейны. Нужно или заморозить моменты перехода доменов, или я надеюсь, что есть спец команды, которые позволят убрать, реордерить, а потом снова добавить изоляцию на этапе PnR.

Возможно есть какие-то ещё полезные свойства о которых я недочитал/не слышал. Увы сейчас нет особо времени колупать проект и заниматься экспериментами, поэтому если у кого-то есть практические знания - буду благодарен за подсказку.

Share this post


Link to post
Share on other sites

Предположу, что это дублирование - просто следствия игры в "догонялки" за Синопсисом. Кэденс старается поддерживать команды DC, но при этом активно использует и свои собственные, как дублирующие функционал, так и оригинальные sdc. Поскольку документация у кэденса традиционно ниже плинтуса, лучше сразу писать в саппорт - так быстрее всего получается.

Share this post


Link to post
Share on other sites

7 минут назад, Nick_K сказал:

Конкретно в моём случае нужно сделать изоляцию кросс доменов в сканчейне. Тут Кейденс описывает как с использованием OPCG реализуется такая задача. Мы делаем всё руками и проблема вылазит на поздних этапах, когда Инновус начинает реордерить сканчейны. Нужно или заморозить моменты перехода доменов, или я надеюсь, что есть спец команды, которые позволят убрать, реордерить, а потом снова добавить изоляцию на этапе PnR.

Возможно есть какие-то ещё полезные свойства о которых я недочитал/не слышал. Увы сейчас нет особо времени колупать проект и заниматься экспериментами, поэтому если у кого-то есть практические знания - буду благодарен за подсказку.

А как инновус портачит? Толкает все в один чейн? Если в этом проблема - можно переопределить чейны в самом инновусе(я так делал, когда генус генерил кривой файл описаний для скан чейнов).

Share this post


Link to post
Share on other sites

Just now, MickeyMouse said:

А как инновус портачит? Толкает все в один чейн?

Не совсем. Инновус тихо-мирно реордерит сканчейн внутри домена в том числе и флоп настроенный на переход между доменами. В резальтате логика нужная для тестирования перехода может оказаться где угодно (а может и нет), а в месте перехода домена в другой будет отсутствовать. Сейчас это решается "заморозкой" в сканчейн .def файле места перехода. Но это приходится проверять каждый раз после синтеза, так как изменения в RTL могут привести ка разным переходам доменов.

Share this post


Link to post
Share on other sites

7 минут назад, Aleх сказал:

Предположу, что это дублирование - просто следствия игры в "догонялки" за Синопсисом. Кэденс старается поддерживать команды DC, но при этом активно использует и свои собственные, как дублирующие функционал, так и оригинальные sdc. Поскольку документация у кэденса традиционно ниже плинтуса, лучше сразу писать в саппорт - так быстрее всего получается.

Удивительно, что в сравнении с Ментором у Каденса тулы более функциональные, а документация наоборот. В голове не укладывается как компания с таким оборотом не может сделать нормальные доки!

Share this post


Link to post
Share on other sites

8 minutes ago, Aleх said:

лучше сразу писать в саппорт - так быстрее всего получается

Писали спрашивали. Ответ был, что они ничерта не знают и оно не работает без использования Кейденсового OPCG ядра.

Share this post


Link to post
Share on other sites

2 минуты назад, Nick_K сказал:

Не совсем. Инновус тихо-мирно реордерит сканчейн внутри домена в том числе и флоп настроенный на переход между доменами. В резальтате логика нужная для тестирования перехода может оказаться где угодно (а может и нет), а в месте перехода домена в другой будет отсутствовать. Сейчас это решается "заморозкой" в сканчейн .def файле места перехода. Но это приходится проверять каждый раз после синтеза, так как изменения в RTL могут привести ка разным переходам доменов.

Вы имеете ввиду лок-регистр? Хм, как я понимаю проблему решит запрет на реордер?

Share this post


Link to post
Share on other sites

Just now, MickeyMouse said:

Удивительно, что в сравнении с Ментором у Каденса тулы более функциональные, а документация наоборот. В голове не укладывается как компания с таким оборотом не может сделать нормальные доки!

"Кто на что учился" :biggrin:

Кто-то делает софт и скупает мелкие конторы, чтобы развивать свой EDA, а кто-то делает документацию (привет Альтере).

В результате у Кейденса и доки г*вно и переход между разными тулзами вызывает невыносимую боль из-за разного набора команд и разных подходов

Just now, MickeyMouse said:

Вы имеете ввиду лок-регистр? Хм, как я понимаю проблему решит запрет на реордер?

Запрет на реордер, увы, не вариант.Синтез решит одно, а на камень ляжет по-другому. Кто потом будет фиксить логику и времянку для DFT? Тем более, что наверное, DFT сможет работать на скорости равной рабочей частоте.

Share this post


Link to post
Share on other sites

3 минуты назад, Nick_K сказал:

"Кто на что учился" :biggrin:

Кто-то делает софт и скупает мелкие конторы, чтобы развивать свой EDA, а кто-то делает документацию (привет Альтере).

В результате у Кейденса и доки г*вно и переход между разными тулзами вызывает невыносимую боль из-за разного набора команд и разных подходов

Ну они немного развиваются в направление стилуса и flowtool, там вроде команды более менее одинаковые. Понятно, что Вы имеете в виду, но что мешает выделить немного денег на параллельную верстку документации... В общем загадка.

Share this post


Link to post
Share on other sites

1 minute ago, MickeyMouse said:

что мешает выделить немного денег на параллельную верстку документации

Лень, политика, отсутствие индусов с нормальным техническим-английским (:lol:), удобство содержания армии тех же индусов в саппорте или такой метод борьбы с пиратством. Тут можно гадать и выбирать из массы вариантов

Share this post


Link to post
Share on other sites

On 7/28/2020 at 9:21 AM, Nick_K said:

Конкретно в моём случае нужно сделать изоляцию кросс доменов в сканчейне. Тут Кейденс описывает как с использованием OPCG реализуется такая задача. 

OPCG on product clock generator

Зачем оно надо и как оно с клок доменами связано? Путано както задача сформулирована... 

DFT вставляет скан чейни между доменами автоматом и по дефолту правильно. 

Че сделать то надо? 

 

Share this post


Link to post
Share on other sites

14 hours ago, topor_topor said:

DFT вставляет скан чейни между доменами автоматом и по дефолту правильно.

А какими командами (для уточнения) и как обьявлены домены? Просто в разных группах или всё-таки как отдельные домены. Уже спать собрался, а завтра постараюсь не забыть и скинуть какими командами что выполняется у нас

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...