No mundo FPGA, quais são exatamente as restrições de caminho falso para um compilador HDL? Por que eles são úteis?
No mundo FPGA, quais são exatamente as restrições de caminho falso para um compilador HDL? Por que eles são úteis?
Respostas:
Caminhos falsos são caminhos de tempo que nunca serão realmente exercidos no design final. Suponha que você esteja projetando um contador de 4 bits e que exista um caminho de atraso muito lento ao aumentar de 12 para 13. Se o seu design sempre redefine o contador sempre que a contagem é igual a 9, esse caminho lento nunca será visto no design real. Você rotula o caminho lento como um caminho falso, para que o compilador não gaste tempo ou adicione lógica extra, em um esforço para tornar o caminho falso mais rápido.
Um caminho falso é um caminho que existe no design, mas não desempenha um papel na operação, portanto, não é necessário incluí-lo na análise de tempo.
Pode haver várias razões para esse ser o caso, mas como a ferramenta de análise de tempo geralmente não sabe (embora existam algumas ferramentas que podem detectá-las) quais caminhos podem ser usados ou não, você precisa informar. É semelhante a um caminho de vários ciclos, onde você pode dizer que um determinado caminho pode usar mais de um ciclo para ser concluído.
Um exemplo (de um caminho falso) é um registro que pode ser gravado uma vez na inicialização, mas permanece no mesmo estado.
Simplesmente, um caminho falso é um caminho lógico que você deseja excluir da verificação para ver se atende ao tempo durante a análise de tempo. Há dois motivos para excluir caminhos: primeiro, porque o caminho falso fará com que as ferramentas trabalhem mais para atender à temporização do sinal, o que por sua vez afetará os caminhos legítimos do sinal, possivelmente causando erros adicionais de temporização e porque fará com que a verificação de temporização relate falhas. possivelmente distrair o projetista de erros de tempo legítimos.
Caminhos falsos são causados por caminhos lógicos entre relógios assíncronos não relacionados ou da mesma frequência, mas com relacionamento de fase desconhecido ou um caminho que nunca seria ativado durante a operação normal do circuito. Dizer à ferramenta para ignorar um caminho não faz com que o tempo funcione apenas porque o tempo não está marcado. Cabe ao projetista garantir manualmente que a lógica de sincronização correta seja usada para esses caminhos de sinal ignorados.