Você está na página 1de 53

Diseo Digital Digital Diseo

Captulo2 Diseo de Lgica Combinacional

Introduccin
Vamos a aprender a disear circuitos digitales. Comencemos con un circuito simple:

Circuito Combinacional
Un circuito combinacional cuya salida depende nicamente de la combinacin actual de los valores de las entradas del circuito.

Sensor de Luz

Construyendo un Circuito

1- Movimiento en la obscuridad. Encender la lmpara (F=1) cuando se detecte movimiento (a=1) y no hay luz (b=0). F = a AND NOT(b) F=ab Construir, usando compuertas lgicas AND y NOT, como se muestra en el diagrama. As construiremos nuestro primer circuito digital.

Construyendo un Circuito

1- Movimiento en la obscuridad. Encender la lmpara (F=1) cuando se detecte movimiento (a=1) y no hay luz (b=0). F = a AND NOT(b) F=ab Construir, usando compuertas lgicas AND y NOT, como se muestra en el diagrama. As construiremos nuestro primer circuito digital.

George Boole
Padre del lgebra Booleana El vino con un tipo de lgebra lingstica, las tres operaciones bsicas de las cuales fueron (y an son) AND, OR y NOT. Estas fueron las tres funciones que formaron las bases de su premisa, y fueron las nicas operaciones necesarias para llevar a cabo comparaciones de funciones bsicas. George Boole (1815 - 1864)

Lgica Binaria
Logica binaria usa dos posibles valores 1 y 0 si y no verdadero y falso Puede estar representado por variables: A, B, C, x, y, z, Las funciones lgicas modifican valores de entrada Cual es el mnimo nmero de entradas? 1 entrada -> nada interesante, invierte o es solo un alambre 2 entradas -> funciones lgicas bsicas Cuales son las funciones lgicas posibles? NOT, AND, OR Otras pueden ser derivadas de estas (NAND, XOR etc.)

Algebras
Que es un lgebra? Un sistema matemtico consistente de Conjunto de elementos Conjunto de operadores Axiomas o postulados Porque es importante? Define reglas de calculos Ejemplo: aritmtica en nmeros naturales Conjunto de elementos: N = {1,2,3,4,} Operador: +, , * Axiomas: asociativia, distributiva, cerrado, elementos identidad, etc. Nota: operadores con dos entradas son llamados binarios Esto no significa que estn restringidos a nmeros binarios Operador(es) con una entrada son llamados unarios

A+0 = A A 1 = 1

Interruptores (Switches)
Los interruptores (switches) electrnicos son la base de los circuitos digitales binarios. Terminologa elctrica: Voltaje: Es la diferencia de potencial elctrico entre dos puntos. Corriente: Es el flujo de partculas cargadas. Similar al flujo de agua. Resistencia: La tendencia de los cables a resistir el flujo de la corriente. Anlogo al dimetro de la tubera de agua.

Ley de Ohm

V IR

Interruptores (Switches)
Control de Entrada

Un interruptor (switch) est conformado por tres partes: Fuente de entrada y de salida. La corriente fluye de la fuente de entrada a la de salida. Control de entrada. El voltaje es el que controla si puede o no fluir la corriente. La increble reduccin de interruptores (switches). 1930s: Relevadores, 1940s: Tubos de vaco. 1950s: Transistores discretos. 1960s: Circuitos Integrados (CIs) Inicialmente los CI eran solo unos cuantos transistores. Despus diez, cientos, miles,

OFF

Fuente de Entrada Control de Entrada

Salida

ON

Fuente de Entrada

Salida

Ley de Moore
La capacidad de los Circuitos Integrados se duplicar aproximadamente cada 18 meses durante varias dcadas. Conocida como la Ley de Moore despus de que Gordon Moore, cofundador de Intel, predijera en 1965 que los componentes por Circuito Integrado se duplicaran cada ao ms o menos. Para cada determinado nmero de transistores, el circuito integrado se reduce a la mitad cada 18 meses. Hasta hoy podemos observar lo mucho que se han reducido en solo 10 aos. Permite realizar computacin increblemente poderosa en dispositivos muy pequeos. En la actualidad los circuitos integrados contienen miles de millones de transistores. El primer procesador Pentium (principio de los 90s) necesit solo 3 millones.

El CI de un procesador Intel tiene millones de transistores

El Transistor CMOS
El transistor CMOS
El interruptor bsico en los circuitos integrados modernos.

Compuertas Lgicas Booleanas Bloques de Construccin para Circuitos Digitales


(Porque es difcil trabajar con interruptores)

Las Compuertas Lgicas son mejores bloques de construccin para circuitos digitales que los transistores. Por qu?

lgebra Booleana y su Relacin con los Circuitos Digitales


Para comprender los beneficios de las compuertas lgicas vs. Interruptores, primero debemos entender el lgebra Booleana. En la lgebra tradicional Las variables representan nmeros reales. Los operadores que operan sobre las variables, regresan nmeros reales. lgebra Booleana Las variables solo devuelven 0s y 1s. Los operadores solo devuelven 0s y 1s. Operadores bsicos AND: a AND b devuelve 1 si ambos son iguales, a=1 y b=1. OR: a OR b devuelve 1 si cualquiera (o ambos) es uno, a=1 o b=1. NOT: NOT a devuelve lo opuesto de a (1 si a=0, 0 si a=1). Todo esto ya mencionado anteriormente

lgebra Booleana y su Relacin con los Circuitos Digitales


Desarrollado a mediados de 1800 por George Boole para formalizar el pensamiento humano. Ejemplo: Voy a ir a comer si Mara va o Juan va, y si Sally no va F representa mi ida a comer (1 significa voy, 0 significa no voy). De la misma forma m por Mara, j por Juan y s por Sally. Entonces F=(m OR j) AND NOT(s) F=(m + j) s Bonitas caractersticas: Evaluando formalmente: m=1, j=0, s=1 F=(1 OR 0) AND NOT(1) =1 AND 0= 0 Transformando formalmente: F=(m AND NOT(s)) OR (j AND NOT(s)) Luce diferente pero es la misma funcin. Ms adelante se ensearan tcnica de transformacin.

Evaluando Ecuaciones Booleanas


Evaluar la ecuacin: F = (a AND b) OR (c AND para los valores dados a las variables a, b, c y d.

d)

F = (a b) + (c d)
P1: a=1, b=1, c=1, d=0.

R: F= (1 AND 1) OR (1 AND 0) = 1 OR 0 = 1.
P2: a=0, b=1, c=0, d=1. R: F= (0 AND 1) OR (0 AND 1) = 0 OR 0 = 0. P3: a=1, b=1, c=1, d=1.

R: F= (1 AND 1) OR (1 AND 1) = 1 OR 1 = 1.

Conversin a Ecuaciones Booleanas


Convertir las siguientes afirmaciones a Ecuacin Booleana: P1: a es 1 y b es 1. Respuesta: F = a AND b P2: Cualquiera de a o b es 1. Respuesta: F = a OR b P3: Tanto a como b no son cero. Respuesta:

Opcin 1: F = NOT (a) AND NOT(b) Opcin 2: F = a OR b


P3: a es 1 y b es 0 Respuesta: F = a AND NOT(b)

Conversin a Ecuaciones Booleanas


P1: Un sistema contra incendios debe rociar agua si el sensor detecta altas temperaturas y el sistema se habilita. Respuesta: Dejemos que la variable booleana h represente si el sensor detecta altas temperaturas, e represente habilita y F represente rociar agua. Entonces la ecuacin es: F= h AND e. P2: Una alarma de carro debe sonar si esta es habilitada, si el carro es agitado o si la puerta ha sido abierta. Respuesta: La variable a representar a la alarma es habilitada, s representar a el carro es agitado, d representar a si la puerta ha sido abierta y F representar a la alarma suena. Entonces la ecuacin es:

F = a AND (s OR d).
Alternativa 1: Asumamos que nuestro sensor de puerta d representa a la puerta est cerrada en lugar de abierta (d=1 cuando la puerta est cerrada, d=0 cuando est abierta), obtendremos la siguiente ecuacin: F = a AND (s OR NOT(d)).

Relacin del lgebra Booleana con el Diseo Digital

Implementar operadores Booleanos usando transistores. Estas implementaciones son llamadas compuertas lgicas. Construiremos circuitos usando las matemticas un concepto muy poderoso.

Nota: Estas implementaciones de OR/AND son


ineficientes, ms adelante se mostrar el porqu y se enseara una mejor forma de implementarlos

Diagramas de tiempo de las Compuertas Lgicas NOT/OR/AND


NOT
x F x y

OR
F x y

AND
F

1 x 0 0 F 1 Tiempo F y x

1 x 0 1 y 0 1 F 0 Tiempo

1 0 1 0 1 0 Tiempo

Ejemplo: Convirtiendo una Ecuacin Booleana a un Circuito de Compuertas Lgicas


Convertir la siguiente ecuacin a compuertas lgicas:

F = a AND NOT(b )

F=ab

Ejemplo: Sistema de Luz de Advertencia para el cinturn de Seguridad


Disear el circuito para una seal de alarma Sensores: s=1; cinturn de seguridad abrochado. k=1; llave puesta. p=1; persona sentada. Captura de la ecuacin booleana. Persona sentada Y cinturn de seguridad no abrochado Y llave puesta. Convertir la ecuacin a un circuito. Nota: El lgebra de Boole permite crear ecuaciones y convertirlas a circuitos de una forma sencilla. Cmo disearlo con interruptores? Es cierto que las compuertas lgicas estn diseadas con interruptores pero debemos pensarlo a un nivel de compuertas lgicas no de interruptores.

Algunas Convenciones para el Dibujo de Circuitos

Diseo Digital Digital Diseo


Captulo2 Captulo2 Diseo Diseo de de Lgica Lgica Combinacional Combinacional
Continuacin Continuacin

lgebra Booleana
Por definicin las compuertas lgicas estn basadas en lgebra booleana. Podemos usar mtodos algebraicos para manipular circuitos. As que aprendamos algunos mtodos algebraicos booleanos. Comenzar con una notacin: Escribir a AND b, a OR b, y NOT(a). Usar smbolos: a * b, a + b, y a (de hecho a * b puede solo ser ab). Original: w = (p AND NOT(s) AND k) OR t. Nuevo: w = psk + t Hablado como w es igual a p y s prima y k, o t. O incluso w es igual a p s prima k, o t. s se conoce como complemento de s. Mientras los smbolos no vengan de un lgebra regular, no digas por o mas

lgebra Booleana Procedencia de los Operadores


Evaluar las siguientes ecuaciones booleanas, asumir a=1, b=1, c=0 , d=1.
P1: F = a * b + c R: * tiene precedencia sobre + , por lo que evaluamos la ecuacin de la siguiente forma F = (1 * 1) + 0 = (1) + 0 = 1 + 0 = 1. P2: F = ab + c R: El problema es igual al anterior, se us la expresin taquigrfica para *.

P3: F = ab R: Se evala primero a b porque NOT precede sobre AND, y resulta en F = (1) * (1) = 1 * (0) = 1 * 0 = 0.
P4: F = (ac) R: Primero evaluamos lo que se encuentra dentro del parntesis y despus hacemos un NOT al resultado, obtenemos (1 * 0) = (0) = 0 = 1 P5: F = (a + b) * c + d R: Dentro del parntesis izquierdo (1 + (1)) = (1+ (0)) = (1 + 0) = 1. Despus, el * tiene precedencia sobre +, se obtiene (1 * 0) + 1 = (0) + 1. El NOT tiene precedencia sobre OR, nos da (0) + (1) = (0) + (0) = 0 + 0 = 0.

lgebra Booleana - Terminologa


Ecuacin de ejemplo: F(a,b,c) = abc + abc + ab + c
Variable. Representa un valor (1 0). Tres variables: a, b y c. Literal. Apariencia de la variable, en forma verdadera o como complemento. Nueve literales: a, b, c, a, b, c, a, b y c. Trmino Producto. Producto de literales. Cuatro trminos productos: abc, abc, ab, c. Suma de Productos La ecuacin se escribe solo como un OR de trminos producto. Mientras que la ecuacin de arriba tiene un formato de suma de productos, la ecuacin F = (a + b)c + d no lo esta.

Propiedades del lgebra Booleana


Conmutativa a+b=b+a a*b=b*a Distributiva a * (b + c) = a * b + a * c a + (b * c) = (a + b) * (a + c) Asociativa (a + b) + c = a + (b + c) (a * b) * c = a * (b * c) Identidad 0+a=a+0=a 1*a=a*1=a Complemento a + a = 1 a * a = 0 Para probarlo solo evalu todas las posibilidades.

Ejemplo del uso de las propiedades.


Mostrar que abc es equivalente a cba Usando la propiedad de Conmutatividad: a*b*c = a*c*b = c*a*b = c*b*a = cba Mostrar que abc +abc = ab Usando la 1ra propiedad Distributiva: abc + abc = ab(c + c) Propiedad de Complemento: Reemplazar c +c por 1: ab(c + c) = ab(1) Propiedad de Identidad: ab(1) = ab * 1 = ab Mostrar que x + xz equivale a x+z Usando la 2da propiedad Distributiva: Reemplazar x + xz por (x + x)*(x + z) Propiedad de Complemento: Reemplace (x + x) por 1 Propiedad de Identidad: Reemplace 1 * (x + z) por x + z

Ejemplos que Aplican las Propiedades del Algebra Booleana


Se desea automatizar un circuito de apertura de puertas (como la puerta de una tienda de comestibles). Salida: f = 1 se abre la puerta Entradas: p=1: persona detectada h=1: interruptor que mantiene la puerta abierta c=1: llave para cerrar Queremos abrir la puerta cuando: h=1 y c=0, o h=0 y p=1 y c=0 Ecuacin: f = hc + hpc
Encontrar un chip econmico que realice la siguiente operacin: f = chp + chp + chp

Podemos usarlo? Es lo mismo que f = c(p+h)?


Use Algebra de Boole

f = chp + chp + chp f = ch(p + p) + chp (propiedad distributiva) f = ch(1) + chp (propiedad de complemento) f = ch + chp (propiedad de identidad) f = hc + hpc (propiedad conmutativa) f = c(h + hp) f = c(h + h)(h + p) = c(p + h)

!Igual!

lgebra Booleana Propiedades Adicionales


Ejemplo para un bao de avin

Comportamiento Elementos Nulos Tres baos, cada uno a+1=1 con sensor (a, b, c), iguales a 1 si la puerta a*0=0 est cerrada. Ley de Idempotencia Luz de Disponible, a+a=a seal (S), si cualquier a*a=a bao est disponible. Ley de Involucin Ecuacin y Circuito (a) = a S = a + b + c Ley de DeMorgan Transformando (a + b) = ab (abc) = a+b+c (Ley de (ab) = a + b DeMorgan) S = (abc) Muy tiles! Nueva ecuacin y circuito

Alternativa
En lugar de una luz de Disponible una luz de Ocupado La funcin opuesta a Disponible S = a + b + c S = (a + b + c) S = (a) * (b) * (c) (Ley de DeMorgan) S = a * b * c (Ley de Involucin) Haciendo un sensor intuitivo Ocupado si todas las puertas estn cerradas

Representacin de Funciones Booleanas


Enunciado 1: F tiene salida 1 cuando a es 0 y b es 0, o cuando a es 0 y b es 1

Enunciado 2: F tiene salida 1 cuando a es 0, sin importar el valor de b

(a)
Ecuacin 1: F(a,b) = ab + ab

Ecuacin 2: F(a,b) = a

(b)

(c) (d)

Una funcin puede ser representada de diversas formas. Arriba podemos observar 7 representaciones de la misma funcin F(a,b) usando 4 mtodos diferentes: Enunciado, Ecuacin, Circuito y Tabla de Verdad.

Tabla de Verdad Representacin de las Funciones Booleanas


Definir el valor de F para cada posible combinacin de valores de entrada:

2 funciones de entrada: 4 filas. 3 funciones de entrada: 8 filas. 4 funciones de entrada: 16 filas.


P: Usar la tabla de verdad para establecer que F(a,b,c) es igual a 1 cuando abc resulta ser 5 o mayor en binario.

(a)

(b)

(c)

Conversiones entre Representaciones


Se puede convertir una representacin a cualquier otra. Conversiones ms comunes: Ecuacin a circuito (ejemplos previos). Tabla de verdad a ecuacin (el cual podemos convertir a circuito).
Fcil slo con OR cada trmino de entrada debe tener una salida igual a 1.

F = ab + ab
P: Convertir a Ecuacin

Ecuacin a tabla de verdad


Fcil slo evaluar la ecuacin por cada combinacin de entrada (fila). Crear columnas intermedias de ayuda.

P: Convertir a Tabla de Verdad: F = ab + ab

F = abc + abc + abc

Representacin Estndar: La Tabla de Verdad


Cmo podemos determinar si dos funciones son iguales? Usar el ejemplo de la puerta automtica. Es igual a f = hc+ hpc? Podramos usar mtodos algebraicos Pero si fallamos se demostrara que no son iguales? No. Solucin: Convertir a tablas de verdad. Solo una tabla de verdad representa una funcin dada. Representacin estndar Para cada funcin dada existe solo una versin en forma estndar
f = chp + chp + ch f = ch(p + p) + chp f = ch(1) + chp f = ch + chp qu obtenemos si nos detenemos aqu? f = hc + hpc

P: Determinar si F = ab + a es igual a F = ab + ab + ab convirtiendo a cada una a su respectiva tabla de verdad.

Forma Cannica: Suma de Minitrminos


Las tablas de verdad son muy grandes para numerosas entradas. Usar la forma estndar en lugar de la ecuacin: Se conoce como forma cannica. lgebra regular: Agrupar trminos del polinomio por potencia. ax2 + bx + c (3x2 + 4x + 2x2 + 3 + 1) 5x2 + 4x + 4 lgebra Booleana: Crear suma de minitrminos. Minitrmino: Producto de cada trmino literal que aparece exactamente una vez, en forma verdadera o como complemento. Solo se multiplican los productos de la ecuacin hasta obtener la suma de trminos. Despus expandir cada trmino hasta obtener la suma de minitrminos. P: Determinar si F(a,b) = ab + a es la misma funcin que F(a,b) = ab + ab + ab convirtiendo la primera ecuacin a su forma cannica (la segunda ya se encuentra en forma cannica). F = ab + a (ya es una suma de minitrminos) F = ab + a(b + b) (expandir trminos) F = ab + ab + ab (IGUALES 3 trminos iguales a la otra ecuacin)

Circuitos de Mltiples Salidas


Muchos circuitos tienen ms de una salida. Se pueden tener circuitos separados, o se pueden compartir las compuertas.

Ejemplo: F = ab + c, G = ab + bc

Ejemplo de Mltiples Salidas


BCD a Convertidor de 7-Segmentos

a = wxyz + wxyz + wxyz + wxyz + wxyz + wxyz + wxyz + wxyz b = wxyz + wxyz + wxyz + wxyz + wxyz + wxyz + w xyz + wxyz

Proceso para el Diseo de Lgica Combinacional

Ejemplo: Detector de tres 1s


Problema: Detectar tres 1s consecutivos con una entrada de 8 bits: abcdefgh 00011101 1 10101011 0 11110000 1 Paso 1. Capturar la funcin. Tabla de verdad o ecuacin?
Tabla de verdad muy grande: 28 = 256 filas Ecuacin: crear los trminos por cada posible caso de tres 1s consecutivos. y = abc + bcd + cde + def + efg + fgh

Paso 2. Convertir a ecuacin Listo. Paso 3. Implementar circuito basado en compuertas.

Ejemplo: Contador del Nmero de 1s


Problema: La cantidad de 1s en tres entradas y el resultado en binario del producto de dos salidas yz. 010 01 101 10 000 000 Paso 1. Capturar la funcin. Tabla de verdad o ecuacin?
La tabla de verdad es sencilla.

Paso 2. Convertir a ecuacin.


y = abc + abc + abc +abc z = abc + abc + abc + abc

Paso 3. Implementar circuito basado en compuertas.

Ms Compuertas

NAND: Lo opuesto a AND (NOT AND). NOR: Lo opuesto a OR (NOT OR).


XOR: Una entrada es exactamente 1, para 2 entradas XOR (Para ms entradas nmero impar de 1s). XNOR: Lo opuesto a XOR (NOT XOR).

Ms Compuertas (Continuacin)
NAND, al igual que AND, funciona como switch entre Energa y tierra y tierra. Porqu? nMOS conduce muy bien 0s pero no 1s por lo que NAND es ms eficiente.
De la misma forma, NOR al igual que OR funciona como switch entre energa y tierra.

AND en CMOS: NAND con NOT.


OR en CMOS: NOR con NOT. NAND/NOR son ms comunes.

Ms Compuertas: Ejemplos de Uso


Ejemplo del bao de avin S = (abc) Detectar todos los 0s Usar NOR. Detectar igualidad Usar XNOR. Detectar nmeros impares de 1s Usar XOR tiles para generar el bit de paridad el cual es til para la deteccin de errores.

La integridad de NAND
Cualquier funcin Booleana puede implementarse usando solamente compuertas NAND. Por qu? Se necesita AND, OR y NOT. NOT: 1 entrada (o una NAND de dos entradas unidas). AND: NAND seguida de un NOT. OR: NAND precedida de NOTs Lo mismo sucede con NOR.

Nmero de Funciones Booleanas Posibles


Cuntas posibles funciones de 2 variables hay? 22 renglones en una tabla de verdad, 2 opciones por cada una. 2(2 ^4 )= 16 posibles funciones. N variables 2N renglones. 2(2^N) posibles funciones.

24 = 16 posibilidades

Você também pode gostar