• No se han encontrado resultados

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

N/A
N/A
Protected

Academic year: 2021

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

Copied!
28
0
0

Texto completo

(1)

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 Silvamaterial en el sitio http://es.wikipedia.org

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

(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

(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

(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

(6)

A B C Z A B C Z 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

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

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)

(9)

A B C D E F 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)

Level 1 Level 2 Level 3 Level 4 original AND-OR network A C D B B \C F introduction and conservation of bubbles A C D B B \C F redrawn in terms of conventional NAND gates A C D \B B F

Conversión de lógica multinivel a

compuertas NAND

(11)

Level 1 Level 2 Level 3 Level 4 A C D B B \C F original AND-OR network introduction and conservation of bubbles A C D B B \C F redrawn in terms of conventional NOR gates \A \C \D B \B C F

Conversión de lógica multinivel a

compuertas NOR

(12)

Conversión entre formas

Ejemplo

A X B C D F circuito original A X B C D F

sumar burbujas dobles para invertir inputs a compuerta OR \D A B C F \D A X B C \X F

insertar inversor para eliminar doble burbuja en alambre

sumar burbujas dobles para invertir output de AND

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

(14)

& & + 2x2 AOI gate simbolo & & + 3x2 AOI gate simbolo

NAND NAND Invert

implementación posible A B C D Z AND OR Invert concepto lógico A B C D Z

Compuertas AND-OR-invert (AOI)

Función AOI: tres etapas de lógica, AND,

OR, Invertir

❍ múltiples compuertas empaquetadas como un bloque

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

(16)

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 +

(17)

high if A0 ≠ B0 low if A0 = B0

if all inputs are low

then Ai = Bi, i=0,...,3 output Z is high conservation of bubbles A0 B0 A1 B1 A2 B2 A3 B3 & & + & & + & & + & & + NOR Z

Ejemplo del uso del compuertas AOI

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

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

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

(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

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

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

(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

(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

(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

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

(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

Referencias

Documento similar

Aplicando esta ecuación al estudio del acuífero, las entradas quedan representadas por la recarga total, las salidas por la descarga total y el cambio de masa por el

Elementos del cable de transporte aéreo desde el piso 2º hasta la planta.. Elementos constituyentes del cable aéreo desde el piso 2º hasta

Antes de pasar a exponer en que lugar de la bornera CB68LP van conectados cada una de las entradas y salidas analógicas y las salidas digitales (para la realización de

Con esta dimensión se buscó analizar las entradas y salidas del mundo del trabajo, que no supuso necesariamente la construcción de trayectorias acumulativas en un determinado tipo

lógica digital, en la cual, cuando todas sus entradas son distintas entre sí digital, en la cual, cuando todas sus entradas son distintas entre sí para dos entradas A y B, o cuando

Anticipándonos a las inclemencias del tiempo o situaciones de emergencia, en caso de cerrar las escuelas del distrito escolar, o para coordinar los horarios de entradas y salidas, la

Todos nuestros platillos están preparados con ingredientes de la más alta calidad; sin embargo, la ingesta de productos crudos es responsabilidad de quien los consume. There may be

Para comprobar el funcionamiento en la controladora se deberán emplear cuatro salidas digitales una para cada color (bombilla) que se irá mostrando al jugador y cuatro