Conozco dos formas en que una variable VHDL es sintetizada por la herramienta de síntesis:
- Variable sintetizada como lógica combinacional
- Variable sintetizada como un Latch involuntariamente (cuando una variable no inicializada se asigna a una señal u otra variable)
¿Cuáles son las otras formas en que se puede sintetizar una variable VHDL? (Ejemplo: ¿se puede interpretar como un FF?)
Si usa el valor en una variable antes de almacenarlo, obtiene el valor que se almacenó la última vez que el proceso lo almacenó (en un proceso cronometrado, el valor de un ciclo de reloj anterior). Eso se sintetiza como un registro o FF.
Por supuesto, en el primer ciclo de reloj obtienes basura, a menos que hayas inicializado la variable en una cláusula de reinicio.
fuente