TEMA 8. CIRCUITOS COMBINACIONALES http://www.tech-faq.com/wp-content/uploads/images/integrated-circuit-layout.jpg IEEE 125 Aniversary: http://www.flickr.com/photos/ieee125/with/2809342254/ María Jesús Martín Martínez : mjmm@usal.es 1 TEMA 8 – CIRCUITOS COMBINACIONALES 8.1. Introducción 8.2. Definición de circuito combinacional 8.3. Análisis de circuitos combinacionales 8.4. Síntesis y diseño de circuitos combinacionales 8.5. BLOQUES FUNCIONALES COMBINACIONALES Codificadores Decodificadores Multiplexores y Demultiplexores María Jesús Martín Martínez : mjmm@usal.es 2 TEMA 8. CIRCUITOS COMBINACIONALES 8.1. INTRODUCCIÓN Un circuito o un sistema lógico combinacional es aquel que: Está formado por funciones lógicas elementales ( AND, OR, NAND, NOR, etc. ) Tiene un determinado número de entradas y salidas IMPORTANTE: En cada instante, el valor de la salida (o salidas) depende únicamente de los valores de las entradas Por lo tanto, en ellos no es necesario tener en cuenta el tiempo. Ejemplos de sistemas lógicos combinacionales: Codificadores, decodificadores Multiplexores, demultiplexores Comparadores, detectores de paridad… En los sistemas secuenciales la salida o salidas en un instante de tiempo no solo dependen de los valores de las entradas en ese instante, sino también de los valores que tuvieron en tiempos anteriores. En cierta forma, estos sistemas poseen memoria Los estudiaremos en el Tema 10. María Jesús Martín Martínez : mjmm@usal.es 3 TEMA 8. CIRCUITOS COMBINACIONALES 8.1. INTRODUCCIÓN Por tanto, un circuito o un sistema lógico combinacional es : La realización ("implementación") de una función lógica tal como se definió en el Tema anterior. Los sistemas o circuitos combinacionales pueden ser representados mediante una tabla de verdad o mediante las expresiones ya vistas anteriormente (formas canónicas, como suma de productos o producto de sumas). Toda función lógica puede implementarse en un circuito o sistema combinacional. Dos son pues los aspectos a tratar de los sistemas combinacionales: Análisis del circuito: dado el esquema circuital obtener sus ecuaciones para simplificarlas y obtener la especificación literal de su funcionamiento. Síntesis o diseño del circuito: Dada una especificación literal, obtener un circuito que la satisfaga (generalmente bajo unos criterios de optimización). Debe conducir a una solución única. Varios circuitos pueden satisfacer la misma tabla de verdad SOLUCION no UNICA. En ambos casos aplicaremos las técnicas de obtención de funciones booleanas y su simplificación, que ya hemos estudiado. También explicaremos nuevas normas concretas dependiendo de los tipos de sistemas para simplificar los problemas de análisis y síntesis. María Jesús Martín Martínez : mjmm@usal.es 4 TEMA 8. CIRCUITOS COMBINACIONALES 8.2. ANALISIS ANALISIS DE CIRCUITOS combinacionales: Dado el esquema circuital del sistema (nivel de puertas lógicas), el análisis del sistema consiste en: Obtener sus ecuaciones Proceder a su simplificación Transcripción (si es posible) de su funcionamiento en forma literal. Importante: el análisis debe conducir a una solución única (por ejemplo, en una tabla de verdad). La estructura del circuito viene dada por su diagrama lógico formado por puertas lógicas cuyo comportamiento lo determina el símbolo que lo representa Un circuito combinacional se analiza determinando la salida de los elementos lógicos que lo constituyen ( normalmente puertas lógicas), partiendo de las variables de entrada y avanzando en el sentido de la señal hacia la salida. http://www.profesormolina.com.ar/electronica/componentes/int/sist_comb.htm María Jesús Martín Martínez : mjmm@usal.es 5 TEMA 8. CIRCUITOS COMBINACIONALES 8.2. ANALISIS ANALISIS DE CIRCUITOS combinacionales: Circuito o sistema está construido con puertas AND, OR y NOT, su salida o salidas (la expresión de la función que realiza) puede obtenerse de una forma sencilla: Partiendo de las puertas de entrada y progresando hacia las salidas a través de los diferentes "niveles" del circuito lógico. Un nivel representa cada paso por una puerta y la de salida es el primer nivel. Las puertas cuya salida alimentan al primer nivel, constituyen el segundo nivel, y así sucesivamente. Un sencillo ejemplo Nº 1 se da en la Figura x y xy xz x y + x z + zt x z z t ( y + t )( x y + x z + zt ) zt ( y + t )( xy + xz + zt ) + yz y t y+t y yz z 4º nivel 3er nivel 2º nivel 1er nivel D. Pardo, et al. 1999 María Jesús Martín Martínez : mjmm@usal.es 6 TEMA 8. CIRCUITOS COMBINACIONALES 8.2. ANALISIS ANALISIS DE CIRCUITOS combinacionales: Circuito o sistema está construido con puertas AND, OR y NOT Una vez realizado este primer paso, la función puede aparecer como suma de productos o como producto de sumas, pero ninguna de las dos formas tiene porqué ser canónica. En general, la función puede aparecer de otra forma, dependiendo del número de niveles, pero todas deben de conducirnos al mismo mapa de Karnaugh. Con el mapa de Karnaugh, la función puede ser simplificada y obtenida su tabla de verdad. A partir de esta tabla de verdad será ya inmediato dar la función de forma literal (proposición). ejemplo Nº 1 D. Pardo, et al. 1999 María Jesús Martín Martínez : mjmm@usal.es 7 TEMA 8. CIRCUITOS COMBINACIONALES 8.2. ANALISIS ANALISIS DE CIRCUITOS combinacionales: Si el circuito está construido con puertas NAND, NOR su análisis se hace de forma análoga. Podemos considerar las equivalencias entre puertas (tema anterior). REGLAS cuando el circuito está realizado con puertas NAND y queremos transformarlo en combinación de puertas AND y OR: Considérense como puertas OR todas las puertas NAND en nivel impar. Considérense como puertas AND todas las puertas NAND en nivel par. Compleméntense todas las variables que entren en el circuito en un nivel impar. Cuando una variable entre a un nivel par y a uno impar sólo será complementada en el nivel impar. D. Pardo, et al. 1999 María Jesús Martín Martínez : mjmm@usal.es 8 TEMA 8. CIRCUITOS COMBINACIONALES 8.2. ANALISIS ANALISIS DE CIRCUITOS combinacionales: REGLAS cuando el circuito está realizado con puertas NOR y queremos transformarlo en combinación de puertas AND y OR: Considérense como puertas AND todas las puertas NOR en nivel impar. Considérense como puertas OR todas las puertas NOR en nivel par. Compleméntense todas las variables que entren en el circuito en un nivel impar. Cuando una variable entre a un nivel par y a uno impar sólo será complementada en el nivel impar. María Jesús Martín Martínez : mjmm@usal.es 9 TEMA 8. CIRCUITOS COMBINACIONALES 8.3. SINTESIS SINTESIS DE CIRCUITOS combinacionales: La síntesis del sistema consiste en que: Dada una especificación literal, obtener un circuito que la satisfaga, generalmente bajo unos criterios de optimización. Importante: la síntesis de un sistema carece de solución única, al menos en lo que atañe al problema circuital ya que varios circuitos pueden satisfacer la misma tabla de verdad. Las especificaciones literales pueden considerarse de varios tipos, y deben considerarse a la hora del análisis: Unos relacionados directamente con la función lógica a generar Otros relacionados con especificaciones de realización: El tipo de lógica o circuito a emplear La minimización de algún parámetro de coste (como pueden ser el número de puertas, el número de entradas por puerta, el tiempo de demora, ...). pero pueden existir varias soluciones de "compromiso", al no existir técnicas o reglas precisas de optimización ni factores "absolutos" de coste. María Jesús Martín Martínez : mjmm@usal.es 10 TEMA 8. CIRCUITOS COMBINACIONALES 8.3. SINTESIS SINTESIS DE CIRCUITOS combinacionales: Vamos a exponer las fases del proceso de síntesis (diseño) de circuitos combinacionales: Definición de la función a realizar y especificación de las entradas y salidas. Obtención de la tabla de la verdad de la función (o funciones) a generar: En ella intervienen solamente las especificaciones que podríamos llamar "lógicas". A partir de dicha tabla, y con ayuda de los mapas de Karnaugh ha de procederse a la simplificación de la función lógica. Obtendremos la función como una suma de productos (minterms) o bien como un producto de sumas (con los maxterms). NOTA: la forma canónica conduce a una realización o implementación en dos niveles. La técnica de simplificación puede modificarse para obtener, por ejemplo, una economía de puertas. En particular esto puede ocurrir en dos situaciones frecuentes: Cuando se desea generar simultáneamente varias salidas (varias funciones) Cuando se desea obtener el circuito en tres niveles que, en algunos casos, resulta ventajoso sobre el de dos niveles. No existen reglas concretas para obtener una expresión óptima. Finalmente se realiza la implementación de la expresión aceptada como óptima mediante puertas lógicas. AND y OR NAND…. Aquí es donde interviene el tipo de lógica a utilizar. María Jesús Martín Martínez : mjmm@usal.es 11 TEMA 8. CIRCUITOS COMBINACIONALES 8.3. SINTESIS SINTESIS DE CIRCUITOS combinacionales: Implementación con puertas AND, OR, NOT: es la más directa Se realiza en el último paso del apartado anterior, sustituyendo las operaciones básicas (suma lógica, producto lógico y complementación) por su representación simbólica obteniendo la realización del circuito mediante puertas lógicas. Ejemplo: Una vez realizado mi diseño he obtenido la función: siendo A,B,C las entradas. La Implementación parcial con puertas AND, OR Y NOT sería: http://www.profesormolina.com.ar/electronica/componentes/int/sist_comb.htm María Jesús Martín Martínez : mjmm@usal.es 12 TEMA 8. CIRCUITOS COMBINACIONALES 8.3. SINTESIS SINTESIS DE CIRCUITOS combinacionales: Implementación con puertas AND, OR, NOT: es la más directa Se realiza en el último paso del apartado anterior, sustituyendo las operaciones básicas (suma lógica, producto lógico y complementación) por su representación simbólica obteniendo la realización del circuito mediante puertas lógicas. Ejemplo: Una vez realizado mi diseño he obtenido la función: siendo A,B,C las entradas. Finalmente resta la suma del nivel 1.Luego el circuito completo queda : Implementación total del circuito con puertas AND, OR Y NOT http://www.profesormolina.com.ar/electronica/componentes/int/sist_comb.htm María Jesús Martín Martínez : mjmm@usal.es 13 TEMA 8. CIRCUITOS COMBINACIONALES 8.3. SINTESIS SINTESIS DE CIRCUITOS combinacionales: Conociendo las reglas de análisis combinacional, es muy sencillo el paso de puertas AND y OR a NAND o NOR: Implementación con puertas NAND Obtener la función como suma de productos (minterms). Realizar el circuito con puertas AND y OR. Cambiar todas las puertas a NAND. Complementar las variables que entran en un nivel impar. Implementación con puertas NOR Obtener la función como producto de sumas (Maxterms). Realizar el circuito con puertas AND y OR. Cambiar todas las puertas a NOR. Complementar todas las variables que entran en el circuito en un nivel impar. María Jesús Martín Martínez : mjmm@usal.es 14 TEMA 8. CIRCUITOS COMBINACIONALES 8.3. SINTESIS SINTESIS DE CIRCUITOS combinacionales: Implementación en tres niveles Para obtener una red o circuito con tres niveles puede seguirse el principio siguiente: En el proceso de simplificación se permite que cuando cogemos los minterms (o maxterms) tomemos alguna casilla que pueda: De modo que si algunos "0" se toman como “1" (y lo propio para los maxterm) puede obtenerse una expresión más simple de la función mediante los mapas de Karnaugh. tener algún valor “0" si se busca una suma de productos O algún “1" en caso de ser un producto de sumas. Si con tales agrupaciones construyéramos la función, estaría mal y lo podríamos hacer en dos niveles. El tercer nivel se utiliza para generar una señal de inhibición sobre el segundo nivel, justo cuando ocurren en las entradas las combinaciones mal consideradas. Las ventajas de esta síntesis suelen ser, reducir el número de entradas por puerta y en algunos casos no necesitar complementación de las entradas. María Jesús Martín Martínez : mjmm@usal.es 15 TEMA 8. CIRCUITOS COMBINACIONALES 8.3. SINTESIS SINTESIS DE CIRCUITOS combinacionales: Implementación multifunción Cuando se requieren varias salidas en la síntesis de un circuito combinacional (generación de multifunciones): una solución al problema puede obtenerse tratando cada salida (o función) independientemente de las otras. Sin embargo, puede minimizarse la solución: considerando que pueden existir términos comunes a todas las funciones y que pueden por tanto generarse una sola vez. Estos términos comunes podrán ser obtenidos considerando la función producto de las funciones (caso de pretender obtenerlas como suma de productos) o mediante la función suma (en caso de pretender obtenerlas como producto de sumas). María Jesús Martín Martínez : mjmm@usal.es 16 TEMA 8. CIRCUITOS COMBINACIONALES 8.3. BLOQUES FUNCIONALES BLOQUES FUNCIONALES combinacionales: El progreso de la tecnología electrónica permitió en los 70´s la realización de muchas funciones y multifunciones en un solo circuito integrado. Estos son los que se denominaron circuitos de escala de integración media (MSI). La combinación de estos circuitos con otros, incluso de carácter secuencial, generaron bloques funcionales complejos que al ser integrados en un chip han dado lugar a los que se conocen como circuitos de gran escala de integración (LSI) y de muy gran escala de integración (VLSI). Vamos a estudiar algunos bloques funcionales combinacionales que se encuentran como circuitos integrados y cuyo conocimiento resulta imprescindible para diseñar circuitos digitales y comprender el funcionamiento de los más complejos. Codificadores Decodificadores Demultiplexores Multiplexores Detectores-generadores de paridad Sistemas combinacionales programables. María Jesús Martín Martínez : mjmm@usal.es 17 TEMA 8. CIRCUITOS COMBINACIONALES 8.3. BLOQUES FUNCIONALES CODIFICADORES Son sistemas digitales combinacionales con: 2n entradas y n salidas Funcionamiento: Permite que Se le introduzca en una de sus entradas un nivel activo que representa un dígito (decimal u octal) Lo convierte en una salida codificada (como BCD o binario) Estos circuitos pueden ser diseñados con prioridad o sin ella. http://www.profesormolina.com.ar/electronica/componentes/int/sist_comb.htm 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 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 Tabla de verdad de codificador de octal a binario Codificador de octal a binario María Jesús Martín Martínez : mjmm@usal.es 18 TEMA 8. CIRCUITOS COMBINACIONALES 8.3. BLOQUES FUNCIONALES CODIFICADORES Codificadores de octal a binario (8:3) sin prioridad Su cometido es la generación de un número binario sobre sus n salidas que identifique cuál de las entradas está activada. En la figura observamos un codificador de octal a binario sin prioridad, cuya tabla de verdad es: De la tabla de verdad, podemos extraer las expresiones lógicas para las tres salidas. 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 0 0 0 0 0 0 0 0 1 0 0 0 0 1 1 1 1 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 Tabla de verdad de codificador de octal a binario A2 = ( 4 +5 + 6 + 7 ) A1 = ( 2 +3 + 6 + 7 ) A0 = ( 1 +3 + 5 + 7 ) El circuito se puede construir simplemente con puertas OR de la siguiente forma : NOTA: No se necesita una entrada para B0 (las salidas están todas a nivel bajo cuando no hay entradas a nivel alto). http://www.virtual.unal.edu.co/cursos/ingenieria/2000477/lecciones/030801.htm María Jesús Martín Martínez : mjmm@usal.es 19 TEMA 8. CIRCUITOS COMBINACIONALES 8.3. BLOQUES FUNCIONALES CODIFICADORES http://www.virtual.unal.edu.co/cursos/ingenieria/2000477/lecciones/030801.htm Codificador decimal-BCD (sin prioridad) Para realizar esta codificación (de 0 a 9 en decimal) necesitamos 4 dígitos binarios. BCD: decimal codificado binario. Tiene 9 entradas y 4 salidas. Su tabla de verdad es: No se necesita una entrada para el dígito 0, ya que las salidas BCD están todas a nivel bajo cuando no hay entradas a nivel alto. A= ( 8 + 9 ) B = ( 4 +5 + 6 + 7 ) C = ( 2 +3 + 6 + 7 ) D = ( 1 +3 + 5 + 7 + 9 ) Su diagrama lógico necesita de 4 puertas OR: http://www.virtual.unal.edu.co/cursos/ingenieria/2000477/lecciones/030801.htm María Jesús Martín Martínez : mjmm@usal.es 20 TEMA 8. CIRCUITOS COMBINACIONALES 8.3. BLOQUES FUNCIONALES CODIFICADORES Codificadores con prioridad En los codificadores sin prioridad si se activan simultáneamente varias líneas de entrada se genera un código erróneo en la salida, de acuerdo al número de entradas excitadas con el respectivo valor. La solución de este conveniente se logra empleando codificadores de prioridad de modo que respondan respondan a una sola señal de entrada activa. Funcionan codificando la entrada activa de mayor valor decimal sin tener en cuenta las demás). Ejemplo: Codificador 74148 (de octal a binario) activo por bajos. http://www.profesormolina.com.ar/electronica/componentes/int/sist_comb.htm Símbolo de un codificador 74148 con prioridad de 8 líneas a 3 líneas María Jesús Martín Martínez : mjmm@usal.es 21 TEMA 8. CIRCUITOS COMBINACIONALES 8.3. BLOQUES FUNCIONALES CODIFICADORES Diagrama lógico de un codificador 74148 http://www.profesormolina.com.ar/electronica/componentes/int/sist_comb.htm María Jesús Martín Martínez : mjmm@usal.es 22 TEMA 8. CIRCUITOS COMBINACIONALES 8.3. BLOQUES FUNCIONALES DECODIFICADORES Un decodificador es un circuito combinacional: n entradas y 2n salidas Funcionamiento: Si la configuración binaria presente en las entradas forma el número binario i entonces se activa la salida i-ésima. Según esto el funcionamiento de un decodificador es el opuesto al de un codificador. http://www.virtual.unal.edu.co/cursos/ingenieria/2000477/lecciones/030801.htm María Jesús Martín Martínez : mjmm@usal.es 23 TEMA 8. CIRCUITOS COMBINACIONALES 8.3. BLOQUES FUNCIONALES DECODIFICADORES Decodificador 2:4 (2 líneas de entrada y 4 líneas de salida). Las entradas del decodificador son A0 y A1 y representan un entero de 0 a 3 en código decimal. Según el valor binario presente en las 2 entradas se activa una de las 4 salidas al valor lógico 1. Por ejemplo, con el valor A1 A0 =10 se activará la salida D2. La tabla de verdad es la que se muestra Puede comprobarse como este circuito genera los productos canónicos (minterms) de un conjunto de variables binarias aplicadas a sus entradas. Implementando cada una de las 4 salidas, obtenemos el circuito: http://upload.wikimedia.org/wikipedia/commons/thumb/f/fc/ Decoder_Example.svg/500px-Decoder_Example.svg.png María Jesús Martín Martínez : mjmm@usal.es 24 TEMA 8. CIRCUITOS COMBINACIONALES 8.3. BLOQUES FUNCIONALES Entradas DECODIFICADORES Decodificador 3:8 (3 líneas de entrada y 8 líneas de salida). La tabla de verdad es la que se muestra Las salidas son mutuamente exclusivas ya que solamente una de las salidas es igual a 1 en cualquier momento dependiendo del dígito decimal. Salidas X Y Z Y0 Y1 Y2 Y3 Y4 Y5 Y6 Y7 0 0 0 1 0 0 0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 1 0 0 0 1 0 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 0 0 0 1 0 1 1 1 0 0 0 0 0 0 0 1 Debemos dibujar ocho mapas de karnaugh para simplificar cada una de las funciones de salida. El resultado es la equivalencia entre cada minterm de entrada y la salida correspondiente. Por ejemplo, la entrada 110 activará la salida Y6. En el circuito el minterm corresponderá a una puerta AND de tres entradas con las variables X Y Z’ como entradas. De manera similar se construye el circuito para el resto de entradas. http://www.virtual.unal.edu.co/cursos/ingenieria/2000477/lecciones/030801.htm Circuito lógico del decodificador 3:8 María Jesús Martín Martínez : mjmm@usal.es 25 TEMA 8. CIRCUITOS COMBINACIONALES 8.3. BLOQUES FUNCIONALES DECODIFICADORES Decodificador 4:16 (4 líneas de entrada y 16 líneas de salida). Símbolo del decodificador 4:16 http://www.virtual.unal.edu.co/cursos/ingenieria/2000477/lecciones/030801.htm María Jesús Martín Martínez : mjmm@usal.es 26 TEMA 8. CIRCUITOS COMBINACIONALES 8.3. BLOQUES FUNCIONALES DECODIFICADORES Decodificador BCD:decimal (4 líneas de entrada y 10 líneas de salida). La tabla de verdad es la que se muestra Obteniendo las expresiones lógicas de la tabla de verdad anterior, podremos realizar la síntesis del circuito combinacional mediante puertas lógicas. http://www.profesormolina.com.ar/electronica/componentes/int/sist_comb.htm Este decodificador permite visualizar números en BCD mediante visualizadores de 7 segmentos. http://azul2.bnct.ipn.mx/clogicos/codificadores_decodificadores/graficos(.gif)/UNID2_45.gif Circuito lógico del decodificador BCD:decimal María Jesús Martín Martínez : mjmm@usal.es 27 TEMA 8. CIRCUITOS COMBINACIONALES 8.3. BLOQUES FUNCIONALES DECODIFICADORES Implementación de funciones lógicas mediante decodificadores. Dado que el decodificador genera los productos canónicos (minterms) de un conjunto de variables binarias aplicadas a sus entradas. Podemos usarlo para generar funciones lógicas. Ejemplo: http://www.profesormolina.com.ar/electronica/componentes/int/sist_comb.htm María Jesús Martín Martínez : mjmm@usal.es 28 TEMA 8. CIRCUITOS COMBINACIONALES 8.3. BLOQUES FUNCIONALES MULTIPLEXORES Un multiplexor es un sistema digital que consta de varias entradas y una salida, y mediante un mecanismo de selección, una determinada entrada se transfiere a la salida. Una definición más formal de multiplexor sería la de un circuito combinacional con: 2n entradas de datos (k0, k1, k2, ... ) n entradas de selección o control (a, b,.. ) Funcionamiento: permite elegir cuál es el canal de entrada cuya información aparece en el de salida. La selección del canal de entrada se realiza con el número binario puesto en la entrada de selección. http://www.profesormolina.com.ar/electronica/componentes/int/sist_comb.htm La síntesis con puertas lógicas se realiza obteniendo la expresión lógica de la salida Z, obteniendo : Circuito lógico del multiplexor 4:1 María Jesús Martín Martínez : mjmm@usal.es 29 TEMA 8. CIRCUITOS COMBINACIONALES 8.3. BLOQUES FUNCIONALES MULTIPLEXORES Implementación de funciones lógicas mediante Multiplexores: pueden ser utilizados, para la síntesis de funciones combinacionales en la forma siguiente Las entradas de selección se toman como entradas de las variables. Para una combinación dada de las variables de entrada se establece una "conexión" entre la entrada correspondiente y la salida. De modo que basta con poner el terminal correspondiente a “0" o a “1" según el valor que ha de tomar la función para la combinación seleccionada de las entradas (según la tabla de verdad). De modo que para generar una función de tres variables necesitamos un multiplexor de 8 a 1. Ejemplo: queremos generar la función 1 1 0 1 1 0 0 0 C B A http://www.profesormolina.com.ar/electronica/componentes/int/sist_comb.htm María Jesús Martín Martínez : mjmm@usal.es 30 TEMA 8. CIRCUITOS COMBINACIONALES 8.3. BLOQUES FUNCIONALES MULTIPLEXORES Implementación de funciones lógicas mediante Multiplexores. Y aún más: basta utilizar un multiplexor de 4 a 1, procediendo de la siguiente manera: Seleccionadas n-1 de las n variables, para cada conjunto de ellas, la salida puede tomar uno de los cuatro valores siguientes: “0", cualquiera que sea el valor de la n-sima variable “1", cualquiera que sea el valor de la n-sima variable C, es decir el valor que toma la n-sima variable C’, el complementario. Ejemplo, de la misma función lógica de 3 variables http://www.profesormolina.com.ar/electronica/componentes/int/sist_comb.htm María Jesús Martín Martínez : mjmm@usal.es 31 TEMA 8. CIRCUITOS COMBINACIONALES 8.3. BLOQUES FUNCIONALES MULTIPLEXORES Implementación de funciones lógicas mediante Multiplexores. Ejemplo nº 2: f =Σ m(3,4,5,6,7,12,13,14) D. Pardo, et al. 1999 Entradas x y z t f 0 0 0 0 0 0 0 0 1 0 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 1 1 1 0 1 a0 1 0 t 1 1 0 0 1 1 1 t a7 0 0 0 0 0 1 0 1 0 1 0 0 1 0 1 1 0 1 1 0 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 0 Multiplexor 8→1 f x y z Variables de selección María Jesús Martín Martínez : mjmm@usal.es 32 TEMA 8. CIRCUITOS COMBINACIONALES 8.3. BLOQUES FUNCIONALES DEMULTIPLEXORES El funcionamiento es el contrario al del multiplexor, encauzando los datos desde una fuente común de entrada hacia uno de 2n destinos de salida. Por tanto, un demultiplexor es un circuito combinacional con: http://www.profesormolina.com.ar/electronica/componentes/int/sist_comb.htm una entrada J n entradas de selección 2n salidas. La información J se puede hacer aparecer en cualquiera de las salidas aplicando a las entradas de selección la combinación binaria adecuada. Es importante comentar que los demultiplexores pueden trabajar como decodificadores. Supongamos que tenemos un DEMUX 1:4 ( una J entrada a cuatro salidas) Si hago la entrada J=1 siempre activa, transformo el funcionamiento a un DECODIFICADOR 2:4 La síntesis del demultiplexor Actuando ahora las señales de selección (a, b,... ) como entrada de código a decodificar las salidas como salidas del código decodificado. María Jesús Martín Martínez : mjmm@usal.es 33 TEMA 8. CIRCUITOS COMBINACIONALES 8.3. BLOQUES FUNCIONALES GENERADOR/DETECTOR DE PARIDAD La función generadora de paridad impar/par para un mensaje de n bits más el bit de paridad P corresponde a la función : Siendo : Si estudiamos el caso de 2 bits tenemos que : la salida toma valor 1 si el número de unos es impar y cero si es par. Tabla de verdad del generador/detector de paridad (detecta el número par de unos) PO : El bit de paridad impar que es la función XOR= OR-EXCLUSIVO de los bits que componen la palabra de código. El circuito detecta la paridad de una combinación binaria, y añade el bit obtenido a la combinación de n bits para lograr una combinación de n+1 bit cuya paridad es constante. Se utiliza para detectar errores en la transmisión de datos http://3.bp.blogspot.com/_js6wgtUcfdQ/R6vn4TT0kPI/AAAAAAAACP4/xDh cOd7SI3o/s400/arbol_de_paridad_4_bits.png María Jesús Martín Martínez : mjmm@usal.es 34 TEMA 8. CIRCUITOS COMBINACIONALES 8.3. BLOQUES FUNCIONALES COMPARADORES BINARIOS Es un circuito combinacional que compara números binarios de una cierta cantidad de bits activando a su salida: G (great) si es mayor L (low) si es menor E (equal) si son iguales. Tabla de verdad y circuito lógico del COMPARADOR BINARIO http://digitale.galeon.com/comparadores.htm Un CI que realiza estas funciones es el LM7485 http://digitale.galeon.com/comparadores.htm http://digitale.galeon.com/comparadores.htm María Jesús Martín Martínez : mjmm@usal.es 35 Agradecimientos Daniel Pardo Collantes, Área de Electrónica, Departamento de Física Aplicada de la Universidad de Salamanca. Referencias Pardo Collantes, Daniel; Bailón Vega, Luís A., “Elementos de Electrónica”.Universidad de Valladolid. Secretariado de Publicaciones e Intercambio Editorial.1999. http://www.virtual.unal.edu.co/cursos/ingenieria/2000477/lecciones/030801.htm http://www.profesormolina.com.ar/electronica/componentes/int/sist_comb.htm http://upload.wikimedia.org/wikipedia/commons/thumb/f/fc/Decoder_Example.svg /500px-Decoder_Example.svg.png http://digitale.galeon.com/comparadores.htm http://3.bp.blogspot.com/_js6wgtUcfdQ/R6vn4TT0kPI/AAAAAAAACP4/xDhcOd7SI3o/s400/a rbol_de_paridad_4_bits.png María Jesús Martín Martínez : mjmm@usal.es 36