Lógica Digital - Circuitos Combinatorios

Documentos relacionados
Circuitos Combinatorios

Organización del Computador 1 Lógica Digital 1: álgebra de Boole y

Organización del Computador 1 Lógica Digital 1: álgebra de Boole y compuertas

Compuertas Lógicas, Algebra Booleana

Descripción en VHDL de arquitecturas para implementar el algoritmo CORDIC

Tema 3.1 Introducción a los circuitos combinacionales. Algebra de Boole

Arquitectura de Computadoras 2015 Práctico 03. Práctico 3. Álgebra de Boole. Método de Karnaugh. Circuitos lógicos combinatorios.

1.1 Circuitos Digitales

Álgebra de Boole. Adición booleana. Multiplicación booleana. Escuela Politécnica Superior

George Boole. Álgebra Booleana. Álgebra de Conmutación. Circuitos Digitales EC1723

I UNIDAD ÁLGEBRA BOOLEANA Y COMPUERTAS LÓGICAS

Álgebra Booleana. Álgebra Booleana. Definiciones. Definiciones. Definiciones. Definiciones. Sistemas Digitales Mario Medina 1

2-Funciones y representaciones booleanas

GUIA 4: ALGEBRA DE BOOLE

NOT. Ejemplo: Circuito C1

Álgebra de Boole. Valparaíso, 1 er Semestre Prof. Rodrigo Araya E.

UNIDAD 4. Álgebra Booleana

Organización de Computadoras

Práctica 2 - Lógica Digital

Algebra de Boole. » a + a = 1» a a = 0

Circuitos lógicos combinacionales. Tema 6

03. Introducción a los circuitos lógicos

GUIA DE CIRCUITOS LOGICOS COMBINATORIOS

Electrónica Digital: Sistemas Numéricos y Algebra de Boole

TEMA 3 ÁLGEBRA DE CONMUTACIÓN

Arquitectura de Computadoras Algebra de Boole Basadas en las Notas de Teórico Versión 1.0 del Dpto. de Arquitectura-InCo-FIng

Compuertas Lógicas. Sergio Stive Solano Sabié. Agosto de 2012 MATEMÁTICA. Sergio Solano. Compuertas lógicas NAND, NOR, XOR y XNOR

ÁLGEBRAS DE BOOLE. En un álgebra de Boole (B, +,, ) se cumplen las siguientes propiedades, para todo x, y, z B: Doble Complemento

Existen diferentes compuertas lógicas y aquí mencionaremos las básicas pero a la vez quizá las más usadas:

Clase Nº 2. Ing. Manuel Rivas DEPARTAMENTO DE ELECTRÓNICA. Trimestre Enero - Marzo 2006

Conceptos previos. Revisión de Sistemas Lógicos Formatos Numéricos. Dpto. Ingeniería Electrónica y Comunicaciones

Álgebra Booleana. Suma Booleana. El término suma es 1 si al menos uno de sus literales son 1. El término suma es 0 solamente si cada literal es 0.

Centro Asociado Palma de Mallorca. Tutor: Antonio Rivero Cuesta

Fundamentos de Computadores. Álgebra de Conmutación

IMPLEMENTACIÓN DE CIRCUITOS COMBINACIONALES

Tabla 5.2 Compuertas básicas A B A B A B

Operaciones Booleanas y Compuertas Básicas

2. ÁLGEBRA DE BOOLE OPERACIONES BÁSICAS DEL ÁLGEBRA DE BOOLE. OPERACIONES LÓGICAS.

ALGEBRA BOOLEANA. CONMUTATIVO. Se dice que un operador binario º es conmutativo si A º B = B º A para todos los posibles valores de A y B.

Tema 1: Circuitos Combinacionales

Álgebra Booleana y Simplificación Lógica

Álgebra de Boole. Tema 5

k k N b Sistemas Númericos Sistemas con Notación Posicional (1) Sistemas con Notación Posicional (2) Sistemas Decimal

El número decimal 57, en formato binario es igual a:

ÁLGEBRA BOOLEANA El álgebra booleana es un sistema matemático deductivo centrado en los valores cero y uno (falso y verdadero). Un operador binario "

Introducción a la Matemática Discreta

Tema 5: Álgebra de Boole Funciones LógicasL

Algebra de Boole: Teoremas

ANALÓGICO vs. DIGITAL

Unidad IV. Teorema 1: Multiplicación por cero (identidad) Es el factor neutro: Suma: a+1=! producto: a0=0

SUMADORES Y COMPARADORES

TEMA 5.2 FUNCIONES LÓGICAS TEMA 5 SISTEMAS DIGITALES FUNDAMENTOS DE ELECTRÓNICA

Introducción al álgebra de Boole. Operaciones lógicas básicas. Propiedades del álgebra de Boole. a b a+b

EJERCICIO No. 8 ALGEBRA BOOLEANA NOMBRE:

TRABAJO PRÁCTICO Nº 3. Expresiones booleanas, tablas de verdad y compuertas lógicas

Álgebra de Boole. Tema 5

plicación de los circuitos SUMADOR DIBITAL S C

FUNDAMENTOS DE COMPUTADORES Ejercicios U2: Circuitos Combinacionales

PUERTAS LOGICAS. Una tensión alta significa un 1 binario y una tensión baja significa un 0 binario.

Sistemas informáticos industriales. Algebra de Boole

PROBLEMAS TECNOLOGÍA INDUSTRIAL II. CONTROL DIGITAL

LECCIÓN Nº 02 FUNCIONES DE LOGICA COMBINACIONAL (PARTE 1)

Algebra Booleana Transversal de Programación Básica Proyecto Curricular de Ingeniería de Sistemas

ÁLGEBRA BOOLEANA. INTRODUCCIÓN AL ÁLGEBRA DE BOOLE

CURSO: ELECTRÓNICA DIGITAL UNIDAD 1: COMPUERTAS LÓGICAS - TEORÍA PROFESOR: JORGE ANTONIO POLANÍA

TEMA 1. Sistemas Combinacionales.

Introducción Flip-Flops Ejercicios Resumen. Lógica Digital. Circuitos Secuenciales - Parte I. Francisco García Eijó

TRABAJO PRÁCTICO Nº 3. Expresiones booleanas, tablas de verdad y compuertas lógicas

Números Reales. Hermes Pantoja Carhuavilca. Matematica I. Facultad de Ingeniería Industrial Universidad Nacional Mayor de San Marcos

El álgebra booleana fue estudiada por Pitágoras y George Boole.

DISEÑO DE CIRCUITOS LOGICOS COMBINATORIOS

SISTEMAS LÓGICOS. UNIDAD 2: Álgebra De Boole

Álgebra Booleana circuitos lógicos

Octubre de Circuitos Logicos MARIA ALEJANDRA GUIO SAENZ ALEJANDRO SALAZAR ALEJANDRO BELTRAN CAMILO RIVERA SYGMA

CIRCUITOS LÓGICOS. Lógica FCE 1. ALGEBRA DE BOOLE

Taller #2: Circuitos Combinacionales

TEMA PUERTAS LÓGICAS. TÉCNICAS DE DISEÑO Y SIMPLIFICACIÓN DE FUNCIONES LÓGICAS.

EL LENGUAJE DE LAS COMPUTADORAS

CIRCUITOS DIGITALES UNIVERSIDAD CATOLICA DE CUENCA EXT. CAÑAR CATEDRATICO: ING. CRISTIAN FLORES ALUMNO: TITO GUASCO FECHA:

ÁLGEBRA DE BOOLE Y FUNCIONES LÓGICAS

LÓGICA SECUENCIAL Y COMBINATORIA

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 Autónoma de Baja California

PRÁCTICA 1 MIC Usando el simulador (digital). Compruebe la tabla de verdad para las compuertas lógicas básicas: NOT, OR, AND, NAND, NAND, XOR

Introducción volts.

Álgebra Booleana y Diseño Lógico. Circuitos Digitales, 2º de Ingeniero de Telecomunicación. EITE ULPGC.

Circuitos Lógicos Combinatorios. Ing. Jorge Manrique 2004 Sistemas Digitales 1

Definición y representación de los

CIRCUITOS DIGITALES -

Matemáticas Básicas para Computación

Problemas propuestos. Simplificar las siguientes expresiones lógicas

ELECTRÓNICA DIGITAL 1. INTRODUCCIÓN. SEÑALES ANALÓGICAS Y DIGITALES.

CIRCUITOS LOGICOS. Que es una Proposición? Es una expresión verbal de un juicio acerca de algo.

Curso Completo de Electrónica Digital

BLOQUE V. CONTROL Y PROGRAMACIÓN DE SISTEMAS AUTOMÁTICOS

Transcripción:

Lógica Digital - Circuitos Combinatorios Expositor: Esteban Pontnau Primer Cuatrimestre de 2012 Departamento de Computación, FCEyN,Universidad de Buenos Aires. 3 de abril de 2012

Objetivos de la clase de hoy Repasar los operadores y propiedades del algebra de boole vistas en la teórica y utilizarlas para implementar circuitos combinatorios simples.

Propiedades Suma de productos Producto de sumas Compuertas lógicas Repasemos... Operadores lógicos: Pueden ser completamente descriptos usando su tabla de verdad. AND, OR, NOT Operadores básicos NAND, NOR Operadores universales Expresiones booleanas: Combinación de operadores lógicos y variables booleanas. Ej. F (X, Y, Z) = X + Y Z. Orden de precedencia en la evaluación NOT > AND > OR. Dos expresiones son iguales sii tienen la misma tabla de verdad. Identidades booleanas: Reducciones utilizando propiedades o leyes. X YZ + X Y Z + XZ == X Y + XZ

Propiedades Suma de productos Producto de sumas Compuertas lógicas Propiedades Identidad 1.A = A 0 + A = A Nulo 0.A = 0 1 + A = 1 Idempotencia A.A = A A + A = A Inverso A.A = 0 A + A = 1 Conmutatividad A.B = B.A A + B = B + A Asociatividad (A.B).C = A.(B.C) (A + B) + C = A + (B + C) Distributividad A + B.C = (A + B).(A + C) A.(B + C) = A.B + A.C Absorción A.(A + B) = A A + A.B = A De Morgan (A.B) = A + B (A + B) = A.B No existe una forma mecánica y facil para reducir una función, hay que practicar. De esto se deduce que no hay una única forma de escribir una función lógica, surge la necesidad de las formas canónicas.

Propiedades Suma de productos Producto de sumas Compuertas lógicas Formas Canónicas La idea es, dada una tabla de verdad escribir una expresión booleana que la represente. Las dos técnicas que vamos a ver son Suma de Productos y Producto de Sumas. No necesariamente vamos a obtener la expresión Óptima (o sea la que use menos operadores).

Propiedades Suma de productos Producto de sumas Compuertas lógicas Suma de productos Por cada valor de la función que sea 1 escribimos un término utilizando todas las variables unidas por operadores AND, de forma tal que el término también valga 1. Luego combinamos todo con operadores OR. Probemos con un ejemplo sencillo: A B F(A,B) 0 0 0 0 1 1 1 0 1 1 1 0 F (A, B) = AB + AB (Es el operador OR-Excusivo o XOR)

Propiedades Suma de productos Producto de sumas Compuertas lógicas Producto de sumas Por cada valor de la función que sea 0 escribimos un término utilizando todas las variables unidas por operadores OR, de forma tal que el término también valga 0. Luego combinamos todo con operadores AND. Usando el ejemplo anterior: A B F(A,B) 0 0 0 0 1 1 1 0 1 1 1 0 F (A, B) = (A + B)(A + B)

Propiedades Suma de productos Producto de sumas Compuertas lógicas Compuertas lógicas Una compuerta es un dispositivo electrónico que produce un resultado en base a un conjunto de valores de entrada. Se corresponden exactamente con los operadores que vimos antes.

Propiedades Suma de productos Producto de sumas Compuertas lógicas Compuerta NOT A NOT A 0 1 1 0

Propiedades Suma de productos Producto de sumas Compuertas lógicas Compuerta AND A B A AND B 0 0 0 0 1 0 1 0 0 1 1 1

Propiedades Suma de productos Producto de sumas Compuertas lógicas Compuerta OR A B A OR B 0 0 0 0 1 1 1 0 1 1 1 1

Propiedades Suma de productos Producto de sumas Compuertas lógicas Compuerta XOR u OR-EXCLUSIVA A B A XOR B 0 0 0 0 1 1 1 0 1 1 1 0

Propiedades Suma de productos Producto de sumas Compuertas lógicas Compuerta NOR A B A NOR B 0 0 1 0 1 0 1 0 0 1 1 0

Propiedades Suma de productos Producto de sumas Compuertas lógicas Compuerta NAND A B A NAND B 0 0 1 0 1 1 1 0 1 1 1 0

Propiedades Suma de productos Producto de sumas Compuertas lógicas CEDAR Logic Simulator http://cedarlogic.scienceontheweb.net/

Ejercicio 1 Demostrar si la siguiente igualdad entre expresiones booleanas es verdadera o falsa: (X + Y ) = (X.Y ).Z + X.Z + (Y + Z)

Recordemos las propiedades Identidad 1.A = A 0 + A = A Nulo 0.A = 0 1 + A = 1 Idempotencia A.A = A A + A = A Inverso A.A = 0 A + A = 1 Conmutatividad A.B = B.A A + B = B + A Asociatividad (A.B).C = A.(B.C) (A + B) + C = A + (B + C) Distributividad A + B.C = (A + B).(A + C) A.(B + C) = A.B + A.C Absorción A.(A + B) = A A + A.B = A De Morgan (A.B) = A + B (A + B) = A.B

Una solución: (X.Y ).Z + X.Z + (Y + Z) De Morgan (X.Y ).Z + X.Z + Y.Z Distributiva (X.Y ).Z + (X + Y ).Z De Morgan (X + Y ).Z + (X + Y ).Z Distributiva (X + Y ).(Z + Z) Inverso (X + Y ).1 Identidad X + Y Listo!, probamos que es igual

Ejercicio 2 Dada la siguiente tabla de verdad: A B C F 0 0 0 0 0 0 1 1 0 1 0 0 0 1 1 1 1 0 0 0 1 0 1 0 1 1 0 0 1 1 1 1 Escribir una expresión booleana que la represente. Implementarla utilizando a lo sumo una compuerta AND, una compuerta OR y una compuerta NOT.

Recordemos las propiedades Identidad 1.A = A 0 + A = A Nulo 0.A = 0 1 + A = 1 Idempotencia A.A = A A + A = A Inverso A.A = 0 A + A = 1 Conmutatividad A.B = B.A A + B = B + A Asociatividad (A.B).C = A.(B.C) (A + B) + C = A + (B + C) Distributividad A + B.C = (A + B).(A + C) A.(B + C) = A.B + A.C Absorción A.(A + B) = A A + A.B = A De Morgan (A.B) = A + B (A + B) = A.B

Expresamos como una suma de productos: (A.B.C) + (A.B.C) + (A.B.C) Como nos restringen la cantidad de compuertas tenemos que simplificar. (A.B.C) + (A.B.C) + (A.B.C) Distributiva ((A.B) + (A.B) + (A.B)).C Distributiva ((A.B) + (A + A).B).C Inverso ((A.B) + 1.B).C Identidad ((A.B) + B).C Distributiva ((A + B).(B + B)).C Inverso ((A + B),1).C Identidad (A + B).C Bingo!

Para que nos sirvió esto? Implementación de la primer expresión.

Para que nos sirvió esto? Implementación de la segunda expresión.

Ejercicio 3 Armar un inversor de 3 bits. Este circuito invierte o no tres entradas de acuerdo al valor de una cuarta que actúa como control. En otras palabras, un inversor de k-bits es un circuito de k+1 entradas (e 1,..., e k, e k+1 ) y k salidas (s 1,..., s k ) que funciona del siguiente modo: Si e k+1 = 1, entonces s i = not(e i ) para todo i < k + 1 Si e k+1 = 0, entonces s i = e i para todo i < k + 1 Ejemplo: inversor(0110)=011 inversor(1001)=011

Solución: Tabla de verdad (Continua) e 1 e 2 e 3 e 4 s 1 s 2 s 3 0 0 0 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 1 0 0 1 1 0 0 1 1 1 0 0 0 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 0 1 1 1 0 1 1 1

Solución: Tabla de verdad (Continuación) Cómo quedarían las ecuaciones? e 1 e 2 e 3 e 4 s 1 s 2 s 3 0 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 0 1 1 0 1 0 1 1 1 1 0 0 1 0 0 1 0 1 1 1 0 1 1 0 1 0 1 1 0 1 0 0 1 1 1 1 1 0 0 0

Ecuaciones para S 1, S 2 y S 3 s 1 = (e 1.e 2.e 3.e 4 ) + (e 1.e 2.e 3.e 4 ) + (e 1.e 2.e 3.e 4 ) + (e 1.e 2.e 3 e 4 ) + (e 1.e 2.e 3.e 4 ) + (e 1.e 2.e 3.e 4 ) + (e 1.e 2.e 3.e 4 ) + (e 1.e 2.e 3.e 4 ) s 2 = (e 1.e 2.e 3.e 4 ) + (e 1.e 2.e 3.e 4 ) + (e 1.e 2.e 3.e 4 ) + (e 1.e 2.e 3 e 4 ) + (e 1.e 2.e 3.e 4 ) + (e 1.e 2.e 3.e 4 ) + (e 1.e 2.e 3.e 4 ) + (e 1.e 2.e 3.e 4 ) s 3 = (e 1.e 2.e 3.e 4 ) + (e 1.e 2.e 3.e 4 ) + (e 1.e 2.e 3.e 4 ) + (e 1.e 2.e 3 e 4 ) + (e 1.e 2.e 3.e 4 ) + (e 1.e 2.e 3.e 4 ) + (e 1.e 2.e 3.e 4 ) + (e 1.e 2.e 3.e 4 )

Primero pensar como invertir un solo bit e i e (k+1) s i 0 0 0 0 1 1 1 0 1 1 1 0 Hay que usar (P.Q) + (P.Q) que es una XOR ( ) P Q = (P.Q) + (P.Q)

Comparemos con la ecuación de S 1 (e 1.e 2.e 3.e 4 ) + (e 1.e 2.e 3.e 4 ) + (e 1.e 2.e 3.e 4 ) + (e 1.e 2.e 3 e 4 ) + (e 1.e 2.e 3.e 4 ) + (e 1.e 2.e 3.e 4 ) + (e 1.e 2.e 3.e 4 ) + (e 1.e 2.e 3.e 4 ) e 1 ((e 2.e 3.e 4 ) + (e 2.e 3.e 4 ) + (e 2.e 3.e 4 ) + (e 2.e 3.e 4 )) + e 1 ((e 2.e 3.e 4 ) + (e 2.e 3.e 4 ) + (e 2.e 3.e 4 ) + (e 2.e 3.e 4 ) e 1 (((e 2.e 3 ) + (e 2.e 3 ) + (e 2.e 3 ) + (e 2.e 3 ))e 4 ) + e 1 (((e 2.e 3 ) + (e 2.e 3 ) + (e 2.e 3 ) + (e 2.e 3 ))e 4 ) e 1 ((e 2 (e 3 + e 3 ) + e 2 (e 3 + e 3 ))e 4 ) + e 1 ((e 2 (e 3 + e 3 ) + e 2 (e 3 + e 3 ))e 4 ) e 1 ((e 2 + e 2 )e 4 ) + e 1 ((e 2 + e 2 )e 4 ) (e 1.e 4 ) + (e 1.e 4 )

Solución:

Ejercicio 4 Armar un circuito de 3 bits. Este deberá mover a izquierda o a derecha los bits de entrada de acuerdo al valor de una de ellas que actúa como control. En otras palabras, un shift izq-der de k-bits es un circuito de k+1 entradas (e k,..., e 0 ) y k salidas (s k 1,..., s 0 ) que funciona del siguiente modo: Si e k = 1, entonces s i = e i 1 para todo 0 < i < k y s 0 = 0 Si e k = 0, entonces s i = e i+1 para todo 0 i < k 1 y s k 1 = 0 Ejemplo: shift lr(1,011)=110 shift lr(0,011)=001 shift lr(1,100)=000 shift lr(1,101)=010

Ejercicio 4 Solución:

Ejercicio 5 Armar un sumador de un solo bit utilizando solo una compuerta AND y una compuerta XOR.

Solución: X Y C out Sum 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0

Solución: X Y C out Sum 0 0 0 0 0 1 0 1 1 0 0 1 1 1 1 0

Ejercicio 6 Teniendo dos sumadores simples y solo una compuerta a elección, arme un sumador completo de un bit. (Recordar que un sumador completo también tiene entrada de carry)

X Y C in Sum C out 0 0 0 0 0 0 0 1 1 0 0 1 0 1 0 0 1 1 0 1 1 0 0 1 0 1 0 1 0 1 1 1 0 0 1 1 1 1 1 1

Solución:

Ejercicio 7 Usando sumadores completos y un tipo de compuerta a elección armar un circuito que convierta un entero en su inverso aditivo (el inverso aditivo de un número n es el número x tal que x + n = 0). Los enteros se representan con notación complemento a 2 de 4 bits. En esta reprepresentación el -8 no tiene inverso aditivo, no hace falta contemplar el caso aparte. Ejemplo: inversoad(1001)=0111 inversoad(0110)=1010 (HINT: Para los que NO HICIERON el ejercicio 24 de la práctica 1, el inverso aditivo de un número en complemento a 2 se obtiene invirtiendo bit a bit y sumando 1)

Solución: (Pensar como sería la solución usando sumadores simples.)

Cosas que tendríamos que haber entendido y tips Operadores y expresiones booleanas, reducciones utilizando propiedades. Dada una tabla de verdad escribir una expresión booleana que la represente. Implementar las expresiones utilizando compuertas lógicas. RECOMENDACIONES Sean cuidadosos cuando dibujan circuitos: Que quede claro cuando un cable esta conectado a otro y cuando lo saltea (pongan un circulito en la unión o una curva cuando no quieren que lo toque). Con todo esto pueden hacer la primera parte de la práctica 2.