Descargar

Máquinas de estados finita (FSM)

Enviado por Pablo Turmero


Partes: 1, 2

    edu.red

    Máquinas de estado (FSM) Definición Una máquina de estados finita (FSM) es un modelo usado para diseñar circuitos lógicos secuenciales. No puede estar en más de un estado por vez. El estado en el que se encuentra se denomina estado actual. El cambio de un estado a otro se denomina transición, y se dispara con el reloj del circuito Son muy útiles en el diseño de protocolos de comunicación. Existen dos tipos de máquinas de estado: Moore y Mealy Características

    edu.red

    Estructura de una máquina de Moore Flip-Flops de estado Lógica de salida Lógica de próximo estado Entradas Salidas Estado actual Las salidas dependen sólo del estado.

    Máquinas de estado (FSM)

    edu.red

    Estructura de una máquina de Mealy Flip-Flops de estado Lógica de salida Lógica de próximo estado Entradas Salidas Estado actual Las salidas dependen del estado y de las entradas.

    Máquinas de estado (FSM)

    edu.red

    Codificación de estados Existen diferentes tipos de codificación de estados Binaria One Hot Gray etc

    La codificación de estados puede hacerse manualmente o de manera automática – En el mismo código de VHDL se pueden establecer atributos que indican que tipo de codificación se quiere – Se puede indicar a la herramienta de síntesis como codificar los estados. Máquinas de estado (FSM)

    edu.red

    Posibles codificaciones para 8 estados Máquinas de estado (FSM)

    edu.red

    Diseño e implementación de un detector de la secuencia “101” utilizando flip-flops D

    Máquinas de estado (FSM) Paso 1: Construir el diagrama de estados (Gp:) Transición del estado A al B Entrada 1 / Salida 0

    Estados

    edu.red

    Diseño e implementación de un detector de la secuencia “101” utilizando flip-flops D

    Máquinas de estado (FSM) (Gp:) Entradas

    (Gp:) Estado actual

    (Gp:) Estado siguiente / Salida

    Paso 2: Construir la tabla de estados

    edu.red

    Diseño e implementación de un detector de la secuencia “101” utilizando flip-flops D

    Máquinas de estado (FSM) Paso 3: Codificar los estados A = 00 B = 01 C = 10 * Nota: cada estado estará representado por 2 bits Q1 Q0

    edu.red

    Diseño e implementación de un detector de la secuencia “101” utilizando flip-flops D

    Máquinas de estado (FSM) Paso 4: Incluir la codificación en la tabla y calcular las funciones de excitación y de salida (Gp:) E (Gp:) Q1Q0

    D0 D0 = E Cálculo de la función de excitación del flip-flop 0 Entradas Estado actual

    edu.red

    Diseño e implementación de un detector de la secuencia “101” utilizando flip-flops D

    Máquinas de estado (FSM) Paso 4: Incluir la codificación en la tabla y calcular las funciones de excitación y de salida Cálculo de la función de excitación del flip-flop 1 (Gp:) E (Gp:) Q1Q0

    D1 D1 = not(E) and Q0 Entradas Estado actual

    edu.red

    Diseño e implementación de un detector de la secuencia “101” utilizando flip-flops D

    Máquinas de estado (FSM) Paso 4: Incluir la codificación en la tabla y calcular las funciones de excitación y de salida Cálculo de la función de salida (Gp:) E (Gp:) Q1Q0

    Y Y = E and Q1 Entradas Estado actual

    edu.red

    Diseño e implementación de un detector de la secuencia “101” utilizando flip-flops D

    Máquinas de estado (FSM) Paso 5: Dibujar el circuito E Y FFD0 FFD1

    edu.red

    Repetimos el ejercicio pero esta vez describimos en VHDL el diagrama de estados en lugar de realizar el diseño a nivel compuertas

    Máquinas de estado (FSM) Diseñaremos una máquina de Mealy y otra de Moore

    edu.red

    Diseño de una máquina de Mealy: Detector de “101”

    Máquinas de estado (FSM)

    edu.red

    Diseño de una máquina de Mealy: Detector de “101” Consiste en 3 pasos: Definición de los estados Descripción de los registros de estado Descripción de los bloques combinacionales de próximo estado y de salida

    Máquinas de estado (FSM)

    edu.red

    Paso 1: Definición de los estados architecture det_arq of detector is type tipo_estado is (A, B, C); signal estado_actual, estado_siguiente: tipo_estado; begin … end;

    Diseño de una máquina de Mealy: Detector de “101” Máquinas de estado (FSM)

    Partes: 1, 2
    Página siguiente