INSTITUTO TECNOLÓGICO SUPERIOR DE LA MONTAÑA INGENIERÍA EN SISTEMAS COMPUTACIONALES
ASIGNATURA: PRINCIPIOS ELÉCTRICOS Y APLICACIONES DIGITALES “
”
DO OC C E N TE TE : I NG NG . J A C O B O R E Y E S MA T IN IN E Z
TEMA: UNIDAD 4. LENGUAJES HDL
ACTIVIDAD: ACTIVIDAD: INVESTIGACIÓN.
PRESENTA: VILLEGAS GONZÁLEZ JESÚS
N° CONTROL: S15120011
SEMESTRE: 4° SEMESTRE
TLAPA DE COMONFORT, GRO., A 08 DE AGOSTO DE 2017.
PRINCIPIOS ELÉCTRICOS Y APLICACIONES DIGITALES INVESTIGACIÓN
UNIDAD IV: LENGUAJES HDL 4.1. Dispositivos lógicos programables programables Definición 1: Un Dispositivo Lógico Programable (PLD ) es un componente electrónico usado para construir circuitos digitales reconfigurables. A diferencia de una compuerta lógica que tiene una función fija, los PLDs salen de fábrica sin una función en específico, por lo tanto, necesitan ser programados o reconfigurados antes de
poder ser usados. Los PLDs tienen varias ventajas. La primera es la habilidad de integración, que permite integrar una gran cantidad de funcionalidad en un solo chip. Los PLDs eliminan el uso de múltiples chips así como la inconveniencia y d esconfianza de usar cableado externo. La segunda ventaja es el hecho de poder cambiar el diseño. Muchos PLDs permiten ser reprogramados o reconfigurados . Existen dos ramas principales dentro de los dispositivos lógicos programables, la lógica programable de campo y la de fábrica . El término campo en este contexto implica que los dispositivos puedan ser programados en el “campo” del usuario, mientras que la lógica de fábrica puede ser programada en la misma fábrica donde se construyen, de acuerdo a los l os requerimientos del cliente. En este caso, la tecnología de programación usa procesos irreversibles, por lo que solo es posible hacerlo una vez.
Definición 2: ¿Qué es la lógica programable? La lógica programable, como el nombre implica, es una familia de componentes que contienen conjuntos de elementos lógicos (AND, OR, NOT, LATCH, FLIP-FLOP) que pueden configurarse en cualquier función lógica que el usuario desee y que el componente soporte. Hay varias clases de dispositivos lógicos programables: ASICs, FPGAs, PLAs, PROMs, PALs, GALs, y PLDs complejos.
1
PRINCIPIOS ELÉCTRICOS Y APLICACIONES DIGITALES INVESTIGACIÓN
Definición 3: La lógica programada es un tipo de diseño implementado en chips que permite la reconfiguración de los circuitos con el simple cambio del software que incorpora, es lo contrario de la lógica cableada.
La lógica programada se basa en dispositivos lógicos programables (PLD), los cuales tienen una función no establecida, al contrario que las puertas lógicas que tienen una función fija en el momento de su fabricación. Antes de poder utilizar el PLD en un circuito, este debe ser programado. A continuación, muestro una imagen (figura 2.1) en la cual se plasma los tipos de dispositivos programables y una breve descripción que en el tema siguiente abarcaré con un poco más a detalle cada uno.
4.1.1. Tipos Algunos ejemplos de lógica programable de fábrica son los MPGAs y memorias de sólo lectura (ROMs). Las primeras generaciones de muchos dispositivos programables también fueron programadas únicamente en fábrica. 2
PRINCIPIOS ELÉCTRICOS Y APLICACIONES DIGITALES INVESTIGACIÓN
Las ROMs: son consideradas como lógica programable porque, aunque fueron concebidas como unidades de memoria, también sirven para implementar cualquier circuitería combinacional. Una ROM consiste en un arreglo de dispositivos semiconductores que están interconectados para almacenar de datos binarios . Una vez almacenada la información, puede ser leída cuando se requiera, pero no puede ser modificada bajo condiciones normales de operación. Las ROMs tienen combinaciones de entradas, que generalmente son llamadas direcciones, y patrones de salidas, llamadas palabras. Una ROM que tiene n líneas de entrada y m líneas de salida contiene un arreglo de 2n palabras, cada una de m bits de longitud. La dirección sirve para seleccionar una de las 2n palabras, por lo que cuando una combinación de entrada es aplicada a la ROM, el patrón de ceros y unos almacenados en la palabra correspondiente aparece en las líneas de salida.
Una ROM consiste básicamente de un decodificador y un arreglo de memoria. Cuando un patrón de entrada se aplica a las entradas del decodificador, una de las 2n salidas de dicho decodificador se activa, seleccionando una de las palabras almacenadas en la memoria y se transfiere a las líneas de salida.
Los MPGAs son arreglos de compuertas tradicionales que requieren una máscara para ser diseñados. Los MPGAs son también llamados simplemente gate arrays y han 3
PRINCIPIOS ELÉCTRICOS Y APLICACIONES DIGITALES INVESTIGACIÓN
sido la tecnología popular para crear ASICs (Application Specific Integrated Circuits).
Los SPLDs Los PLAs, PALs, GALs y ROMs son llamados SPLDs (Simple Programmable Logic Devices) a partir del surgimiento de los CPLDs (Complex Programmable Logic Devices) los cuales básicamente contienen múltiples PLDs en el mismo chip.
Un CPLD Los avances en tecnología han hecho posible la creación de circuitos integrados programables equivalentes a varios PLDs en el mismo chip. A estos circuitos integrados se les llaman dispositivos lógicos programables complejos (CPLDs por sus siglas en inglés). Un CPLD es un circuito integrado que consiste en un número de bloques lógicos parecidos a un PAL, incluyendo además una matriz programable de interconexiones entre estos bloques. Algunos CPLDs se basan en la arquitectura del PAL, en cuyo caso cada macrocelda contiene un flip flop y una compuerta OR, cuyas entradas están asociadas a un arreglo de compuertas AND fijo, mientras que los CPLDs que se 24 basan en PLAs cada salida de compuertas AND en un bloque se puede conectar a la entrada de cualquier compuerta OR en ese bloque.
Los FPGAs Los FPGAs son circuitos integrados que contienen un arreglo de bloques lógicos idénticos con interconexiones programables, en los que el usuario puede programar tanto las funciones realizadas por cada bloque lógico como las conexiones entre bloques. Los FPGAs tienen varias ventajas con respecto a MPGAs. Un arreglo de compuertas tradicional puede ser usado para implementar cualquier circuito, pero 27 sólo se puede programar en fábrica ya que se requiere hacer una máscara específica para un circuito en particular y el tiempo de diseño para un circuito integrado basado en arreglo de compuertas es de algunos meses. Por otro lado, los FPGAs son productos comerciales, el tiempo de manufactura se puede reducir de meses a algunas horas cambiando de MPGAs a FPGAs. De la misma forma, se vuelve más fácil y más barato corregir errores en los diseños. A volúmenes no tan altos, los FPGAs son más baratos que los MPGAs. 4
PRINCIPIOS ELÉCTRICOS Y APLICACIONES DIGITALES INVESTIGACIÓN
El interior de los FPGAs contiene típicamente tres elementos programables: los bloques lógicos, los bloques de entrada/ salida y las interconexiones. Se considera que los bloques de entrada/ salida se encuentran en la periferia del circuito integrado, éstos conectan las señales lógicas a los pines del chip. Los bloques lógicos se encuentran distribuidos dentro del FPGA y el espacio entre ellos se usa para mandar conexiones entre bloques.
4.1.2. características El principio de síntesis de cualquier dispositivo lógico programable se fundamenta en el hecho de que cualquier función booleana puede ser expresada como una suma de productos. el dispositivo programable más simple es el pal (programmable array logic). el circuito interno de un pal consiste en un arreglo, o matriz, de compuertas and y un arreglo de compuertas or. el arreglo and es programable mientras que el or generalmente es fijo. mediante una matriz de conexiones se seleccionan cuales entradas serán conectadas al arreglo and, cuyas salidas son conectadas al arreglo or y de esta manera obtener una función lógica en forma de suma de productos. una matriz de conexiones es una red de conductores distribuidos en filas y columnas con un fusible en cada punto de intersección.
Algunas características son:
Los dispositivos lógicos Programables (PLD) son una alternativa tecnológica al diseño electrónico tradicional. Se requiere de destreza en la programación Se requieren de dispositivos de programación
Se experimenta con tarjetas de desarrollo, que son costosas. Es más confiable la electrónica del circuito. El producto final es menos caro La salida al mercado producto es rápida.
del
5
PRINCIPIOS ELÉCTRICOS Y APLICACIONES DIGITALES INVESTIGACIÓN
4.1.3. Fabricantes Principales fabricantes:
Altera
Lattice Semiconductor
Atmel
Xilinx
Cypress Semiconductor
4.1.4. Pasos para el diseño con PLD’s
Son IC's estándar de la familia de ASIC´s que están disponibles en configuraciones estándar desde catálogos de partes y se venden en grandes volúmenes a muchos consumidores. Sin embargo, los PLD's pueden configurarse o programarse para crear partes configurables para una aplicación específica, los PLD's utilizan diferentes tecnologías para permitir la programación del dispositivo. Entre las principales características de los PLD's se puede destacar:
No poseen mascaras o capas ni celdas lógicas configurables.
Rápido diseño.
Un solo gran bloque de interconexiones programables. Poseen una matriz de macroceldas
lógicas que usualmente consiste de un arreglo programable lógico seguido por un flipflop o latch
Planificación del diseño Para poder atacar un problema complejo (sistema) la mejor manera que tenemos es dividirlo. De esta manera se pueden atacar problemas de menor complejidad y mas fáciles de analizar. Este es el camino que generalmente usamos para diseñar un sistema digital. Las decisiones que se tomen al principio para dividir el problema pueden afectar el resultado final. En algunos casos debemos volver al principio y replantear la arquitectura después de haber resuelto el problema. La 6
PRINCIPIOS ELÉCTRICOS Y APLICACIONES DIGITALES INVESTIGACIÓN
experiencia y conocimientos sobre el problema, las posibles soluciones y la tecnología disponible ayudarán a que la decisión que se tome sea la más acertada. Un sistema puede estar compuesto por varios subsistemas, no todos ellos digitales o electrónicos. La primera decisión será entonces que partes del sistema se implementarán como subsistemas digitales. En el sistema digital, los siguientes pasos se siguen en cada nivel de la jerarquía del diseño, cada vez con mayor nivel de detalle. La especificación es muy importante pare definir bien los límites de lo que se quiere fabricar. A partir de la especificación se puede definir una arquitectura con los diferentes componentes que implementan cada función del sistema. Para el diseño se debe definir el funcionamiento de cada uno de esos componentes. Un sistema digital y sus componentes pueden definirse a distintos niveles de abstracción y en tres dominios diferentes: Comportamiento, estructural y físico. Dominio Comportamiento: Describe lo que hace un sistema (funcionamiento) Nivel Algoritmo: Describe el comportamiento del sistema como operaciones sobre las entradas para producir las salidas deseadas sin detallar los cambios en el tiempo ni las señales internas. Nivel RTL: Describe el comportamiento de todas las señales (entradas, internas y salidas) en el tiempo (para cada ciclo de reloj en sistemas sincrónicos) Dominio Estructural: Describe componentes (esquemático)
al
sistema
como
una
interconexión
de
Nivel P-M-S (Processor Memory Switch): Describe la estructura como la interconexión de elementos de procesamiento, memoria e interconexión, sin mayores detalles de implementación. Nivel Registros: Describe la estructura como la interconexión de registros y lógica de interconexión. Dominio Físico: Describe la implementación física del sistema (plano).
7
PRINCIPIOS ELÉCTRICOS Y APLICACIONES DIGITALES INVESTIGACIÓN
Para lograr tiempo más rápidos de diseño, menos errores, y mayor productividad, lo ideal sería poder trabajar al máximo nivel de abstracción posible (algoritmos), sin entrar en los detalles de bajo nivel. Desafortunadamente, esto no es siempre posible con la tecnología existente (pero esta cambia permanentemente). El nivel de abstracción dependerá entonces de la aplicación y restricciones sobre el diseño. Si se debe diseñar un integrado full-custom analógico es probable que se trabaje al nivel de ecuaciones diferenciales, al nivel de transistores y haciendo el layout manual. Si se diseña un integrado digital con bloques predefinidos (IP, Cores) y adquiridos a terceros se trabajará a un nivel de abstracción mucho mayor (floorplanning, RTL). En el ciclo de diseño con FPGAs, gran parte del aspecto físico ha sido solucionado por el fabricante. En general se trabaja al nivel de transferencia de registros con algunas herramientas que ayudan a diseñar a niveles de algoritmo.
4.2. Programación de circuitos combinacionales con HDL
Programación de circuitos combinacionales con HDL Los circuitos combinacionales son aquellos cuyo valor de saluda depende únicamente de los valores de entrada:
Comparadores
Multiplexores
Sumadores
Codificadores
Decodificadores Convertidores código
de
8
PRINCIPIOS ELÉCTRICOS Y APLICACIONES DIGITALES INVESTIGACIÓN
4.2.1. POR CAPTURA ESQUEMÁTICA Por Captura Esquemática se entiende el proceso de descripción, mediante un dibujo, de un circuito eléctrico, en el que se representan a los diferentes componentes del circuito y solo se efectúan interconexiones entre ellos. Existen varios programas con la aplicación de Captura Esquemática como el “Schematic” del IspStarter de Lattice Semiconductor o “Fundation” de XILINX entre otros. 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. Programa de Captura Esquemática. Los cuatro componentes básicos de la captura esquemática son: Símbolos, Conectores, Etiquetas y Puertos de Entrada y/o Salida.
4.2.2 Por tabla de verdad Para aclarar el proceso es necesario un ejemplo específico, la tabla de verdad especifica un circuito combinacional con dos entradas y dos salidas. Las funciones de BOOLE pueden expresarse en suma de términos mínimos. El diseño de circuitos combinacional es parte la especificación del problema y culmina en un diagrama lógico de circuitos o un conjunto de funciones booleanas a partir de las cuales se puede obtener ediagrama lógico. El procedimiento implica los pasos siguientes:
De la especificación del circuito, deduzca el número requerido de entradas y salidas;
Deduzca la tabla de verdad que define la relación requerida entre las entradas y las salidas.
simplificadas para cada salida en función de variables de entrada.
asigne un símbolo a cada una.
Obtenga funciones booleanas
las
Dibuje el diagrama lógico y verifique que el diseño sea correcto 9
PRINCIPIOS ELÉCTRICOS Y APLICACIONES DIGITALES INVESTIGACIÓN
4.2.3 Por ecuaciones Booleanas Si se requiere reducir la función que realiza el circuito. Este proceso parte del diagrama lógico dado y culmina en un conjunto de funciones BOOLEANAS , una tabla de vedad o una posible explicación del funcionamiento del circuito. Si el diagrama lógico analizar va acompañado de un nombre de función o de una explicación de lo que se supone que hace, el problema de análisis se reduce a una verificación de la función planeada. El análisis se efectúa manual mente encontrando las funciones BOOLEANAS o la TABLA De VERDAD, o bien utilizando un programa de simulación de computadora. El primer paso del análisis consiste en asegurarse del que el circuito dado sea combinacional y no secuencial. El diagrama del circuito combinacional tiene compuertas lógicas sin trayectoria de retroalimentación ni elementos de memoria. Una trayectoria de retroalimentación es una conexión de salida de una compuerta a la entrada de una segunda compuerta que forma parte de la entrada a la primera compuerta.
4.2.4 Por descripción de comportamiento Por descripción de comportamiento. El modelado comportamental, describe el funcionalmente de un circuito. Se trata de una descripción funcional por que expone la forma en que trabaja el circuito , es decir, las descripciones consideran la relación que hay entre las entradas y las salidas del circuito, sin importar como esté organizado en su interior
10
PRINCIPIOS ELÉCTRICOS Y APLICACIONES DIGITALES INVESTIGACIÓN
4.3 Programación de circuitos secuenciales con HDL Lenguaje de Descripción de Hardware de alta escala de integración (VHDL) VHDL es el acrónimo que representa la combinación de VHSIC y HDL, donde VHSIC es el acrónimo de Very High Speed Integrated Circuit y HDL es a su vez el acrónimo de Hardware Description Language. Es un lenguaje definido por el IEEE (Institute of Electrical and Electronics Engineers) (ANSI/IEEE 1076-1993) usado por ingenieros para describir circuitos digitales. Otros métodos para diseñar circuitos son la captura de esquemas (con herramientas CAD) y los diagramas de bloques, pero éstos no son prácticos en diseños complejos. Otros lenguajes para el mismo propósito son Verilog y ABEL. Aunque puede ser usado de forma general para describir cualquier circuito se usa principalmente para programar PLD (Programable LogicDevice Dispositivo Lógico Programable), FPGA (Field Programmable Gate Array), ASIC y similares Dentro del VHDL hay varias formas con las que podemos diseñar el mismo circuito y es tarea del diseñador elegir la más apropiada.
Funcional: Describimos la forma en que se comporta el circuito. Esta es la forma que másse parece a los lenguajes de software ya que la descripción es secuencial. Estas sentencias secuenciales se encuentran dentro de los llamados procesos en VHDL. Los procesos son ejecutados en paralelo entre sí, y en paralelo con asignaciones concurrentes de señales y con las instancias a otros componentes.
Flujo de datos: Describe asignaciones concurrentes (en paralelo) de señales. Estructural: se describe el circuito con instancias de componentes. Estas instancias forman un diseño de jerarquía superior, al conectar los puertos de estas instancias con las señales internas del circuito, o con puertos del circuito de jerarquía superior. 11
PRINCIPIOS ELÉCTRICOS Y APLICACIONES DIGITALES INVESTIGACIÓN
Mixta: combinación de todas o algunas de las anteriores. En VHDL también existen formas metódicas para el diseño de máquinas de estados, filtros digitales, bancos de pruebas etc.
4.2.1. Por captura esquemática Los programas de captura esquemática son aplicaciones creadas para esbozar circuitos electrónicos y exportar los esquemas como archivos netlist ; los cuales satisfacen la sintaxis de algún núcleo de simulación en particular. Dentro de este grupo de programas, que delegan al usuario la tarea de enlazar los archivos netlist generados con el núcleo de simulación, se encuentran: XCircuit 11, y gschem 12; pertenecientes a los grupos Open Circuit Design y gEDA , respectivamente. La principal característica de ambos programas, es que pueden generar dibujos decircuitos de gran calidad, debido a la tecnología utilizada en su implementación: el lenguaje Postscript para la descripción de diagramas. Sin embargo, se aprecia una ligera diferencia entre estas dos aplicaciones, locual podría ayudar a discriminar entre una y otra. Por una parte, el autor de gschem reconoce que XCircuit produce mejores salidas gráficas; y por otra, gschem está más orientado al diseño de circuitos que a dibujos de calidad en sí, lo cual se aprecia en su funcionalidad. Lamentablemente, la desventaja de programas de este tipo, es el hecho de tener que enlazar explícitamente el núcleo de simulación; lo cual incrementa la curva de aprendizaje de usuarios provenientes de ambientes más amigables
4.3.2.POR TABLA DE VERDAD La tabla de verdad es un instrumento utilizado para la simplificación de circuitos digitales a través de su ecuación booleana . Las tablas de verdad pueden tener muchas columnas, pero todas las tablas funcionan de igual forma. Hay siempre una columna de salida (última columna a la derecha) que representa el resultado de todas las posibles combinaciones de las entradas. 12
PRINCIPIOS ELÉCTRICOS Y APLICACIONES DIGITALES INVESTIGACIÓN
El número total de columnas en una tabla de verdad es la suma de las entradas que hay + 1 (la columna de la salida). El número de filas de la tabla de verdad es la cantidad de combinaciones que se pueden lograr con las entradas y es igual a 2n, donde n es el número de columnas de la tabla de verdad (sin tomar en cuenta la columna de salida) Ejemplo: en la siguiente tabla de verdad hay 3 columnas de entrada, entonces habrán: 2^3 = 8 combinaciones (8 filas) Un circuito con 3 interruptores de entrada (con estados binarios "0" o "1"), tendrá 8 posibles combinaciones. Siendo el resultado (la columna salida) determinado por el estado de los interruptores de entrada.
4.3.3. POR ECUACIONES BOOLEANAS Los Números Reales lo conocemos muy bien, así como todas las operaciones definidas en él. Estamos acostumbrados a trabajar con ellos desde pequeños, por eso este tipo de Ecuaciones nos parecen intuitivas y sencillas, aunque no comprendamos lo que significan las variables usadas. Sin embargo, puesto que estos números vienen expresados en binario, las variables y números utilizados NO SON REALES. Para describir un circuito digital utilizaremos ecuaciones, Para describir un circuito digital utilizaremos ecuaciones matemáticas. Sin embargo, estas ecuaciones tienen variables y números que NO SON REALES, por lo que NO podemos aplicar las mismas propiedades y operaciones que conocemos. Hay que utilizar nuevas operaciones y nuevas propiedades, definidas en el ALGEBRA DE BOOLE.
13
PRINCIPIOS ELÉCTRICOS Y APLICACIONES DIGITALES INVESTIGACIÓN
4.3.4. POR DESCRIPCIÓN DE COMPORTAMIENTO Descripción VHDL de comportamiento. Esta es quizás la etapa más importante del diseño, ya que en ella se toman decisiones claves para el resultado final. El método se clarifica con un ejemplo, en el cual se ha buscado también la aplicación de los criterios de jerarquía, modularidad y regularidad. Para ello se trata de que todos los pasos de la secuencia sean iguales, cuando ello es posible. También se siguieron las recomendaciones de no usar lógica auxiliar en las señales de reloj (todos los cambios del sistema se producen sincronizados con la señal de reloj la cual es única para todos los Flip Flops.) Síntesis. Ya en la descripción inicial se halla presente la división del circuito en una parte de control y una parte de datos. Por lo tanto, la síntesis consistirá en pasar de la descripción de comportamiento a una descripción de estructura (y comportamiento) que contemple los requisitos expuestos. En esta etapa son importantes la elección del tipo de lógica a utilizar y la estrategia de reloj, esto se podrá apreciar en el ejemplo que consiste en un circuito de control para un convertidor A/D de aproximaciones sucesivas. Comportamiento. En una especificación de este tipo decimos cual es la función que cumple el sistema.
14
PRINCIPIOS ELÉCTRICOS Y APLICACIONES DIGITALES INVESTIGACIÓN
4.3.5. Por tabla de estado Una tabla de estado es un listado que contiene la secuencia de los estados de entradas, estados internos y salidas del sistema, considerando todas las posibles combinaciones de estados actuales y entradas. Las tablas de estado por lo general se dividen en tres partes: Estados actuales
Estados siguientes
Salidas
A continuación, muestro un ejemplo con las valores.
Las ecuaciones lógicas en los circuitos secuenciales tienen una estructura formada por dos clases se estados:
Los estados siguientes, los cuales se agrupan al lado izquierdo de la expresión y representan las variables dependientes del sistema. El estado de estas variables cambia en el momento que ocurra una transición en la señal de reloj. Estados actuales y entradas del sistema. Agrupados al lado derecho de la expresión, constituyen las variables independientes, las cuales pueden o no cambiar en sincronía con el sistema.
Cuando las ecuaciones de estado contienen varios términos, se puede simplificar empleando metodologías de reducción de términos como Algebra Boole, Mapas de Karnaugh o mediante el algoritmo de Quine-McCluskey. 15
PRINCIPIOS ELÉCTRICOS Y APLICACIONES DIGITALES INVESTIGACIÓN
4.3.6. Por diagrama de transición Circuitos secuenciales
Son aquellos en los cuales las salidas en un instante de tiempo determinado dependen de las entradas en ese instante y en instantes anteriores de tiempo. Como consecuencia de la definición anterior podemos llegar a la conclusión de que este tipo de circuitos son capaces de memorizar información y que esta información en un momento dado depende de las entradas ocurridas en el circuito hasta ese momento. El circuito no es capaz de memorizar todas las entradas ocurridas hasta un instante de tiempo determinado, sino solo una cierta parte. A la información almacenada se le denomina estado del sistema, y el número máximo de informaciones almacenables es el número de estados posibles del sistema. El circuito secuencial recibe información binaria de su ambiente a través de las entradas E, las cuales, en combinación con el estado actual Q (t) (almacenado en los elementos de almacenamiento), determinan el valor binario de las salidas S y el siguiente estado Q(t+1). Las salidas de un circuito secuencial son las salidas del circuito combinacional. Funciones de transición Un circuito o sistema secuencial queda definido por dos funciones lógicas, llamadas funciones de transición: 1. Función de salida: nos indica cómo depende la salida o salidas, de las entradas actuales y del estado actual. 2. Función de transición de estado: nos indica como depende el nuevo estado del estado anterior y de las entradas al sistema. Función de salida: S(t) = salidas en el mismo instante de tiempo t E(t) = entradas en el mismo instante de tiempo t 16
PRINCIPIOS ELÉCTRICOS Y APLICACIONES DIGITALES INVESTIGACIÓN
Q(t) = estado en el instante de tiempo t La función de salida puede expresarse: S (t) = F [ E (t), Q (t)] Función de transición de estado Nos indica si unas determinadas entradas producen un cambio en el estado y a qué estado se cambia. La función puede expresarse: Q(t+1) = G [ E(t), Q(t) ] Tanto F como G son funciones lógicas, exactamente iguales a las estudiadas hasta ahora. La única novedad, que confiere a los circuitos secuenciales propiedades totalmente distintas a los combinacionales, es el hecho de que existe realimentación. La función G nos da los valores Q en función de los propios valores Q anteriores. Las mismas variables son variables de entrada y salida de la función. Las funciones F y G pueden expresarse mediante tablas de verdad. como cualquier otra función. Por el hecho de existir realimentación, se les denomina tablas de transición del circuito secuencial. Cronogramas Cuando éste es complejo, es más cómodo manejar una representación gráfica de las variables en función del tiempo. A esta representación se le llama cronograma. Más adelante veremos los cronogramas de los distintos biestables. Biestables Los biestables son circuitos lógicos capaces de permanecer en uno de entre dos estados estables, aún después de desaparecer la causa que provocó el paso al estado alcanzado. Son, pues, capaces de almacenar una información binaria (1 bit). Tipos de biestables. Deben distinguirse tres aspectos en las señales de entrada que producen la transición de un estado a otro: 17
PRINCIPIOS ELÉCTRICOS Y APLICACIONES DIGITALES INVESTIGACIÓN
1. La lógica de disparo, que determinará que el biestable cambie de estado cuando en sus entradas se dé una cierta combinación de señales. Es el modo de funcionamiento. Puede haber tantos biestables como lógicas de cambio nos imaginemos. En la práctica sólo se usan 4 tipos de biestables. 2. El tipo de disparo, que determinará la forma en que las excitaciones de entrada afectan al estado del biestable. 3. El sincronismo en el disparo, que determinará si el funcionamiento del biestable se hará de acuerdo con la presencia de una señal adicional a las entradas, y que se denomina señal de reloj. Combinando estos tres aspectos, los fabricantes han comercializado una gran variedad de biestables, que son suficientes para las necesidades de diseño. Podemos clasificar los biestables según estos criterios. 1.
Atendiendo a la lógica de disparo (modo de funcionamiento): § q Biestable R-S § q Biestable J-K § q Biestable D § q Biestable T
2.
Atendiendo al sincronismo en el disparo y tipo de disparo: § Asíncronos (latches): funcionan sin señal de reloj. § Síncronos (flip-flops): funcionan con señal de reloj.
18
PRINCIPIOS ELÉCTRICOS Y APLICACIONES DIGITALES INVESTIGACIÓN
Disparo por nivel de tensión: alto ("1") o bajo ("0") § Nivel alto ("1"): El biestable podrá cambiar de estado cuando la señal de reloj esté a "1". § Nivel bajo ("0"): El biestable podrá cambiar de estado cuando la señal de reloj esté a "0".
Disparo por flanco: de subida o bajada § Flanco de subida: El biestable podrá cambiar de estado en el instante en que la señal de reloj pase de "0" a "1". § Flanco de bajada: El biestable podrá cambiar de estado en el instante en que la señal de reloj pase de "1" a "0".
Biestables asíncronos (latches) Asíncronos quiere decir que funcionan sin señal de reloj; cualquier cambio en las entradas produce un cambio en las salidas, en cualquier momento. En el caso de tener varios biestables asíncronos en un circuito, cada uno actuaría de forma independiente a los otros. Biestables síncronos (flip-flops) Son los que funcionan en sincronismo con una señal de reloj. A estos también se les llama circuitos secuenciales sincronizados, y es el tipo de circuito más utilizados en la práctica, ya que son relativamente sencillos de diseñar. Un circuito secuencial síncrono emplea señales que afectan los elementos de almacenamiento sólo a instantes discretos de tiempo. La sincronización se logra por medio de un dispositivo de sincronía, llamado generador de reloj, que produce un tren periódico de pulsos de reloj, a intervalos fijos. 19
PRINCIPIOS ELÉCTRICOS Y APLICACIONES DIGITALES INVESTIGACIÓN
Esto significa que en los biestables síncronos, la tabla de transición solo se cumple cuando se activa la señal de reloj. Si la señal de reloj no se activa, no se produce ninguna transición. Por tanto, aunque en las entradas haya una combinación de señales que conduzcan a una transición de estado, ésta no se producirá hasta que se active la señal de reloj, y no volverá a producirse una nueva transición hasta que se active de nuevo la señal de reloj. La señal de reloj puede activarse de dos formas: por nivel o por flanco. Biestables activados por nivel (de tensión): Un biestable activado por nivel podrá cambiar de estado cuando la señal de reloj esté a un determinado nivel de tensión: "1" (nivel alto) o "0" (nivel bajo). Biestables activados por flanco: Un biestable activado por flanco ignora el pulso de reloj mientras está en un nivel constante y se dispara sólo durante una transición de la señal de reloj, de "0" a "1" (flanco de subida) o de "1" a "0" (flanco de bajada).
20
PRINCIPIOS ELÉCTRICOS Y APLICACIONES DIGITALES INVESTIGACIÓN
Material bibliográfico consultado a) http://electronicaintegradalmec.blogspot.mx/2008/02/dispositivoslogicos-programables.html b) http://mitecnologico.com/sistemas/Main/FabricantesDispositivosLogicosPr ogramables c) http://iindustrial.obolog.es/dispositivos-logicos-programables-parte-1209085 d) http://bioingenieria.edu.ar/academica/catedras/electronica_digital/arch ivos/teorias/plds.pdf e) http://principioselectricos2015its.16mb.com/4-3-5-Por-tabla-de-estado/ f) http://cdigital.dgb.uanl.mx/te/1020149162.pdf g) https://es.scribd.com/doc/292412432/Unidad-4-Lenguajes-HDL h) http://www.ptolomeo.unam.mx:8080/jspui/bitstream/132.248.52.100/658/8 /A8.pdf i) http://pablin.com.ar/electron/cursos/intropld/index.htm j) http://itpn.mx/recursosisc/4semestre/principioselectricos/Unidad%20IV.pdf k) http://principioselectricosits.16mb.com/ar/4-1-2-Caracter%C3%ADstica 21
PRINCIPIOS ELÉCTRICOS Y APLICACIONES DIGITALES INVESTIGACIÓN
l) http://bioingenieria.edu.ar/academica/catedras/electronica_digital/arch ivos/teorias/plds.pdf m) http://electronicwebeasy.es.tl/PASOS-PARA-EL-DISE%D1O-DE-DLP.htm n) http://electronicwebeasy.es.tl/PROGRAMACION-DE-CIRCUITOSCOMBICIONALES-CON-HDL.htm o) http://electronicwebeasy.es.tl/POR-TABLA-DE-ESTADO-CIRCUITOSSECUENCIALES.htm p) https://es.scribd.com/doc/292412432/Unidad-4-Lenguajes-HDL
22