maquinas de estados

42
DESCRIPCIÓN DE CIRCUITOS DIGITALES Circuitos secuenciales Y Maquinas de estados Ejercicios

Upload: leonardo-merchan

Post on 26-Sep-2015

25 views

Category:

Documents


5 download

DESCRIPTION

FSM FINITE STATE MACHINE

TRANSCRIPT

  • DESCRIPCIN DE CIRCUITOS DIGITALES Circuitos secuenciales Y Maquinas de estados Ejercicios

  • EJERCICIO 1 Moore (sincrnico)

  • Definicin de entity:

    entity MOORE is port(

    X: in BIT;

    CLOCK: in BIT;

    Z: out BIT

    );

    end entity;

  • Definicin de entity:

    entity MOORE is port(

    X: in BIT;

    CLOCK: in BIT;

    Z: out BIT

    );

    end entity;

    architecture BEHAVIOR of MOORE is

    type STATE_TYPE is (S0, S1, S2, S3);

    signal CURRENT_STATE, NEXT_STATE: STATE_TYPE;

    begin

    Definicin de Arquitectura (definicin de los estados):

  • Definicin de entity:

    entity MOORE is port(

    X: in BIT;

    CLOCK: in BIT;

    Z: out BIT

    );

    end entity;

    architecture BEHAVIOR of MOORE is

    type STATE_TYPE is (S0, S1, S2, S3);

    signal CURRENT_STATE, NEXT_STATE: STATE_TYPE;

    begin

    Definicin de Arquitectura (definicin de los estados):

    Definicin de Arquitectura (definicin de una transicin de estado):

    case CURRENT_STATE is

    when S0 =>

    Z

  • Definicin de entity:

    entity MOORE is port(

    X: in BIT;

    CLOCK: in BIT;

    Z: out BIT

    );

    end entity;

    architecture BEHAVIOR of MOORE is

    type STATE_TYPE is (S0, S1, S2, S3);

    signal CURRENT_STATE, NEXT_STATE: STATE_TYPE;

    begin

    Definicin de Arquitectura (definicin de los estados):

    Definicin de Arquitectura (definicin de una transicin de estado):

    case CURRENT_STATE is

    when S0 =>

    Z

  • process(CURRENT_STATE, X)

    begin

    case CURRENT_STATE is

    when S0 =>

    Z

  • process(CURRENT_STATE, X)

    begin

    case CURRENT_STATE is

    when S0 =>

    Z

  • process(CURRENT_STATE, X)

    begin

    case CURRENT_STATE is

    when S0 =>

    Z

  • SYNCH: process(CLOCK)

    begin

    if rising_edge(CLOCK) then

    CURRENT_STATE

  • SYNCH: process(CLOCK)

    begin

    if rising_edge(CLOCK) then

    CURRENT_STATE

  • EJERCICIO 2 Mealy (sincrnico)

  • entity MEALY is port

    (

    X: in BIT;

    CLOCK: in BIT;

    Z: out BIT

    );

    end;

    architecture BEHAVIOR of MEALY is

    type STATE_TYPE is (S0, S1, S2, S3);

    signal CURRENT_STATE, NEXT_STATE: STATE_TYPE;

    begin

    Definicin de entity:

    Definicin de Arquitectura (definicin de los estados):

    case CURRENT_STATE is

    when S0 =>

    if X = 0 then Z

  • entity MEALY is port

    (

    X: in BIT;

    CLOCK: in BIT;

    Z: out BIT

    );

    end;

    architecture BEHAVIOR of MEALY is

    type STATE_TYPE is (S0, S1, S2, S3);

    signal CURRENT_STATE, NEXT_STATE: STATE_TYPE;

    begin

    Definicin de entity:

    Definicin de Arquitectura (definicin de los estados):

    case CURRENT_STATE is

    when S0 =>

    if X = 0 then Z

  • process(CURRENT_STATE, X)

    begin

    case CURRENT_STATE is

    when S0 =>

    if X = 0 then Z

  • Transicin de estados sincrnica:

    SYNCH: process(CLOCK)

    begin

    if rising_edge(CLOCK) then;

    CURRENT_STATE

  • Transicin de estados sincrnica:

    SYNCH: process(CLOCK)

    begin

    if rising_edge(CLOCK) then;

    CURRENT_STATE

  • Ejercicio SEMFORO

    En la interseccin de una carretera y un camino vecinal se instala un semforo con el siguiente comportamiento:

    En el estado inicial indica verde para la carretera y rojo en el camino.

    Existen sensores (sensor) que detectan la presencia de vehculos en el camino, cuando esto ocurre se habilita el trnsito por el camino durante 10 segundos.

    Transcurrido los 10 segundos, se pone verde la carretera y durante 20 segundos no se atiende la seal del sensor.

    Se dispone de una seal de reloj de frecuencia de 1Hz.

    La evolucin de los semforos es la estndar (verde, amarillo, rojo)

  • Caja negra para modelar segn una Red de Petri

    Ejercicio SEMFORO

    En la interseccin de una carretera y un camino vecinal se instala un semforo con el siguiente comportamiento:

    En el estado inicial indica verde para la carretera y rojo en el camino.

    Existen sensores (sensor) que detectan la presencia de vehculos en el camino, cuando esto ocurre se habilita el trnsito por el camino durante 10 segundos.

    Transcurrido los 10 segundos, se pone verde la carretera y durante 20 segundos no se atiende la seal del sensor.

    Se dispone de una seal de reloj de frecuencia de 1Hz.

    La evolucin de los semforos es la estndar (verde, amarillo, rojo)

  • Red de Petri

  • Red de Petri

    En el estado inicial indica verde para la carretera V1 y rojo en el camino R2.

  • Red de Petri

    En el estado inicial indica verde para la carretera V1 y rojo en el camino R2.

    Sensor detecta la presencia de vehculos en el camino, cuando esto ocurre se habilita el trnsito por el camino durante 10 segundos. R1 y V2.

  • Red de Petri

    En el estado inicial indica verde para la carretera V1 y rojo en el camino R2.

    Sensor detecta la presencia de vehculos en el camino, cuando esto ocurre se habilita el trnsito por el camino durante 10 segundos. R1 y V2.

    Transcurrido los 10 segundos, se pone verde la carretera y durante 20 segundos no se atiende la seal del sensor. R2 y V1.

  • Red de Petri

    En el estado inicial indica verde para la carretera V1 y rojo en el camino R2.

    Sensor detecta la presencia de vehculos en el camino, cuando esto ocurre se habilita el trnsito por el camino durante 10 segundos. R1 y V2.

    Transcurrido los 10 segundos, se pone verde la carretera y durante 20 segundos no se atiende la seal del sensor. R2 y V1.

    La evolucin de los semforos es la estndar (verde, amarillo, rojo, verde).

    La evolucin de los semforos es la estndar (verde, amarillo, rojo, verde).

  • Diagrama de estados

  • Mquina Expendedora de Refresco

    La mquina expende un refresco siempre y cuando el usuario introduzca una

    cantidad de dinero igual o superior a 2.5 BsF dado que la mquina no da vuelto ni

    acumula la cantidad. Se pueden introducir dos tipos de monedas y un solo tipo de

    billete, donde las monedas son de 0,50 BsF y 1 BsF, y el billete de 2 BsF.

    La mquina expendedora solo puede admitir dos tipos de monedas y un solo tipo

    billete. El costo del refresco es de 2,5 Bs.F y la mquina solo expende un tipo de

    refresco.

    Disee el sistema de control que cumpla con el requerimiento anterior.

  • Definicin de estados (3 bits Q1, Q2 y Q3):

    Definicin de estradas:

    Definicin de salida: S

    A y B son los resultados de una logica combinacional a partir de las combinaciones de monedas.

  • case ESTADO_ACTUAL is

    when VACIO =>

    S

  • La Mquina de estados algortmica (ASM) es un mtodo para el diseo de Mquina de

    estados finitos. Se utiliza para representar los diagramas de circuitos integrados digitales.

    El diagrama de ASM es como un diagrama de estado, pero menos formal y por tanto ms

    fcil de entender.

    Un grfico de ASM es un mtodo para describir las operaciones por orden de un sistema

    digital.

    ASM

    El mtodo de ASM se compone de los siguientes pasos:

    1 . Crear un algoritmo, utilizando pseudocdigo , para describir la

    operacin deseada del dispositivo.

    2 . Convertir el pseudocdigo en un diagrama ASM .

    3 . Disear la Ruta de Datos o Camino de Datos basado en el diagrama ASM.

    4 . Crear diagrama ASM detallado basado en la ruta o camino de datos.

    5 . Disear la lgica de control o Unidad de Control basada en el diagrama

    ASM detallado.

  • La Mquina de estados algortmica (ASM) es un mtodo para el diseo de Mquina de

    estados finitos. Se utiliza para representar los diagramas de circuitos integrados digitales.

    El diagrama de ASM es como un diagrama de estado, pero menos formal y por tanto ms

    fcil de entender.

    Un grfico de ASM es un mtodo para describir las operaciones por orden de un sistema

    digital.

    ASM

    El mtodo de ASM se compone de los siguientes pasos:

    1 . Crear un algoritmo, utilizando pseudocdigo , para describir la

    operacin deseada del dispositivo.

    2 . Convertir el pseudocdigo en un diagrama ASM .

    3 . Disear la Ruta de Datos o Camino de Datos basado en el diagrama ASM.

    4 . Crear diagrama ASM detallado basado en la ruta o camino de datos.

    5 . Disear la lgica de control o Unidad de Control basada en el diagrama

    ASM detallado.

    DataPath ControlPath

  • cuadro de Estado. caja de salida condicional. cuadro de decisin

    Cuadro de estado: Un estado de ASM, representada como un rectngulo, corresponde a

    un estado de un diagrama de estado regular o mquina de estados finitos. El nombre del

    estado se indica fuera de la caja en la esquina superior izquierda. En el tipo Moore, se

    enumeran dentro de la caja.

    Cuadro de decisin: Un diamante indica que la expresin condicin establecida es de

    pruebas, y la ruta de salida es a elegir en consecuencia. La expresin de condicin

    contiene una o ms entradas a las Mquinas de Estados.

    Caja de salida condicional: un valo indica las seales de salida que son de tipo Mealy.

    Estos resultados dependen no slo del estado sino tambin las aportaciones al FSM.

  • Muoz Gerardo, Un mtodo simple para pasar de un algoritmo a

    un modelo en VHDL, Revista de ingeniera, Universidad distrital

    FJC, Vol. 7, No 2. 2002.

    Lectura de apoyo: