ELO211: Sistemas Digitales. Tomás Arredondo Vidal



Documentos relacionados
ELO211: Sistemas Digitales. Tomás Arredondo Vidal 1er Semestre 2009

2-Funciones y representaciones booleanas

UNIVERSIDAD POPULAR DEL CESAR DEPATAMENTO DE MATEMATICA Y ESTADISTICA ALGEBRA DE BOOLE

Operaciones Booleanas y Compuertas Básicas

Figura 1. Símbolo que representa una ALU. El sentido y la funcionalidad de las señales de la ALU de la Figura 1 es el siguiente:

1. Se establecen los conceptos fundamentales (símbolos o términos no definidos).

OR (+) AND( ). AND AND

Capítulo 5. Álgebra booleana. Continuar

INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE INGENIERIA MECANICA Y ELECTRICA INGENIERIA EN COMUNICACIONES Y ELECTRÓNICA ACADEMIA DE COMPUTACIÓN

Tema 3 : Algebra de Boole

D.I.I.C.C Arquitectura de Sistemas Computacionales

Transformación de binario a decimal. Transformación de decimal a binario. ELECTRÓNICA DIGITAL

UNIDAD I INTRODUCCIÓN A LOS CIRCUITOS LÓGICOS 1. ÁLGEBRA DE BOOLE 2. MÉTODO DE REDUCCIÓN DE MAPAS DE KARNAUGH 1-1. R. ESPINOSA R. y P. FUENTES R.

I. ALGEBRA DE BOOLE. c) Cada operación es distributiva con respecto a la otra: a. ( b + c) = a. b + a. c a + ( b. c ) = ( a + b ).

CIRCUITOS DIGITALES -

ELO211: Sistemas Digitales. Tomás Arredondo Vidal 1er Semestre 2008

UNIDAD DIDÁCTICA: ELECTRÓNICA DIGITAL

Fundamentos de los Computadores. Álgebra de Boole ÁLGEBRA DE BOOLE

Curso Completo de Electrónica Digital

circuitos digitales Oliverio J. Santana Jaria Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso

28 = =

Matemáticas Básicas para Computación. Sesión 7: Compuertas Lógicas

Sistemas Digitales Ingeniería Técnica en Informática de Sistemas Curso Introducción a la lógica binaria

Tema : ELECTRÓNICA DIGITAL

TEMA 5. ELECTRÓNICA DIGITAL

TEMA II: ÁLGEBRA DE CONMUTACIÓN

Matemáticas Discretas

LENGUAJES FORMALES Y AUTÓMATAS. álgebra computacional LENGUAJES FORMALES Y AUTÓMATAS. álgebra computacional LENGUAJES FORMALES Y AUTÓMATAS

Naturaleza binaria. Conversión decimal a binario

3.8 Construcción de una ALU básica

DE SISTEMAS: ANALÓGICOS:

Tema 11: Sistemas combinacionales

Generación de funciones lógicas mediante decodificadores binarios con salidas activas a nivel alto

ELO311 Estructuras de Computadores Digitales. Unidad Aritmética

personal.us.es/elisacamol Elisa Cañete Molero Curso 2011/12

Compuertas lógicas Álgebra de Boole

Universidad de Buenos Aires Facultad De Ingeniería. Operaciones Lógicas. [75.40] Algoritmos y Programación I. 2do Cuatrimestre 2010

UNIDAD 2: ELECTRÓNICA DIGITAL

Laboratorio 1 Implementación de un sumador binario

GUIA DE CIRCUITOS LOGICOS COMBINATORIOS

ESTRUCTURAS ALGEBRAICAS

Álgebras de Boole. Juan Medina Molina. 25 de noviembre de 2003

CODIFICADORES. Cuando solo una de las entradas está activa para cada combinación de salida, se le denomina codificador completo.

ANEXO - D LOGICA BINARIA Aplicada a diagramas en escalera y de bloques para la programación de un mini PLC

FORMATO DE CONTENIDO DE CURSO

Modelo de examen tipo resuelto 1

5.1.1 Sumadores con anticipación de Acarreo. g i = a i b i. c i = c i-1 p i + g i s i = p i + c i-1. c 0 = g 0 + c -1 p 0

Ecuaciones de primer grado con dos incógnitas

ELO211: Sistemas Digitales. Tomás Arredondo Vidal 1er Semestre 2007

ELECTRÓNICA DIGITAL. Una señal es la variación de una magnitud que permite transmitir información. Las señales pueden ser de dos tipos:

ALGEBRA DE BOOLE ENTRADAS SALIDA A B A + B

Sistemas de numeración, operaciones y códigos.

Los circuitos lógicos combinacionales

Módulo 9 Sistema matemático y operaciones binarias

Maria José González/ Dep. Tecnología

ELECTRÓNICA DIGITAL. Sistemas analógicos y digitales.

CAPÍTULO I 1. SISTEMAS DE NUMERACIÓN

Tema 5: Álgebra de Boole Funciones LógicasL

Diseño Lógico I Facultad de Ciencias Exactas y Tecnología UNT. LENGUAJES DE DESCRIPCIÓN DE HARDWARE

x

ASIGNATURA: ARQUITECTURA DE COMPUTADORAS PROFRA. ING. ROCÍO ROJAS MUÑOZ

El álgebra booleana (Algebra de los circuitos lógicos tiene muchas leyes o teoremas muy útiles tales como :

PROGRAMA DE CURSO Modelo 2009

Circuitos Electrónicos Digitales. Tema III. Circuitos Combinacionales

Números Reales. MathCon c

FACULTAD DE INGENIERÍA

Tema 3: Representación y minimización de

Carrera: Participantes Representante de las academias de ingeniería en Mecatrónica de los Institutos Tecnológicos.

LÓGICA MATEMÁTICA. Álgebra de Boole Guía de trabajo

Curso Completo de Electrónica Digital

Capítulo 1: Sistemas de representación numérica Introducción. Dpto. de ATC, Universidad de Sevilla - Página 1 de 8

DISEÑO DE CIRCUITOS LOGICOS COMBINATORIOS

Estructuras algebraicas

ESTRUCTURAS ALGEBRAICAS 1

ASIGNATURA: ELECTRÓNICA DIGITAL PROGRAMA ACADÉMICO: INGENIERIA EN MECATRÓNICA TIPO EDUCATIVO: INGENIERIA MODALIDAD: MIXTA

SOLECMEXICO Página 1 DISEÑO DE CIRCUITOS A PARTIR DE EXPRESIONES BOOLEANAS

UNIDAD I: LÓGICA PROPOSICIONAL

Universidad Autónoma de Baja California Facultad de Ingeniería Mexicali

TEMA 1: Control y programación de sistemas automáticos

ELO211: Sistemas Digitales. Tomás Arredondo Vidal 1er Semestre 2011

TECNICO SUPERIOR UNIVERSITARIO EN TECNOLOGIAS DE LA INFORMACION Y COMUNICACIÓN ÁREA REDES Y TELECOMUNICACIONES.

Introducción a los Sistemas Digitales

Tema I Lógica Combinacional

La Unidad Procesadora.

TEMA III TEMA III. Circuitos Digitales 3.1 REPRESENTACIÓN DE LA INFORMACIÓN 3.2 ALGEBRA DE BOOLE 3.3 MODULOS COMBINACIONALES BÁSICOS

Universidad Católica del Maule. Fundamentos de Computación Especificación de tipos de datos ESPECIFICACIÓN ALGEBRAICA DE TIPOS DE DATOS

Ejemplos: Sean los conjuntos: A = { aves} B = { peces } C = { anfibios }

CIRCUITOS ARITMÉTICOS

LECCIÓN 8: CIRCUITOS Y ALGORITMOS DE MULTIPLICACIÓN DE ENTEROS

ESTRUCTURAS ALGEBRAICAS

ÍNDICE DISEÑO DE CONTADORES SÍNCRONOS JESÚS PIZARRO PELÁEZ

CODIFICADORES CON PRIORIDAD. Grupo 2

SUMADOR BINARIO. Instituto Internacional de Investigación de Tecnología Educativa

: CIRCUITOS DIGITALES

VII. Estructuras Algebraicas

Capítulo 1 Lenguajes formales 6

Un filtro general de respuesta al impulso finita con n etapas, cada una con un retardo independiente d i y ganancia a i.

Tema IV. Unidad aritmético lógica

Transcripción:

ELO211: Sistemas Digitales Tomás Arredondo Vidal Este material está basado en: textos y material de apoyo: Contemporary Logic Design 1 st / 2 nd edition. Gaetano Borriello and Randy Katz. Prentice Hall, 1994, 2005 material del curso ELO211 del Prof. Leopoldo Silva material en el sitio http://es.wikipedia.org 2: Funciones booleanas 1

2-Funciones y representaciones booleanas 2.1 Lógica y álgebra de Boole 2.2 Funciones booleanas 2.3 Representaciones de funciones booleanas 2.4 Funciones de varias variables 2: Funciones booleanas 2

Lógica Booleana Definiciones básicas Una variable booleana (e.g. x, y) es un símbolo que puede ser substituido por un elemento del conjunto B={0,1} Una constante booleana es un valor perteneciente al conjunto {0,1} Una expresión (e.g. x+y, x y, x ) esta compuesta de variables, constantes y operadores (e.g. +,, ) Una función booleana de n variables f(x 1, x 2,..., x n ) es un expresión o formula que mapea f a un valor del conjunto booleano B (0 o 1) Un literal es una variable o su complemento 2: Funciones booleanas 3

Álgebra de Boole Definición: el álgebra de Boole es un sistema algebraico cerrado que contiene: un conjunto de dos elementos {0, 1}, dos operadores binarios {+, }, un operador unitario { }. 2: Funciones booleanas 4

Lógica y álgebra de Boole El álgebra de Boole es la fundación matemática de los sistemas digitales. Las operaciones del álgebra de Boole deben regirse por propiedades y reglas lógicas llamados leyes o postulados. Estos postulados se pueden usar para demostrar leyes mas generales sobre expresiones booleanas. Estos postulados también se usan para simplificar y optimizar expresiones booleanas y sistemas digitales. Ejemplo: X AND (Y OR Y ) = X ( porque?) 2: Funciones booleanas 5

Álgebra de Boole Una expresión algebraica de Boole consiste de un conjunto de B operaciones binarias { +, } una operaciones unitaria { } B tiene dos elementos : a, b y los siguientes postulados se cumplen: Clausura: a + b esta en B, a b esta en B Conmutatividad: a + b = b + a, a b = b a Asociatividad: a + (b + c) = (a + b) + c a (b c) = (a b) c Identidad: a + 0 = a, a 1 = a Distributividad: a + (b c) = (a + b) (a + c) a (b + c) = (a b) + (a c) Complementariedad: a + a = 1, a a = 0 2: Funciones booleanas 6

Álgebra de Boole: Resumen Álgebra de Boole B = {0, 1} variables + es el OR lógico, es el AND lógico es el NOT lógico Todos los postulados (axiomas) algebraicos se cumplen La prioridad de los operadores es, seguido por AND y despues OR. El tiene la mayor prioridad. Los ( ) pueden cambiar el orden de evaluación. 2: Funciones booleanas 7

Álgebra de Boole: Teoremas Con la formulación de los postulados del álgebra de Boole se pueden demostrar varias proposiciones o teoremas de álgebra booleana Para las demostraciones de teoremas se pueden usar: tablas de verdad, postulados, y teoremas ya demostrados 2: Funciones booleanas 8

Álgebra de Boole: Teoremas Definición: El álgebra de boole es un sistema algebraico cerrado que contiene un conjunto B de dos elementos {0,1} y tres operadores {, +, }. igualdad: Dos expresiones son iguales si una puede ser substituida por otra. identidad: 1. X + 0 = X 1D. X 1 = X nulo (elementos únicos): 2. X + 1 = 1 2D. X 0 = 0 idempotencia: 3. X + X = X 3D. X X = X involución: 4. (X ) = X complementariedad: 5. X + X = 1 5D. X X = 0 2: Funciones booleanas 9

Álgebra de Boole: Teoremas conmutatividad: 6. X + Y = Y + X 6D. X Y = Y X asociatividad: 7. (X + Y) + Z = X + (Y + Z) 7D. (X Y) Z = X (Y Z) distributividad: 8. X (Y + Z) = (X Y) + (X Z) 8D. X + (Y Z) = (X + Y) (X + Z) unificación (fusión): 9. X Y + X Y = X 9D. (X + Y) (X + Y ) = X absorción: 10. X + X Y = X 10D. X (X + Y) = X 11. (X + Y ) Y = X Y 11D. (X Y ) + Y = X + Y factorizar: 12. (X + Y) (X + Z) = 12D. X Y + X Z = X Z + X Y (X + Z) (X + Y) consenso: 13. (X Y) + (Y Z) + (X Z) = 13D. (X + Y) (Y + Z) (X + Z) = X Y + X Z (X + Y) (X + Z) 2: Funciones booleanas 10

Álgebra de Boole: Teoremas de Morgan: 14. (X + Y +...) = X Y...14D. (X Y...) = X + Y +... de Morgan generalizado: 15. f (X 1,X 2,...,X n,0,1,+, ) = f(x 1,X 2,...,X n,1,0,,+) establece relaciones entre y + 2: Funciones booleanas 11

Álgebra de Boole: Teoremas Ejemplo: de Morgan: (X + Y) = (X Y ) NOR es equivalente a AND con inputs complementados X Y X Y (X + Y) (X Y ) 0 0 1 1 1 1 0 1 1 0 0 0 1 0 0 1 0 0 1 1 0 0 0 0 (X Y) = (X + Y ) NAND es equivalente a OR con inputs complementados X Y X Y (X Y) (X + Y ) 0 0 1 1 1 1 0 1 1 0 1 1 1 0 0 1 1 1 1 1 0 0 0 0 2: Funciones booleanas 12

Álgebra de Boole: Teoremas Dualidad el dual de una expresión booleana se puede obtener remplazando por +, + por, 0 por 1, y 1 por 0, y dejando las variables sin cambio cualquier teorema demostrado también esta demostrado para su dual! un meta-teorema (teorema sobre teoremas) Dualidad: 16. X + Y +... X Y... Dualidad generalizado: 17. f (X 1,X 2,...,X n,0,1,+, ) f(x 1,X 2,...,X n,1,0,,+) diferente que ley de De Morgan s no es una manera para manipular (cambiar) expresiones sino para generar otros teoremas que también son verdaderos Ej: El dual del teorema X + 0 = X o (X + 0 = X) D es X 1 = X 2: Funciones booleanas 13

Álgebra de Boole: Teoremas Actividad: Demuestre este teorema: X Y + X Y = X igualdad X Y + X Y = X Y + X Y distributividad (8) = X (Y + Y ) complementariedad (5) = X (1) identidad (1D) = X Demuestre este teorema : X + X Y = X igualdad X + X Y = X + X Y identidad (1D) = X 1 + X Y distributividad (8) = X (1 + Y) nulo (2) = X (1) identidad (1D) = X 2: Funciones booleanas 14

Actividad: Álgebra de Boole Demuestre lo siguiente usando álgebra booleana: (X Y) + (Y Z) + (X Z) = X Y + X Z igualdad X Y + X Z = X Y + X Z absorción (10) = (X Y + X Y Z) + (X Z + X Z Y) conmutatividad (6) = X Y + X Z + X Y Z + X Z Y conmutatividad (6D) = X Y + X Z + X Y Z + X Y Z distributividad (8) = X Y + X Z + (X + X ) Y Z complementariedad (5) = X Y + X Z + (1) Y Z identidad (1D) = X Y + X Z + Y Z conmutatividad (6) = X Y + Y Z + X Z 2: Funciones booleanas 15

2-Funciones y representaciones booleanas 2.1 Lógica y álgebra de Boole 2.2 Funciones booleanas 2.3 Representaciones de funciones booleanas 2.4 Funciones de varias variables 2: Funciones booleanas 16

Funciones booleanas Espacios y funciones booleanas Si se define un espacio booleano como B={0,1} Usando el producto cartesiano se puede definir B 2 = {0,1} x {0,1} = {(00), (01), (10), (11)} Para X = (X 1, X 2 ) podemos definir una función booleana f de dos variables según: f(x): B 2 B, cada punto de B 2 se mapea a B Para n variables booleanas con X = (X 1, X 2,... X n ) se puede definir una función booleana f de n variables según: f(x): B n B, cada punto de B n se mapea a B La función booleana puede tomar valores de 1 o 0 dependiendo de los valores de sus variables 2: Funciones booleanas 17

Funciones booleanas Espacios y funciones booleanas El conjunto uno (on set) de f, puede definirse como los puntos X de B n que se mapean a 1. f 1 : {X f(x) = 1} El conjunto zero (off set) de f puede definirse como los puntos X de B n que se mapean a 0. f 0 : {X f(x) = 0} Si el conjunto f 1 = B n se dice que f es una tautología. Si el conjunto f 0 = B n se dice que f 0 es vacío y no es satisfacible. 2: Funciones booleanas 18

Funciones booleanas: tautología De: http://es.wikipedia.org/wiki/tautología En lógica, una tautología es una formula preposicional que es verdad bajo cualquier evaluación de sus variables. En lingüística, una tautología es una redundancia debida a una calificación superflua o de lógica circular (e.g. "innovación novedosa", "mundo mundial, "Le voy a entregar un obsequio gratis, "El 100% de nuestros clientes compran nuestros productos ). Las matemáticas pueden ser consideradas como la ciencia de hacer tautologías particularmente elaboradas de una forma rigurosa. Un teorema es un ejemplo de tautología útil. 2: Funciones booleanas 19

Funciones booleanas Espacios y funciones booleanas Una función f es satisfacible cuando existe un elemento en el conjunto de f que es uno. Dos funciones son equivalentes si para todo X є B n se tiene que: f(x) = g(x) 2: Funciones booleanas 20

2-Funciones y representaciones booleanas 2.1 Lógica y álgebra de Boole 2.2 Funciones booleanas 2.3 Representaciones de funciones booleanas 2.4 Funciones de varias variables 2: Funciones booleanas 21

Representaciones Las funciones booleanas se pueden describir de variadas formas incluyendo: álgebra booleana tablas de verdad, diagramas de compuertas, diagramas temporales, diagramas de Venn, mapas de Karnaugh, N-cubos, lenguajes de descripción de hardware (HDL: Hardware description languages) como Verilog o VHDL Por verse! 2: Funciones booleanas 22

Representaciones: álgebra booleana Las funciones booleanas se pueden describir con una expresión de álgebra booleana. Ejemplo: f(x, Y, Z) = XY + X Z + XZ La función puede evaluarse para las diferentes combinaciones de valores que tomen las variables. Existen infinitas representaciones equivalentes de una función a través de expresiones. El problema de síntesis lógica consiste en encontrar la mejor expresión para representar una función. 2: Funciones booleanas 23

Representaciones: tabla de verdad Las funciones booleanas también se pueden representar como una tabla de verdad. La tabla de verdad despliega todas las combinaciones de valores de las variables y el valor asociado de la función. 2: Funciones booleanas 24

Representaciones Ejemplos: tablas de verdad X Y X Y 0 0 0 0 1 0 1 0 0 1 1 1 X Y X X Y 0 0 1 0 0 1 1 1 1 0 0 0 1 1 0 0 X Y X Y X Y X Y ( X Y ) + ( X Y ) 0 0 1 1 0 1 1 0 1 1 0 0 0 0 ( X Y ) + ( X Y ) X = Y 1 0 0 1 0 0 0 1 1 0 0 1 0 1 Expresión booleana que es verdadera cuando X e Y son iguales y falso de otra forma 2: Funciones booleanas 25

Representaciones Las funciones booleanas también se pueden representar por diagramas compuestos de símbolos de compuertas. Existen múltiples diagramas que pueden representar la misma función. La ventaja de esta representación es que esta asociada a la implementación en un medio visual. Los circuitos combinacionales contienen solo compuertas. Los circuitos secuenciales contienen flip-flops y compuertas. 2: Funciones booleanas 26

Diagramas de compuertas NOT: X, X, ~X X Y X Y 0 1 1 0 AND: X Y, XY, X Y X Y Z X Y Z 0 0 0 0 1 0 1 0 0 1 1 1 OR: X+Y, X Y X Y Z X Y Z 0 0 0 0 1 1 1 0 1 1 1 1 2: Funciones booleanas 27

Diagramas de compuertas NAND X Y Z X Y Z 0 0 1 0 1 1 1 0 1 1 1 0 NOR X Y Z X Y Z 0 0 1 0 1 0 1 0 0 1 1 0 XOR X Y X Y Z X Y Z 0 0 0 0 1 1 1 0 1 1 1 0 XNOR X = Y X Y Z X Y Z 0 0 1 0 1 0 1 0 0 1 1 1 2: Funciones booleanas 28

Diagramas de compuertas Existe mas de una forma de mapear expresiones a compuertas e.g., Z = A B (C + D) = (A (B (C + D))) Como sería usando compuertas? T2 T1 A Z A B T1 B Z C D T2 C D 2: Funciones booleanas 29

Representaciones: diagrama temporal Un diagrama temporal es una representación de las formas de las ondas de entradas y salidas de los circuitos. Los bordes no se alinean exactamente (toma tiempo para que una compuerta cambie de output) 2: Funciones booleanas 30

Representaciones: diagrama temporal Las señales de ondas se pueden apreciar usando varias herramientas como: un simulador, usando un analizador lógico o un osciloscopio Retardos de propagación en compuertas pueden causar que las señales de entrada de otras compuertas en cascada tengan carreras Estas carreras pueden causar errores o perturbaciones (glitches) Los tiempos de propagación son acumulativos para compuertas en cascada 2: Funciones booleanas 31

Representaciones: diagrama temporal Ejemplo: y = x + x Como seria la perturbación? X X Carrera en señales de entrada Y X X Y t perturbación 2: Funciones booleanas 32

Representaciones: diagramas de Venn Los diagramas de Venn provienen de la rama de las matemáticas conocida como teoría de conjuntos. Estos diagramas son usados para mostrar gráficamente la relación entre diferentes conjuntos Son equivalentes a las tablas de verdad al mostrar todas las relaciones lógicas entre los conjuntos de interés Ejemplos: A A B B A + B (A + B) (A + B) 2: Funciones booleanas 33

2-Funciones y representaciones booleanas 2.1 Lógica y álgebra de Boole 2.2 Funciones booleanas 2.3 Representaciones de funciones booleanas 2.4 Funciones de varias variables 2: Funciones booleanas 34

Funciones de n variables Si hay n variables la tabla de verdad tendrá 2 n filas. Cada fila tiene como resultado un 0 o un 1. El numero de posibles funciones (que resultan en 0 o 1) crece rápidamente, en termino de n es: 2 2ⁿ n = 0 indica una función con 0 variables. X 1 X 2 F X n 2: Funciones booleanas 35

Funciones de n variables Ejemplo: para n=2 se tienen 2 2ⁿ = 16 funciones X Y F X Y f0 f1 f2 f3 f4 f5 f6 f7 f8 f9 f10 f11 f12 f13 f14 f15 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1 0 1 1 0 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 0 0 0 0 0 1 0 1 1 0 1 0 1 1 1 1 1 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 XY X Y X xor Y X + Y X = Y X nor Y=(X + Y) 1 Y X X nand Y=(XY) Como son las funciones equivalentes a la tabla? f0=0, f1=xy, f2=xy, f3=x, f4=x Y,..., f14=x Y + X Y + XY = A + B = (AB), f15=1 2: Funciones booleanas 36

Conjuntos funcionalmente completos Cualquier expresión booleana puede ser escrita mediante los operadores AND, OR y NOT Estos conjuntos constituyen un conjunto funcionalmente completo 2: Funciones booleanas 37

Conjuntos funcionalmente completos La función NAND también es funcionalmente completa ya que puede implementar AND, OR y NOT: NAND(A,B) = AB NAND(A,A) = A NAND(A, B) = A+B 2: Funciones booleanas 38

Conjuntos funcionalmente completos La función NOR también es funcionalmente completa ya que puede implementar AND, OR y NOT: NOR(A, B) = A + B NOR(A,A) = A NOR(A, B) = AB Todas estas funciones se pueden generalizar a funciones de n variables 2: Funciones booleanas 39

Actividad: Determine la función de álgebra booleana para un sumador de un bit Inputs: A, B, Carry-in Outputs: Sum, Carry-out Cout Cin A A A A A B B B B B S S S S S A B Cin S Cout 2: Funciones booleanas 40

Actividad: Determine la tabla de verdad y la función de álgebra booleana para un sumador de un bit Inputs: A, B, Carry-in Outputs: Sum, Carry-out A B Cin Cout S 0 0 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 Como minimizar usando álgebra booleana? A B Cin Cout Cin A A A A A B B B B B S S S S S S = A B Cin + A B Cin + A B Cin + A B Cin Cout = A B Cin + A B Cin + A B Cin + A B Cin S Cout 2: Funciones booleanas 41

Minimizar Usando teoremas para minimizar el sumador Cout = A B Cin + A B Cin + A B Cin + A B Cin = A B Cin + A B Cin + A B Cin + A B Cin + A B Cin = A B Cin + A B Cin + A B Cin + A B Cin + A B Cin = (A + A) B Cin + A B Cin + A B Cin + A B Cin = (1) B Cin + A B Cin + A B Cin + A B Cin = B Cin + A B Cin + A B Cin + A B Cin + A B Cin = B Cin + A B Cin + A B Cin + A B Cin + A B Cin = B Cin + A (B + B) Cin + A B Cin + A B Cin = B Cin + A (1) Cin + A B Cin + A B Cin = B Cin + A Cin + A B (Cin + Cin) = B Cin + A Cin + A B (1) = B Cin + A Cin + A B sumar terminos para factorizar Cuales son los criterios de interés al minimizar? 2: Funciones booleanas 42

Minimizar Algunos criterios de interés al minimizar son: Criterios de reducción Minimizar compuertas Minimizar numero de entradas a las compuertas. Esto corresponde a minimizar el numero de literales y reduce el numero de transistores en cada compuerta (reduce el costo) Disminuir el numero de niveles, esto aumenta la velocidad de respuesta del circuito implementando la función Siempre van a existir compromisos entre velocidad y tamaño. Se suele denominar compromiso tiempo-espacio. Diferentes implementaciones de la misma función tienen diferentes comportamientos: retardos son diferentes perturbaciones (glitches) pueden ocurrir otras variaciones por diferencias en el numero de compuertas y estructura 2: Funciones booleanas 43

Hay que elegir entre diferentes realizaciones de una función A B C Z 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 1 1 1 0 1 1 1 1 0 realización de dos niveles implementación multinivel compuertas con menos inputs compuerta XOR (fácil de dibujar pero mas costosa) 2: Funciones booleanas 44

Hay que elegir entre diferentes realizaciones de una función Las tres implementaciones anteriores son funcionalmente equivalentes pero tienen diferencias en su comportamiento 2: Funciones booleanas 45