8-Síntesis Multinivelprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · La...

27
8: Multinivel 1 8-Síntesis Multinivel 8.1 Lógica de dos niveles con NOR y NAND 8.2 Lógica multinivel 8.3 Compuertas AND, OR, INVERT (AOI) 8.4 Introducción a síntesis multinivel

Transcript of 8-Síntesis Multinivelprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · La...

Page 1: 8-Síntesis Multinivelprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · La minimización como suma de productos o producto de sumas es un proceso de síntesis

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

Page 2: 8-Síntesis Multinivelprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · La minimización como suma de productos o producto de sumas es un proceso de síntesis

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

Page 3: 8-Síntesis Multinivelprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · La minimización como suma de productos o producto de sumas es un proceso de síntesis

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

Page 4: 8-Síntesis Multinivelprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · La minimización como suma de productos o producto de sumas es un proceso de síntesis

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

Page 5: 8-Síntesis Multinivelprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · La minimización como suma de productos o producto de sumas es un proceso de síntesis

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

Page 6: 8-Síntesis Multinivelprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · La minimización como suma de productos o producto de sumas es un proceso de síntesis

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

Page 7: 8-Síntesis Multinivelprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · La minimización como suma de productos o producto de sumas es un proceso de síntesis

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

Page 8: 8-Síntesis Multinivelprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · La minimización como suma de productos o producto de sumas es un proceso de síntesis

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)

Page 9: 8-Síntesis Multinivelprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · La minimización como suma de productos o producto de sumas es un proceso de síntesis

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’

Page 10: 8-Síntesis Multinivelprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · La minimización como suma de productos o producto de sumas es un proceso de síntesis

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’

Page 11: 8-Síntesis Multinivelprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · La minimización como suma de productos o producto de sumas es un proceso de síntesis

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

Page 12: 8-Síntesis Multinivelprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · La minimización como suma de productos o producto de sumas es un proceso de síntesis

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

Page 13: 8-Síntesis Multinivelprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · La minimización como suma de productos o producto de sumas es un proceso de síntesis

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

Page 14: 8-Síntesis Multinivelprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · La minimización como suma de productos o producto de sumas es un proceso de síntesis

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)’

Page 15: 8-Síntesis Multinivelprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · La minimización como suma de productos o producto de sumas es un proceso de síntesis

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’)

Page 16: 8-Síntesis Multinivelprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · La minimización como suma de productos o producto de sumas es un proceso de síntesis

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

Page 17: 8-Síntesis Multinivelprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · La minimización como suma de productos o producto de sumas es un proceso de síntesis

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

Page 18: 8-Síntesis Multinivelprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · La minimización como suma de productos o producto de sumas es un proceso de síntesis

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.

Page 19: 8-Síntesis Multinivelprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · La minimización como suma de productos o producto de sumas es un proceso de síntesis

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.

Page 20: 8-Síntesis Multinivelprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · La minimización como suma de productos o producto de sumas es un proceso de síntesis

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).

Page 21: 8-Síntesis Multinivelprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · La minimización como suma de productos o producto de sumas es un proceso de síntesis

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)

Page 22: 8-Síntesis Multinivelprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · La minimización como suma de productos o producto de sumas es un proceso de síntesis

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

Page 23: 8-Síntesis Multinivelprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · La minimización como suma de productos o producto de sumas es un proceso de síntesis

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.

Page 24: 8-Síntesis Multinivelprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · La minimización como suma de productos o producto de sumas es un proceso de síntesis

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?

Page 25: 8-Síntesis Multinivelprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · La minimización como suma de productos o producto de sumas es un proceso de síntesis

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.

Page 26: 8-Síntesis Multinivelprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · La minimización como suma de productos o producto de sumas es un proceso de síntesis

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)

Page 27: 8-Síntesis Multinivelprofesores.elo.utfsm.cl/~tarredondo/info/digital-systems/apuntes... · La minimización como suma de productos o producto de sumas es un proceso de síntesis

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.