8-Síntesis Multinivelprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · La...
-
Upload
duongkhanh -
Category
Documents
-
view
212 -
download
0
Transcript of 8-Síntesis Multinivelprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · La...
8: Multinivel 1
8-Síntesis Multinivel
8.1 Lógica de dos niveles con NOR y NAND
8.2 Lógica multinivel8.3 Compuertas AND, OR, INVERT (AOI) 8.4 Introducción a síntesis multinivel
8: Multinivel 2
Lógica de dos niveles con NOR
AND con inputs invertidos es un NOR de Morgan’s: A’ • B’ = (A + B)’
Circuito de dos niveles NOR-NOR inputs invertidos no se cuentan en un circuito típico se invierte una vez y se
distribuye la señal
8: Multinivel 3
Lógica de dos niveles con NAND
OR con inputs invertidos es compuerta NAND de Morgan’s: A’ + B’ = (A • B)’
Circuito NAND-NAND de dos niveles inputs invertidos no se cuentan en un circuito típico se invierte una vez y se
distribuye la señal
8: Multinivel 4
Lógica de dos niveles con NAND y NOR
Circuitos NAND-NAND y NOR-NOR de Morgan’s law: (A + B)’= A’ • B’
(A • B)’ = A’ + B’ escrito de otra forma: A + B = (A’ • B’)’
(A • B) = (A’ + B’)’ En otras palabras
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 5
A
B
C
D
Z
A
B
C
D
Z
NAND
NAND
NAND
Conversión entre formas
Convertir entre circuitos de ANDs y ORs a circuitos de NANDs y NORs introducir inversiones apropiadas (“burbujas”)
Cada burbuja tiene que tener un burbuja correspondiente conservación de inversiones no se altera la lógica de la función
Ejemplo: AND/OR to NAND/NAND
8: Multinivel 6
Z = [ (A • B)’ • (C • D)’ ]’
= [ (A’ + B’) • (C’ + D’) ]’
= [ (A’ + B’)’ + (C’ + D’)’ ]
= (A • B) + (C • D)
Conversión entre formas (continuado)
Ejemplo: verificar equivalencia
A
B
C
D
Z
A
B
C
D
Z
NAND
NAND
NAND
8: Multinivel 7
8-Síntesis Multinivel
8.1 Lógica de dos niveles con NOR y NAND
8.2 Lógica multinivel8.3 Compuertas AND, OR, INVERT (AOI) 8.4 Introducción a síntesis multinivel
8: Multinivel 8
ABC
DE
FG
X
Lógica Multinivel x = A D F + A E F + B D F + B E F + C D F + C E F + G
forma reducida de suma de productos (no es canónica) 6 x 3-input AND + 1 x 7-input OR (puede que ni siquiera
exista!) 25 alambres (19 literales más 6 alambres internos)
x = (A + B + C) (D + E) F + G 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 más 3 alambres internos)
8: Multinivel 9
Level 1 Level 2 Level 3 Level 4
originalAND-OR network A
CD
B
B\C
F
introduction andconservation of
bubbles A
CD
B
B\C
F
redrawn in termsof conventional
NAND gates A
CD
\B
B\C
F
Conversión de lógica multinivel a compuertas NAND
F = A (B + C D) + B C’
8: Multinivel 10
Level 1 Level 2 Level 3 Level 4
A
CD
B
B\C
ForiginalAND-OR network
introduction andconservation of
bubbles A
C
DB
B
\C
F
redrawn in termsof conventional
NOR gates \A
\C\D
B
\BC
F
Conversión de lógica multinivel a compuertas NOR F = A (B + C D) + B C’
8: Multinivel 11
Conversión entre formas
EjemploA
XBC
D
F
circuito original
A
XBC
D
F
sumar burbujas dobles para invertirinputs a compuerta OR
\D
A
BC
F
\D
A
X
BC
F\X
insertar inversor para eliminar dobleburbuja en alambre
sumar burbujas dobles para invertir output de AND
X
8: Multinivel 12
8-Síntesis Multinivel
8.1 Lógica de dos niveles con NOR y NAND
8.2 Lógica multinivel8.3 Compuertas AND, OR, INVERT (AOI) 8.4 Introducción a síntesis multinivel
8: Multinivel 13
&
&+
2x2 AOI gatesimbolo
&
&+
3x2 AOI gatesimbolo
NAND NAND Invert
implementación posible
AB
CD
Z
AND OR Invert
concepto lógico
AB
CD
Z
Compuertas AND-OR-invert (AOI) Función AOI: tres etapas de lógica, AND,
OR, Invertir múltiples compuertas empaquetadas como
un bloque
8: Multinivel 14
&
&+
A’
B’A
B
F
Conversión a formas AOI
Procedimiento para poner en forma AOI calcular complemento de la función en
forma suma de productos agrupar los 0s en el mapa de Karnaugh
Ejemplo: Implementar XOR A xor B = A’ B + A B’ AOI form:
• F = (A’ B’ + A B)’
8: Multinivel 15
cada uno implementado con una compuerta 2x2 AOI
Ejemplo del uso del compuertas AOI Ejemplo:
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
Ejemplo: Función de igualdad de 4-bits Z = (A0 B0 + A0’ B0’)(A1 B1 + A1’ B1’)(A2 B2 + A2’ B2’)
(A3 B3 + A3’ B3’)
8: Multinivel 16
high if A0 ≠ B0low if A0 = B0
if all inputs are low then Ai = Bi, i=0,...,3output Z is high
conservation of bubbles
A0B0
A1B1
A2B2
A3B3
&
&+
&
&+
&
&+
&
&+
NOR Z
Ejemplo del uso del compuertas AOI
Ejemplo: Función de igualdad de 4-bits
8: Multinivel 17
8-Síntesis Multinivel
8.1 Lógica de dos niveles con NOR y NAND
8.2 Lógica multinivel8.3 Compuertas AND, OR, INVERT (AOI) 8.4 Introducción a síntesis multinivel
8: Multinivel 18
Introducción: Síntesis Multinivel
La minimización como suma de productos o producto de sumas es un proceso de síntesis lógica en dos niveles.
Estos tienen un mínimo retardo para la propagación de los cambios entre las entradas y salidas pero a un costo de tener compuertas con gran número de entradas.
Estas requieren mayor superficie para ubicar los transistores por lo cual típicamente los diseños de sistemas complejos suelen tener más de dos niveles.
Los dispositivos FPGA basado en interconexión de pequeñas celdas estándar se presta para implementación de lógica multinivel.
8: Multinivel 19
Introducción: Síntesis Multinivel Un circuito óptimo de dos niveles usa el menor número
de términos de productos y literales. Se entiende por optimización multinivel al proceso de
encontrar factores lógicos que sean comunes, lo cual reduce el fan-in, pero aumenta el número de niveles.
En muchas tecnologías fan-ins de más de cuatro son raros o no existentes es por eso que hay mucho interés en optimización (o síntesis) multinivel.
No es tan fácil definir un circuito óptimo para implementaciones de multinivel.
Es el que tiene el mínimo número de compuertas, retardo, fan-ins o literales?
El objetivo es sintetizar una implementación razonable ya que cuesta saber a ciertas si es óptimo.
8: Multinivel 20
Introducción: Síntesis Multinivel Se modelan las ecuaciones usando una red lógica
booleana 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 propagación del nodo o bien a mapear la función del nodo a determinada interconexión de celdas básicas.
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 modificación y esto se repite hasta lograr reducciones en el costo.
La operaciones usadas tienen analogías con la multiplicación y división de polinomios (ver texto).
8: Multinivel 21
Introducción: Síntesis Multinivel Se modelan las ecuaciones usando una red lógica
booleana en la cual los componentes conectados (nodos) tienen como outputs funciones booleanas
A
Bx1
x2
A
B
w = f1(A, B)
y = f2(A, B) z(w, y)
8: Multinivel 22
Introducción: Síntesis Multinivel Hay cinco operaciones básicas para manipular redes
multinivel: factorizar, descomposición, extracción, substitución y colapsar.
Factorizar toma una expresión en dos niveles y la re-expresa como una función multinivel sin introducir subfunciones. Puede ser mucho más compacta que la cobertura mínima dada por la suma de implicantes primos.
Ejemplo: La función F usa 9 literales y 5 compuertas
F = AC + AD + BC + BD + E
Factorizando el número de literales se reduce a 5 y las compuertas a 4:
F = (A + B)(C + D) + E
8: Multinivel 23
Introducción: Síntesis Multinivel
Descomposición toma una expresión booleana y la remplaza por nuevas expresiones mas simples. Se aplica a funciones que ya han sido factorizadas.
Ejemplo: La función F usa 12 literales y 9 compuertas
F = ABC + ABD + A’C’D’ + B’C’D’
Factorizando:
F = (AB)(C + D) + (A’ + B’)(C’D’) = (AB)(C+D) + (AB)’(C+D)’
Decomponiendo el grafo en tres funciones mas simples:
F = XY + X’Y’ X = AB Y = C + D
La función final tiene 8 literales y requiere 7 compuertas. Tiene tres nodos en su representación en el grafo.
8: Multinivel 24
Introducción: Síntesis Multinivel Extracción toma una colección 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 función tiene 11 literales y solo 7 compuertas. Cuántos
nodos tiene?
8: Multinivel 25
Introducción: Síntesis Multinivel Substitución substituye una función G en otra función F y
re-expresa F en términos de G. Ejemplo: La función F (4 literales y 2 compuertas).
F = A + BCD
Si se tiene la función G = A + BC y se substituye en F:
F = A + BCD = G(A + D) (simplificando)
Esta función (F) tiene 3 literales y 2 compuertas.
Esto es ventajoso solo si podemos usar G en otra función
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
Introducción: Síntesis Multinivel
Colapsar es la operación reversa de substitución. Puede ser usada para reducir el número 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 función. 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 función)
8: Multinivel 27
Resumen de lógica multinivel
Ventajas Circuitos puede ser más pequeños. Compuertas tienen menor fan-in. circuitos pueden ser mas rápido.
Desventajas Mas difícil diseñar. Herramientas para la optimización no son
tan buenas como para dos niveles. Análisis es mas complejo.