ELO211: Sistemas Digitales. Tomás Arredondo Vidal 1er Semestre 2008

ELO211: Sistemas Digitales Tomás Arredondo Vidal 1er Semestre – 2008 Este material está basado en: ❒ textos y material de apoyo: Contemporary Logic D

1 downloads 39 Views 115KB Size

Story Transcript

ELO211: Sistemas Digitales Tomás Arredondo Vidal 1er 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

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

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’ escrito de otra forma: A + B = (A’ • B’)’

(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

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 A

A B

B

NAND

Z

NAND

C

C

D

D

Z

NAND 8: Multinivel

6

Conversión entre formas (continuado) ❒ Ejemplo: verificar equivalencia A

A

B

B

NAND

Z C D

NAND

Z

C D

NAND

Z = [ (A • B)’ • (C • D)’ ]’ = [ (A’ + B’) • (C’ + D’) ]’ = [ (A’ + B’)’ + (C’ + D’)’ ] = (A • B) + (C • D) ➼ 8: Multinivel

7

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

8

Lógica Multinivel ❒ x=ADF + AEF + BDF + BEF + CDF + CEF + 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) A B C

X

D E F G

8: Multinivel

9

Conversión de lógica multinivel a compuertas NAND ❒ F = A (B + C D) + B C’

Level 1

Level 2

Level 3

Level 4

C D original AND-OR network

F

B A B \C C D

introduction and conservation of bubbles

redrawn in terms of conventional NAND gates

F

B A B \C

C D

F

\B A B \C 8: Multinivel

10

Conversión de lógica multinivel a compuertas NOR ❒ F = A (B + C D) + B C’ original AND-OR network

Level 1 C D B A B \C

Level 2

Level 3

Level 4 F

C introduction and conservation of bubbles

D B A

F

B \C \C \D redrawn in terms of conventional NOR gates

F

B \A \B C 8: Multinivel

11

Conversión entre formas ❒ Ejemplo A

A

B C D

B C D

F X

F X

sumar burbujas dobles para invertir inputs a compuerta OR

circuito original A

A

X B C \D

F X

sumar burbujas dobles para invertir output de AND

B C \D

F \X

insertar inversor para eliminar doble burbuja en alambre

8: Multinivel

12

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

13

Compuertas AND-OR-invert (AOI) ❒ Función AOI: tres etapas de lógica, AND,

OR, Invertir ❍

múltiples compuertas empaquetadas como un bloque implementación posible

concepto lógico A B

Z

C D AND

OR

2x2 AOI gate simbolo

Z

C D NAND

Invert

& + &

A B

NAND

3x2 AOI gate simbolo

Invert

& + & 8: Multinivel

14

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’ A’ ❍ AOI form: & •

F = (A’ B’ + A B)’

B’ A

+

F

&

B

8: Multinivel

15

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’) cada uno implementado con una compuerta 2x2 AOI 8: Multinivel

16

Ejemplo del uso del compuertas AOI ❒ Ejemplo: Función de igualdad de 4-bits A0 B0

high if A0 ≠ B0 low if A0 = B0

& + &

A1 B1

&

conservation of bubbles

+ & NOR

A2 B2

& + &

A3 B3

Z if all inputs are low then Ai = Bi, i=0,...,3 output Z is high

& + & 8: Multinivel

17

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

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 numero de entradas ❒ Estas requieren mayor superficie para ubicar los transistores

por lo cual típicamente los diseños de sistemas complejos suelen tener 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

19

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 razonable 8: Multinivel 20 ya que cuesta saber a ciertas si es optimo

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

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 w = f1(A, B) A x1

B x2

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 reexpresa 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

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. Cuantos 8: Multinivel 25 nodos tiene?

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

27

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

8: Multinivel

28

Get in touch

Social

© Copyright 2013 - 2024 MYDOKUMENT.COM - All rights reserved.