Circuitos Lógicos Combinatorios Ing. Jorge Manrique © 2004 Sistemas Digitales 1 Circuitos Combinatorios Un circuito combinatorio es un arreglo de compuertas lógicas con un conjunto de entradas y salidas. En cualquier momento, los valores binarios de las salidas son una combinación binarias de las entradas. Ing. Jorge Manrique © 2004 Sistemas Digitales 2 Diagrama de un circuito combinatorio n variables de entrada Ing. Jorge Manrique © 2004 Circuito Combinatorio Sistemas Digitales m variables de salida 3 Uso de los C.C. Los circuitos combinatorios se emplean en las computadoras digitales para generar decisiones de control binarias y para proporcionar los componentes digitales requeridos para el procesamiento de datos. Ing. Jorge Manrique © 2004 Sistemas Digitales 4 Análisis de un C.C. El análisis de un C.C. inicia con un diagrama de circuito lógico determinado y culmina con un conjunto de funciones booleanas o una tabla de verdad. Ejemplo Semisumador Sumador Completo Ing. Jorge Manrique © 2004 Sistemas Digitales 5 Diseño de un C.C. El diseño de un circuito combinatorio parte del planteamiento verbal del problema y termina con un diagrama lógico. El procedimiento es el siguiente: 1. 2. 3. 4. 5. Se Se Se Se Se establece el problema asignan símbolos a las variables de entrada y salida. extrae la tabla de verdad. obtienen las funciones booleanas simplificadas. traza el diagrama lógico Ing. Jorge Manrique © 2004 Sistemas Digitales 6 Ejemplos de diseño Comparador de magnitud Medio sumador Sumador Completo Medio Restador Restador Completo Decodificador Multiplexor Ing. Jorge Manrique © 2004 Sistemas Digitales 7 Semisumador (Medio Sumador o Half Adder) El circuito aritmético digital más simple es el de la suma de dos dígitos binarios. Un circuito combinatorio que ejecuta la suma de dos bits se llama semisumador Implementarlo Ing. Jorge Manrique © 2004 Sistemas Digitales 8 Diagrama Lógico del Medio-Sumador Half-Adder Ing. Jorge Manrique © 2004 Sistemas Digitales 9 Sumador Completo Otro método para sumar dos números de n bits consiste en utilizar circuitos separados para cada par correspondiente de bits: los dos bits que se van a sumar, junto con el acarreo resultante de la suma de los bits menos significativos, lo cual producirá como salidas un bit de la suma y un bit del acarreo de salida del bit más signifcativo. Ing. Jorge Manrique © 2004 Sistemas Digitales 10 Diagrama en bloque de un Sumador Completo (Full Adder) Xi Si Full Adder F.A. Yi Ci+1 Ci Sumador completo de dos palabras de un bit Ing. Jorge Manrique © 2004 Sistemas Digitales 11 Implementación de un FA con dos HA • Un sumador completo resulta de la unión de dos medios sumadores. Ing. Jorge Manrique © 2004 Sistemas Digitales 12 Sumadores en Cascada Es posible realizar sumas de dos palabras de n bits, usando n sumadores completos en cascada, esto quiere decir que los acarreos de salida de los bits menos significativos deberán estar conectadas a las entradas de acarreo de los bits más significativos Ing. Jorge Manrique © 2004 Sistemas Digitales 13 Implementación de un sumador en cascada Para dos palabras de 4 bits. Ing. Jorge Manrique © 2004 Sistemas Digitales 14 Sumador/Restador A-B = A+B’+1, para realizar el complemento se usan las compuertas x-or. Ing. Jorge Manrique © 2004 Sistemas Digitales 15 Flip-Flop Elementos de memoria Ing. Jorge Manrique © 2004 Sistemas Digitales 16 Introducción La mayor parte de los sistemas encontrados en la práctica también incluyen elementos de almacenamiento que requieren que el sistema se describa en términos de circuitos secuenciales. Ing. Jorge Manrique © 2004 Sistemas Digitales 17 Sincronismo El tipo de circuito secuencial más común es el tipo síncrono, esto significa que los elementos de almacenamiento se afectan sólo en instantes de tiempo discretos. La sincronización se genera en un dispositivo denominado Reloj (clock) que produce un tren periódico de pulsos. Ing. Jorge Manrique © 2004 Sistemas Digitales 18 Flip-flops Un flip-flop es una celda binaria capaz de almacenar un bit de información. Tiene dos salidas, una para el valor normal y una para el valor complementario. La diferencia entre los diversos tipos de flip-flops está en el número de entradas que posean y la manera en la cual las entradas afectan el estado binario. Ing. Jorge Manrique © 2004 Sistemas Digitales 19 Lógica Secuencial Tipos Flip-Flop SR Flip-Flop D Flip-Flop JK Flip-Flop T Tablas de Características Sincronismo Ing. Jorge Manrique © 2004 Sistemas Digitales 20 Tablas de excitación Las tablas de características especifican el estado siguiente cuando se conocen las entradas y el estado presente, por lo general, durante el diseño de un circuito secuencial, se conoce la transición requerida del estado presente al siguiente estado y requeriremos encontrar las condiciones de entrada del flip-flop que causen esa transición, para esto se usan las tablas de excitación. Ing. Jorge Manrique © 2004 Sistemas Digitales 21 Flip-Flops Tablas de Excitación Flip-Flop D Flip-Flop SR Q(t) Q(t+1) S R Q(t) Q(t+1) D 0 0 0 x 0 0 0 0 1 1 0 0 1 1 1 0 0 1 1 0 0 1 1 x 0 1 1 1 Flip-Flop JK Flip-Flop T Q(t) Q(t+1) J K Q(t) Q(t+1) T 0 0 0 x 0 0 0 0 1 1 x 0 1 1 1 0 x 1 1 0 1 1 1 x 0 1 1 0 Ing. Jorge Manrique © 2004 Sistemas Digitales 22 Circuitos secuenciales Un circuito secuencial es una interconexión de flip-flops y compuertas. Las compuertas por si mismas constituyen un circuito combinatorio, pero cuando se incluyen junto con los flips-flops, el circuito completo se clasifica como un circuito secuencial. Ing. Jorge Manrique © 2004 Sistemas Digitales 23 Diagrama de un circuito secuencial Entradas Circuito combinatorio Reloj Ing. Jorge Manrique © 2004 FlipFlops Sistemas Digitales Salidas 24 Circuito Secuencial Así, un circuito secuencial se especifica por una secuencia de tiempos de las entradas externas, salidas externas y estados binarios de los flip-flops internos. Para poder describir esto se usan los siguientes conceptos: Ecuaciones de entrada de los flip-flops Tabla de estados Diagrama de estados Ing. Jorge Manrique © 2004 Sistemas Digitales 25 Ejemplo de circuito secuencial Ing. Jorge Manrique © 2004 Sistemas Digitales 26 Ecuaciones de entrada 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. Hacer las ecuaciones para el ejemplo anterior. Ing. Jorge Manrique © 2004 Sistemas Digitales 27 Tabla de estados Un circuito secuencial se especifica por una tabal de estados que relaciona las salidas y los estados siguientes como una función de las entradas y de los estados presentes. Hacer la tabla de estados del ejercicio. Ing. Jorge Manrique © 2004 Sistemas Digitales 28 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. Hacer el diagrama de estados. Ing. Jorge Manrique © 2004 Sistemas Digitales 29 Procedimiento de diseño El comportamiento del circuito se formula primero en un diagrama de estados. El número de flip-flops necesarios se determina por la cantidad de bits listados dentro de los círculos del diagrama de estados. El número de entradas para el circuito se especifica en la líneas dirigidas entre los círculos. Asignamos letras y procedemos a obtener la tabla de estados. Ing. Jorge Manrique © 2004 Sistemas Digitales 30 Procedimiento de diseño Se enlistan los estados siguientes Se determina el tipo de flip-flop a usar La tabla de estados se extiende a una tabla de excitación. La tabla de verdad para el circuito combinatorio está disponible en la tabla de excitación. Se obtiene el circuito combinatorio. Ing. Jorge Manrique © 2004 Sistemas Digitales 31