Está en la página 1de 28

ELO211: Sistemas Digitales Toms Arredondo Vidal 1er Semestre 2008

Este material est basado en:


textos y material de apoyo:

Borriello and Randy Katz. Prentice Hall, 1994, 2005 material del curso ELO211 del Prof. Leopoldo Silva material en el sitio http://es.wikipedia.org

Contemporary Logic Design 1st / 2nd edition. Gaetano

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

Lgica de dos niveles con NOR


AND con inputs invertidos es un NOR
r

de Morgans:

A B = (A + B)

Circuito de dos niveles NOR-NOR


r r

inputs invertidos no se cuentan en un circuito tpico se invierte una vez y se distribuye la seal

8: Multinivel

Lgica de dos niveles con NAND


OR con inputs invertidos es compuerta NAND
r

de Morgans:

A + B = (A B)

Circuito NAND-NAND de dos niveles


r r

inputs invertidos no se cuentan en un circuito tpico se invierte una vez y se distribuye la seal

8: Multinivel

Circuitos NAND-NAND y NOR-NOR


r r

Lgica de dos niveles con NAND y NOR


de Morgans law: (A + B) = A B escrito de otra forma: A + B = (A B) (A B) = A + B (A B) = (A + B)

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

Conversin entre formas


Convertir entre circuitos de ANDs y ORs a

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

Conversin entre formas (continuado)


Ejemplo: verificar equivalencia
A B Z C D C D NAND 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

Conversin de lgica multinivel a compuertas NAND


F = A (B + C D) + B C
C D original AND-OR network B A B \C C D introduction and conservation of bubbles B A B \C Level 1 Level 2 Level 3 Level 4 F

redrawn in terms of conventional NAND gates

C D \B A B \C 8: Multinivel

10

Conversin de lgica multinivel a compuertas NOR


F = A (B + C D) + B C
original AND-OR network C introduction and conservation of bubbles D B A B \C \C \D redrawn in terms of conventional NOR gates B \A \B C 8: Multinivel 11 F C D B A B \C Level 1 Level 2 Level 3 Level 4 F

Conversin entre formas


Ejemplo
A B C D F X A B C D F X

circuito original A

sumar burbujas dobles para invertir inputs a compuerta OR

A B C \D F X

X B C \D F \X

sumar burbujas dobles para invertir output de AND

insertar inversor para eliminar doble burbuja en alambre

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

Compuertas AND-OR-invert (AOI)


Funcin AOI: tres etapas de lgica, AND,

OR, Invertir
r

mltiples compuertas empaquetadas como un bloque


concepto lgico implementacin posible A B C D NAND NAND Invert

A B C D AND OR Invert

2x2 AOI gate simbolo

& + &

3x2 AOI gate simbolo

& + &
8: Multinivel 14

Conversin a formas AOI


Procedimiento para poner en forma AOI r calcular complemento de la funcin en forma suma de productos r agrupar los 0s en el mapa de Karnaugh Ejemplo: Implementar XOR r A xor B = A B + A B A r AOI form: &
F = (A B + A B)
B A B + & F

8: Multinivel

15

Ejemplo del uso del compuertas AOI


Ejemplo:
r r r

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

Ejemplo: Funcin de igualdad de 4-bits


r

Z = (A0 B0 + A0 B0)(A1 B1 + A1 B1)(A2 B2 + A2 B2)(A3 B3 + A3 B3)


cada uno implementado con una compuerta 2x2 AOI
8: Multinivel 16

Ejemplo del uso del compuertas AOI


Ejemplo: Funcin de igualdad de 4-bits
A0 B0 & + & A1 B1 & + & NOR A2 B2 & + & A3 B3 & + &
8: Multinivel 17

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

Introduccin: Sntesis Multinivel


La minimizacin como suma de productos o producto de sumas es

un proceso de sntesis lgica en dos niveles.


Estos tienen un mnimo retardo para la propagacin de los

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

celdas estndar se presta para implementacin de lgica multinivel

8: Multinivel

19

Introduccin: Sntesis Multinivel


Un circuito optimo de dos niveles usa el menor numero

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

Introduccin: Sntesis Multinivel


Se modelan las ecuaciones usando una red lgica

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

Introduccin: Sntesis Multinivel


Se modelan las ecuaciones usando una red lgica

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

Introduccin: Sntesis Multinivel


Hay cinco operaciones bsicas para manipular redes

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

Introduccin: Sntesis Multinivel


Descomposicin toma una expresin booleana y la

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

Introduccin: Sntesis Multinivel


Extraccin toma una coleccin de expresiones booleanas y

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?

Introduccin: Sntesis Multinivel


Substitucin substituye una funcin G en otra funcin F y

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

Introduccin: Sntesis Multinivel


Colapsar es la operacin reversa de substitucin. Puede

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

Resumen de lgica multinivel


Ventajas r circuitos puede ser mas pequeos r compuertas tienen menor fan-in r circuitos pueden ser mas rpido Desventajas r mas difcil disear r herramientas para la optimizacin no son tan buenas como para dos niveles r anlisis es mas complejo

8: Multinivel

28

También podría gustarte