Nick_K 0 14 января, 2021 Опубликовано 14 января, 2021 · Жалоба Есть ли у кого-то опыт в подключении и обконстрейнивании к цифровой части ASIC внешнего дискретного компонента (на самом деле нет, но для упрощения понимания аналогия правильная). Интересует конкретно обконстрейнивание входов/выходов в цифру, при условии что где-то в аналоге (analog on top) находится регистр, для которого клоковая распространяется из цифры и возвращается некое значение на входной порт. Длинна линии и ёмкость будет определена после лейаута и должна быть скорректирована перед финальными signoff. Также интересует подтяжка под корнеры, так как снаружи такие же дорожки и возможны промежуточные компоненты-буфферы со своими характеристиками и задание втупую input/output_delay не учитывают этих изменений. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
topor_topor 0 24 января, 2021 Опубликовано 24 января, 2021 · Жалоба 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 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Nick_K 0 25 января, 2021 Опубликовано 25 января, 2021 · Жалоба 9 hours ago, topor_topor said: Попроще решение - сделать с аналогового топа CAP екстракт и задать его как нагрузку выходов (как задержка в линии)... При этом правда задержки в буферах, запасы на сетап/холд итп. всё равно придётся вручную через input/output_delay задавать. Спасибо огромное. Мне собственно нужен был этот момент, хотя концепция немного переигралась. Просто не знал можно ли зайти через Лейаут как-то и вообще куда копать. Заскриптовать констрейны - не проблема, просто вылетело что -min/-max на корнеры влияет напрямую. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться