Top Banner
Lógica digital 1 Algebra Booleana y Lógica Digital
51

Introduccion_Circuitos_digitales

Dec 09, 2015

Download

Documents

Introduccion_Circuitos_digitales
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: Introduccion_Circuitos_digitales

Lógica digital 1

Algebra Booleana y Lógica Digital

Page 2: Introduccion_Circuitos_digitales

Lógica digital 2

Objectivos

• Comprender la relación entre lógica booleana y los

circuitos digitales de computadora.

• Aprender como se diseñan circuitos lógicos

simples.

• Comprender como los circuitos digitales trabajan

en conjunto para formar complejos sistemas

computacionales.

Page 3: Introduccion_Circuitos_digitales

Lógica digital 3

Introducción

• En la última parte del siglo XIX, George Boole llamó la atención de filósofos y matemáticos cuando sugirió que el pensamiento lógico podría ser representado con ecuaciones matemáticas.

– ¿Cómo puede alguien sugerir que el pensamiento humano puede ser encapsulado y manipulado como una fórmula algebraica?

• Computers, como los conocemos hoy, son implementaciones de las Leyes del Pensamiento de Boole.

– John Atanasoff y Claude Shannon estuvieron entre los primeros en ver esta conexión.

• A mediados del siglo XX, los computadores eran conocidos como “máquinas pensantes” y “cerebros electrónicos”.

– Mucha gente les temía.• Hoy, raramente ponderamos la relación entre los computadores digitales

electrónicos y la lógica humana. Los computadores son aceptados como parte de nuestras vidas.

– Sin embargo, mucha gente todavía les teme.

Page 4: Introduccion_Circuitos_digitales

Lógica digital 4

Appendix - 3.2 Algebra Booleana

• El Algebra Booleana es un sistema matemático de manipulación de variables de dos valores.– En lógica formal estos valores son “verdadero” y “falso”.– En sistemas digitales esos valores son, “on” y “off”, 1 y

0 y “alta” y “baja”.

• Las expresiones booleanas se crean ejecutando operaciones en variables booleanas.– Operadores booleanos comunes son AND, OR y NOT.

Page 5: Introduccion_Circuitos_digitales

Lógica digital 5

Algebra Booleana

• Un operador booleano puede ser descrito completamente usando una tabla de verdad.

• Las tablas de verdad para los operadores AND y OR se muestran a la derecha.

• El operador AND se conoce también como el producto booleano. El operador OR es la suma booleana.

Page 6: Introduccion_Circuitos_digitales

Lógica digital 6

Algebra Booleana

• La tabla de verdad para el operador booleano NOT aparece a la derecha.

• La operación NOT es frecuentemente representada por una barra sobre la variable. Otras veces se le indica por una marca prima ( ‘ ) o una “ceja” ().

Page 7: Introduccion_Circuitos_digitales

Lógica digital 7

Algebra Booleana

• Una función booleana tiene:• Al menos una variable booleano, • Al menos un operador booleano y• Al menos un input, en el conjunto {0,1}.

• Produce una salida que es también miembro del conjunto {0,1}.

Ahora sabe por qué el sistema de numeración binario es tan útil para los computadores.

Page 8: Introduccion_Circuitos_digitales

Lógica digital 8

Algebra Booleana

• La tabla de verdad para la función:

aparece a la izquierda.

• Para facilitar la evaluación de la función booleana, la tabla de verdad continen columnas extra (sombreadas) que mantienen las evaluaciones parciales.

Page 9: Introduccion_Circuitos_digitales

Lógica digital 9

Algebra Booleana

• Al igual que con la aritmética común, los operadores booleanos tienen reglas de precedencia.

• El operador NOT tiene la mayor prioridad, seguido por AND y después por OR.

• Por eso se siguió orden en las columnas sombreadas, para evaluar las subpartes de la función en la tabla.

Page 10: Introduccion_Circuitos_digitales

Lógica digital 10

Algebra Booleana

• Los computadores digitales tiene circuitos que implementan funciones de algebra booleana.

• Entre más simple es una función booleana, más pequeño es el circuito resultante.– Los circuitos simples son más baratos de hacer, consumen

menos potencia y son más rápidos que los circuitos complejos.

• Con esto en mente, siempre se quiere reducir las funciones booleanas a su forma más simple.

• Hay un conjunto de identidades booleanas que nos ayudan a minimizar las funciones.

Page 11: Introduccion_Circuitos_digitales

Lógica digital 11

Algebra Booleana

• La mayoría de las identidades booleanas tienen una forma AND (producto) y una forma OR (suma). Aqui se muestran ambas formas:

Page 12: Introduccion_Circuitos_digitales

Lógica digital 12

Algebra Booleana

• El segundo grupo de identidades booleanas es semejante al algebra corriente:

Page 13: Introduccion_Circuitos_digitales

Lógica digital 13

Algebra Booleana

• El último grupo de identidades booleanas es el más útil.

• Estas leyes también aparecen en teoría de conjuntos y lógica formal.

Page 14: Introduccion_Circuitos_digitales

Lógica digital 14

Algebra Booleana

• Podemos usar las identidades booleanas para simplificar la

función que sigue:

Page 15: Introduccion_Circuitos_digitales

Lógica digital 15

Algebra Booleana

• A veces es más económico construir un circuito usando el complemento de la función (para después complementar el resultado) que implementando la función directamente.

• La ley de DeMorgan brinda una manera facil de encontrar el complemento de una función

• DeMorgan dice:

Page 16: Introduccion_Circuitos_digitales

Lógica digital 16

Algebra Booleana

• La ley de DeMorgan puede ser extendida a cualquier número de variables.

• Reemplace cada variable por su complemento y cambie todos los AND a OR y todos los OR a AND.

• Por lo tanto, el complemento es:

Page 17: Introduccion_Circuitos_digitales

Lógica digital 17

Algebra Booleana

• Vemos que hay muchas maneras de presentar la misma expresión booleana.– Estas formas “sinónimas” son equivalentes.– Las expresiones lógicas equivalentes tienen

identicas tablas de verdad.

• Para disminuir la confusión, los diseñadores expresan las funciones booleanas en forma canónica o estandarizada.

Page 18: Introduccion_Circuitos_digitales

Lógica digital 18

Algebra Booleana

• Hay dos formas canónicas para expresiones booleanas: suma de productos y productos de sumas.– Recuerde que el operador booleano del producto es el AND y

el de la suma es el OR.• En la forma de suma de productos, una serie de AND son

unidos por OR.– Por ejemplo:

• En la forma de producto de sumas, una serie de OR son unidos por AND.– Por ejemplo:

Page 19: Introduccion_Circuitos_digitales

Lógica digital 19

Algebra Booleana

• It is easy to convert a function to sum-of-products form using its truth table.

• We are interested in the values of the variables that make the function true (=1).

• Using the truth table, we list the values of the variables that result in a true function value.

• Each group of variables is then ORed together.

Page 20: Introduccion_Circuitos_digitales

Lógica digital 20

Algebra Booleana

• The sum-of-products form for our function is:

We note that this function is not in simplest terms. Our aim is only to rewrite our function in canonical sum-of-products form.

Page 21: Introduccion_Circuitos_digitales

Lógica digital 21

• Las funciones booleanas son implementadas en los computadores digitales por circuitos llamados puertas.

• Una puerta es un dispositivo electrónico que produce un resultado en base a dos o más valores de entrada.– En realidad, las puertas consisten de uno a seis transistores, pero los

diseñadores digitales piensan en ellas como una sóla unidad.– Los circuitos integrados tienen colecciones de puertas, adecuadas a un

propósito particular.

Puertas lógicas

Vs – es tierra = 0 Volts

Vd – voltage más alto – Para todo propósito ´podemos pensar en +5V, hay muchas posibilidades.

Vg – Voltaje de puerta – Dependiendo de este valor, los electrones pueden o no fluir desde el voltaje alto al bajo.

Page 22: Introduccion_Circuitos_digitales

Lógica digital 22

Puertas lógicas

Esta es la logica para la puerta NAND.

Dependiendo de los valores de A y B la salida C está conectada a la potencia o a tierra por lo que tiene un valor lógico 1 ó 0.

Voltaje invertido de la entrada

Voltage de entrada Esta es la lógica para

una puerta AND.

Es simplemente un NAND con un inversor.

Page 23: Introduccion_Circuitos_digitales

Lógica digital 23

• Las más simples puertas lógicas son AND, OR y NOT.

• Estan relacionadas directamente con sus respectivas operaciones booleanas como se puede ver de las tablas de verdad, y esas representaciones mapean directamente con los transistores de las últimas láminas.

Puertas lógicas

74LS08Quad 2-input AND

Page 24: Introduccion_Circuitos_digitales

Lógica digital 24

• La salida del XOR es verdadera sólo cuando los valores de las entradas son diferentes.

Puertas lógicas

Note el simbolo para la operación XOR.

• Simbolos de NAND y NOR y tablas de verdad.

74LS02Quad 2-input NOR

Page 25: Introduccion_Circuitos_digitales

Lógica digital 25

Puertas lógicas• Las puertas NAND y NOR son

conocidas como puertas universales porque son baratas de fabricar y cualquier función lógica puede expresarse en terminos sólo de puertas NAND y NOR.

• Las puertas pueden tener múltiples entradas y más de una salida.– Una segunda salida puede servir

para el complemento de la operación.

Page 26: Introduccion_Circuitos_digitales

Lógica digital 26

Componentes digitales• Combinaciones de puertas implementan funciones booleanas. El

circuito de abajo implementa la función:

• Este es un ejemplo de circuito de lógica combinacional.

• Los circuitos de lógica combinacional producen una salida especificada (casi) al instante en que se aplican los valores de entrada.

Page 27: Introduccion_Circuitos_digitales

Lógica digital 27

Circuitos combinacionales

• Como vemos, la suma se encuentra usando un XOR y la reserva (acarreo ó carry) usando un AND.

• Los circuitos combinacionales nos proveen de muchos dispositivos útiles.

• Uno de ellos es el semisumador (half adder), que encuentra la suma de dos bits.

• Podemos entender algo de la construcción de un semisumador mirando su tabla de verdad.

Page 28: Introduccion_Circuitos_digitales

Lógica digital 28

Circuitos combinacionales

• Podemos convertir un semisumador en un sumador (full adder) incluyendo compuertas que procesen el bit de acarreo.

• La tabla de verdad del sumador se muestra a la derecha.

FULL ADDERHALF ADDER

Page 29: Introduccion_Circuitos_digitales

Lógica digital 29

Circuitos combinacionales• Asi como combinamos semisumadores para

construir un sumador, estos se pueden conectar en serie.

• El bit de acarreo se pasa de un sumador al siguiente. Esta configuración se llama ripple-carry adder.

74LS283Este es un sumador de 4-bits.

Page 30: Introduccion_Circuitos_digitales

Lógica digital 30

Circuitos combinacionales• Los decodificadores son otro importante tipo de circuito combinacional.• Entre otras cosas, se usan en la selección de ubicaciones de memoria basadas

en el valor binario colocado en las lineas de dirección de un bus de memoria.• Decodificadores de memoria con n entradas pueden seleccionar 2n

ubicaciones.

• Asi es como luce en su interior un decodificador de 2-to-4.

Si x = 0 e y = 1, ¿qué linea de salida estará habilitada?

Page 31: Introduccion_Circuitos_digitales

Lógica digital 31

Circuitos combinacionales

Page 32: Introduccion_Circuitos_digitales

Lógica digital 32

Circuitos combinacionales

74LS42

Decodificador 1 a 10

Page 33: Introduccion_Circuitos_digitales

Lógica digital 33

Circuitos combinacionales

• Un multiplexor hace lo opuesto a un decodificador.

• Selecciona una única salida de múltiples input.

• El input elegido se determina por los valores de las lineas de control.

• Para poder elegir entre n entradas se requiere de log2n lineas de control.

Un diagrama de bloques de un multiplexor

Page 34: Introduccion_Circuitos_digitales

Lógica digital 34

Circuitos combinacionales

• Asi es como luce un multiplexador 4-to-1.

Si S0 = 1 y S1 = 0, ¿qué entrada se transfiere a la salida?

Page 35: Introduccion_Circuitos_digitales

Lógica digital 35

Circuitos combinacionales

Page 36: Introduccion_Circuitos_digitales

Lógica digital 36

Circuitos combinacionales

• Este shifter desplaza bits hacia la izquierda o derecha.

Si S = 0, ¿en que dirección se desplazan los bits de entrada?

Page 37: Introduccion_Circuitos_digitales

Lógica digital 37

3.5 Combinational Circuits

74LS1648-bit shift register

Page 38: Introduccion_Circuitos_digitales

Lógica digital 38

Circuitos secuenciales• Los circuitos de lógica combinacional son ideales para situaciones cuando se

requiere una aplicación inmediate de una función booleana a un conjunto de entradas.

• Sin embargo, otras veces, necesitamos un circuito que cambie su valor de acuerdo a su estado actual junto con las entradas.

– Esos circuitos tienen que “recordar” el estado actual.

• Los circuitos de lógica secuencial proveen esta funcionalidad.

• Como su nombre indica, los circuitos de lógica secuencial necesitan un medio por medio del cual los eventos pueden ser secuenciados.

• Los cambios de estados son controlados por relojes.

– Un “reloj” es un circuito especial que envía pulsos eléctricos a traves de un circuito.

• Los relojes producen ondas eléctricas como la mostrada abajo.

Page 39: Introduccion_Circuitos_digitales

Lógica digital 39

Circuitos secuencialesLos cambios de estados ocurren en los circuitos secuenciales de acuerdo

al tictac del reloj (es “sincrónico”) – En otro caso el circuito es “asincrónico” y depende del comportamiento de las señales de entrada.

Los circuitos que cambian de estado en la parte creciente o decreciente del pulso del reloj son llamados “disparados por flanco” Circuits that change state on the rising edge, or falling edge of the clock pulse are called edge-triggered.

Los circuitos disparados por nivel (Level-triggered) cambian su estado cuando el voltaje del reloj alcanza su nivel mayor o menor.

Page 40: Introduccion_Circuitos_digitales

Lógica digital 40

Circuitos secuenciales• Para retener el valor de su estado, los circuitos secuenciales dependen de la

retroalimentación (feedback).

• La retroalimentación ocurre cuando la salida se enlaza con la entrada.

• Aqui se muestra un ejemplo simple de este concepto. Este circuito muestra retroalimentación y nunca cambia su estado:

– si Q is 0 siempre sera 0, Si es 1 siempre será 1. ¿Por qué?

• Se puede ver como funciona la retroalimentación examinando el componente secuenciales más básico: el flip-flop SR.

– “SR” significa set/reset.

• Se muestra los componentes de un flip-flop SR, junto con un diagrama de bloques.

Page 41: Introduccion_Circuitos_digitales

Lógica digital 41

Circuitos secuenciales• El comportamiento de un flip-flop SR es descrito por su tabla

característica.

• Q(t) significa el valor de la salida al tiempo t. Q(t+1) es el valor de Q después del siguiente pulso del reloj.

• El flip-flop SR tiene tres entradas: S, R, y su salida actual, Q. (Q es el estado ó historia)

• Podemos construir una tabla de verdad para este circuito, como se muestra a la derecha.

• Note que hay dos valores indefinidos. Cuando tanto S como R son 1, el flip-flop SR es inestable. (lo que quiere decir que tanto Q como Q’ son 0 – y eso no está bien)

Intente un conjunto de entradas y vea que obtiene a la salida.

Page 42: Introduccion_Circuitos_digitales

Lógica digital 42

Circuitos secuenciales• Si nos aseguramos que las entradas de un flip-flop SR nunca serán

ambas 1, jamás tendremos un circuito inestable. Un flip-flop JK resuelve este problema pues no hay forma que ambos S y R sean 1, incluso si ambos, J y K, son 1.

• A la derecha hay un flip-flop SR, modificado para crear un flip-flop JK. Vea como Q y Q’ condicionan las entradas para prevenir que S y R sean ambas 1.

• La tabla característica nos dice que el flip-flop es estable para todos sus inputs.

Significa que al tiempo t + 1 es el inverso del valor a t.

Page 43: Introduccion_Circuitos_digitales

Lógica digital 43

Circuitos secuenciales

74LS112Dual flanco negativo JK Flip Flop

Se dispara cuando el reloj va de alto a bajo

Page 44: Introduccion_Circuitos_digitales

Lógica digital 44

Circuitos secuenciales• Otra modificación al flip-flop SR es el flip-flop D, cuya tabla característica

se muestra abajo.

• La salida del flip-flop se mantiene fija durante los subsiguientes pulsos del reloj. La salida sólo cambia cuando lo hace el valor D.

• El flip-flop D es el circuito fundamental de las memorias de computadoras. – Se muestra el diagrama de bloques del flip-

flop D.

No importa el estado anterior. Depende totalmenente del valor de D

Page 45: Introduccion_Circuitos_digitales

Lógica digital 45

Circuitos secuenciales

74LS174Hex D Flip Flop

Page 46: Introduccion_Circuitos_digitales

Lógica digital 46

Circuitos secuenciales

• Los circuitos secuenciales se usan cada vez que tenemos una aplicación con estados– Una aplicación con estados es aquella donde el siguiente estado de

la maquina depende el estado actual y de la entrada.

• Una aplicación con estados requiere tanto circuitos combinacionales como lógica secuencial.

Page 47: Introduccion_Circuitos_digitales

Lógica digital 47

Circuitos secuenciales

• Esta ilustración muestra un registro de 4-bits que hecho con flip-flops D. Generalmente se le representa con el diagrama de bloques de abajo.

Una configuración de memoria más grande se muestra en la siguiente lámida.

Page 48: Introduccion_Circuitos_digitales

Lógica digital 48

Circuitos secuenciales

Page 49: Introduccion_Circuitos_digitales

Lógica digital 49

Circuitos secuenciales

• Un contador binario es otro ejemplo de circuito secuencial.

• El bit de menor orden es complementado a cada pulso del reloj.

• Cada vez que cambia de 0 to 1, el siguiente bit es complementado, y asi también pasa con los siguientes flip-flops.

Page 50: Introduccion_Circuitos_digitales

Lógica digital 50

• Los computers son implementaciones de lógica booleana.

• Las funciones booleanas se describen mediante tablas de verdad.

• Las puertas lógicas son pequeños circuitos que implementan operadores booleanos.

• Las compuertas básicas son AND, OR y NOT.– La puerta XOR es muy útil para el chequeo de paridad y los

sumadores.

• Las “puertas universales” son NOR y NAND.

Conclusión

Page 51: Introduccion_Circuitos_digitales

Lógica digital 51

• Los circuitos computacionales consisten de circuitos lógicos combinacionales y secuenciales.

• Los circuitos combinacionales producen salidas (casi) inmediatamente cuando cambia la entrada.

• Los circuitos secuenciales requieren relojes para controlar los cambios de estado.

• El circuito secuencial básico es el flip-flop: el comportamiento de los flip-flops SR, JK y D flip-flops son los más importantes.

• El comportamiento de los circuitos secuenciales puede expresarse usando tablas de verdad.

Conclusión