Professional Documents
Culture Documents
Borriello and Randy Katz. Prentice Hall, 1994, 2005 material del curso ELO211 del Prof. Leopoldo Silva material en el sitio http://es.wikipedia.org
8: Multinivel
8-Sntesis Multinivel
8.1 Lgica de dos niveles con NOR y NAND 8.2 Lgica multinivel 8.3 Compuertas AND, OR, INVERT (AOI) 8.4 Introduccin a sntesis multinivel
8: Multinivel
de Morgans:
A B = (A + B)
inputs invertidos no se cuentan en un circuito tpico se invierte una vez y se distribuye la seal
8: Multinivel
de Morgans:
A + B = (A B)
inputs invertidos no se cuentan en un circuito tpico se invierte una vez y se distribuye la seal
8: Multinivel
En otras palabras
r r r r
NOR es lo mismo que AND con inputs invertidos OR es lo mismo que NAND con inputs invertidos AND es lo mismo que NOR con inputs invertidos NAND es lo mismo que OR con inputs invertidos
8: Multinivel
circuitos de NANDs y NORs r introducir inversiones apropiadas (burbujas) Cada burbuja tiene que tener un burbuja correspondiente r conservacin de inversiones r no se altera la lgica de la funcin Ejemplo: AND/OR to NAND/NAND
A B Z C D C D NAND
8: Multinivel 6
A B NAND NAND Z
Z = [ (A B) (C D) ] = [ (A + B) (C + D) ] = [ (A + B) + (C + D) ] = (A B) + (C D)
8: Multinivel 7
8-Sntesis Multinivel
8.1 Lgica de dos niveles con NOR y NAND 8.2 Lgica multinivel 8.3 Compuertas AND, OR, INVERT (AOI) 8.4 Introduccin a sntesis multinivel
8: Multinivel
Lgica Multinivel
x=ADF + AEF + BDF + BEF + CDF + CEF + G
r r
forma reducida de suma de productos (no es cannica) 6 x 3-input AND + 1 x 7-input OR (puede que ni siquiera exista!) 25 alambres (19 literales ms 6 alambres internos) forma factorizada no escrita como suma de productos 1 x 3-input OR gate, 2 x 2-input OR gates, 1 x 3-input AND gate 10 alambres (7 literales ms 3 alambres internos)
A B C D E F G
8: Multinivel 9
x = (A + B + C) (D + E) F + G
r r
C D \B A B \C 8: Multinivel
10
circuito original A
A B C \D F X
X B C \D F \X
8: Multinivel
12
8-Sntesis Multinivel
8.1 Lgica de dos niveles con NOR y NAND 8.2 Lgica multinivel 8.3 Compuertas AND, OR, INVERT (AOI) 8.4 Introduccin a sntesis multinivel
8: Multinivel
13
OR, Invertir
r
A B C D AND OR Invert
& + &
& + &
8: Multinivel 14
8: Multinivel
15
F = A B + A C + B C F = (A B + A C + B C) Implementado con compuerta AOI de 3x2-inputs F = (A + B) (A + C) (B + C) F = [(A + B) (A + C) (B + C)] Implementado con compuerta AOI de 3x2-inputs
r r r
high if A0 B0 low if A0 = B0
conservation of bubbles Z if all inputs are low then Ai = Bi, i=0,...,3 output Z is high
8-Sntesis Multinivel
8.1 Lgica de dos niveles con NOR y NAND 8.2 Lgica multinivel 8.3 Compuertas AND, OR, INVERT (AOI) 8.4 Introduccin a sntesis multinivel
8: Multinivel
18
cambios entre las entradas y salidas pero a un costo de tener compuertas con gran numero de entradas
Estas requieren mayor superficie para ubicar los transistores
por lo cual tpicamente los diseos de sistemas complejos suelen tener mas de dos niveles
Los dispositivos FPGA basado en interconexin de pequeas
8: Multinivel
19
de trminos de productos y literales Se entiende por optimizacin multinivel al proceso de encontrar factores lgicos que sean comunes, lo cual reduce el fan-in pero aumenta el numero de niveles En muchas tecnologas fan-ins de mas de cuatro son raros o no existentes es por eso que hay mucho inters en optimizacin (o sntesis) multinivel No es tan fcil definir un circuito optimo para implementaciones de multinivel. Es el que tiene el mnimo numero de compuertas, retardo, fan-ins o literales? El objetivo es sintetizar una implementacin razonable 8: Multinivel 20 ya que cuesta saber a ciertas si es optimo
boolana en la cual los componentes conectados (nodos) tienen como outputs funciones booleanas Usando transformaciones locales se trata de reducir el rea y el tiempo de propagacin del nodo o bien a mapear la funcin del nodo a determinada interconexin de celdas bsicas Se intentan cambios (operaciones) y se aceptan si es que logran disminuir el costo del circuito (red o grafo). En caso contrario se intenta otra modificacin y esto se repite hasta lograr reducciones en el costo La operaciones usadas tienen analogas con la multiplicacin y divisin de polinomios (ver texto).
8: Multinivel 21
boolana en la cual los componentes conectados (nodos) tienen como outputs funciones booleanas
w = f1(A, B) A
x1
B
x2
A B y = f2(A, B) z(w, y)
8: Multinivel 22
multinivel: factorizar, descomposicin, extraccin, substitucin y colapsar Factorizar toma una expresin en dos niveles y la reexpresa como una funcin multinivel sin introducir subfunciones. Puede ser mucho mas compacta que la cobertura mnima dada por la suma de implicantes primos. Ejemplo: La funcin F usa 9 literales y 5 compuertas F = AC + AD + BC + BD + E Factorizando el numero de literales se reduce a 5 y las compuertas a 4: F = (A + B)(C + D) + E
8: Multinivel 23
remplaza por nuevas expresiones mas simples. Se aplica a funciones que ya han sido factorizadas. Ejemplo: La funcin F usa 12 literales y 9 compuertas F = ABC + ABD + ACD + BCD Factorizando: F = (AB)(C + D) + (A + B)(CD) = (AB)(C+D) + (AB)(C+D) Decomponiendo el grafo en tres funciones mas simples: F = XY + XY X = AB Y=C+D La funcin final tiene 8 literales y requiere 7 compuertas. Tiene tres nodos en su representacin en el grafo.
8: Multinivel 24
determina sub-expresiones comunes para ser reutilizados. Requiere que las funciones se expresen como factores y que los factores comunes se extraigan Ejemplo: Las funciones F, G y H (contienen 11 literales y 8 compuertas). F = (A+B)CD + E G = (A + B)E H = CDE Se extraen sub-funciones comunes (divisores primarios): X = (A + B) e Y = (CD) Las funciones se pueden expresar como: F = XY + E G=XE H=YE X=A+B Y=CD Esta funcin tiene 11 literales y solo 7 compuertas. Cuantos 8: Multinivel 25 nodos tiene?
re-expresa F en trminos de G. Ejemplo: La funcin F (4 literales y 2 compuertas). F = A + BCD Si se tiene la funcin G = A + BC y se substituye en F: F = A + BCD = G(A + D) (simplificando) Esta funcin (F) tiene 3 literales y 2 compuertas. Esto es ventajoso solo si podemos usar G en otra funcin ya que tiene 3 literales y una compuerta. Una vez que se determinan sub-expresiones comunes se pueden usar para expresar las funciones originales como funciones factorizadas usando las sub-expresiones.
8: Multinivel 26
ser usada para reducir el numero de niveles para satisfacer un requerimiento temporal. Ejemplo: Colapsar G de vuelta en F F = A + BCD = G(A + D) F = (A + BC) (A + D) F = AA + AD + ABC + BCD F = A + BCD Esto es ventajoso si no podemos usar G en otra funcin. Muchas veces se tiene que limpiar el grafo usando operaciones ya que los resultados de otras operaciones lo requieren (e.g. si es que G ya no es usado en otra funcin)
8: Multinivel 27
8: Multinivel
28