Рет қаралды 6,542
FE DE ERRATAS: gracias a un amable comentario descubrí un error: en el estado D, si se recibe un 0 (se rompe la secuencia) pero sirve para ir al estado C (ya que se han recibido 10 en ese estado) y esperar 11. Vean, más abajo, el comentario bien explicado por su autor. Pido disculpas por la distracción.
Te explico las máquinas de estado con salida Mealy y Moore. Describo un detector de secuencia. Uso la sentencia case. Tipo de datos enumerados. Diferencia entre salida tipo Mealy y tipo Moore. Máquinas de estados con dos procesos, uno secuencial y otro combinacional. Construyo y explico un diagrama de estados y luego lo traduzco a código VHDL. Uso la herramienta Tool del Quartus II, Netlist Viewer, RTL (para ver las características de la salida tipo Mealy), Technology Map Viewer (vemos que el Quartus usa 4 flip-flop para generar 4 estados) y State Machine Viewer (vemos el diagrama de estados, la tabla de transiciones y la codificación). Te explico la sentencia "case" comparándola con la correspondiente sentencia concurrente "when". Para hacer la descripción VHDL uso datos enumerados para definir los estados.
Si te parece útil la explicación no te olvides de darle un clic a "me gusta" y a la campanita ¡Gracias! Para contactarme entrá a mi sitio Web: susycursos.com. Puedes solicitarme a través de susycursos.com... los manuales del Quartus II que escribí en español en lenguaje amigable (no son una traducción) y también los archivos de las descripciones y testbenchs en formato texto.
Puedes ver y descargar mis códigos fuente de: github.com/sus....