Arquitectura de Computadoras 2015 Práctico 03
Práctico 3
Álgebra de Boole. Método de Karnaugh. Circuitos lógicos combinatorios.
Objetivo
Conocer y entrenarse en las técnicas para la construcción de circuitos combinatorios de mediano porte. Conocer los circuitos más comunes (multiplexores, demultiplexores, decodificadores, codificadores, circuito mayoría).
Notas
● Los ejercicios que se realizarán en clase son el 4C, 7 y 11a. ● Se publicará la solución del ejercicio 14.
● Cuando se hace referencia a la cantidad de entradas de un multiplexor, se refiere a las de control. ● a’ representa el complemento de a
Preguntas teóricas
1. ¿Qué es una compuerta básica? 2. Para una función de n variables, ¿Cuántas filas tendrá su tabla de verdad? 3. ¿Qué es un conjunto de operadores lógicamente completos?4. ¿Hay alguna relación entre las representaciones Σ y Π, y la suma de productos canónicos y el productos de sumas canónicas de la función representada?.
5. ¿Es verdadera la siguiente afirmación? “El método de Karnaugh asegura que la función resultante tiene una cantidad mínima de compuertas básicas”.
Ejercicio 1 (Básico)
Demostrar las siguientes propiedades del álgebra de Boole utilizando axiomas y teoremas: A. a+1 = 1 B. a.0 = 0 C. a+a.b = a D. a.(a+b) = a E. a+a’.b = a +b F. a.(a’+b) = a.bEjercicio 2 (Básico)
Demostrar las siguientes propiedades del álgebra de Boole utilizando axiomas y teoremas: A. a.b’+ a’.b+ a’.b’ = a’+ b’Arquitectura de Computadoras 2015 Práctico 03
Ejercicio 3 (Básico)
Simplificar las siguientes funciones booleanas expresando como suma de productos canónicos (SPC): G. (x, , )f y z = σ(1, , , )4 5 6 H. g(w, , , )x y z = σ(0, , , , , , 2, 4)1 4 6 8 9 1 1 I. h(a, , )b c = π(2, , , )3 6 7 J. i(a, , , )b c d = π(2, , 0, 4)6 1 1
Ejercicio 4 (Básico)
Simplificar las siguientes expresiones booleanas utilizando mapas de Karnaugh: A. ab (a′ + b′ ′)c + b B. a + b + (a′+ b + c)′ C. b + d + c + dc a c(ab+ d c)Ejercicio 5 (Complementario)
Un corredor de seguros se le dan las siguientes instrucciones:Usted debe extender una póliza nº 22 toda vez que el solicitante sea una mujer casada de más
de 25 años, un hombre casado de menos de 25 años que nunca ha solicitado una póliza nº 19,
una mujer menor de 25 años, un hombre casado poseedor de una póliza nº 19, o un hombre
casado de más de 25 años que no tiene póliza nº 19. Utilizando las siguientes variables booleanas: ● w para indicar posesión de la póliza nº 19, ● x para indicar que el solicitante es casado, ● y para indicar que el solicitante es hombre, ● z para indicar que el solicitante es menor de 25 años. Se pide:
● Construir la tabla de especificación para los casos en que debe extenderse una póliza nº 22. Reducir la expresión que se obtenga.
● Volver a escribir las instrucciones al corredor de seguros de la forma más sencilla posible.
Ejercicio 6 (Complementario)
Mostrar con un ejemplo que el mínimo en dos niveles no es único. Sugerencia: utilizar mapas de Karnaugh.
Arquitectura de Computadoras 2015 Práctico 03
Ejercicio 7 (Básico)
Probar que los siguientes dos circuitos implementan la misma función lógica:Ejercicio 8 (Básico)
Implementar un decodificador de 4 líneas de entradas y 16 de salida.Ejercicio 9 (Básico)
Implemente un circuito mínimo que tiene como entrada un número entero sin signo de 32 bits y como salida el módulo 16 del mismo representado en 4 bits.
Ejercicio 10 (Básico)
A. Construir una compuerta AND utilizando compuertas NAND. B. Construir una compuerta OR con compuertas NAND.
Arquitectura de Computadoras 2015 Práctico 03
Ejercicio 11 (Básico)
Se desea implementar un display de 7 segmentos. Para entradas en el rango 0..9 se debe desplegar el dígito correspondiente. En otro caso se debe desplegar E.
La salida son 7 valores que corresponden a cada uno de los segmentos. Cuando se pone un 1 en la entrada correspondiente a un determinado segmento, el mismo se enciende.
A. Construir el bloque decodificador 7 segmentos utilizando un decodificador y compuertas OR.
B. Construir el decodificador hallando la expresión mínima en dos niveles para cada una de sus salidas.
Ejercicio 12 (Complementario)
Un circuito shift permite desplazar dígitos hacia la izquierda (shift left
) o hacia la derecha ( shift
right
). Algunos permiten expendir el signo (en el caso de shift right) o indicar con qué dígito se deben ocupar los espacios. Si no se indica, se completa con 0. Esto es, shiftLeft(10101, 2 lugares) = 10100.
Se dispone de multiplexores de 4 a 1 (con 2 entradas de control) y compuertas básicas. A. Diseñar un circuito de corrimiento a la izquierda (shift left
) de 4 bits únicamente con
multiplexores 4 a 1.
B. A partir del diseño de la parte a) armar un Shift Left de 8 bits (debe tener 3 entradas de control) con las compuertas disponibles.
Ejercicio 13 (Complementario)
Multiplexores como compuertas universales:A. Probar que es posible tratar un multiplexor de 2 entradas como una compuerta universal. Muestre cómo construir las funciones AND, OR y NOT utilizando un multiplexor de estas características.
B. Ídem para un multiplexor de 1 entrada.
Arquitectura de Computadoras 2015 Práctico 03
Ejercicio 14 (Básico)
Asumir que X consiste de 3 bits, x 2x 1x 0 . Escribir cuatro funciones lógicas que son verdaderas para las diferentes condiciones enumeradas a continuación: A. X contiene un sólo 1 B. X contiene un número impar de 1s C. X es menor que 3 cuando se interpreta como entero en binario sin signo D. X es menor a 1 cuando se interpreta como número en complemento a 2.
Ejercicio 15 (Básico)
Construir un circuito que compare dos números enteros sin signo de 4 bits. Se dispone solamente de compuertas lógicas (and, or, not, xor).
Las entradas al circuito son a 3a2a1a0 b3 b2b1b0 , donde a 3es el bit más significativo del número A y b3 el más significativo de B. Las salidas del circuito son 3: ● A > B (es 1 si el número A es mayor que el número B) ● A = B (es 1 si el número A es igual que el número B) ● A < B (es 1 si el número A es menor que el número B) Nota: se sugiere diseñar primero un comparador de números de 2 bits.