Circuitos combinacionales Tema 6
Qué sabrás al final del tema? Conocer las formas canónicas de una función Implementar funciones con dos niveles de puertas lógicas AND / OR OR / AND Implementación con un único tipo de puertas NAND NOR Sistemas (o circuitos) combinacionales Análisis de sistemas combinacionales Diseño o síntesis de sistemas combinacionales
Formas canónicas 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 2 n minterms y 2 n maxterms Cualquier función booleana pueden expresarse en forma de: Suma de minterms : ª Forma canónica Producto de maxterms: 2ª Forma canónica Numeración: Minterm: variable, variable Ejemplo: a b c d es el minterm 3 (). Se representa como m 3 Maxterm: variable, variable Ejemplo: a+b+c+d es el maxterm 9 (). Se representa como M 9
Implementación de funciones con minterm y maxterm ª Forma canónica: suma de minterms F= m i ({i / F(i)=}) 2ª Forma canónica: producto de maxterms F= M i ({i / F(i)=}) Notar que m i = M i y que M i = m i Ejemplo: F(A,B,C) = m(2,3,4,6) toma los s F(A,B,C) = M(,,5,7) toma los s Cálculo de la función negada: F(A,B,C) = M(,,5,7) = M.M.M 5.M 7 = = m +m +m 5 +m 7 = m(,,5,7)
Implementación de funciones booleanas en dos niveles con AND/OR Funciones expresadas como suma de productos (AND/OR) F(a,b,c) = ab'c + a'c' + a'b Nivel Nivel 2
Implementación de funciones booleanas en dos niveles con AND/OR Ejemplo: f(x,y,z) = (,3,6,7) X Y Z F Esta notación significa la suma de los minitérminos, 3 6 y 7 x yz Agrupar los s de F f(x,y,z) = x'z + xy
Implementación de funciones booleanas en dos niveles con OR/AND Funciones expresadas como producto de sumas (OR/AND) g(a,b,c) = (a'+b+c) (a'+b') (b'+c) Nivel Nivel 2
Implementación de funciones booleanas en dos niveles con OR/AND Ejemplo f(x,y,z) = (,3,6,7) x y z F F F F yz x x yz F=x z +x y Agrupar los s en F y
realizar la negación de la función negada F=x z +x y x yz F= F=x z +x y F= x z x y F=( x+z) ( x +y )
Forma directa: También se habría llegado a esa expresión agrupando directamente los 's de F pero: o o o o Cada agrupación de ceros es una suma de variables donde las variables que siempre valen aparecen NEGADAS las variables que siempre valen aparecen AFIRMADAS F es el el producto de todas las sumas x yz F ( x y )( x z )
Implementación con sólo puertas NAND Las puertas NAND son universales NOT con NANDs AND con NANDs OR con NANDs
Implementación con sólo puertas NAND en dos niveles Expresar la función como Suma de Productos, aplicar doble negación y De Morgan
Implementación con sólo puertas NOR Las puertas NOR son universales NOT con NORs AND con NORs OR con NORs
Implementación con sólo puertas NOR en dos niveles Expresar la función como Producto de Sumas, aplicar doble negación y De Morgan
Sistemas combinacionales
Qué es un sistema 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)
Qué es un sistema 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
Análisis de sistemas 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
Síntesis o diseño de sistemas combinacionales Especificación Síntesis A B C F F(A, B, C ) =... Simplificación e implementación
Síntesis o diseño de sistemas combinacionales Ejemplo Una máquina expendedora automática proporciona productos con diversos precios: botella de agua,5, lata de refresco,, paquete de galletas,5 y caja de bombones 2,. Sólo admite una moneda de,5,, ó 2, para adquirir el producto y sólo devuelve cambio de 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 sistemas combinacionales Codificación Entradas Salidas Monedas entradas (me, me 2 ) : moneda de (ninguna moneda) : moneda de,5 : moneda de, : moneda de 2, Codificación del producto (t, t 2 ) : botella de agua : lata de refresco : paquete de galletas : caja de bombones Monedas retornadas (ms, ms 2 ) : moneda de (ninguna moneda) : moneda de,5 : moneda de, : moneda de 2, Suministro (S) : NO proporciona producto : SÍ proporciona producto
Síntesis o diseño de sistemas combinacionales Simplificación e implementación de algunas funciones t t 2 me me 2 S= me me 2 t t 2 +me me 2 t 2 + me me 2 t +me me 2 t me me 2 t t 2 ms =me me 2 t +me me 2 t
Funciones incompletamente definidas: condiciones de 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
Condiciones no importa Ejemplo: conversor BCD natural a BCD exceso 3
Conclusiones Es posible implementar una función lógica con cualquiera de estos conjuntos de puertas AND / OR / NOT NAND NOR Analizar un sistema 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 sistema combinacional conlleva: la especificación en forma de enunciado la síntesis del enunciado en una tabla de verdad la simplificación e implementación con un tipo de puertas (p.e. NAND)