programación de circuitos secuenciales con hdl
TRANSCRIPT
![Page 1: Programación de Circuitos Secuenciales con HDL](https://reader035.vdocuments.site/reader035/viewer/2022081416/5571fb7d49795991699502ea/html5/thumbnails/1.jpg)
Programación de Circuitos Secuenciales con HDL
Equipo 9
![Page 2: Programación de Circuitos Secuenciales con HDL](https://reader035.vdocuments.site/reader035/viewer/2022081416/5571fb7d49795991699502ea/html5/thumbnails/2.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081416/5571fb7d49795991699502ea/html5/thumbnails/3.jpg)
Circuito Secuencial
Circuitocombinatorio Flip-Flops
Entradas
Reloj
Salidas
![Page 4: Programación de Circuitos Secuenciales con HDL](https://reader035.vdocuments.site/reader035/viewer/2022081416/5571fb7d49795991699502ea/html5/thumbnails/4.jpg)
Continuación
![Page 5: Programación de Circuitos Secuenciales con HDL](https://reader035.vdocuments.site/reader035/viewer/2022081416/5571fb7d49795991699502ea/html5/thumbnails/5.jpg)
Continuación
![Page 6: Programación de Circuitos Secuenciales con HDL](https://reader035.vdocuments.site/reader035/viewer/2022081416/5571fb7d49795991699502ea/html5/thumbnails/6.jpg)
¿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](https://reader035.vdocuments.site/reader035/viewer/2022081416/5571fb7d49795991699502ea/html5/thumbnails/7.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081416/5571fb7d49795991699502ea/html5/thumbnails/8.jpg)
Un ejemplo
![Page 9: Programación de Circuitos Secuenciales con HDL](https://reader035.vdocuments.site/reader035/viewer/2022081416/5571fb7d49795991699502ea/html5/thumbnails/9.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081416/5571fb7d49795991699502ea/html5/thumbnails/10.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081416/5571fb7d49795991699502ea/html5/thumbnails/11.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081416/5571fb7d49795991699502ea/html5/thumbnails/12.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081416/5571fb7d49795991699502ea/html5/thumbnails/13.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081416/5571fb7d49795991699502ea/html5/thumbnails/14.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081416/5571fb7d49795991699502ea/html5/thumbnails/15.jpg)
Captura esquemática
![Page 16: Programación de Circuitos Secuenciales con HDL](https://reader035.vdocuments.site/reader035/viewer/2022081416/5571fb7d49795991699502ea/html5/thumbnails/16.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081416/5571fb7d49795991699502ea/html5/thumbnails/17.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081416/5571fb7d49795991699502ea/html5/thumbnails/18.jpg)
Diagrama de Proceso
![Page 19: Programación de Circuitos Secuenciales con HDL](https://reader035.vdocuments.site/reader035/viewer/2022081416/5571fb7d49795991699502ea/html5/thumbnails/19.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081416/5571fb7d49795991699502ea/html5/thumbnails/20.jpg)
Software para compilar los programas de los PLD:
ABELCUPLLOGIC/icORCAD-PLDPLDesignerTANGO-PLD
![Page 21: Programación de Circuitos Secuenciales con HDL](https://reader035.vdocuments.site/reader035/viewer/2022081416/5571fb7d49795991699502ea/html5/thumbnails/21.jpg)
Diagrama de Proceso
![Page 22: Programación de Circuitos Secuenciales con HDL](https://reader035.vdocuments.site/reader035/viewer/2022081416/5571fb7d49795991699502ea/html5/thumbnails/22.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081416/5571fb7d49795991699502ea/html5/thumbnails/23.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081416/5571fb7d49795991699502ea/html5/thumbnails/24.jpg)
Un PDL con HDL
![Page 25: Programación de Circuitos Secuenciales con HDL](https://reader035.vdocuments.site/reader035/viewer/2022081416/5571fb7d49795991699502ea/html5/thumbnails/25.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081416/5571fb7d49795991699502ea/html5/thumbnails/26.jpg)
Circuito Secuencial
![Page 27: Programación de Circuitos Secuenciales con HDL](https://reader035.vdocuments.site/reader035/viewer/2022081416/5571fb7d49795991699502ea/html5/thumbnails/27.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081416/5571fb7d49795991699502ea/html5/thumbnails/28.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081416/5571fb7d49795991699502ea/html5/thumbnails/29.jpg)
Tabla de Estados
![Page 30: Programación de Circuitos Secuenciales con HDL](https://reader035.vdocuments.site/reader035/viewer/2022081416/5571fb7d49795991699502ea/html5/thumbnails/30.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081416/5571fb7d49795991699502ea/html5/thumbnails/31.jpg)
Tabla de Estados Reducida
![Page 32: Programación de Circuitos Secuenciales con HDL](https://reader035.vdocuments.site/reader035/viewer/2022081416/5571fb7d49795991699502ea/html5/thumbnails/32.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081416/5571fb7d49795991699502ea/html5/thumbnails/33.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081416/5571fb7d49795991699502ea/html5/thumbnails/34.jpg)
Diagrama de Estado
![Page 35: Programación de Circuitos Secuenciales con HDL](https://reader035.vdocuments.site/reader035/viewer/2022081416/5571fb7d49795991699502ea/html5/thumbnails/35.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081416/5571fb7d49795991699502ea/html5/thumbnails/36.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081416/5571fb7d49795991699502ea/html5/thumbnails/37.jpg)
Tabla de Verdad
![Page 38: Programación de Circuitos Secuenciales con HDL](https://reader035.vdocuments.site/reader035/viewer/2022081416/5571fb7d49795991699502ea/html5/thumbnails/38.jpg)
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](https://reader035.vdocuments.site/reader035/viewer/2022081416/5571fb7d49795991699502ea/html5/thumbnails/39.jpg)
Programación con Cupl