Problema com o uso de loop while em VHDL

J

jene2in

Guest
Oi, Existe qualquer problema com o uso de loop enquanto, ao início do programa em VHDL e ISE Xilinx. Eu continuo recebendo um erro de interpretação. O algoritmo que eu tenho vai funcionar melhor com o While Loop e por isso eu queria saber se alguém pode apontar nada com relação a while. Eis algumas linhas frm meu código: begin while - condição de término - se p (0) = 0, então, se (a (1) = 0 e um (0) = 0), então (p (0) = 1!) - A = 0 (mod 4) au, m => m, f => u2); - usar o componente MQRTR u
 
Eu não consigo ver a partir do trecho (bastante longa) se o código seria synthesizable em tudo, eu acho que não é. Um equívoco freqüente de construções de iteração no código HDL é, que eles iriam criar uma ordem de processamento sequencial como uma iteração de um programa de microprocessador. Mas eles não fazem! Eles são uma direção para gerar lógica paralela, um exemplo da lógica dentro do bloco para cada iteração. Para ser synthesisable, o número de iterações deve ser finito e previsível para o compilador HDL. Caso contrário, o compilador poderia ser preso em um loop infinito (resultando em um erro de compilação depois de atingir um limite de iteração pré-definida). Na maioria dos casos, a única solução adequada é para codificar um fluxo de programa realmente sequencial, utilizando um relógio.
 

Welcome to EDABoard.com

Sponsor

Back
Top