KeisN13· 21 января 2022 г.· #214
Отличный материал
Flip-Fl0p· 21 января 2022 г.· #215
Шикаааарно. Надеюсь следующей статьей будет описание мультициклов. Ну или как утаптывать проект в констрейны.
vldshevtsev· 22 января 2022 г.· #216
Следующей наврятли, но я думаю и до этого доберемся
andreypun· 26 января 2022 г.· #218
Спасибо за понятную и подробную статью!
m4nokhiniv· 6 февраля 2022 г.· #229
Спасибо за прекрасную статью. Отличный материал, также как и прошлые Ваши статьи по STA. Но, мне не понятен такой момент, например, когда мы проектируем какой-нибудь интерфейс, к примеру, RS-232, и данные с RS'a идут из, к примеру, микроконтроллера с отдельной платы по длинному кабелю. В этом случае также нужно указывать все задержки запускающего тактового сигнала и задержки прохождения данных по кабелю и т.д. в vivado? Хотя так сразу и не определишь какой тактовый сигнал для данных с RS'a в микроконтроллере является запускающим, да и на более скоростных интерфейсах может быть так, что время прохождения данных между платами превышает один период тактового сигнала, которым эти данные тактируются.
vldshevtsev· 6 февраля 2022 г.· #230
Если данные передаются между платами по кабелю, то можно выделить два возможных варианта:
1. Вместе с данными также передается clock. Например, как в HDMI. Этот случай называется source synchronous и надеюсь его получится рассмотреть в следующей статье.
2. Clock не передается и его нужно восстанавливать. Например, как в display port. Здесь обычно используются трансиверы и ограничение на входной сигнал накладывать не нужно.
RS232, он же uart, как следует из названия является асинхронным интерфейсом. Для него временной анализ не применяется. Чтобы его принимать, нужно поставить на вход синхронизатор и добавить false path constraint между входным портом и защелкивающим триггером.