elo211: sistemas digitales tomásarredondo vidal 1er...

28
8: Multinivel 1 ELO211: Sistemas Digitales Tomás Arredondo Vidal 1er Semestre – 2008 Este material está basado en: textos y material de apoyo: Contemporary Logic Design 1 st / 2 nd edition. Gaetano Borriello and Randy Katz. Prentice Hall, 1994, 2005 material del curso ELO211 del Prof. Leopoldo Silva material en el sitio http://es.wikipedia.org

Upload: trinhbao

Post on 05-Nov-2018

216 views

Category:

Documents


0 download

TRANSCRIPT

8: Multinivel 1

ELO211: Sistemas Digitales

Tomás Arredondo Vidal1er Semestre – 2008

Este material está basado en:

❒ textos y material de apoyo: Contemporary Logic Design 1st / 2nd edition. Gaetano 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 2

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

8: Multinivel 3

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 4

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 5

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 6

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 7

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 8

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

8: Multinivel 9

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-inputAND gate

❍ 10 alambres (7 literales más 3 alambres internos)

8: Multinivel 10

Level 1 Level 2 Level 3 Level 4

originalAND-OR network

A

CD

B

B\C

F

introduction andconservation of

bubblesA

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 11

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 12

Conversión entre formas

❒ Ejemplo

A

X

BC

D

F

circuito original

A

X

BC

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 13

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

8: Multinivel 14

&

&

+2x2 AOI gate

simbolo

&

&

+3x2 AOI gate

simbolo

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 15

&

&

+

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 16

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 17

high if A0 ≠ B0

low if A0 = B0

if all inputs are lowthen Ai = Bi, i=0,...,3

output 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 18

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

8: Multinivel 19

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 numero de entradas

❒ Estas requieren mayor superficie para ubicar los transistores por lo cual típicamente los diseños de sistemas complejos suelentener mas 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 20

Introducción: Síntesis Multinivel❒ Un circuito optimo de dos niveles usa el menor numero 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 numero de niveles

❒ En muchas tecnologías fan-ins de mas 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 optimo para implementaciones de multinivel.

❒ Es el que tiene el mínimo numero de compuertas, retardo, fan-ins o literales?

❒ El objetivo es sintetizar una implementación razonableya que cuesta saber a ciertas si es optimo

8: Multinivel 21

Introducción: Síntesis Multinivel❒ Se modelan las ecuaciones usando una red lógica 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 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 22

Introducción: Síntesis Multinivel❒ Se modelan las ecuaciones usando una red lógica boolana 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 23

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 mas 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 numero de literales se reduce a 5 y las compuertas a 4:

F = (A + B)(C + D) + E

8: Multinivel 24

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 25

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

nodos tiene?

8: Multinivel 26

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 27

Introducción: Síntesis Multinivel

❒ Colapsar es la operación reversa de substitución. 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 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 28

Resumen de lógica multinivel

❒ Ventajas❍ circuitos puede ser mas 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