Перейти к содержанию
    

Констрейнинг внешнего дискретного компонента

Есть ли у кого-то опыт в подключении и обконстрейнивании к цифровой части ASIC внешнего дискретного компонента (на самом деле нет, но для упрощения понимания аналогия правильная).

Интересует конкретно обконстрейнивание входов/выходов в цифру, при условии что где-то в аналоге (analog on top) находится регистр, для которого клоковая распространяется из цифры и возвращается некое значение на входной порт. Длинна линии и ёмкость будет определена после лейаута и должна быть скорректирована перед финальными signoff. Также интересует подтяжка под корнеры, так как снаружи такие же дорожки и возможны промежуточные компоненты-буфферы со своими характеристиками и задание втупую input/output_delay не учитывают этих изменений.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

On 1/14/2021 at 3:47 PM, Nick_K said:

Есть ли у кого-то опыт в подключении и обконстрейнивании к цифровой части ASIC внешнего дискретного компонента (на самом деле нет, но для упрощения понимания аналогия правильная).

Интересует конкретно обконстрейнивание входов/выходов в цифру, при условии что где-то в аналоге (analog on top) находится регистр, для которого клоковая распространяется из цифры и возвращается некое значение на входной порт. Длинна линии и ёмкость будет определена после лейаута и должна быть скорректирована перед финальными signoff. Также интересует подтяжка под корнеры, так как снаружи такие же дорожки и возможны промежуточные компоненты-буфферы со своими характеристиками и задание втупую input/output_delay не учитывают этих изменений.

Если втупую задать с запасом input/output_delay ну никак низя (ну нету явного полпериода запаса и нужно наносекунды ловить или заказчик сильно требует доказать тайминг) то можно по умному - строите TOP  блок цифры так чтобы туда все ети внешние роутинги входили и делаете честный екстракт SPEF. Для этого ещё нужно создать LIB файли всех аналоговых блоков, буферов, падов итп. (входные ёмкости, сетап/холд тайм...) Некоторые заморачиваются и этим. Пользы от этого обычно 0. Так получится честный екстракт паразитов и честный STA/

Попроще решение - сделать с аналогового топа CAP екстракт и задать его как нагрузку выходов (как задержка в линии)... При этом правда задержки в буферах, запасы на сетап/холд итп. всё равно придётся вручную через input/output_delay задавать.

Подтяжка под корнеры через -min/-max в input/output_delay задаётся. Можно ещё задать сетап/холд виртуального тригера (внешнего) относительно виртуального клока. Тут есть пример: Input and Output Delays with Multiple Clocks

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

9 hours ago, topor_topor said:

Попроще решение - сделать с аналогового топа CAP екстракт и задать его как нагрузку выходов (как задержка в линии)... При этом правда задержки в буферах, запасы на сетап/холд итп. всё равно придётся вручную через input/output_delay задавать.

Спасибо огромное. Мне собственно нужен был этот момент, хотя концепция немного переигралась. Просто не знал можно ли зайти через Лейаут как-то и вообще куда копать.

Заскриптовать констрейны - не проблема, просто вылетело что -min/-max на корнеры влияет напрямую.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...