Tema 3 Análisis y síntesis de sistemas digitales combinacionales • Análisis Algoritmo de análisis, para un circuito lógico combinacional • Síntesis. Conceptos Circuitos combinacionales bien construidos Circuitos combinacionales mal construidos Criterios de optimización Definiciones y propiedades para síntesis mínima • Síntesis. Herramientas Aplicaciones del mapa de Karnaugh Determinación de IP Determinación de suma mínima Método de Quine-McCluskey Método tabular Método de selección para tablas cíclicas • Concepto de indeterminación Sist. Electrónicos Digitales 1 J.F. Martín Tema 3 Análisis y síntesis de sistemas digitales combinacionales Análisis Sist. Electrónicos Digitales 2 J.F. Martín Tema 3 Análisis y síntesis de sistemas digitales combinacionales • Algoritmo de análisis, para un circuito lógico combinacional Analizar un circuito combinacional consiste en determinar, a partir de su estructura, cual será su comportamiento para todas las posibles entradas, o lo que es lo mismo, determinar la función lógica que implementa. Sist. Electrónicos Digitales 3 J.F. Martín Tema 3 • Análisis y síntesis de sistemas digitales combinacionales Procedimiento de análisis lógico a) Identificar las entradas, las salidas y las variables intermedias. b) Identificar los niveles de puertas. b.1 Constituyen el nivel 1, aquellas puertas cuyos terminales de entrada estén conectados únicamente a las entradas del circuito. b.2 Constituyen el nivel n+1, aquellas puertas que tienen al menos uno de sus terminales de entrada conectado a las salidas del nivel n, y el resto a las salidas de los niveles precedentes, o a las entradas del circuito. c) Expresar las salidas de cada nivel en función de sus entradas c.1 Comenzar por el nivel n=1. c.2 Especificar las salidas del nivel n en función de las entradas a dicho nivel. c.3 Incrementar el nivel de análisis. c.4 El procedimiento termina cuando las salidas del sistema están expresadas en función de las entradas. Sist. Electrónicos Digitales 4 J.F. Martín Tema 3 Análisis y síntesis de sistemas digitales combinacionales a b a+b z1 z2 c (a+b)+c d z3 d z1 = (a + b) c z 2 = z1 ⊕ (a + b) + c = (a + b) c ⊕ a b c z3 = (a + b) + c + d = a b c + d Sist. Electrónicos Digitales 5 J.F. Martín Tema 3 Análisis y síntesis de sistemas digitales combinacionales Síntesis. Conceptos Sist. Electrónicos Digitales 6 J.F. Martín Tema 3 Análisis y síntesis de sistemas digitales combinacionales • Circuitos combinacionales bien construidos Normas de los circuitos bien construidos a) Una sola línea (cable) o puerta lógica con señales de entrada primarias constantes o variables (binarias), está bien construido b) Un circuito formado por la yuxtaposición de dos circuitos disjuntos bien construidos C1 y C2 (es decir C1 y C2 colocados lado a lado), está bien construido c) Dados dos circuitos disjuntos (desconectados) bien construidos C1 y C2, el circuito que se obtiene al conectar una línea de salida de C1 a una línea de entrada de C2 o a una nueva salida primaria, está bien construido d) Si C está bien construido, el circuito que se obtiene al conectar dos entradas primarias de C para formar una sola entrada primaria también estará bien construido. Sist. Electrónicos Digitales 7 J.F. Martín Tema 3 Análisis y síntesis de sistemas digitales combinacionales • Circuitos combinacionales mal construidos Dos o más salidas interconectadas pueden tener valores distintos, con lo que el resultado es impredecible 1 0 La salida de un circuito bien construido, conectada a una de sus entradas provoca una realimentación que puede provocar fenómenos de oscilación. 0 1 Sist. Electrónicos Digitales 8 J.F. Martín Tema 3 Análisis y síntesis de sistemas digitales combinacionales • Criterios de optimización El objetivo a conseguir es implementar de forma mínima una expresión de conmutación de manera que sean mínimos Coste real Espacio ocupado Tiempo de respuesta Consumo de potencia Tenemos las siguientes restricciones físicas al diseño: Máximo fan-in y fan-out Reglas de interconexión Diagnosticabilidad y testabilidad Nuestros objetivos de diseño en esta asignatura serán: Minimizar el número de puertas Minimizar el número de conexiones Minimizar el número de niveles Sist. Electrónicos Digitales 9 J.F. Martín Tema 3 Análisis y síntesis de sistemas digitales combinacionales • Definiciones y propiedades para síntesis mínima Dadas f(x) y g(x) dos funciones de conmutación, se dice que f(x) implica a g(x) (se denota f(x) ⊆ g(x)), y que g(x) cubre a f(x), si verifica: ∀ x / f(x) = 1 ⇒ g(x) = 1 Dadas f(x) y g(x) dos funciones de conmutación, se dice que f(x) implica estrictamente a g(x) (se denota f(x) ⊂ g(x)), si verifican: ∀ x / f(x) = 1 ⇒ g(x) = 1 ∃ x / f(x) = 0 y g(x) = 1 Definimos implicante de una función de conmutación a aquellos términos producto que implican dicha función Definimos implicante primo a todo implicante tal que ningún término que lo cubra es implicante Sist. Electrónicos Digitales 10 J.F. Martín Tema 3 Análisis y síntesis de sistemas digitales combinacionales Definimos cubrimiento de una función a la suma de todos sus implicantes Definimos suma irredundante a la suma de todos los implicantes tales que si se elimina uno de ellos, la expresión resultante no cubre la función Definimos implicante primo esencial a todo implicante primo que aparece en todas las sumas irredundantes Definimos suma mínima a la suma irredundante con el menor número de implicantes primos Definimos suma estrictamente mínima a la suma mínima con el menor número de literales • Propiedad para diseño mínimo La suma estrictamente mínima asociada a una función, proporciona una realización AND-OR en dos niveles, que cumple los objetivos de diseño óptimo. Sist. Electrónicos Digitales 11 J.F. Martín Tema 3 Análisis y síntesis de sistemas digitales combinacionales Síntesis. Herramientas Sist. Electrónicos Digitales 12 J.F. Martín Tema 3 Análisis y síntesis de sistemas digitales combinacionales • Mapa de Karnaugh para determinación de IP Dada una función booleana representada en forma de mapa de Karnaugh Definimos casillas adyacentes a aquellas que sólo se diferencian entre sí, en el valor de una de las variables de la función (en el mapa de Karnaugh estarán juntas gráficamente) Definimos grupo permitido de [1's] a aquel en forma de cuadrado ó rectángulo, que contenga un número de 2n casillas, y que cada casilla que lo forma sea adyacente con otras n casillas de dicho grupo Grupos de 20=1 [1's] adyacentes con 0 [1's] Grupos de 21=2 [1's] adyacentes con 1 [1's] Grupos de 22=4 [1's] adyacentes con 2 [1's] Grupos de 23=8 [1's] adyacentes con 3 [1's] ..................................................................... Sist. Electrónicos Digitales 13 J.F. Martín Tema 3 Análisis y síntesis de sistemas digitales combinacionales A cada grupo de los formados corresponderá a un término producto, que contendrá todas las variables que permanezcan constantes en todas las casillas apareciendo complementadas para el caso de tener valor 0 y sin complementar en caso de tener valor 1 Serán implicantes todos los términos producto obtenidos a partir de un grupo permitido de [1's] Serán implicantes primos aquellos implicantes que no puedan ser incluidos en otro grupo permitido de [1's] mayor Serán implicantes primos esenciales aquellos implicantes primos que son imprescindibles para cubrir por completo todos los [1's] de la función Sist. Electrónicos Digitales 14 J.F. Martín Tema 3 Análisis y síntesis de sistemas digitales combinacionales x 1x 2 00 01 11 1 1 1 00 x 3x 4 Algunos implicantes Sist. Electrónicos Digitales 01 1 1 11 1 1 10 1 1 x1x 3 x 4 x1x 2 x 3 15 x 2 x3 x 4 10 x 2 x 3 x 4 ......... J.F. Martín Tema 3 Análisis y síntesis de sistemas digitales combinacionales x 1x 2 00 00 x 3x 4 01 11 1 1 1 01 1 1 11 1 1 10 1 1 10 Implicantes primos x 2 x3 x1x 4 x1x 3 Implicantes primos esenciales x 2 x3 x1x 4 x1x 3 Implicantes primos NO esenciales x1x 2 Sist. Electrónicos Digitales 16 x1x 2 J.F. Martín Tema 3 Análisis y síntesis de sistemas digitales combinacionales • Mapa de Karnaugh para obtención de la suma mínima a) Obtener los implicantes primos esenciales (IP) b) La suma de menor número de IP es mínima c) Si hay varias sumas mínimas, la que tenga el menor número de literales es estrictamente mínima Si aplicamos las reglas anteriores pero considerando los 0 en lugar de los 1, obtendremos la suma mínima de la función complementaria Definimos celda distinguida, como aquella que sólo pertenecen a un único IP Sist. Electrónicos Digitales 17 J.F. Martín Tema 3 Análisis y síntesis de sistemas digitales combinacionales x 1x 2 00 00 x 3x 4 Suma mínima Sist. Electrónicos Digitales 01 11 1 1 1 01 1 1 11 1 1 10 1 1 10 f(x1,x 2 ,x 3 ,x 4 ) = x 2 x 3 + x1x 4 + x1x 3 18 J.F. Martín Tema 3 Análisis y síntesis de sistemas digitales combinacionales • Método de Quine-McCluskey para obtención de IP Definimos clase Si a la formada por los mintérminos cuyos vectores asociados sólo tienen un número de [1's] igual a i Propiedad 1. Un producto implica a una función si y sólo si es un mintérmino ó puede obtenerse mediante la propiedad (término producto) variable + (término producto) variable = (término producto) Corolario. Podemos ir agrupando términos productos que vayan diferenciándose entre sí en una única variable Propiedad 2. Dos mintérminos representados por sus números decimales cumplen la propiedad 1 si y sólo si su diferencia decimal es un número potencia de 2 y el mintérmino de menor valor decimal pertenece a una clase Si y el mintérmino de mayor valor decimal pertenece a una clase Si+1 Sist. Electrónicos Digitales 19 J.F. Martín Tema 3 Análisis y síntesis de sistemas digitales combinacionales • Método tabular para la obtención de una suma mínima de una función Construir una tabla que tenga como filas, los IP previamente calculados, ordenados empezando por los que tengan menor número de literales, y como columnas los mintérminos que forman la función Colocar X en las columnas de los mintérminos que cubre cada IP Aplicar iterativamente los pasos de selección de IP, y simplificación en las tablas, cada vez más simplificadas, que vamos obteniendo Sist. Electrónicos Digitales 20 J.F. Martín Tema 3 Análisis y síntesis de sistemas digitales combinacionales Selección Marcar las columnas que contengan una sola X y seleccionar los IP a los que correspondan dichas X. Posteriormente eliminar las columnas en las que tengan X los IP anteriormente seleccionados Simplificación Eliminar los IP que cumplan uno de estos requisitos: a) El IP que no cubre ninguno de los mintérminos que quedan (su fila no contiene ninguna X) b) El IP que está incluido en otro y además es de igual ó mayor coste que el que lo contiene (todas las X están incluidas en otra fila) c) Todos los IP que tengan X en las mismas columnas, salvo el de menor coste de todos ellos (filas con las mismas X) El proceso termina cuando estén cubiertas todas las columnas Se puede llegar a una tabla en la que no es posible aplicar 3 y 4, que se conocen como tablas cíclicas. En ese caso hay que recurrir a un método de selección Sist. Electrónicos Digitales 21 J.F. Martín Tema 3 Análisis y síntesis de sistemas digitales combinacionales • Método de selección para el caso de tablas cíclicas a) Elegir una columna de las que tengan menor número de X b) Aplicar el método tabular explicado en el apartado anterior, considerando a uno de los IP que cubren la columna, como esencial y obtener la suma mínima c) Repetir el paso (b) para todos los IP que cubren la columna elegida d) Escoger como suma mínima, la de menor coste entre todas las obtenidas Sist. Electrónicos Digitales 22 J.F. Martín Tema 3 Análisis y síntesis de sistemas digitales combinacionales Concepto de Indeterminación Sist. Electrónicos Digitales 23 J.F. Martín Tema 3 Análisis y síntesis de sistemas digitales combinacionales • Indeterminación Decimos que una función combinacional presenta una indeterminación en su salida para una combinación de valores de entrada, si el valor de la función para dicha combinación no está especificado. Causas: a) Porque en la definición de la función se establece explícitamente la inespecificación. b) Porque la combinación de valores que provoca la indeterminación no pueden darse nunca en las entradas. Las indeterminaciones son asignadas interesadamente, a valor 0 ó a valor 1 de forma que la implementación de la función sea la mínima posible. Una vez implementada la función ya no presentará indeterminaciones. Al aplicar sobre la función la combinación que provocaba la indeterminación, obtendremos a la salida el valor asignado a dicha combinación en tiempo de diseño. Sist. Electrónicos Digitales 24 J.F. Martín