Upload
robleflo-daringas
View
216
Download
1
Tags:
Embed Size (px)
DESCRIPTION
Introduccion_Circuitos_digitales
Citation preview
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.
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.
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.
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.
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” ().
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.
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.
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.
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.
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:
Lógica digital 12
Algebra Booleana
• El segundo grupo de identidades booleanas es semejante al algebra corriente:
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.
Lógica digital 14
Algebra Booleana
• Podemos usar las identidades booleanas para simplificar la
función que sigue:
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:
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:
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.
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:
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.
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.
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.
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.
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
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
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.
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.
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.
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
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.
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?
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
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?
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?
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.
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.
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.
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.
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.
Lógica digital 43
Circuitos secuenciales
74LS112Dual flanco negativo JK Flip Flop
Se dispara cuando el reloj va de alto a bajo
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
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.
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.
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.
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
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