Circuitos Digitales I Tema III Funciones Lógicas Y Métodos De Minimización Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 75 Funciones lógicas Circuito combinacional: – Un circuito cuya salida depende únicamente del estado actual de sus entradas. – ¿Puedes dar ejemplos? – Las salidas de un circuito combinacional pueden expresarse matemáticmante mediante funciones lógicas. ! Representación de funciones lógicas: – Mediante tablas de verdad – Mediante expresiones algebraicas Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 76 Tablas de Verdad Línea 0 1 2 3 4 5 6 7 X 0 0 0 0 1 1 1 1 Y 0 0 1 1 0 0 1 1 Z 0 1 0 1 0 1 0 1 F F(0,0,0) F(0,0,1) F(0,1,0) F(0,1,1) F(1,0,0) F(1,0,1) F(1,1,0) F(1,1,1) Estructura general de una tabla de verdad para una función lógica de 3 variables, F(X,Y,Z) Luis Tarazona, UNEXPO Barquisimeto Línea 0 1 2 3 4 5 6 7 X 0 0 0 0 1 1 1 1 Y 0 0 1 1 0 0 1 1 Z 0 1 0 1 0 1 0 1 F 0 0 1 1 0 0 1 0 Tabla de verdad para una función lógica de 3 variables, F(X,Y,Z) EL-3213 – Circuitos Digitales I - 2004 77 Representación Algebraica Definiciones: ! Literal: Una variable binaria o su complemento. – Ej: X, Y, Y’ ! Término producto: Un literal simple o un producto lógico (AND) de dos o más literales. – Ej: X, X•Y’•Z, Y•Z ! Expresión de suma de productos: Suma lógica (OR) de términos producto. – Ej: X’•Y•Z’ + X’•Y•Z + X•Y•Z’ Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 78 Definiciones... ! Término suma: Un literal simple o una suma lógica de dos o más literales. – Ej: X, X+Y’+Z, Y+Z ! Expresión de producto de sumas: producto lógico de términos suma. – Ej: (X’+Y+Z’)•( X’+Y+Z)•(X+Z’) ! Término normal: Es un término producto o suma en el cual ninguna variable aparece más de una vez. – Ej: X’•Y•Z, X’+Y Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 79 Definiciones... ! Minitérmino de n variables es un término producto normal con n literales ! Maxitérmino de n variables es un término suma normal con n literales ! Existen 2n mintérminos y maxtérminos en una función de n variables. Línea 0 1 2 3 4 5 6 7 X 0 0 0 0 1 1 1 1 Luis Tarazona, UNEXPO Barquisimeto Y 0 0 1 1 0 0 1 1 Z 0 1 0 1 0 1 0 1 F 0 0 1 1 0 0 1 0 Mintérmino Maxtérmino X’.Y’.Z’ X+Y+Z X’.Y’.Z X+Y+Z’ X’.Y.Z’ X+Y’+Z X’.Y.Z X+Y’+Z’ X.Y’Z’ X’+Y+Z X.Y’.Z X’+Y+Z’ X.Y.Z’ X’+Y’+Z X.Y.Z X’+Y’+Z’ EL-3213 – Circuitos Digitales I - 2004 80 Definiciones... ! Suma canónica: Es la suma de todos los mintérminos para los cuales la función es 1. ! Producto canónico: Es el producto de todos los maxtérminos para los cuales la función es 0. ! De la tabla anterior: Suma canonica : F = ∑ X ,Y , Z (2,3,6) = X '⋅Y ⋅ Z '+ X '⋅Y ⋅ Z + X ⋅ Y ⋅ Z ' Producto canonico : F = ∏ X ,Y , Z (0,1,4,5,7) = ( X + Y + Z ) ⋅ ( X + Y + Z ' ) ⋅ ( X '+Y + Z ) ⋅ ( X '+Y + Z ' ) ⋅ ( X '+Y '+ Z ' ) Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 81 Análisis de Circuitos Combinacionales Dado un circuito, obtener la descripción formal de su función lógica. Luego es posible: ! Determinar el comportamiento del circuito para distintas combinaciones de entrada. ! Manipular la descripción algebraica para obtener estructuras de circuito alternativas. ! Transformar la descripción algebraica a una forma estándar que puedas ser programada en un dispositivo de lógica programable (PLD) Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 82 Análisis de circuitos Combinacionales ! Ej: Obtener todas las salidas de las compuertas para todas las posibles combinaciones de entrada Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 83 Expresiones lógicas para las líneas de señal ! Multiplicando: F = ((X + Y′) ⋅ Z) + (X′ ⋅ Y ⋅ Z′) = (X ⋅ Z) + (Y′ ⋅ Z) + (X′ ⋅ Y ⋅ Z′) Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 84 Un circuito nuevo, la misma función ! Circuito AND – OR de dos niveles: Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 85 Funcion lógica obtenida al “sumar” Circuito OR-AND: Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 86 Atajo: Sustitución de símbolos (DeMorgan) Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 87 Circuito diferente, pero la misma función Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 88 Otro ejemplo (Wakerly) G(W,X,Y,Z) = W · X · Y + Y · Z Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 89 Síntesis de circuitos combinacionales ! Idea: obtener una función lógica (y luego su circuito lógico) a partir de una descripción en palabras de un problema en el que intervienen variables de conmutación (binarias). ! La descripción normalmente incluye las conjunciones “Y”, “O”, “NO” (AND, OR , NOT) para relacionar las entradas. ! La descripción también puede ser una lista de combinaciones de entrada y el valor de la salida correspondiente. – Mediante una tabla, una suma canónica, o un producto canónico. ! La implementación o realización de la función normalmente requiere un proceso de minimización o manipulación para obtener la solución más adecuada. Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 90 Manipulaciones de circuitos ! Permiten transformar un circuito a otra forma más adecuada – Más rápida, que use los componentes disponibles. ! Generalmente circuitos de dos niveles: AND – OR OR – AND NAND – NAND NOR – NOR ! Uso de los símbolos equivalentes y de los teoremas de DeMorgan. Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 91 Ejemplos 1. 2. 3. Diseñe un circuito detector de números primos de 4 bits. Las salida debe ser activa en alto. Diseñe un circuito detector de números primos en una entrada BCD de un dígito, la salida debe ser activa en alto. Diseñe un circuito que permita abrir electrónicamente la puerta de la habitación de María si María inserta su llave o si Papá y Mamá insertan sus llaves o si Papá y hermanita insertan sus llaves. Asuma que la puerta abre con un nivel BAJO y que cada llave genera un nivel alto cuando se inserta en la ranura correspondiente (la cerradura tiene una ranura para cada llave). Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 92 Simplificación de funciones lógicas ! Es posible usar los axiomas y teoremas del álgebra de Boole estudiados anteriormente para simplificar expresiones lógicas y reducir la complejidad del circuito. – Se reduce el tamaño y el costo. – Se reduce el número de conexiones – ¿Se reducen la posibilidad de falla? ! También es posible transformar la expresión en una forma más conveniente – De acuerdo a la disponibilidad de dispositivos Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 93 Ejemplos de simplificación ! Simplificar: F = X’•Y•Z’ + X’•Y•Z + X•Y•Z’ Z 3/6 7404 Y X 3/3 7411 2/4 7432 F Luis Tarazona, UNEXPO Barquisimeto Simular EL-3213 – Circuitos Digitales I - 2004 94 Más ejemplos para simplificar... ! Un misil nuclear se activa si al menos tres de cuatro llaves son insertadas. Asumiendo que cada llave insertada genera un 1 lógico, diseñe un circuito mínimo para activar el misil con un 1 lógico. Use componentes reales. ! F = ∑ X ,Y , Z ,W (2,7,8,13) Asuma que posee compuertas de 2 entradas solamente ! F = ∏ A,B ,C (0,4,6) Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 95 Mapas de Karnaugh ! Es el método más fácil para simplificar expresiones lógicas de hasta seis variables. ! La tabla de verdad de una función de n variables se representa gráficamente en un arreglo de 2n celdas. ! Cada celda representa un mintérmino. WX YZ X Y 0 1 XY Z 0 1 0 2 1 3 00 0 1 2 variables Luis Tarazona, UNEXPO Barquisimeto 01 11 10 00 00 01 11 10 0 4 12 8 0 2 6 4 01 1 5 13 9 1 3 7 5 10 3 7 15 11 11 2 6 14 10 3 variables 4 variables EL-3213 – Circuitos Digitales I - 2004 96 Uso de los mapas de Karnaugh para simplificar expresiones ! En un mapa de Karnaugh, cada celda difiere de sus vecinas en un solo una variable – Un cambio de una variable de 1 a 0 – ¿Qué le recuerda ésto? ! Para simplificar una suma canónica, se combinan celdas adyacentes “1” en el mapa y dado que dichas celdas difieren en solo una variable,éstos pueden combinarse en un solo término producto – Recordar que: X•Y’ + X•Y = X , en general: – (Término)•Y’ + (Término)•Y = (Término) ! El número de celdas adyacentes debe ser múltiplo de dos Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 97 Regla para combinar celdas y formar el término producto simplificado “ Un conjunto de 2i celdas 1 puede combinarse si existen i variables de la función lógica que tomen todas las 2i combinaciones posibles dentro de ese conjunto, minetras las restantes n – i variables tienen el mismo valor en todo ese conjunto. El término producto correspondiente tiene n – i literales, donden una variable está complementada si aparece como cero en todas las celdas 1 y no complementada si aparece como 1.” Wakerly, J. F., Diseño Digital, Principios y Prácticas, pág 181 (2da edición), pág 224 (3ra edición). Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 98 Ejercicios de Mapas de Karnaugh ! Realizar la simplificación de los ejemplos anteriores ! Diseñar un circuito de cuatro entradas y una salida, tal que la salida sea 1 siempre que en la entrada exista mayoría de unos ! Simplificar: F=A’•B’•C’•D + B•C’•D + A•B’•C’•D + B’•C•D Si A•B•C•D y A•B•C’•D’ son condiciones NO IMPORTA (Don’t Care). Luis Tarazona, UNEXPO Barquisimeto EL-3213 – Circuitos Digitales I - 2004 99