IEE 2712 Sistemas Digitales Clase 7 Objetivos educacionales: 1. Entregar algunas técnicas básicas para analizar circuitos combinacionales. 2. Entender y realizar diseños basados en compuertas lógicas. 3. Entender y usar Decodificadores y Codificadores 3.3 Análisis de circuitos combinacionales Dado un circuito combinacional, encontrar la función booleana o la tabla de verdad ? ? NOTA: verificar que no sea secuencial, comprobando que no haya realimentación (loops) o elementos que almacenen información. 1 3.3 Análisis de circuitos combinacionales Derivación de la función booleana 1. Nombrar todas las salidas que sólo dependan de las entradas. Encontrar esas funciones booleanas. 2. Nombrar todas las salidas que sólo dependan de las entradas y de las salidas previamente nombradas. Encontrar esas funciones booleanas. 3. Repetir 2 hasta que se obtenga las salidas. 3.3 Análisis de circuitos combinacionales Derivación de la función booleana 2 3.3 Análisis de circuitos combinacionales Derivación de la tabla de verdad 1. Listar los números binarios de 0 a 2n-1, donde n es el número de entradas. 2. Nombrar las salidas de circuitos que sólo dependan de las entradas y encontrar las tablas de verdad para ellos. 3. Nombrar las salidas de circuitos que sólo dependan de las entradas y de las salidas ya nombradas y encontrar las tablas de verdad para ellos. 4. Repetir 3 hasta completar el análisis. 3.3 Análisis de circuitos combinacionales Derivación de la tabla de verdad Comprobar que es un sumador binario: 3 3.3 Análisis de circuitos combinacionales Usando simuladores lógicos Xilinx Student Edition Foundation Series Software (Waveform Viewer) 3.4 Diseño de circuitos combinacionales Dada una especificación (típicamente verbal) encontrar un circuito combinacional que la implemente. Bla-bla bla-bla Karnaugh 4 3.4 Diseño de circuitos combinacionales Ejemplo 1 Diseñe un circuito de tres entradas y una salida. La salida debe ser 1 cuando el valor binario de las entradas sea menor a 3 y cero en los otros casos. Use compuertas NAND 3.4 Diseño de circuitos combinacionales Ejemplo 1 5 3.4 Diseño de circuitos combinacionales Ejemplo 1 3.4 Diseño de circuitos combinacionales Ejemplo 2 (múltiples salidas) Diseñe un circuito que convierta código BCD en código “exceso de 3” (binario más tres). 6 3.4 Diseño de circuitos combinacionales Ejemplo 2 (múltiples salidas) 3.4 Diseño de circuitos combinacionales Ejemplo 2 (múltiples salidas) 7 3.4 Diseño de circuitos combinacionales Ejemplo 2 (múltiples salidas) 3.4 Diseño de circuitos combinacionales Ejemplo 3 Diseñe un circuito que convierta código BCD a “7 segmentos” 8 3.4 Diseño de circuitos combinacionales Ejemplo 3 3.5 Decodificadores Decodificadores n a m Ejemplo decodificador 3 a 8 9 3.5 Decodificadores 3.5 Decodificadores Decodificador con “Enable” (ejemplo de 2 a 4 en complemento) 10 3.5 Decodificadores Expansión de decodificadores (3 a 8, hecho con dos 2 a 4) 3.5 Decodificadores Decodificadores para implementar circuitos combinacionales Cada línea de salida de un decodificador es un mini-término, por lo tanto basta agregar las compuertas OR para implementar cualquier función binaria. 11 3.5 Decodificadores Ejemplo: Implementar un sumador binario 3.6 Codificadores Realiza la operación inversa de los decodificadores NOTA: salidas indefinidas para entradas no válidas 12 3.6 Codificadores Implementación en base a ORs Para evitar ambigüedades se pueden priorizar las entradas 3.6 Codificadores Ejemplo de un codificador con prioridad de cuatro entradas 13 3.6 Codificadores Ejemplo de un codificador con prioridad de cuatro entradas 14