Descargar

Circuitos lógicos combinacionales

Enviado por Pablo Turmero


    edu.red

    ¿Qué sabrás al final del capítulo? Conocer las formas canónicas de una función Implementar funciones con dos niveles de puertas lógicas AND/OR OR/AND NAND NOR Analizar sistemas combinacionales, obteniendo la función lógica de salida Implementar sistemas combinacionales a partir de su especificación en forma de enunciado con distintos tipos de puertas Nociones básicas de memorias

    edu.red

    Resumen puertas lógicas

    edu.red

    Se llama término canónico a aquél que contiene a TODAS las variables de una función dada. Minitérmino o minterm es un producto canónico Maxitérmino o maxterm es una suma canónica Ejemplo: Sea F(a,b,c,d). Entonces los términos a’· b’·c·d y a·b·c·d’ son minterms y los términos a’+b+c’+d’ y a+b’+c+d’ son maxterms. Para n variables, se tienen 2n minterms y 2n maxterms Cualquier función booleana pueden expresarse en forma de: Suma de minterms : 1ª Forma canónica Producto de maxterms: 2ª Forma canónica Numeración: Minterm: variable ? 1, variable ? 0 Ejemplo: a · b · c · d es el minterm 3 (0011). Se representa como m3 Maxterm: variable ? 0, variable ? 1 Ejemplo: a+b+c+d es el maxterm 9 (1001). Se representa como M9

    Minterm y Maxterm

    edu.red

    Implementación de funciones con minterm y maxterm 1ª Forma canónica: suma de minterms F=? mi ({i / F(i)=1}) 2ª Forma canónica: producto de maxterms F=? Mi ({i / F(i)=0})

    Notar que mi = Mi y que Mi = mi

    Ejemplo:

    F(A,B,C) = ? m(2,3,4,6) toma los 1’s F(A,B,C) = ? M(0,1,5,7) toma los 0’s

    Cálculo de la función negada:

    F(A,B,C) = ? M(0,1,5,7) = M0.M1.M5.M7 = = m0+m1+m5+m7 = ? m(0,1,5,7)

    edu.red

    Implementación de funciones booleanas con AND/OR Funciones expresadas como suma de productos (AND/OR) F(a,b,c) = ab'c + a'c' + a'b Nivel 1 Nivel 2

    edu.red

    Ejemplo: f(x,y,z) =?(1,3,6,7) X Y Z 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 1 1 1 1 1

    00 01 11 10 0 1 x yz 0 0 1 0 1 1 0 1 f(x,y,z) = x'z + xy Esta notación significa la suma de los minitérminos 1, 3 6 y 7

    Agrupar los 1’s de F Implementación de funciones booleanas con AND/OR

    edu.red

    Funciones expresadas como producto de sumas (OR/AND) g(a,b,c) = (a'+b+c) · (a'+b') · (b'+c) Nivel 1 Nivel 2 Implementación de funciones booleanas con OR/AND

    edu.red

    (Gp:) 00 (Gp:) 01 (Gp:) 11 (Gp:) 10 (Gp:) 0 (Gp:) 1 (Gp:) x (Gp:) yz (Gp:) 0 (Gp:) 0 (Gp:) 1 (Gp:) 0 (Gp:) 1 (Gp:) 1 (Gp:) 0 (Gp:) 1 (Gp:) 00 (Gp:) 01 (Gp:) 11 (Gp:) 10 (Gp:) 0 (Gp:) 1 (Gp:) x (Gp:) yz (Gp:) 1 (Gp:) 1 (Gp:) 0 (Gp:) 1 (Gp:) 0 (Gp:) 0 (Gp:) 1 (Gp:) 0

    x y z

    0 0 0 0 1 0 0 1 1 0 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 0 1 1 1 0 1 0 1 1 1 1 0

    Ejemplo f(x,y,z) =?(1,3,6,7) Implementación de funciones booleanas con OR/AND (Gp:) Agrupar los 1’s en F y …

    edu.red

    (Gp:) 00 (Gp:) 01 (Gp:) 11 (Gp:) 10 (Gp:) 0 (Gp:) 1 (Gp:) x (Gp:) yz (Gp:) 0 (Gp:) 0 (Gp:) 1 (Gp:) 0 (Gp:) 1 (Gp:) 1 (Gp:) 0 (Gp:) 1

    … realizar la negación de la función negada

    edu.red

    Forma directa: También se habría llegado a esa expresión agrupando directamente los 0`s de F pero: Cada agrupación de ceros es una suma de variables donde las variables que siempre valen 1 aparecen NEGADAS las variables que siempre valen 0 aparecen AFIRMADAS F es el el producto de todas las sumas

    (Gp:) 00 (Gp:) 01 (Gp:) 11 (Gp:) 10 (Gp:) 0 (Gp:) 1 (Gp:) x (Gp:) yz (Gp:) 0 (Gp:) 0 (Gp:) 1 (Gp:) 0 (Gp:) 1 (Gp:) 1 (Gp:) 0 (Gp:) 1

    edu.red

    Implementación con puertas NAND Las puertas NAND son universales

    NOT con NANDs

    AND con NANDs

    OR con NANDs

    edu.red

    Implementación con puertas NAND en dos niveles Expresar la función como Suma de Productos, aplicar doble negación y De Morgan

    edu.red

    Implementación con puertas NOR Las puertas NOR son universales

    NOT con NORs

    AND con NORs

    OR con NORs

    edu.red

    Implementación con puertas NOR en dos niveles Expresar la función como Producto de Sumas, aplicar doble negación y De Morgan

    edu.red

    Análisis e implementación de sistemas combinacionales

    edu.red

    ¿Qué es un Circuito Combinacional? Dos tipos de circuitos digitales Combinacionales: la salida depende sólo de las entradas Secuenciales: la salida depende de las entradas y del estado actual del circuito (entrada + memoria)

    edu.red

    ¿Qué es un Circuito Combinacional? Las salidas tienen que estar completamente determinadas a partir de las entradas en cualquier instante No puede haber bucles de realimentación NO es combinacional SÍ es combinacional

    edu.red

    Análisis de circuitos combinacionales Consiste en determinar la expresión algebraica de la función implementada por el circuito Se evalúan las expresiones generadas por cada puerta desde su entradas hasta su salida

    edu.red

    Síntesis o Diseño de Circuitos Combinacionales Especificación Síntesis F(A, B, C ) = … Simplificación e implementación A B C F

    0 0 0 1 0 0 1 0 0 1 0 1 0 1 1 0 1 0 0 1 1 0 1 0 1 1 0 0 1 1 1 1

    edu.red

    Ejemplo Una máquina expendedora automática proporciona productos con diversos precios: botella de agua 0,50 €, lata de refresco 1,00 €, paquete de galletas 1,50 € y caja de bombones 2,00 €. Sólo admite una moneda de 0,50 €, 1,00 € ó 2,00 € para adquirir el producto y sólo devuelve cambio de 1 moneda, caso de que tuviera que devolver cambio. Habrá casos en los que, al no poder proporcionar el cambio correcto, devolverá la moneda introducida, sin proporcionar el producto. Síntesis o Diseño de Circuitos Combinacionales

    edu.red

    Monedas entradas (me1, me2) 00: moneda de 0 € (ninguna moneda) 01: moneda de 0,50 € 10: moneda de 1,00 € 11: moneda de 2,00 € Monedas retornadas (ms1, ms2) 00: moneda de 0 € (ninguna moneda) 01: moneda de 0,50 € 10: moneda de 1,00 € 11: moneda de 2,00 € Codificación del producto (t1, t2) 00: botella de agua 01: lata de refresco 10: paquete de galletas 11: caja de bombones Suministro (S) 0: NO proporciona producto 1: SÍ proporciona producto Codificación Entradas Salidas Síntesis o Diseño de Circuitos Combinacionales Tabla de verdad

    edu.red

    Simplificación e implementación de algunas funciones 00 01 11 10 00 01 me1 me2 t1 t2 0 1 0 0 0 0 0 0 11 10 0 1 1 1 0 1 0 00 01 11 10 00 01 0 0 0 0 0 0 0 0 11 10 1 0 1 0 0 1 0 1 Síntesis o Diseño de Circuitos Combinacionales t1 t2 me1 me2 1

    edu.red

    Condiciones “no importa” En ocasiones ciertas combinaciones de entradas no tienen sentido o no se pueden dar en el sistema que estamos implementando En la tabla de verdad, las variables de salida en las condiciones “no importa” se marcan con (X) o (-) A la hora de simplificar, a estos casos “no importa” se les darán los valores que nos convengan para conseguir las simplificaciones más sencillas

    edu.red

    Condiciones “no importa” Ejemplo: conversor BCD natural a BCD exceso 3

    edu.red

    Memorias

    edu.red

    Esquema de una memoria Memoria de 4×8 (4 palabras de 8 bits) D B I R E U C C I S O N B U S D A T O S Palabra de 8 bits Celda de 1 bit ENABLE ESCRITURA LECTURA

    edu.red

    Diseño de memorias Si se desea una memoria de palabras de n bits y se parte de circuitos con ancho de palabra de t bits, se necesitarán n/t circuitos para alcanzar el ancho de palabra deseado. El valor típico de t es 1, 4, 8 o 16. Si la capacidad pretendida es r palabras y se emplean circuitos de z palabras, se necesitarán r/z filas de circuitos para lograr dicha capacidad.

    edu.red

    Ejemplos de diseño Memoria deseada 128 Kpalabras. Palabra de 16 bits. Circuitos de memoria de 64Kx1. Solución: Se necesitan 16/1 = 16 circuitos por fila para formar el ancho de palabra deseado. Se necesitan 128/64 = 2 filas de circuitos.

    edu.red

    Otro ejemplo Memoria deseada 32 Kpalabras. Palabra de 8 bits. Circuitos de memoria de 8Kx8. Solución: Se necesitan 8/8 = 1 circuito por fila para formar el ancho de palabra deseado. Se necesitan 32/8=4 filas de circuitos.

    edu.red

    Similitud con la asociación de baterías (I) Se desea obtener una batería de 12V y 1A a partir de baterías de 6V y 0,5A Solución: Se colocan en serie dos baterías de 6 V, obteniéndose una de 12 V y 0,5 A Se colocan en paralelo dos conjuntos idénticos a los citados en el punto anterior, obteniéndose el resultado deseado

    edu.red

    Si todas las baterías son de 4V y 8A, el conjunto resultante será de 8V y 32A

    La tensión equivale a la longitud de palabra y la intensidad de corriente a la capacidad de memoria Si 1V=1 bit y 1A=1 K palabra, el circuito anterior se podría ver como una memoria de 32 Kpalabras de 8 bits Similitud con la asociación de baterías (II)

    edu.red

    Conexionado (I) Bus de datos, bus de dirección, CS, OE y W/R. Triestado, se puede conectar sin problema entre sí distintas salidas a un mismo punto eléctrico siempre que no se activen dos o más a la vez. Los pines del bus de datos de los circuitos se conectan directamente al bus de datos. De esta manera, pueden compartir el bus de datos varios dispositivos simultáneamente

    edu.red

    Conexionado (II) Para aumentar la longitud de palabra, se usan tantos circuitos como sean necesarios y la asociación de todas las líneas supone una palabra de tamaño mayor. Para direccionar en el conjunto, se selecciona la fila de circuitos que contiene la palabra de interés. Si los buses no son bidireccionales, se separa la parte de entrada de la parte de salida, pero se siguen aplicando las ideas anteriores.

    edu.red

    Memoria de 32Mx32 a partir de módulos de 4Mx8 Para pasar de palabras de 8 a 32 bits se necesitan 4 módulos, con lo que se tendrán 4Mx32. Dicha fila de 4 módulos deberá repetirse otras 7 veces más para completar los 32M. Para direccionar cada una de las 8 filas de 4 módulos se utiliza un DEC 3×8, cuyas salidas se conectan con las entradas CS de los módulos de cada fila y en cuya entrada (la del decodificador) se introducen los 3 bits más significativos de los 25 necesarios. Los restantes 22 bits se colocan en paralelo en TODOS los módulos de 4Mx8.

    edu.red

    Fuente: Fundamentos de Computadores 9ª Edición. Pedro de Miguel Anasagasti.

    edu.red

    Conclusiones Es posible implementar una función lógica con cualquiera de estos conjuntos de puertas AND / OR / NOT NAND NOR Analizar un circuito combinacional consiste en obtener la función de salida a partir de las entradas y las puertas a las que se encuentran conectadas Implementar un circuito combinacional especificación en forma de enunciado síntesis del enunciado en una tabla de verdad simplificación e implementación con un tipo de puertas (p.e. NAND)