¿Cómo escribir un bucle infinito en vhdl?

-3

¿Cómo escribo un bucle infinito en VHDL? Qué está mal con:

while 1 loop
  --sequential statements/code
end loop;
    
pregunta Anwesa Roy

4 respuestas

4

Lo que está mal con tu ejemplo es que cuando se sintetiza el código, todos los bucles se desenrollan; un bucle infinito produciría una lógica infinita, y eso no encajará en ningún dispositivo de silicio real.

Necesitará agregar algo de contexto si está buscando ayuda para lograr algo en particular.

    
respondido por el scary_jeff
2

En VHDL sintetizable, los bucles hacen duplicados de circuitos. No hay noción de un bucle infinito porque el dispositivo de destino (FPGA) no tiene un número infinito de puertas lógicas.

¿Estás intentando escribir un programa de computadora en VHDL como si fuera un microprocesador? Suena como tal y te animo a que entiendas la distinción entre escribir software en comparación con diseñar circuitos digitales en VHDL. Buena suerte y hay muchos textos sobre el tema.

    
respondido por el TonyM
1

Tal vez podrías hacer algo como esto (alguien, corrígeme si me equivoco):

process (clock)
begin
  -- statements
end process;

Sin embargo, necesitas una señal clock para que funcione.

    
respondido por el Kevin
0

cree un bloque PROCESS (CLK) para reiniciar siempre un circuito secuencial con LOOP dentro. Proceso de actuar como lista de sensibilidad de interrupción. solo asegúrese de inyectar un período CLK más bajo que la propagación del circuito secuencial completo para evitar el error BottleNeck . La directiva LOOP seguro tomó mucho tiempo.

    
respondido por el aminor

Lea otras preguntas en las etiquetas