SlideShare una empresa de Scribd logo
3: Canónicas 1
ELO211: Sistemas Digitales
Tomás Arredondo Vidal
1er Semestre – 2009
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
3: Canónicas 2
3-Formas Canonicas
3.1 Expresiones canónicas: minterminos y
maxterminos
3.2 Expansión a las formas canónicas
3.3 Síntesis de las formas canónicas
3.4 Diseño lógico y simplificación
3: Canónicas 3
Expresiones Canónicas
❒ Existen dos formas básicas de expresiones
canónicas que pueden ser implementadas en
dos niveles de compuertas:
❍ suma de productos o expansión de minterminos
❍ producto de sumas o expansión de maxterminos
❒ Permiten asociar a una función una
expresión algebraica única
❒ La tabla de verdad también es una
representación única para una función
booleana
3: Canónicas 4
A B C F F’
0 0 0 0 1
0 0 1 1 0
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 0
F =
F’ = A’B’C’ + A’BC’ + AB’C’
Suma de productos
❒ También conocida como expansión de
minterminos
F = 001 011 101 110 111
+ A’BC + AB’C + ABC’ + ABC
A’B’C
3: Canónicas 5
forma corta de escribir minterms
(ejemplo de 3 terminos o 23 = 8 minterms)
A B C minterms
0 0 0 A’B’C’ m0
0 0 1 A’B’C m1
0 1 0 A’BC’ m2
0 1 1 A’BC m3
1 0 0 AB’C’ m4
1 0 1 AB’C m5
1 1 0 ABC’ m6
1 1 1 ABC m7
F en forma canónica:
F(A, B, C) = Σm(1,3,5,6,7)
= m1 + m3 + m5 + m6 + m7
= A’B’C + A’BC + AB’C + ABC’ + ABC
forma canónica ≠ forma minima
F(A, B, C) = A’B’C + A’BC + AB’C + ABC + ABC’
= (A’B’ + A’B + AB’ + AB)C + ABC’
= ((A’ + A)(B’ + B))C + ABC’
= C + ABC’
= ABC’ + C
= AB + C
Suma de productos
❒ Términos son productos (o minterms)
❍ productos AND de literales – para las combinacion de input para
los que el output es verdad
❍ en cada producto cada variable aparece exactamente una ves
(puede estar invertida)
3: Canónicas 6
A B C F F’
0 0 0 0 1
0 0 1 1 0
0 1 0 0 1
0 1 1 1 0
1 0 0 0 1
1 0 1 1 0
1 1 0 1 0
1 1 1 1 0
F = 000 010 100
F =
F’ = (A + B + C’) (A + B’ + C’) (A’ + B + C’) (A’ + B’ + C) (A’ + B’ + C’)
Producto de sumas
❒ También conocida como expansión de
maxterminos
(A + B + C) (A + B’ + C) (A’ + B + C)
3: Canónicas 7
A B C maxterms
0 0 0 A+B+C M0
0 0 1 A+B+C’ M1
0 1 0 A+B’+C M2
0 1 1 A+B’+C’ M3
1 0 0 A’+B+C M4
1 0 1 A’+B+C’ M5
1 1 0 A’+B’+C M6
1 1 1 A’+B’+C’ M7
forma corta de escribir minterminos
(ejemplo de 3 términos o 23 = 8 minterminos)
F en forma canónica:
F(A, B, C) = ΠM(0,2,4)
= M0 • M2 • M4
= (A + B + C) (A + B’ + C) (A’ + B + C)
forma canónica ≠ forma minima
F(A, B, C) = (A + B + C) (A + B’ + C) (A’ + B + C)
= (A + B + C) (A + B’ + C)
(A + B + C) (A’ + B + C)
= (A + C) (B + C)
Producto de sumas
❒ Términos son sumas (o maxterminos)
❍ suma OR de literales – para las combinacion de input para los
que el output es falso
❍ en cada producto cada variable aparece exactamente una ves
(puede estar invertida)
3: Canónicas 8
Conversión entre formas canónicas
❒ Es posible convertir entre ambas formas canónicas
❒ Para n variables (0 ≤ i ≤ 2n-1)
mi = Mi
Mi = mi
∑ mi = ∏ Mi
∏ Mi = ∑ mi
3: Canónicas 9
Conversión entre formas canónicas
❒ Suma de productos
❍ F’ = A’B’C’ + A’BC’ + AB’C’
❒ Usando de Morgan’s: f’(X1,X2,...,Xn,0,1,+,•) = f(X1’,X2’,...,Xn’,1,0,•,+)
❍ (F’)’ = (A’B’C’ + A’BC’ + AB’C’)’
❍ F = (A + B + C) (A + B’ + C) (A’ + B + C)
❒ Producto de sumas
❍ F’ = (A + B + C’) (A + B’ + C’) (A’ + B + C’) (A’ + B’ + C) (A’ + B’ + C’)
❒ Usando de Morgan’s
❍ (F’)’ = ( (A + B + C’)(A + B’ + C’)(A’ + B + C’)(A’ + B’ + C)(A’ + B’ + C’) )’
❍ F = A’B’C + A’BC + AB’C + ABC’ + ABC
3: Canónicas 10
Conversión entre formas canónicas
❒ Conversión de minterminos a maxterminos
❍ usar maxterminos cuyos índices no aparecen en expansión
de minterminos
❍ e.g., F(A,B,C) = Σm(1,3,5,6,7) = ΠM(0,2,4)
❒ Conversión de maxterminos a minterminos
❍ usar minterminos cuyos índices no aparecen en expansión
de maxterminos
❍ e.g., F(A,B,C) = ΠM(0,2,4) = Σm(1,3,5,6,7)
❒ Conversión de expansión de minterminos de F a F’
❍ usar minterminos cuyos índices no aparecen
❍ e.g., F(A,B,C) = Σm(1,3,5,6,7) F’(A,B,C) = Σm(0,2,4)
❒ Conversión de expansión de maxterminos de F a F’
❍ usar maxterminos cuyos índices no aparecen
❍ e.g., F(A,B,C) = ΠM(0,2,4) F’(A,B,C) = ΠM(1,3,5,6,7)
3: Canónicas 11
suma de productos
suma de productos minimizada
producto de sumas
producto de sumas minimizada
F1
F2
F3
B
A
C
F4
Implementaciones alternativas
en dos niveles
❒ Ejemplo: F=ab+c
3: Canónicas 12
Señales para las cuatro alternativas
❒ Esencialmente idénticas
❍ excepto por perturbaciones
❍ retardos son muy similares
❍ otros ejemplos mas adelante
3: Canónicas 13
3-Formas Canonicas
3.1 Expresiones canónicas: minterminos y
maxterminos
3.2 Expansión a las formas canónicas
3.3 Síntesis de las formas canónicas
3.4 Diseño lógico y simplificación
3: Canónicas 14
Expansión a las formas canónicas
❒ Cualquier función booleana puede ser
representada en forma canónica.
❒ El proceso de obtener la forma canónica se
denomina expansión
❒ Un método directo consiste en obtener la
tabla de verdad, y luego identificar los
mintérminos o los maxtérminos
❒ Otra posibilidad, que se estudia a
continuación, es mediante un desarrollo
algebraico basado en los postulados y
teoremas del álgebra de Boole
3: Canónicas 15
Expansión a suma de productos
❒ Basado en el uso repetitivo del teorema de
unificación:
❍ a = ab + ab’
❒ Ejemplo: f(a, b, c) = a + bc’ + abc
Término a: a = ab + ab’
= (ab + ab’)c + (ab + ab’)c’
= abc + ab’c + abc’ + ab’c’
= m7 + m5 + m6 + m4
Término bc’: bc’ = abc’ + a’bc’
= m6 + m2
Entonces, f(a, b, c) = m2 + m4 + m5 + m6 + m7
3: Canónicas 16
Expansión a productos de sumas
❒ Basado en el uso repetitivo del teorema de
unificación:
❍ a = (a + b)(a + b’)
❒ Ejemplo: f(a, b, c) = (a + b)(b + c’)
Término (a+b): (a+b) = (a+b+c)(a+b+c’)
= M0 M1
Término (b+c’): (b+c’) = (a+b+c’)(a’+b+c’)
= M1 M5
Entonces, f(a, b, c) = M0 M1 M5
3: Canónicas 17
3-Formas Canonicas
3.1 Expresiones canónicas: minterminos y
maxterminos
3.2 Expansión a las formas canónicas
3.3 Síntesis de las formas canónicas
3.4 Diseño lógico y simplificación
3: Canónicas 18
Síntesis usando suma de productos
❒ Dada una función mediante una suma de
productos, ésta puede implementarse usando
un OR de AND's
❒ Ejemplo: implementación en dos niveles de
f(a, b, c, d) = ab + cd, se logra directamente
3: Canónicas 19
Síntesis usando suma de productos
❒ Una red es de n niveles, cuando una señal
de entrada debe pasar a través de n
compuertas para llegar a la salida.
❒ La señal de entrada que recorra más
compuertas hasta llegar a la salida, es la
que define la cantidad de niveles; el
recorrido se denomina ruta crítica y define
el retardo de propagación de la red.
❒ Debe notarse que se considera que se
dispone de entradas invertidas (e.g. b‘) ya
que si sólo se dispone de variables (e.g. b)
se requiere un nivel adicional.
3: Canónicas 20
Síntesis usando suma de productos
❒ También puede implementarse usando
solamente compuertas NAND
❍ Ejemplo: f = ab’+cd
3: Canónicas 21
Síntesis usando suma de productos
❒ La técnica anterior se denomina método de
doble complementación:
❒ Se puede visualizar en forma gráfica según:
❒ El siguiente es el equivalente grafico del
Teorema de De Morgan:
3: Canónicas 22
Conversión de producto de sumas a
suma de productos
❒ Si tenemos una función de tipo producto de sumas se
puede convertir usando doble complementación en
suma de productos
❒ Aplicando De Morgan y complementando:
A
B’
C
D
f
A
B’
C
D
f
A
B’
C
D
f f ’
A’
B
C’
D’
3: Canónicas 23
Conversión de producto de sumas a
suma de productos
❒ Hay que notar que la implementación como suma de
productos tiene todas las variables de entrada y
salida complementadas respecto a su forma inicial.
❒ También se puede convertir una expresión de tipo
suma de productos a la forma producto de sumas al
cambiar los ANDs del primer nivel por ORs y en el
segundo nivel los ORs por ANDs además de
complementar variables de entrada y salida.
3: Canónicas 24
3-Formas Canonicas
3.1 Expresiones canónicas: minterminos y
maxterminos
3.2 Expansión a las formas canónicas
3.3 Síntesis de las formas canónicas
3.4 Diseño lógico y simplificación
3: Canónicas 25
Diseño lógico: fan-in y fan-out
❒ Las compuertas lógicas tienen ciertas características
concretas dadas por su implementación física. Dos de
ellas son el fan
- in y el fan
- o
ut.
❒ Fan
- in es el numero de circuitos o compuertas de
entrada (e.g. de dos entradas) que puede soportar
una compuerta.
❒ Una compuerta con un fan
- in mayor tienden a ser mas
lentas por que se incrementa la capacitancia de la
compuerta.
3: Canónicas 26
Diseño lógico: fan-in y fan-out
❒ Fan
- o
ut es el numero de compuertas que pueden ser
alimentadas o comandada por una salida de la
compuerta.
❒ Un mayor numero de niveles en un circuito causa que
este tenga un comportamiento mas lento ya que la
conmutación debe propagarse a través de mas
compuertas.
❒ Un menor numero de niveles requiere compuertas con
un mayor fan
- in lo que generalmente implica ocupar
mas pastillas en la implementación.
3: Canónicas 27
A B C D W X Y Z
0 0 0 0 0 0 0 1
0 0 0 1 0 0 1 0
0 0 1 0 0 0 1 1
0 0 1 1 0 1 0 0
0 1 0 0 0 1 0 1
0 1 0 1 0 1 1 0
0 1 1 0 0 1 1 1
0 1 1 1 1 0 0 0
1 0 0 0 1 0 0 1
1 0 0 1 0 0 0 0
1 0 1 0 X X X X
1 0 1 1 X X X X
1 1 0 0 X X X X
1 1 0 1 X X X X
1 1 1 0 X X X X
1 1 1 1 X X X X
off-set de W
estos patrones de input nunca
se deberían encontrar en la
practica – "don’t care" sobre sus
valores de salida se pueden utilizar
en la minimización
Funciones incompletamente
especificadas
❒ Ejemplo: Numero binarios codificados (BCD) incrementado por 1
❍ BCD codifica números decimales 0 – 9 en los patrones de bits
0000 – 1001
don’t care (DC) set d W
on-set de W
3: Canónicas 28
Descripción de funciones
incompletamente especificadas
❒ Formas canónicas y don’t cares (X)
❍ hasta ahora solo han representado on-set
❍ formas canónicas también representan conjunto don’t-care
❍ se necesitan dos de los tres conjuntos (on-set, off-set, dc-set)
❒ Representación canónicas de la función BCD incrementada por 1:
❍ Z = m0 + m2 + m4 + m6 + m8 + d10 + d11 + d12 + d13 + d14 + d15
❍ Z = Σ [ m(0,2,4,6,8) + d(10,11,12,13,14,15) ]
❍ Z = M1 • M3 • M5 • M7 • M9 • D10 • D11 • D12 • D13 • D14 • D15
❍ Z = Π [ M(1,3,5,7,9) • D(10,11,12,13,14,15) ]
3: Canónicas 29
Simplificación de lógica
combinacional de dos niveles
❒ Encontrar una realización mínima de suma de productos o
productos de suma
❍ explotar información X (don’t care) en el proceso
❒ Simplificación algebraica
❍ no hay procedimiento algorítmico/sistemático
❍ ¿como se sabe cuando la mínima realización se encontró?
❒ Herramientas computacionales
❍ soluciones precisas requieren tiempos de computación largos
especialmente para funciones con muchos inputs (> 10)
❍ heurísticas se usan para encontrar “buenos” resultados
(generalmente no son el optimo global)
3: Canónicas 30
Simplificación de lógica
combinacional de dos niveles
❒ Métodos a mano son relevantes
❍ para encontrar las herramientas automáticas y sus
fuerzas y debilidades
❍ se pueden verificar resultados (en casos pequeños)
3: Canónicas 31
A B F
0 0 1
0 1 0
1 0 1
1 1 0
B tiene el mismo valor en las dos filas– B se
mantiene
A tiene valores diferentes en ambas filas– A
se elimina
F = A’B’+AB’ = (A’+A)B’ = B’
Simplificación de lógica combinacional
de dos niveles
❒ Teorema de unificación, clave para la simplificación :
A (B’ + B) = A
❒ Esencia de la simplificación de lógica de dos niveles
❍ encontrar (o crear) subconjuntos de dos elementos del on-
set en los cuales solo una variable cambia de valor – esta
variable puede ser eliminada y un termino puede
remplazar al los dos termimos previos
3: Canónicas 32
Simplificación de lógica combinacional
de dos niveles
❒ Usando teoremas para minimizar (e.g. idempotencia, commutatividad,
distributividad, unificación, complementariedad, identidad,...)
❒ Ejemplo:
Cout = A’ B Cin + A B’ Cin + A B Cin’ + A B Cin
= A’ B Cin + A B’ Cin + A B Cin’ + A B Cin + A B Cin
= A’ B Cin + A B Cin + A B’ Cin + A B Cin’ + A B Cin
= (A’ + A) B Cin + A B’ Cin + A B Cin’ + A B Cin
= (1) B Cin + A B’ Cin + A B Cin’ + A B Cin
= B Cin + A B’ Cin + A B Cin’ + A B Cin + A B Cin
= B Cin + A B’ Cin + A B Cin + A B Cin’ + A B Cin
= B Cin + A (B’ + B) Cin + A B Cin’ + A B Cin
= B Cin + A (1) Cin + A B Cin’ + A B Cin
= B Cin + A Cin + A B (Cin’ + Cin)
= B Cin + A Cin + A B (1)
= B Cin + A Cin + A B sumar terminos para
factorizar
3: Canónicas 33
Diseño lógico: perturbaciones
❒ Implementaciones de circuitos lógicos pueden
incluir condiciones que causan perturbaciones
(como resultados de carreras) en los outputs
de implementaciones de circuitos
❒ En circuitos con mas de dos niveles pueden
generarse perturbaciones con mas de un
cambio momentáneo
3: Canónicas 34
Ejemplo: perturbaciones
❒ Implementaciones de circuitos lógicos pueden
incluir condiciones que causan perturbaciones
(como resultados de carreras) en los outputs de
implementaciones de circuitos
❒ Una perturbación estática es un cambio
momentáneo de un nivel constante en el output
(un falso cero o un falso uno)
❒ En circuitos con mas de dos niveles pueden
generarse perturbaciones con mas de un cambio
momentáneo
❒ Una perturbación dinámica es una perturbación
que ocurre durante el cambio de una variable de
salida
3: Canónicas 35
Diseño lógico: perturbaciones
❒ Ejemplo: P = (((A’+B)’ + (D’+C)’)’+A)’ =
A’(AB’+C’D)
❍ Con {B=0 y C=1} o {B=0 y D=0} se presentan
perturbaciones en el canto de bajada de A atrasado
❒ Actividad: Mostrar porque y como ocurre esto
e indicar como eliminar el problema
A
B
C
D
P
3: Canónicas 36
Actividad: Diseño lógico y perturbaciones
❒ ¿Porque ocurre las perturbaciones? Recordemos que
las perturbaciones ocurren cuando una misma señal
tiene múltiples caminos que causan carreras en los
inputs a una compuerta.
X
X’
X
X’
3: Canónicas 37
Actividad: Diseño lógico y perturbaciones
❒ Ejemplo: z = x + x’
❍ En una tabla de verdad se aprecia que y nunca debería ser 0
❍ Pero dado que hay carreras z si es 0 en el diagrama temporal
(perturbación)
X
X’
Z
X
X’
Z
t
perturbación
Carrera en señales de entrada
3: Canónicas 38
Actividad: Diseño lógico y perturbaciones
❒ Análisis: Si se hace una tabla de verdad se puede
apreciar que la salida P nunca es igual a 1
❒ Cuando A = 1 y {B=0 y C=1} o {B=0 y D=0} después de
un tiempo de propagación X = 1 y X’ = 0
❒ Después del cambio de a A = 0 y de una propagación
en la ruta mas rápida X = 0 y X’ = 0
❒ Es durante este tiempo de propagación que P se
convierte en 1 causando la perturbación
A
B
C
D
P
X
X'
Y
Z
3: Canónicas 39
Actividad: Diseño lógico y perturbaciones
❒ Solución: Para eliminar la perturbación se puede
simplificar más (para eliminar la carreras de X con X’...):
❒ P = (((A’+B)’ + (D’+C)’)’+A)’ = A’(AB’+C’D)
= A’AB’ + A’C’D = A’C’D
❒ Mas ejemplos en los apuntes...
A
B
C
D
P
A’
C’
D
P

Más contenido relacionado

DOCX
Diagrama de bode
PPT
Integración Romberg
DOCX
TIPOS DE DATOS MATLAB
PPT
No lineales
PDF
2. compuertas lógicas y álgebra booleana
PPT
15a clase comparadores
PDF
Resistencia de entrada, salida y ganancia de un amplificador realimentado.
Diagrama de bode
Integración Romberg
TIPOS DE DATOS MATLAB
No lineales
2. compuertas lógicas y álgebra booleana
15a clase comparadores
Resistencia de entrada, salida y ganancia de un amplificador realimentado.

La actualidad más candente (20)

DOC
teoremas de limites
PDF
Informe practica #1 23 06-17
PPT
Aplicaciones de las funciones en los automóviles
PDF
RAÍCES DE ECUACIONES NO LINEALES
DOCX
Matrices
PDF
Tema 5 de Electrónica digital: Circuitos secuenciales
DOC
Modelo híbrido del bjt
PDF
Algebra de boole y simplificacion logica
PPTX
5. calculo multivariable
PDF
Lógica y Algoritmos 4. estructuras secuenciales y selectivas
PDF
Teoria electromagnetica - Campos Magnéticos Variantes Tiempo
PPTX
Métodos de bisección
PPSX
Método de romberg
PDF
Arduino c++ y puerto serie
PDF
Electrónica digital: Sumadores y restadores
PPTX
Sistema de ecuaciones lineales
PPTX
2.1 metodo de intervalo
PPTX
Algebra booleana y circuitos combinatorios
PDF
teoremas de limites
Informe practica #1 23 06-17
Aplicaciones de las funciones en los automóviles
RAÍCES DE ECUACIONES NO LINEALES
Matrices
Tema 5 de Electrónica digital: Circuitos secuenciales
Modelo híbrido del bjt
Algebra de boole y simplificacion logica
5. calculo multivariable
Lógica y Algoritmos 4. estructuras secuenciales y selectivas
Teoria electromagnetica - Campos Magnéticos Variantes Tiempo
Métodos de bisección
Método de romberg
Arduino c++ y puerto serie
Electrónica digital: Sumadores y restadores
Sistema de ecuaciones lineales
2.1 metodo de intervalo
Algebra booleana y circuitos combinatorios
Publicidad

Similar a 3-Formas Canonicas.pdf (20)

PDF
S3_PPT_OPTIMIZACIÓN DE FUNCIÓN REAL DE VARIABLE REAL.pdf
DOCX
Método de simplificación por Mapa de Karnaugh
PDF
CIRCUITOS DIGITALES CI Unid II Simplificacion de Funciones Logicas Boole y M...
PDF
Electrónica digital: Método de Karnaugh
PDF
Electrónica digital: Método de mapa de karnaugh
PPT
1 numeros reales operaciones
PDF
Programación separable(change-pdf-page-size).pdf
PDF
Formulario Algebra sin marcas de agua sin
DOCX
Simplificación de funciones
DOC
2.2 trabajo con variables (mayo 07)
DOCX
Tema 3 - Algebra de Boole.docx
PDF
C03 met-num-ajuste curvas
PPTX
Razonamiento Cuantitativo
PDF
Expresiones algebraicas
PDF
Mas_de_400_ejercicios_de_programacion_en (2).pdf
PDF
Mas_de_400_ejercicios_de_programacion_en (1).pdf
PPTX
Factorización
PDF
karnaugh.pdf
PDF
Formulario 01 matematica 4to
PPT
Electrónica digital
S3_PPT_OPTIMIZACIÓN DE FUNCIÓN REAL DE VARIABLE REAL.pdf
Método de simplificación por Mapa de Karnaugh
CIRCUITOS DIGITALES CI Unid II Simplificacion de Funciones Logicas Boole y M...
Electrónica digital: Método de Karnaugh
Electrónica digital: Método de mapa de karnaugh
1 numeros reales operaciones
Programación separable(change-pdf-page-size).pdf
Formulario Algebra sin marcas de agua sin
Simplificación de funciones
2.2 trabajo con variables (mayo 07)
Tema 3 - Algebra de Boole.docx
C03 met-num-ajuste curvas
Razonamiento Cuantitativo
Expresiones algebraicas
Mas_de_400_ejercicios_de_programacion_en (2).pdf
Mas_de_400_ejercicios_de_programacion_en (1).pdf
Factorización
karnaugh.pdf
Formulario 01 matematica 4to
Electrónica digital
Publicidad

Último (20)

DOCX
V UNIDAD - PRIMER GRADO. del mes de agosto
PDF
Como Potenciar las Emociones Positivas y Afrontar las Negativas Ccesa007.pdf
PDF
Nadie puede salvarte excepto Tú - Madame Rouge Ccesa007.pdf
PDF
Tomo 1 de biologia gratis ultra plusenmas
DOCX
PLAN DE AREA DE CIENCIAS SOCIALES TODOS LOS GRUPOS
PDF
LIBRO 2-SALUD Y AMBIENTE-4TO CEBA avanzado.pdf
PDF
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
PDF
TOMO II - LITERATURA.pd plusenmas ultras
DOCX
PLANES DE área ciencias naturales y aplicadas
PDF
2.0 Introduccion a processing, y como obtenerlo
PDF
Escuelas Desarmando una mirada subjetiva a la educación
PDF
IPERC...................................
PDF
Esc. Sab. Lección 7. El pan y el agua de vida.pdf
PDF
Introduccion a la Investigacion Cualitativa FLICK Ccesa007.pdf
PDF
informe tipos de Informatica perfiles profesionales _pdf
PDF
Cronograma de clases de Práctica Profesional 2 2025 UDE.pdf
PPTX
MATEMATICAS GEOMETRICA USO TRANSPORTADOR
DOCX
V UNIDAD - SEGUNDO GRADO. del mes de agosto
PDF
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
PDF
el - LIBRO-PACTO-EDUCATIVO-GLOBAL-OIEC.pdf
V UNIDAD - PRIMER GRADO. del mes de agosto
Como Potenciar las Emociones Positivas y Afrontar las Negativas Ccesa007.pdf
Nadie puede salvarte excepto Tú - Madame Rouge Ccesa007.pdf
Tomo 1 de biologia gratis ultra plusenmas
PLAN DE AREA DE CIENCIAS SOCIALES TODOS LOS GRUPOS
LIBRO 2-SALUD Y AMBIENTE-4TO CEBA avanzado.pdf
Integrando la Inteligencia Artificial Generativa (IAG) en el Aula
TOMO II - LITERATURA.pd plusenmas ultras
PLANES DE área ciencias naturales y aplicadas
2.0 Introduccion a processing, y como obtenerlo
Escuelas Desarmando una mirada subjetiva a la educación
IPERC...................................
Esc. Sab. Lección 7. El pan y el agua de vida.pdf
Introduccion a la Investigacion Cualitativa FLICK Ccesa007.pdf
informe tipos de Informatica perfiles profesionales _pdf
Cronograma de clases de Práctica Profesional 2 2025 UDE.pdf
MATEMATICAS GEOMETRICA USO TRANSPORTADOR
V UNIDAD - SEGUNDO GRADO. del mes de agosto
Unidad de Aprendizaje 5 de Matematica 1ro Secundaria Ccesa007.pdf
el - LIBRO-PACTO-EDUCATIVO-GLOBAL-OIEC.pdf

3-Formas Canonicas.pdf

  • 1. 3: Canónicas 1 ELO211: Sistemas Digitales Tomás Arredondo Vidal 1er Semestre – 2009 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
  • 2. 3: Canónicas 2 3-Formas Canonicas 3.1 Expresiones canónicas: minterminos y maxterminos 3.2 Expansión a las formas canónicas 3.3 Síntesis de las formas canónicas 3.4 Diseño lógico y simplificación
  • 3. 3: Canónicas 3 Expresiones Canónicas ❒ Existen dos formas básicas de expresiones canónicas que pueden ser implementadas en dos niveles de compuertas: ❍ suma de productos o expansión de minterminos ❍ producto de sumas o expansión de maxterminos ❒ Permiten asociar a una función una expresión algebraica única ❒ La tabla de verdad también es una representación única para una función booleana
  • 4. 3: Canónicas 4 A B C F F’ 0 0 0 0 1 0 0 1 1 0 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 0 F = F’ = A’B’C’ + A’BC’ + AB’C’ Suma de productos ❒ También conocida como expansión de minterminos F = 001 011 101 110 111 + A’BC + AB’C + ABC’ + ABC A’B’C
  • 5. 3: Canónicas 5 forma corta de escribir minterms (ejemplo de 3 terminos o 23 = 8 minterms) A B C minterms 0 0 0 A’B’C’ m0 0 0 1 A’B’C m1 0 1 0 A’BC’ m2 0 1 1 A’BC m3 1 0 0 AB’C’ m4 1 0 1 AB’C m5 1 1 0 ABC’ m6 1 1 1 ABC m7 F en forma canónica: F(A, B, C) = Σm(1,3,5,6,7) = m1 + m3 + m5 + m6 + m7 = A’B’C + A’BC + AB’C + ABC’ + ABC forma canónica ≠ forma minima F(A, B, C) = A’B’C + A’BC + AB’C + ABC + ABC’ = (A’B’ + A’B + AB’ + AB)C + ABC’ = ((A’ + A)(B’ + B))C + ABC’ = C + ABC’ = ABC’ + C = AB + C Suma de productos ❒ Términos son productos (o minterms) ❍ productos AND de literales – para las combinacion de input para los que el output es verdad ❍ en cada producto cada variable aparece exactamente una ves (puede estar invertida)
  • 6. 3: Canónicas 6 A B C F F’ 0 0 0 0 1 0 0 1 1 0 0 1 0 0 1 0 1 1 1 0 1 0 0 0 1 1 0 1 1 0 1 1 0 1 0 1 1 1 1 0 F = 000 010 100 F = F’ = (A + B + C’) (A + B’ + C’) (A’ + B + C’) (A’ + B’ + C) (A’ + B’ + C’) Producto de sumas ❒ También conocida como expansión de maxterminos (A + B + C) (A + B’ + C) (A’ + B + C)
  • 7. 3: Canónicas 7 A B C maxterms 0 0 0 A+B+C M0 0 0 1 A+B+C’ M1 0 1 0 A+B’+C M2 0 1 1 A+B’+C’ M3 1 0 0 A’+B+C M4 1 0 1 A’+B+C’ M5 1 1 0 A’+B’+C M6 1 1 1 A’+B’+C’ M7 forma corta de escribir minterminos (ejemplo de 3 términos o 23 = 8 minterminos) F en forma canónica: F(A, B, C) = ΠM(0,2,4) = M0 • M2 • M4 = (A + B + C) (A + B’ + C) (A’ + B + C) forma canónica ≠ forma minima F(A, B, C) = (A + B + C) (A + B’ + C) (A’ + B + C) = (A + B + C) (A + B’ + C) (A + B + C) (A’ + B + C) = (A + C) (B + C) Producto de sumas ❒ Términos son sumas (o maxterminos) ❍ suma OR de literales – para las combinacion de input para los que el output es falso ❍ en cada producto cada variable aparece exactamente una ves (puede estar invertida)
  • 8. 3: Canónicas 8 Conversión entre formas canónicas ❒ Es posible convertir entre ambas formas canónicas ❒ Para n variables (0 ≤ i ≤ 2n-1) mi = Mi Mi = mi ∑ mi = ∏ Mi ∏ Mi = ∑ mi
  • 9. 3: Canónicas 9 Conversión entre formas canónicas ❒ Suma de productos ❍ F’ = A’B’C’ + A’BC’ + AB’C’ ❒ Usando de Morgan’s: f’(X1,X2,...,Xn,0,1,+,•) = f(X1’,X2’,...,Xn’,1,0,•,+) ❍ (F’)’ = (A’B’C’ + A’BC’ + AB’C’)’ ❍ F = (A + B + C) (A + B’ + C) (A’ + B + C) ❒ Producto de sumas ❍ F’ = (A + B + C’) (A + B’ + C’) (A’ + B + C’) (A’ + B’ + C) (A’ + B’ + C’) ❒ Usando de Morgan’s ❍ (F’)’ = ( (A + B + C’)(A + B’ + C’)(A’ + B + C’)(A’ + B’ + C)(A’ + B’ + C’) )’ ❍ F = A’B’C + A’BC + AB’C + ABC’ + ABC
  • 10. 3: Canónicas 10 Conversión entre formas canónicas ❒ Conversión de minterminos a maxterminos ❍ usar maxterminos cuyos índices no aparecen en expansión de minterminos ❍ e.g., F(A,B,C) = Σm(1,3,5,6,7) = ΠM(0,2,4) ❒ Conversión de maxterminos a minterminos ❍ usar minterminos cuyos índices no aparecen en expansión de maxterminos ❍ e.g., F(A,B,C) = ΠM(0,2,4) = Σm(1,3,5,6,7) ❒ Conversión de expansión de minterminos de F a F’ ❍ usar minterminos cuyos índices no aparecen ❍ e.g., F(A,B,C) = Σm(1,3,5,6,7) F’(A,B,C) = Σm(0,2,4) ❒ Conversión de expansión de maxterminos de F a F’ ❍ usar maxterminos cuyos índices no aparecen ❍ e.g., F(A,B,C) = ΠM(0,2,4) F’(A,B,C) = ΠM(1,3,5,6,7)
  • 11. 3: Canónicas 11 suma de productos suma de productos minimizada producto de sumas producto de sumas minimizada F1 F2 F3 B A C F4 Implementaciones alternativas en dos niveles ❒ Ejemplo: F=ab+c
  • 12. 3: Canónicas 12 Señales para las cuatro alternativas ❒ Esencialmente idénticas ❍ excepto por perturbaciones ❍ retardos son muy similares ❍ otros ejemplos mas adelante
  • 13. 3: Canónicas 13 3-Formas Canonicas 3.1 Expresiones canónicas: minterminos y maxterminos 3.2 Expansión a las formas canónicas 3.3 Síntesis de las formas canónicas 3.4 Diseño lógico y simplificación
  • 14. 3: Canónicas 14 Expansión a las formas canónicas ❒ Cualquier función booleana puede ser representada en forma canónica. ❒ El proceso de obtener la forma canónica se denomina expansión ❒ Un método directo consiste en obtener la tabla de verdad, y luego identificar los mintérminos o los maxtérminos ❒ Otra posibilidad, que se estudia a continuación, es mediante un desarrollo algebraico basado en los postulados y teoremas del álgebra de Boole
  • 15. 3: Canónicas 15 Expansión a suma de productos ❒ Basado en el uso repetitivo del teorema de unificación: ❍ a = ab + ab’ ❒ Ejemplo: f(a, b, c) = a + bc’ + abc Término a: a = ab + ab’ = (ab + ab’)c + (ab + ab’)c’ = abc + ab’c + abc’ + ab’c’ = m7 + m5 + m6 + m4 Término bc’: bc’ = abc’ + a’bc’ = m6 + m2 Entonces, f(a, b, c) = m2 + m4 + m5 + m6 + m7
  • 16. 3: Canónicas 16 Expansión a productos de sumas ❒ Basado en el uso repetitivo del teorema de unificación: ❍ a = (a + b)(a + b’) ❒ Ejemplo: f(a, b, c) = (a + b)(b + c’) Término (a+b): (a+b) = (a+b+c)(a+b+c’) = M0 M1 Término (b+c’): (b+c’) = (a+b+c’)(a’+b+c’) = M1 M5 Entonces, f(a, b, c) = M0 M1 M5
  • 17. 3: Canónicas 17 3-Formas Canonicas 3.1 Expresiones canónicas: minterminos y maxterminos 3.2 Expansión a las formas canónicas 3.3 Síntesis de las formas canónicas 3.4 Diseño lógico y simplificación
  • 18. 3: Canónicas 18 Síntesis usando suma de productos ❒ Dada una función mediante una suma de productos, ésta puede implementarse usando un OR de AND's ❒ Ejemplo: implementación en dos niveles de f(a, b, c, d) = ab + cd, se logra directamente
  • 19. 3: Canónicas 19 Síntesis usando suma de productos ❒ Una red es de n niveles, cuando una señal de entrada debe pasar a través de n compuertas para llegar a la salida. ❒ La señal de entrada que recorra más compuertas hasta llegar a la salida, es la que define la cantidad de niveles; el recorrido se denomina ruta crítica y define el retardo de propagación de la red. ❒ Debe notarse que se considera que se dispone de entradas invertidas (e.g. b‘) ya que si sólo se dispone de variables (e.g. b) se requiere un nivel adicional.
  • 20. 3: Canónicas 20 Síntesis usando suma de productos ❒ También puede implementarse usando solamente compuertas NAND ❍ Ejemplo: f = ab’+cd
  • 21. 3: Canónicas 21 Síntesis usando suma de productos ❒ La técnica anterior se denomina método de doble complementación: ❒ Se puede visualizar en forma gráfica según: ❒ El siguiente es el equivalente grafico del Teorema de De Morgan:
  • 22. 3: Canónicas 22 Conversión de producto de sumas a suma de productos ❒ Si tenemos una función de tipo producto de sumas se puede convertir usando doble complementación en suma de productos ❒ Aplicando De Morgan y complementando: A B’ C D f A B’ C D f A B’ C D f f ’ A’ B C’ D’
  • 23. 3: Canónicas 23 Conversión de producto de sumas a suma de productos ❒ Hay que notar que la implementación como suma de productos tiene todas las variables de entrada y salida complementadas respecto a su forma inicial. ❒ También se puede convertir una expresión de tipo suma de productos a la forma producto de sumas al cambiar los ANDs del primer nivel por ORs y en el segundo nivel los ORs por ANDs además de complementar variables de entrada y salida.
  • 24. 3: Canónicas 24 3-Formas Canonicas 3.1 Expresiones canónicas: minterminos y maxterminos 3.2 Expansión a las formas canónicas 3.3 Síntesis de las formas canónicas 3.4 Diseño lógico y simplificación
  • 25. 3: Canónicas 25 Diseño lógico: fan-in y fan-out ❒ Las compuertas lógicas tienen ciertas características concretas dadas por su implementación física. Dos de ellas son el fan - in y el fan - o ut. ❒ Fan - in es el numero de circuitos o compuertas de entrada (e.g. de dos entradas) que puede soportar una compuerta. ❒ Una compuerta con un fan - in mayor tienden a ser mas lentas por que se incrementa la capacitancia de la compuerta.
  • 26. 3: Canónicas 26 Diseño lógico: fan-in y fan-out ❒ Fan - o ut es el numero de compuertas que pueden ser alimentadas o comandada por una salida de la compuerta. ❒ Un mayor numero de niveles en un circuito causa que este tenga un comportamiento mas lento ya que la conmutación debe propagarse a través de mas compuertas. ❒ Un menor numero de niveles requiere compuertas con un mayor fan - in lo que generalmente implica ocupar mas pastillas en la implementación.
  • 27. 3: Canónicas 27 A B C D W X Y Z 0 0 0 0 0 0 0 1 0 0 0 1 0 0 1 0 0 0 1 0 0 0 1 1 0 0 1 1 0 1 0 0 0 1 0 0 0 1 0 1 0 1 0 1 0 1 1 0 0 1 1 0 0 1 1 1 0 1 1 1 1 0 0 0 1 0 0 0 1 0 0 1 1 0 0 1 0 0 0 0 1 0 1 0 X X X X 1 0 1 1 X X X X 1 1 0 0 X X X X 1 1 0 1 X X X X 1 1 1 0 X X X X 1 1 1 1 X X X X off-set de W estos patrones de input nunca se deberían encontrar en la practica – "don’t care" sobre sus valores de salida se pueden utilizar en la minimización Funciones incompletamente especificadas ❒ Ejemplo: Numero binarios codificados (BCD) incrementado por 1 ❍ BCD codifica números decimales 0 – 9 en los patrones de bits 0000 – 1001 don’t care (DC) set d W on-set de W
  • 28. 3: Canónicas 28 Descripción de funciones incompletamente especificadas ❒ Formas canónicas y don’t cares (X) ❍ hasta ahora solo han representado on-set ❍ formas canónicas también representan conjunto don’t-care ❍ se necesitan dos de los tres conjuntos (on-set, off-set, dc-set) ❒ Representación canónicas de la función BCD incrementada por 1: ❍ Z = m0 + m2 + m4 + m6 + m8 + d10 + d11 + d12 + d13 + d14 + d15 ❍ Z = Σ [ m(0,2,4,6,8) + d(10,11,12,13,14,15) ] ❍ Z = M1 • M3 • M5 • M7 • M9 • D10 • D11 • D12 • D13 • D14 • D15 ❍ Z = Π [ M(1,3,5,7,9) • D(10,11,12,13,14,15) ]
  • 29. 3: Canónicas 29 Simplificación de lógica combinacional de dos niveles ❒ Encontrar una realización mínima de suma de productos o productos de suma ❍ explotar información X (don’t care) en el proceso ❒ Simplificación algebraica ❍ no hay procedimiento algorítmico/sistemático ❍ ¿como se sabe cuando la mínima realización se encontró? ❒ Herramientas computacionales ❍ soluciones precisas requieren tiempos de computación largos especialmente para funciones con muchos inputs (> 10) ❍ heurísticas se usan para encontrar “buenos” resultados (generalmente no son el optimo global)
  • 30. 3: Canónicas 30 Simplificación de lógica combinacional de dos niveles ❒ Métodos a mano son relevantes ❍ para encontrar las herramientas automáticas y sus fuerzas y debilidades ❍ se pueden verificar resultados (en casos pequeños)
  • 31. 3: Canónicas 31 A B F 0 0 1 0 1 0 1 0 1 1 1 0 B tiene el mismo valor en las dos filas– B se mantiene A tiene valores diferentes en ambas filas– A se elimina F = A’B’+AB’ = (A’+A)B’ = B’ Simplificación de lógica combinacional de dos niveles ❒ Teorema de unificación, clave para la simplificación : A (B’ + B) = A ❒ Esencia de la simplificación de lógica de dos niveles ❍ encontrar (o crear) subconjuntos de dos elementos del on- set en los cuales solo una variable cambia de valor – esta variable puede ser eliminada y un termino puede remplazar al los dos termimos previos
  • 32. 3: Canónicas 32 Simplificación de lógica combinacional de dos niveles ❒ Usando teoremas para minimizar (e.g. idempotencia, commutatividad, distributividad, unificación, complementariedad, identidad,...) ❒ Ejemplo: Cout = A’ B Cin + A B’ Cin + A B Cin’ + A B Cin = A’ B Cin + A B’ Cin + A B Cin’ + A B Cin + A B Cin = A’ B Cin + A B Cin + A B’ Cin + A B Cin’ + A B Cin = (A’ + A) B Cin + A B’ Cin + A B Cin’ + A B Cin = (1) B Cin + A B’ Cin + A B Cin’ + A B Cin = B Cin + A B’ Cin + A B Cin’ + A B Cin + A B Cin = B Cin + A B’ Cin + A B Cin + A B Cin’ + A B Cin = B Cin + A (B’ + B) Cin + A B Cin’ + A B Cin = B Cin + A (1) Cin + A B Cin’ + A B Cin = B Cin + A Cin + A B (Cin’ + Cin) = B Cin + A Cin + A B (1) = B Cin + A Cin + A B sumar terminos para factorizar
  • 33. 3: Canónicas 33 Diseño lógico: perturbaciones ❒ Implementaciones de circuitos lógicos pueden incluir condiciones que causan perturbaciones (como resultados de carreras) en los outputs de implementaciones de circuitos ❒ En circuitos con mas de dos niveles pueden generarse perturbaciones con mas de un cambio momentáneo
  • 34. 3: Canónicas 34 Ejemplo: perturbaciones ❒ Implementaciones de circuitos lógicos pueden incluir condiciones que causan perturbaciones (como resultados de carreras) en los outputs de implementaciones de circuitos ❒ Una perturbación estática es un cambio momentáneo de un nivel constante en el output (un falso cero o un falso uno) ❒ En circuitos con mas de dos niveles pueden generarse perturbaciones con mas de un cambio momentáneo ❒ Una perturbación dinámica es una perturbación que ocurre durante el cambio de una variable de salida
  • 35. 3: Canónicas 35 Diseño lógico: perturbaciones ❒ Ejemplo: P = (((A’+B)’ + (D’+C)’)’+A)’ = A’(AB’+C’D) ❍ Con {B=0 y C=1} o {B=0 y D=0} se presentan perturbaciones en el canto de bajada de A atrasado ❒ Actividad: Mostrar porque y como ocurre esto e indicar como eliminar el problema A B C D P
  • 36. 3: Canónicas 36 Actividad: Diseño lógico y perturbaciones ❒ ¿Porque ocurre las perturbaciones? Recordemos que las perturbaciones ocurren cuando una misma señal tiene múltiples caminos que causan carreras en los inputs a una compuerta. X X’ X X’
  • 37. 3: Canónicas 37 Actividad: Diseño lógico y perturbaciones ❒ Ejemplo: z = x + x’ ❍ En una tabla de verdad se aprecia que y nunca debería ser 0 ❍ Pero dado que hay carreras z si es 0 en el diagrama temporal (perturbación) X X’ Z X X’ Z t perturbación Carrera en señales de entrada
  • 38. 3: Canónicas 38 Actividad: Diseño lógico y perturbaciones ❒ Análisis: Si se hace una tabla de verdad se puede apreciar que la salida P nunca es igual a 1 ❒ Cuando A = 1 y {B=0 y C=1} o {B=0 y D=0} después de un tiempo de propagación X = 1 y X’ = 0 ❒ Después del cambio de a A = 0 y de una propagación en la ruta mas rápida X = 0 y X’ = 0 ❒ Es durante este tiempo de propagación que P se convierte en 1 causando la perturbación A B C D P X X' Y Z
  • 39. 3: Canónicas 39 Actividad: Diseño lógico y perturbaciones ❒ Solución: Para eliminar la perturbación se puede simplificar más (para eliminar la carreras de X con X’...): ❒ P = (((A’+B)’ + (D’+C)’)’+A)’ = A’(AB’+C’D) = A’AB’ + A’C’D = A’C’D ❒ Mas ejemplos en los apuntes... A B C D P A’ C’ D P