O que é uma restrição de tempo de caminho falso?


10

No mundo FPGA, quais são exatamente as restrições de caminho falso para um compilador HDL? Por que eles são úteis?


11
Este é um conceito digital, não apenas um conceito FPGA.
W5VO

Respostas:


14

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.


5
Ah, e eu pensei que caminho falso tinha a ver com o uso de Atmels em vez de PICs ou algo assim.
Olin Lathrop

Um tipo mais significativo de caminho falso, eu acho, é um sinal que muda na borda de um relógio e é amostrado na borda de um relógio diferente, mas o sinal nunca realmente muda em qualquer lugar perto da hora em que o segundo relógio muda, ou se muda, nada se importará com seu valor. As ferramentas de análise de tempo provavelmente falhariam, a menos que se adicionasse um sincronizador duplo controlado pelo segundo relógio, mas a adição de um sincronizador poderia interromper totalmente o design. Por exemplo, o primeiro relógio pode funcionar a 1 MHz eo segundo em 32KHz, mas ...
supercat

... o dispositivo que gera o sinal pode alterá-lo três ciclos de 1 MHz depois de ver uma borda crescente no relógio de 32KHz. Consequentemente, pode ser garantido que o sinal travado pelo relógio de 32kHz atenda aos requisitos de amostra / retenção do trinco de 32kHz sem nenhuma sincronização extra. Se a lógica do lado de 1MHz gerasse seus dados com base no que o lado de 32KHz estava fazendo, esse design poderia permitir que as informações geradas em um ciclo no lado de 32Khz percolassem os dois sentidos no próximo ciclo. Adicionar sincronização dupla ao lado de 32Khz seria um problema.
Supercat

8

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.


1

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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.