Programación de Circuitos Secuenciales con HDL

39
Programación de Circuitos Secuenciales con HDL Equipo 9

Transcript of Programación de Circuitos Secuenciales con HDL

Page 1: Programación de Circuitos Secuenciales con HDL

Programación de Circuitos Secuenciales con HDL

Equipo 9

Page 2: Programación de Circuitos Secuenciales con HDL

Que es un Circuito Secuencial?

Los circuitos de conmutación secuenciales tienen

la propiedad de que la salida no sólo depende de

la entrada actual, sino también de la secuencia de

entradas anteriores.

Page 3: Programación de Circuitos Secuenciales con HDL

Circuito Secuencial

Circuitocombinatorio Flip-Flops

Entradas

Reloj

Salidas

Page 4: Programación de Circuitos Secuenciales con HDL

Continuación

Page 5: Programación de Circuitos Secuenciales con HDL

Continuación

Page 6: Programación de Circuitos Secuenciales con HDL

¿Qué es un PLD?

Son las siglas de Programmable Logic Design o dispositivos de lógica programable. Estos circuitos integrados permiten generar dentro del mismo funciones que no disponemos en los C.I. comerciales (decodificadores, comparadores, sumadores, etc).

Los PLD´s pueden reemplazar circuitos integrados de propósito especifico en el diseño de circuitos

digitales.

Un solo PLD es funcionalmente equivalente a dispositivos que tienen desde 5 hasta 10,000 compuertas lógicas.

Page 7: Programación de Circuitos Secuenciales con HDL

Estos dispositivos están basados en transistores

bipolares transistores especiales que cuando se

hace circular una fuerte corriente dejan de conducir,

pero pueden volver a conducir aplicando una

diferencia de potencial en el circuito.

Page 8: Programación de Circuitos Secuenciales con HDL

Un ejemplo

Page 9: Programación de Circuitos Secuenciales con HDL

Arquitectura Básica de los PLD´s

Los PLD´s contienen una arquitectura general predefinida y se puede reprogramar por el usuario.

Agunos PLD´s contiene flip-flops y Latches para ser usados como elementos de almacenamiento para entradas y salidas.

Los pines pueden ser usados como entradas, salidas o I/O con habilitación de tres estados.

Page 10: Programación de Circuitos Secuenciales con HDL

Ventajas de los PLD´s

Reduce la cantidad de CI Reduce el espacio en las tarjetas

electrónicas. Menor consumo de potencia. Tiempo de diseño corto. Se pueden realizar cambios del

programa (mantenimiento). Compacta.

Page 11: Programación de Circuitos Secuenciales con HDL

1. Especificar la función que el circuito deseado debe realizar.2. Generación de las ecuaciones booleanas requeridas para

implementar esa función.3. Simplificación de las ecuaciones booleanas.4. Generación de un mapa de fusibles desde las ecuaciones

booleanas.5. Simulación Lógica (Opcional).6. Programación de dispositivo seleccionado.7. Chequeo o test del dispositivo ya programado con el

programador.

Procedimiento de diseño con dispositivos logicos programables

Page 12: Programación de Circuitos Secuenciales con HDL

Programación

La programación de los PLDs en general se

lleva a cabo por medio de programas de

aplicación especializados siendo las dos

estrategias de programación mas utilizadas la

captura esquemática y la de lenguaje de

descripción de hardware (HDL).

Page 13: Programación de Circuitos Secuenciales con HDL

Por Captura Esquemática

Por Captura Esquemática se entiende el proceso de descripción, mediante un dibujo, de un circuito eléctrico, que representan a los diferentes componentes del circuito y solo se efectúan interconexiones entre ellos. Existen varios programas aplicación de Captura Esquemática como el “Schematic” del IspStarter de Lattice Semiconductor o “Fundation” de XILINX entre otros.

Page 14: Programación de Circuitos Secuenciales con HDL

Continuación

Esta técnica permite simular en la computadora el circuito virtualmente y verificar su funcionamiento antes de su fabricación o implementación en un PLD, reduciendo así el ciclo de diseño y el tiempo de obtención de un producto.

Page 15: Programación de Circuitos Secuenciales con HDL

Captura esquemática

Page 16: Programación de Circuitos Secuenciales con HDL

Desventaja y Componentes

La desventaja es que en el diseño de circuitos grandes no es posible comprenderlos debido a que hay demasiados componentes e interconexiones en la pantalla.

Los cuatro componentes básicos de la captura esquemática son: Símbolos, Conectores, Etiquetas y Puertos de Entrada y/o Salida

Page 17: Programación de Circuitos Secuenciales con HDL

Componentes

Símbolos es una representación gráfica de los componentes.

Conectores (alambre), permite la interconexión entre las terminales de los símbolos, o Dispositivos de entrada/salida.

Etiquetas (Variables), Son los nombres para la identificación de las entradas o salidas.

Puertos de entrada/salida es la definición de las características de un Puerto de Entrada, Salida o Puerto Bidirecional.

Page 18: Programación de Circuitos Secuenciales con HDL

Diagrama de Proceso

Page 19: Programación de Circuitos Secuenciales con HDL

Con HDL

Lenguaje de descripción de hardwareUn lenguaje de descripción de hardware (HDL, Hardware Description Language) permite documentar las interconexiones y el comportamiento de un circuito electrónico, sin utilizar diagramas esquemáticos.

Page 20: Programación de Circuitos Secuenciales con HDL

Software para compilar los programas de los PLD:

ABELCUPLLOGIC/icORCAD-PLDPLDesignerTANGO-PLD

Page 21: Programación de Circuitos Secuenciales con HDL

Diagrama de Proceso

Page 22: Programación de Circuitos Secuenciales con HDL

Ventajas

• Es posible verificar el funcionamiento del sistema dentro del proceso de diseño sin necesidad de implementar el circuito.

• La simulación del diseño, antes de que éste sea implementado mediante compuertas, permitendo probar la arquitectura del sistema para tomar decisiones en cuanto a cambios en el diseño.

Page 23: Programación de Circuitos Secuenciales con HDL

Continuación

• Esta metodología elimina el antiguo método

tedioso de diseño mediante compuertas, reduce el tiempo de diseño y la cantidad deerrores producidos por el armado del

circuito.

• Un circuito hecho mediante una descripción

en un HDL puede ser utilizado en cualquier tipo

de dispositivo programable capaz de soportar

la densidad del diseño. Es decir, no es necesario

adecuar el circuito a cada dispositivo porque las

herramientas de síntesis se encargan de ello.

Page 24: Programación de Circuitos Secuenciales con HDL

Un PDL con HDL

Page 25: Programación de Circuitos Secuenciales con HDL

Por Ecuaciones Booleanas

La parte del circuito combinatorio que genera

las entradas a los flip-flops se describe por

medio de un conjunto de expresiones booleanas llamadas ecuaciones de

entrada de los flip-flops

Page 26: Programación de Circuitos Secuenciales con HDL

Circuito Secuencial

Page 27: Programación de Circuitos Secuenciales con HDL

Ecuaciones Booleanas

A = DA = A·X + B·XB = DB= A’·XLa salida Y esta dada por:Y = (A + B)·X’

Observando esta última ecuación se concluye que la salida (Y) es función del estado presente del sistema (A y B) y de la entrada asincrónica (X).

Page 28: Programación de Circuitos Secuenciales con HDL

Por Tabla de estados

Un circuito secuencial se especifica por una

tabla de estados que relaciona las salidas y los

estados siguientes como una función de las

entradas y de los estados presentes.

Page 29: Programación de Circuitos Secuenciales con HDL

Tabla de Estados

Page 30: Programación de Circuitos Secuenciales con HDL

Continuación

La tabla de estado para un circuito secuencial

con m flip-flops y n entradas tiene 2m+n filas. El

estado siguiente tiene m columnas, y el número

de columnas depende del número de salidas.

Page 31: Programación de Circuitos Secuenciales con HDL

Tabla de Estados Reducida

Page 32: Programación de Circuitos Secuenciales con HDL

Continuación

Haciendo un análisis de la operación del circuito

de la figura 7.1.3. se puede observar lo

siguiente: Cuando la variable X=0 los estados

actuales A y B cambian a 0 después de la

transición de reloj , y cuando X=1, los estados

de las salidas se comportan tal como se resume

en la tabla 7.1.2. Se plantea como ejercicio

verificar la información de la tabla.

Page 33: Programación de Circuitos Secuenciales con HDL

Por Diagrama de estados

La información disponible en una tabla de

estados se puede representar gráficamente en

un diagrama de estados. En este tipo de

diagrama, el estado se representa con un

circulo y la transición entre estados se indica

con líneas que conectan los círculos.

Page 34: Programación de Circuitos Secuenciales con HDL

Diagrama de Estado

Page 35: Programación de Circuitos Secuenciales con HDL

Continuación

Las líneas que salen y regresan al mismo círculo

indican que no hay cambio en el estado, cuando

se presentan la entrada y salida indicados.

Page 36: Programación de Circuitos Secuenciales con HDL

Por Tabla de verdad

Las tablas de transición se usan en conjunto

con las de estado y representan la tabla de

verdad de los flip-flops con los cuales se desea

implementar el circuito secuencial. La tabla

contiene los estados actuales y siguientes

según el estado de las entradas de los flip-flops.

La tabla 7.1.3 corresponde a la tabla de

transición del flip-flop JK.

Page 37: Programación de Circuitos Secuenciales con HDL

Tabla de Verdad

Page 38: Programación de Circuitos Secuenciales con HDL

Programación de un PLD con HDLCódigo:

PIN 2 = A;PIN 3 = B;PIN 4 = Ci;

PIN 23 = S;/*sumaPIN 22 = Co;/*Acarreo

FIELD entradas = [Ci,B,A];FIELD salidas = [Co,S];

TABLE entradas => salidas{ 'b'000 => 'b'00; 'b'001 => 'b'01; 'b'010 => 'b'01; 'b'011 => 'b'10; 'b'100 => 'b'01; 'b'101 => 'b'10; 'b'110 => 'b'10; 'b'111 => 'b'11;}

Page 39: Programación de Circuitos Secuenciales con HDL

Programación con Cupl