Что такое ограничение времени ложного пути?

10

В мире FPGA, что такое ложные ограничения пути для компилятора HDL? Чем они полезны?

Randomblue
источник
1
Это цифровая концепция, а не просто концепция ПЛИС.
W5VO

Ответы:

14

Ложные пути - это временные пути, которые никогда не будут использованы в окончательном проекте. Предположим, что вы разрабатываете 4-битный счетчик, и получается, что при увеличении с 12 до 13 существует очень медленный путь задержки. Если ваш проект всегда сбрасывает счетчик всякий раз, когда счет равен 9, то этот медленный путь никогда не будет виден в актуальный дизайн. Вы помечаете медленный путь как ложный путь, так что компилятор не тратит время и не добавляет дополнительную логику, чтобы ускорить ложный путь.

Джо Хасс
источник
5
Да, и я подумал, что ложный путь связан с использованием Atmels вместо PIC или чего-то еще.
Олин Латроп
Я думаю, что более существенным типом ложного пути является сигнал, который изменяется на границе одного тактового сигнала и дискретизируется на границе другого тактового сигнала, но либо сигнал фактически никогда не изменится где-либо рядом со временем, когда меняются вторые тактовые сигналы, либо он ничего не изменит, не позаботится о его ценности. Инструменты анализа времени, скорее всего, потерпят неудачу, если не добавить двойной синхронизатор, который контролируется вторыми часами, но добавление такого синхронизатора может полностью нарушить дизайн. Например, первые часы могут работать на частоте 1 МГц, а
вторые
... устройство, генерирующее сигнал, может изменить его три цикла по 1 МГц после того, как оно увидит нарастающий фронт на тактовой частоте 32 кГц. Следовательно, сигнал, зафиксированный тактовой частотой 32 кГц, может гарантированно соответствовать требованиям выборки / удержания фиксатора 32 кГц без какой-либо дополнительной синхронизации. Если логика на стороне 1 МГц генерирует свои данные на основе того, что делает сторона на 32 кГц, такая конструкция может позволить информации, генерируемой за один цикл на стороне 32 кГц, просачиваться в обе стороны к следующему циклу. Добавление двойной синхронизации на стороне 32 кГц сломало бы это.
суперкат
8

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

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

Оли Глейзер
источник
1

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

Ложные пути вызваны логическими путями между несвязанными асинхронными часами или часами той же частоты, но с неизвестным фазовым отношением или путем, который никогда не будет активирован во время нормальной работы схемы. Указание инструменту игнорировать путь не заставляет синхронизацию работать только потому, что синхронизация не проверена. Разработчик должен вручную убедиться, что для этих игнорируемых путей сигналов используется правильная логика синхронизации.

Рэй Хейнс
источник