La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Diseño lógico secuencial con VHDL

Presentaciones similares


Presentación del tema: "Diseño lógico secuencial con VHDL"— Transcripción de la presentación:

1 Diseño lógico secuencial con VHDL
Ing. Diego Barragán Guerrero

2 Introducción La mayoría de los sistemas digitales que se encuentran en la práctica incluyen elementos de memoria, los cuales requieren que el sistema se describa en términos de lógica secuencial.

3 Diseño lógico secuencial
Un sistema secuencial está formado por un circuito combinacional y un elemento de memoria encargado de almacenar de forma temporal la historia del sistema. En esencia, la salida de un sistema secuencial no sólo depende del valor presente en las entradas en un instante determinado, sino también de la historia del sistema. Se dice que los secuenciales son circuitos con memoria, mientras que los combinacionales no tienen memoria.

4 Tipos Básicamente hay dos tipos de sistemas secuenciales:
Síncronos: su comportamiento se encuentra sincronizado mediante el pulso de reloj del sistema (CLK). Asíncrono: Su funcionamiento depende del orden y momento en el que se aplican las señales de entrada.

5 Descripción VHDL de lógica secuencial
Uno de los conceptos nuevos que aparece en VHDL a la hora de describir sistemas secuenciales es la forma de describir la activación por flanco de reloj. Atributo ‘EVENT. En el lenguaje VHDL los atributos sirven para definir características que se pueden asociar con cualquier tipo de datos, objeto o entidades. El atributo ‘event (evento, donde ‘ indica que se trata de un atributo) se utiliza para describir un hecho u ocurrencia de una señal particular.

6 Atributos de las señales
S´EVENT Retorna verdadero si ocurrió un evento en S durante el corriente delta, de lo contrario devuelve falso. S´ESTABLE Retorna verdadero si no hay evento en S. S´ACTIVE Retorna verdadero si S=1. S´LAST_EVENT Retorna el tiempo transcurrido desde la transición previa de la señal S. S´LAST_VALUE Retorna el valor previo de S antes del último evento. S´LAST_ACTIVE Retorna el tiempo transcurrido desde la transacción previa de la señal.

7 Atributo ‘EVENT Considerando una señal de reloj (CLK), la sentencia CLK’event es cierta sólo cuando ocurre un cambio de valor (paso de ‘0’ a ‘1’ o de ‘1’ a ‘0’). Combinándola con una sentencia de comprobación de igualdad del nuevo valor es posible definir la activación por el tipo de flanco que se desee:

8 Modelado VHDL de la activación por flanco
La principal opción que ofrece VHDL para modelar la activación por flanco en los circuitos secuenciales es mediante el atributo ‘event. Sin embargo, es posible modelarlos también mediante dos formas adicionales: Dentro de un proceso con la sentencia WAIT UNTIL. Usando las macros VHDL’93 rising_edge(señal) y falling_edge(señal);

9 Ej_3: Flip-Flop D activo en flanco de subida

10 Ej_4: Flip-Flop D activo en flanco de subida con RESET.

11 Ej_5: Flip-Flop D activo en flanco de subida con CLEAR.

12 Registros de almacenamiento
Presentan una estructura similar a los flip-flops. Almacenan el estado de un vector de bits en lugar de un solo bit.

13 Diseño de una Máquina de Estados
Una Maquina de Estados Finita (FSM) se puede describir en VHDL de varias formas. En primer lugar en la sección de declaraciones de la arquitectura, se define un tipo enumerado en el que se asignan identificadores a cada estado. Suele ser recomendable utilizar identificadores ilustrativos para los estados. La herramienta de síntesis será la encargada de codificar estos estados. Posteriormente, en el cuerpo de la arquitectura se define la función de transición de estados (F) y la función de salida (G) en uno o varios procesos. Por lo tanto tenemos: Un proceso secuencial que modela los estados. Por lo tanto que actualiza el estado (ESTADO). Un proceso combinacional que modela las funciones F y G; por lo tanto deriva el siguiente estado (ESTADO_SIG) y actualiza las salidas (O).

14 Ejemplo Se trata de diseñar una maquina de estados que active una salida S cuando se detecta la secuencia … en una línea de datos E sincronizada con un reloj. Este detector de secuencia se puede realizar con una máquina de Moore de cuatro estados. S1: Esperar el primer cero de la secuencia. S2: Esperar el segundo cero de la secuencia. S3: Esperar el uno de la secuencia y activar la salida S cuando llega.

15 Ejemplo

16 Referencias: Volnei A. Pedroni Circuit Design with VHDL. MIT Press, Cambridge, MA, USA. Maxinez, D.G., Alcalá, J VHDL: el arte de programar sistemas digitales. Compañía Editorial Continental.


Descargar ppt "Diseño lógico secuencial con VHDL"

Presentaciones similares


Anuncios Google