Unidad 2. Circuitos digitales DAPA E.T.S.I. Informática Universidad de Sevilla Oct. 25 Jorge Juan <jjchico@dte.us.es> 2-26 Esta obra esta sujeta a la Licencia Reconocimiento-CompartirIgual 4. Internacional de Creative Commons. Para ver una copia de esta licencia, visite http://creativecommons.org/licenses/by-sa/4./ o envíe una carta Creative Commons, PO Bo 866, Mountain View, CA 9442, USA. Departamento de Tecnología Electrónica Universidad de Sevilla Contenido Circuitos digitales Funciones lógicas Álgebra de Boole Diseño combinacional Análisis funcional Análisis temporal Departamento de Tecnología Electrónica Universidad de Sevilla
Discrete devices http://en.wikipedia.org/wiki/file:splatine.jpg Departamento de Tecnología Electrónica Universidad de Sevilla Circuitos integrados http://en.wikipedia.org/wiki/integrated_circuit Departamento de Tecnología Electrónica Universidad de Sevilla
Circuitos integrados. Evolución Ley de Moore (964): La densidad de integración se duplica cada 8 meses. Departamento de Tecnología Electrónica Universidad de Sevilla Evolución Departamento de Tecnología Electrónica Universidad de Sevilla
Circuitos digitales: s y s X Analógico t X 2 - -2 Digital (5 valores) t Sequence:,, -2, -2,, 2, 2, -, X Digital (2 valores) t Sequence:,,,,,,,, Departamento de Tecnología Electrónica Universidad de Sevilla Circuito digital + + Vin Digital electronic circuit Vout - - Valor eléctrico (VX) vs valor lógico (X) VX X V 3,3V Departamento de Tecnología Electrónica Universidad de Sevilla
Puertas lógicas. Inversor CMOS Las puertas lógicas realian operaciones simples sobre señales digitales. La operación digital más simple (salvo la identidad) es la inversión, implementada por el inversor. V CC in Vin = V out in out Vout = VCC VCC VCC Vin Vout Vin = VCC Vout = Departamento de Tecnología Electrónica Universidad de Sevilla Puertas lógicas. NAND CMOS y Las puertas CMOS son naturalmente inversoras (INV, NAND, NOR, ) VCC V Vy V Departamento de Tecnología Electrónica Universidad de Sevilla
Puertas lógicas. NOR CMOS y VCC V Vy V Departamento de Tecnología Electrónica Universidad de Sevilla Operadores lógicos básicos NOT AND OR = y y = y =+y y y Departamento de Tecnología Electrónica Universidad de Sevilla
Otros operadores lógicos NAND NOR XOR OR XNOR y y y y = y =+y = y = y + y = y = y + y y y y y Departamento de Tecnología Electrónica Universidad de Sevilla Contacto con el diseño digital Dieseñar un circuito de alarma con un detector de presencia y un sensor de fuego Entradas: Salida: a: alarma conectada () o alarma desconectada () b: sensor de presencia () o no presencial () c: sensor de fuego () o no fuego () : alarma activada () o no activada () Ejercicio: Diseñar un circuito electrónico digital que genere la salida correcta en función del valor de las entradas mediante la interconeión de puertas lógicas. Departamento de Tecnología Electrónica Universidad de Sevilla
Contenido Circuitos digitales Funciones lógicas Álgebra de Boole Diseño combinacional Análisis funcional Análisis temporal Departamento de Tecnología Electrónica Universidad de Sevilla Funciones lógicas. Ejemplo Descripción verbal Un sistema de alarma digital tiene puede estar activado o desactivado y dispone de un sensor de presencia y otro de apertura de puerta. Cuando el sistema está desactivado, se activará una señal de alarma si se detecta presencia y la puerta está abierta (se ha olvidado cerrar la puerta). Cuando el sistema está activado, se activará la señal de alarma si se detecta presencia o se abre la puerta. Descripción formal a: -desactivado, -activado b: -no presecia, -presencia. c: -p. cerrada, -p. abierta a b c Función lógica abc Tabla de verdad: especificación formal. Valor de la función para cada valor de las variables (n variables: 2 n valores). Los circuitos digitales combinacionales implementan funciones lógicas Departamento de Tecnología Electrónica Universidad de Sevilla
Epresiones lógicas Combinación de operadores AND ( ), OR (+) y NOT ( ') Precedencia de sobre + " " puede ser omitido +(y ) = +y +y = +y Son una forma de representación de funciones lógicas f(a,b,c) = (a+b+c) (a + b c) + cd (a+c) Departamento de Tecnología Electrónica Universidad de Sevilla Funciones lógicas. Resumen a b c Es posible construir circuitos elementales que realian los operadores lógicos básicos (puertas lógicas) El objetivo del diseño combinacional es describir las funciones lógicas mediante operadores básicos que permitan construir un circuito digital que realice la función deseada Función lógica abc Circuito combinacional a b c d Departamento de Tecnología Electrónica Universidad de Sevilla
Contenido Circuitos digitales Funciones lógicas Álgebra de Boole Diseño combinacional Análisis funcional Análisis temporal Departamento de Tecnología Electrónica Universidad de Sevilla Formaliación: Álgebra de Boole B={, } {B, NOT, AND, OR} forman un Álgebra de Boole Caso particular: Álgebra de Conmutación Un Álgebra de Boole cumple los siguiente aiomas George Boole (85-864) Identidad Conmutativa Distributiva Complemento + = = +y = y+ y = y (y+) = ( y)+( ) +(y ) = (+y) (+) + = = Dualidad: si una epresión se cumple, la epresión que resulta de intercambiar + con y con también se cumple Departamento de Tecnología Electrónica Universidad de Sevilla
Álgebra de Boole. Teoremas Idempotencia + = Unicidad del complemento = es único Elementos dominantes + = Involución = () = Absorción +y = (+y) = Consenso +y = +y (+y) = y Asociativa +(y+) = (+y)+ (y ) = ( y) De Morgan y = +y +y = y Reducción y+y = (+y)(+y) = Departamento de Tecnología Electrónica Universidad de Sevilla Conversión. SOP/POS a tabla de verdad (a,b,c) = a + a b c + ac + bc = si y sólo si (a,b,c) = (a+b+c)(a+b)(a+c) a=, o bien a= y b= y c=, o bien a= y c=, o bien b= y c= = si y sólo si a= y b= y c=, o bien a= y b=, o bien a= y c= Departamento de Tecnología Electrónica Universidad de Sevilla
Contenido Circuitos digitales Funciones lógicas Álgebra de Boole Diseño combinacional Análisis funcional Análisis temporal Departamento de Tecnología Electrónica Universidad de Sevilla Diseño de circuitos combinacionales Basado en la síntesis de circuitos a partir de formas normaliadas (SOP o POS) Una epresión más simple dará un circuito más simple Las formas normaliadas pueden ser simplificadas de forma sistemática (automatiable) Criterios de simplificación básicos Epresiones equivalentes: mismos valores para las mismas entradas. Mínimo número de términos mínimo número de puertas Mínimo número de literales en cada término mínimo número de entradas en cada puerta Otros criterios Tipos de puertas disponibles Facilidad para hacer complementos (inversores) Consumo de potencia, velocidad de operación, etc. Departamento de Tecnología Electrónica Universidad de Sevilla
Simplificación de formas normaliadas y + y = "" puede ser cualquier epresión = abc + abc + abc + abc = bc + ac + términos orden ab términos orden Cada término puede ser usado más de una ve (+=) Implicante de una función - Término producto que puede ser parte de una epresión en forma de SOP de la función. - Contiene o cubre varios mintérminos de la función. Departamento de Tecnología Electrónica Universidad de Sevilla Algoritmo de minimiación Quine-McCluskey (simp.). Comenar con la lista de los mintérminos de la función 2. Buscar implicantes de primer orden (TO-) Aplicando el teorema de reducción a mintérminos adyacentes 3. Eliminar mintérminos cubiertos de la epresión final No hay que preocuparse de los mintérminos cubiertos porque están incluídos en los TO- 4. Buscar implicantes de segundo orden (TO-2) Aplicando el teorema de reducción a los TO- adyacentes 5. Eliminar los TO- cubiertos de la epresión final 6. Continuar hasta obtener implicantes del mayor orden posible (implicantes primos) Las implicantes primos son los términos más simples que contienen todos los mintérminos de la función. Las implicantes primos esenciales son los que contienen mintérminos no contenidos en ningún otro implicante primo. 7. Selecciona todas las implicantes primos esenciales y/o un número mínimo de ellos que cubra todos los mintérminos de la función. Departamento de Tecnología Electrónica Universidad de Sevilla
Mapas de Karnaugh (K-mapa) K-mapas: ab cd Tabla bidimensional Valores de variables ordenados como en código gray Cada celda corresponde a un mintérmino/matérmino Localiación fácil de mintérminos y términos de orden superior Son cíclicos! Localiación fácil de implicantes primos Facilitan la simplificación de epresiones normaliadas mediente el método de Quine-McCluskey 4 2 8 5 3 9 3 7 5 2 6 4 F(a,b,c,d) F(a,b,c,d) = Σ(,,4,9,,3,5) ab cd 3 2 4 5 7 6 2 8 3 9 5 4 F(a,b,c,d) Departamento de Tecnología Electrónica Universidad de Sevilla K-mapas de a 6 variables a a b F(a) ab c 2 3 F(a,b) ab cd 2 6 4 3 7 5 F(a,b,c) abc def 8 24 6 48 56 4 32 9 25 7 49 57 4 33 3 27 9 5 59 43 35 2 26 8 5 58 42 34 6 4 3 22 54 62 46 38 7 5 3 23 55 63 47 39 5 3 29 2 53 6 45 37 4 2 28 2 52 6 44 36 4 2 8 5 3 9 3 7 5 2 6 4 F(a,b,c,d) abc de 4 2 8 24 28 2 6 5 3 9 25 28 2 7 3 7 5 27 3 23 9 2 6 4 26 3 22 8 F(a,b,c,d,e) F(a,b,c,d,e,f) Departamento de Tecnología Electrónica Universidad de Sevilla
Diseño manual de CC (resumen) Descripción funcional (descripción verbal) Formaliación Identificación ent./sal. Inespecificaciones, etc. SOP/POS mínimo Selección de puertas AND-OR o NAND-NAND? OR-AND o NOR-NOR? Raíl simple o doble? Tabla de verdad/k-mapa Circuito Minimiación Sólo NAND SOP Sólo NOR POS Óptimo intentar SOP&POS a b c d Departamento de Tecnología Electrónica Universidad de Sevilla Diseño de circuitos combinacionales Ejemplo Diseñe un circuito combinacional con cuatro entradas (3, 2,, ) que representan los bits de una cifra BCD X, y dos salidas (c, c) que representan los bits de una magnitud C, donde C es el cociente de la división X/3. Por ejemplo, si X=7 C=2, esto es, si (3,2,,)=(,,,) (c,c)=(,) Diseñe un circuito mínimo en dos niveles de puertas, salvo inversores, con entradas en raíl simple. Ejemplo 2 Diseñe un circuito combinacional para el ejemplo de la introducción. Departamento de Tecnología Electrónica Universidad de Sevilla
Contenido Circuitos digitales Funciones lógicas Álgebra de Boole Diseño combinacional Análisis funcional Análisis temporal Departamento de Tecnología Electrónica Universidad de Sevilla Análisis funcional Qué es? Aplicaciones: Obtener la función lógica realiada por un circuito combinacional. Interpretar la operación y/o utilidad del circuito. Rediseñar un circuito equivalente con distintos componentes. Método: Identificar entradas y salidas. Para cada puerta con entradas conocidas, calcular la epresión lógica de salida de la puerta. Repetir hasta que se conocen las epresiones de todas las salidas del circuito. Convertir a una representación más útil: tabla de verdad, K-mapa, epresión mínima, etc. Dar una descripción verbal de la operación del circuito. Departamento de Tecnología Electrónica Universidad de Sevilla
Análisis funcional. Ejemplo El circuito de la figura corresponde a un sistema de alarma con cuatro entradas y una salida. Las entras corresponden a: a: activación del sistema ( - desactivado, - activado) b: sensor de fuego ( - no hay fuego, - sí hay fuego) c: sensor de puerta de entrada ( - puerta cerrada, - puerta abierta) d: sensor de presencia ( - no hay presencia, - sí hay presencia) Cuando la salida se activa (=) hace sonar la sirena de la alarma. a)analice el circuito y describa su operación con palabras: casos en los que se activará la alarma, etc. b)rediseñe el circuito empleando únicamente puertas NOR. a b c d Departamento de Tecnología Electrónica Universidad de Sevilla Contenido Circuitos digitales Funciones lógicas Álgebra de Boole Diseño combinacional Análisis funcional Análisis temporal Departamento de Tecnología Electrónica Universidad de Sevilla
Análisis temporal Qué es? Aplicaciones Estudiar la evolución con el tiempo de las señales internas de un circuito y de sus salidas para señales de entrada dadas. Forma de onda: representación temporal del valor de una señal. Calcular o estimar el retraso de propagación de un circuito: tiempo que tarda en proporcionar un valor de salida correcto. Analiar posibles fallos o comportamientos no esperados debido a características temporales: retraso ecesivo, aares, etc. Método manual Para cada puerta lógica, obtener la ecuación de salida en función de las entradas de la puerta. Sustituir los valores de las señales de entrada que son constantes (NO SUSTITUIR NADA MÁS) Dibujar las formas de onda desde las entradas primarias hasta las salidas en función de la operación de cada puerta. Aplicar posibles retrasos de cada puerta. Modelo simple: mismo retraso para todas las puertas. Departamento de Tecnología Electrónica Universidad de Sevilla Análisis temporal. Ejemplo I A y= I2 f(,y,) y A2 I I = I2 = A = I I2 A2 = y f = A + A2 y= I = I2 = A = I I2 A2 = f = A + A2 I2 A A2 f 2 3 4 5 6 7 8 9 t(ns) Departamento de Tecnología Electrónica Universidad de Sevilla