Transcript Document
Módulos combinacionales básicos Tema 7 ¿Qué sabrás al final del capítulo? Funcionamiento de los módulos combinacionales básicos: – – – – Codificadores Decodificadores Multiplexores Demultiplexores Implementación de funciones booleanas mediante módulos combinacionales Redes de módulos combinacionales Módulos combinacionales básicos MSI (Medium Scale of Integration) Módulos combinacionales básicos Bloques funcionales más complejos que las puertas lógicas que realizan una función determinada Podemos obtenerlos a partir de puertas lógicas básicas Se pueden utilizar para la implementación de funciones booleanas MSI, circuitos entre 10 y 100 puertas Pueden disponer de señales de control para controlar su funcionamiento Tipos: – – – – codificador decodificador multiplexor demultiplexor Codificador binario – Dispone de 2n entradas y n salidas: COD 2nxn La salida proporciona el código binario del canal de entrada activado. – • Entrada activa a nivel alto: entra un 1 y el resto son 0’s • Salida activa a nivel alto: proporciona el código binario de la entrada a 1. • Entrada activa a nivel bajo: entra un 0 y el resto son 1’s • Salida activa a nivel bajo: proporciona el código binario invertido de la entrada a 0 ENTRADAS Codificador SALIDAS ENTRADA DE ACTIVACION (ENABLE) Codificador Implementación con puertas lógicas Codificador con entrada y salida activa a nivel alto D0 D1 D2 D3 D4 D5 D6 D7 X Y Z 1 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 1 X = D4 + D5 + D6 + D7 Y = D2 +D3 +D6 +D7 Z = D1 +D3 +D5 +D7 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 Codificador Problemas: – ¿cuál sería la salida del codificador si se activan 2 entradas simultáneamente? p. ej: COD(0,1,0,0,1,0,0,0) según las expresiones de X, Y, Z, sería XYZ=101, pero D5=0 – ¿cuál sería la salida si no se activa ninguna entrada? COD(0,0,0,0,0,0,0,0) daría XYZ=000 , pero D0 = 0 0 0 0 1 0 0 1 0 Codificador Soluciones – Se introduce una señal de activación (enable) que permite activar o desactivar al codificador – Se realiza una priorización de las entradas. En caso de activación simultánea por dos o más canales de entrada se toma la más prioritaria (normalmente la de mayor peso) D0 D1 D2 D3 D4 D5 D6 D7 8 8 Circuito de Prioridad Codificador Codificador BCD – – Ejemplo: TTL 74147 . Conversor 9 entradas a código BCD (binary coded decimal) ¡¡OJO!! entradas y salidas activas a nivel bajo Codificadores Aplicación: – Teclado simple Decodificador Decodificador binario: DEC n x 2n – – Función inversa al codificador n entradas y 2n salidas Transforma el código binario de entrada en la activación de la salida cuyo número de orden coincide con el código ENTRADA DE ACTIVACION SALIDAS – ENTRADAS Decodificador Implementación con puertas lógicas DEC 2 x 4. Entradas activas a nivel alto y salidas activas a nivel alto A0 A1 D0 D1 D2 E D3 E A1 A0 D0 D1 D2 D3 1 1 1 1 0 1 0 0 0 0 0 0 1 1 X 0 1 0 1 X 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 Decodificador E Implementación con puertas lógicas DEC 2 x 4. Entradas activas a nivel alto y salidas activas a nivel bajo con Enable invertido E A1 A0 D0 D1 D2 D3 0 0 0 0 1 0 1 1 1 1 0 0 1 1 X 0 1 0 1 X 1 0 1 1 1 1 1 0 1 1 1 1 1 0 1 Decodificador Ejemplo: TTL 74139 – – – 2 decodificadores en un integrado Entradas activas a nivel alto y salidas activas a nivel bajo Señal de activación “Enable”, activa a nivel bajo 1er. codificador Enable 2do. codificador Decodificador BCD a 7 segmentos: Multiplexor ENTRADA DE ACTIVACION CONTROL SALIDA ENTRADAS ENTRADA DE ACTIVACION SALIDA Dispone de 2n entradas, n señales de control y una salida: MUX 2n x 1 Su función es seleccionar la entrada indicada por las señales de control ENTRADAS CONTROL Multiplexor Implementación con puertas lógicas C1 C0 E3 E2 E1 E0 S 0 0 1 1 X X X F F F F F 0 1 0 1 X X F X X F X X F X X X Multiplexor Ejemplo: TTL 74151 Demultiplexor Dispone de 1 una entrada, 2n salidas y n líneas de selección Su función es enviar el valor presente a la entrada a uno de los canales de salida utilizando las líneas de selección. Por lo tanto realiza la función inversa del multiplexor. En su implementación es muy parecido a un DEC nx2n CONTROL SALIDAS ENTRADAS SALIDAS ENTRADA ENTRADA DE ACTIVACION Demultiplexor Implementación con puertas lógicas Demultiplexor con salida activa a nivel alto S1 S0 E D0 D1 D2 D3 0 0 K K 0 0 0 0 1 K 0 K 0 0 1 0 K 0 0 K 0 1 1 K 0 0 0 K S1 S0 E D0 D1 D2 D3 Demultiplexor Implementación con puertas lógicas Demultiplexor con salida activa a nivel bajo y entrada activa a nivel bajo S1 S1 S0 E D0 D1 D2 D3 0 0 K K 1 1 1 0 1 K 1 K 1 1 1 0 K 1 1 K 1 1 1 K 1 1 1 K S0 E D0 D1 D2 D3 Implementación de funciones con módulos combinacionales Implementación de funciones: con decodificadores (I) Salidas activas a nivel alto => generador de minitérminos Suma de productos = suma de minitérminos A B C F 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 1 0 1 0 0 0 1 1 C B A 0 1 2 DEC 3x8 0 1 2 3 4 5 6 7 Se necesitan puertas de tantas entradas como 1’s hay F Implementación de funciones: con decodificadores (II) • Si una función tiene muchos 1’s, es preferible implementar la función complementaria, que tendrá pocos 1’s, y finalmente complementar la complementaria. • En la práctica esto equivale a coger un puerta NOR (OR seguida de inversor) con los 0’s OR 1’s 0’s f f’ NOR f 0’s f Implementación de funciones: con decodificadores (III) Salidas activas a nivel bajo => generador de maxitérminos Producto de sumas = producto de maxitérminos A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 F 1 0 1 0 0 0 1 1 1 0 1 1 0 1 C B A 0 1 2 DEC 3x8 0 1 2 3 4 5 6 7 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1 1 0 1 F 0 1 Implementación de funciones: con decodificadores (IV) • Si una función tiene muchos 1’s, es preferible implementar la función complementaria, que tendrá pocos 1’s, y finalmente complementar la complementaria. • En la práctica equivale a coger un puerta AND (NAND seguida de inversor) con los 0’s NAND 1’s 0’s f f’ AND f 0’s f Implementación de funciones: con multiplexores Con un único Mux 8x1 Caso 1 F(A,B,C) = m0 + m2 + m6 + m7 nº variables = señales de control A 0 0 0 0 1 1 1 1 B 0 0 1 1 0 0 1 1 C 0 1 0 1 0 1 0 1 F 1 0 1 0 0 0 1 1 C 1 0 1 0 0 0 1 1 0 1 2 3 4 5 6 7 0 1 nº variables > señales de control ¡¡¡ojo con el orden de las variables!!! S2 S1 S0 A C F 8:1 MUX B C Con un único Mux 4x1 C C 0 1 0 1 2 3 F 4:1 MUX S1 A S0 B A B C D F 0 0 0 0 1 0 0 0 1 1 0 0 1 0 0 0 0 1 1 1 0 1 0 0 1 0 1 0 1 1 0 1 1 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0 1 0 1 0 1 0 0 1 0 1 1 1 1 1 0 0 1 1 1 0 1 0 1 1 1 0 1 1 1 1 1 0 Caso 2 Implementar F con un único Mux 4x1 B=0, C=0 B=0, C=1 B=1, C=0 B=1, C=1 A D E0 A D E1 A D E2 A D E3 0 0 1 0 0 0 0 0 1 0 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 0 0 1 0 0 1 0 1 1 0 1 1 1 0 1 1 1 1 1 0 1 1 0 Redes de módulos combinacionales Redes modulares: Codificadores Codificador 8x3 a partir de dos 4x2 – S es una salida de control que se activa cuando se usa un determinado COD 4x2 más uno 2x1 Redes modulares: Decodificadores Decodificador 3x8 a partir de decodificadores 2x4 A0 A1 0 A2 E 1 0 1 E DEC 2x4 DEC 2x4 0 1 2 3 D0 D1 D2 D3 0 1 2 D4 D5 D6 D7 3 Decodificador 4x16 a partir de decodificadores 2x4 Redes Modulares: Multiplexores Multiplexor 8x1 a partir de multiplexores 4x1 y 2x1 – v1: 2 MUX 4x1 / 1 MUX 2x1 – v2:1 MUX 4x1 / 2 MUX 2x1 I0 0 I1 1 S MUX 4x1 MUX 2x1 C I2 0 I3 1 S MUX 2x1 MUX 2x1 1 C I MUX 4x1 4 I5 0 MUX 2x1 C A Z(A,B,C) 2 MUX 4x1 3 S1 S0 1 S C B 0 I6 0 I7 1 S MUX 2x1 C A B Z Multiplexor 16x1 a partir de multiplexores 4x1 Z(A3,A2,A1,A0) Redes modulares: DEC y MUX Z(A3,A2,A1,A0) Final del Tema 7