В мире FPGA, что такое ложные ограничения пути для компилятора HDL? Чем они полезны?
В мире FPGA, что такое ложные ограничения пути для компилятора HDL? Чем они полезны?
Ответы:
Ложные пути - это временные пути, которые никогда не будут использованы в окончательном проекте. Предположим, что вы разрабатываете 4-битный счетчик, и получается, что при увеличении с 12 до 13 существует очень медленный путь задержки. Если ваш проект всегда сбрасывает счетчик всякий раз, когда счет равен 9, то этот медленный путь никогда не будет виден в актуальный дизайн. Вы помечаете медленный путь как ложный путь, так что компилятор не тратит время и не добавляет дополнительную логику, чтобы ускорить ложный путь.
Ложный путь - это путь, который существует в проекте, но не играет роли в операции, поэтому нет необходимости включать его в анализ синхронизации.
Причин этому может быть несколько, но поскольку инструмент анализа времени обычно не знает (хотя есть некоторые инструменты, которые могут их обнаружить), какие пути можно использовать или нет, вы должны указать это. Это похоже на многоцикловый путь, где вы можете сказать, что определенному пути разрешено использовать более одного цикла для завершения.
Примером (ложного пути) является регистр, который может быть записан один раз при включении питания, но затем остается в том же состоянии.
Проще говоря, ложный путь - это логический путь, который вы хотите исключить из проверки, чтобы увидеть, соответствует ли он времени во время анализа времени. Есть две причины для исключения путей, во-первых, потому что ложный путь заставит инструменты работать усерднее, чтобы соответствовать синхронизации для этого сигнала, что, в свою очередь, повлияет на допустимые пути сигнала, возможно, вызывая дополнительные ошибки синхронизации, и потому что это вызовет проверку синхронизации, чтобы сообщить об ошибках возможно, отвлекает дизайнера от законных ошибок времени.
Ложные пути вызваны логическими путями между несвязанными асинхронными часами или часами той же частоты, но с неизвестным фазовым отношением или путем, который никогда не будет активирован во время нормальной работы схемы. Указание инструменту игнорировать путь не заставляет синхронизацию работать только потому, что синхронизация не проверена. Разработчик должен вручную убедиться, что для этих игнорируемых путей сигналов используется правильная логика синхронизации.