Documentos de Académico
Documentos de Profesional
Documentos de Cultura
puertas lógicas
© Luis Entrena, Celia López, Mario García,
Enrique San Millán, Marta Portela, Almudena Lindoso
http://www. dte.uc3m.es
1
Índice
Postulados y propiedades fundamentales del
Álgebra de Boole
Funciones y expresiones booleanas
Puertas lógicas. Tecnologías digitales.
Implementación de funciones lógicas
Simplificación de funciones lógicas. Introducción a
los Lenguajes de Descripción de Hardware (HDLs)
http://www. dte.uc3m.es
2
Álgebra de Boole
Fundamentos matemáticos de los circuitos digitales
Denominada Álgebra de Boole en honor de su
inventor, George Boole
• “An Investigation of the Laws of Thought” (1854)
Un álgebra se define por un conjunto de elementos
con unas operaciones. En nuestro caso:
• B = {0, 1}
• = {+, }
http://www. dte.uc3m.es
3
Postulados del Álgebra de Boole
Ley de composición interna
• a, b B a + b B, a b B
Elementos neutros
• a B elementos neutros (0 y 1 respectivamente)
a+0=a
a1=a
Propiedad conmutativa
• a, b B a+b=b+a
ab=ba
Propiedad distributiva
• a, b, c B a + b c = (a + b) (a + c)
a (b + c) = a b + a c
http://www. dte.uc3m.es
4
Postulados del Álgebra de Boole
Elemento inverso o complementario
• aB aB
aa 1
aa 0
http://www. dte.uc3m.es
5
Propiedades fundamentales del
Álgebra de Boole
Dualidad: Toda ley válida tiene una dual, que se
obtiene cambiando 0 ↔ 1 y + ↔
Idempotencia
• aB a+a=a
aa=a
• Demostración:
a a 0 a a a (a a)(a a) (a a) 1 a a
aB a+1=1
a0=0
http://www. dte.uc3m.es
6
Propiedades fundamentales del
Álgebra de Boole
De las propiedades anteriores se pueden definir las
operaciones básicas
a b a+b a b ab a a
0 0 0 0 0 0 0 1
0 1 1 0 1 0 1 0
1 0 1 1 0 0
1 1 1 1 1 1
http://www. dte.uc3m.es
7
Propiedades fundamentales del
Álgebra de Boole
Involución
• aB aa
Absorción
• a, b B a + ab = a
a (a+b) = a
• Demostración:
a ab a 1 ab a(1 b) a 1 a
Propiedad asociativa
• a, b, c B (a + b) + c = a + (b + c)
(a b) c = a (b c)
http://www. dte.uc3m.es
8
Propiedades fundamentales del
Álgebra de Boole
Leyes de De Morgan:
• a, b B ab a b
ab a b
• Demostración:
(a b) a b (a b a)(a b b) 1 1
(a b) a b (aab) (bab) 0 0
luego (a+b) es el inverso de a b
http://www. dte.uc3m.es
9
Funciones y expresiones
booleanas
Definiciones:
• Una variable lógica o booleana es cualquier elemento
x B = {0, 1}
• Un literal es una variable negada o sin negar
• Función lógica o booleana:
f : Bn → B
(x1, x2, …, xn) → y
http://www. dte.uc3m.es
10
Representación de funciones
lógicas
Expresión Tabla de verdad
a b f(a,b)
0 0 0
f(a, b) = a + b 0 1 1
1 0 1
1 1 1
http://www. dte.uc3m.es
11
Obtención de la tabla de verdad a
partir de una expresión
Basta evaluar la expresión para cada una de las
combinaciones de valores de las entradas
a b c f
0 0 0 0
f (a, b, c ) a b c
0 0 1 1
0 1 0 0
0 1 1 0
1 0 0 1
1 0 1 1
1 1 0 1
1 1 1 1
http://www. dte.uc3m.es
12
Función mintérmino
Expresión: un producto en el que aparecen todas las
variables, negadas o no
Tabla de verdad: tiene un 1 en una posición y 0 en todas
las demás
Ejemplo: a b c f
0 0 0 0
f (a, b, c ) a b c m2
0 0 1 0
0 1 0 1
0 1 1 0
Regla para obtener la expresión: 1 0 0 0
• 0 → variable negada 1 0 1 0
• 1 → variable sin negar
1 1 0 0
1 1 1 0
http://www. dte.uc3m.es
13
Función maxtérmino
Expresión: una suma en la que aparecen todas las
variables, negadas o no
Tabla de verdad: tiene un 0 en una posición y 1 en todas
las demás
Ejemplo: a b c f
0 0 0 1
f (a, b, c ) (a b c ) M2
0 0 1 1
0 1 0 0
0 1 1 1
Regla para obtener la expresión: 1 0 0 1
• 0 → variable sin negar 1 0 1 1
• 1 → variable negada
1 1 0 1
CUIDADO: al contrario que los mintérminos!
1 1 1 1
http://www. dte.uc3m.es
14
Teorema de Expansión de
Shannon
Toda función booleana se puede descomponer de
las siguientes formas
f ( x1, x 2,..., xn ) xi f ( x1,..., xi1,0, xi1,..., xn ) xi f ( x1,..., xi1,1, xi1,..., xn )
f ( x1, x 2,..., xn ) xi f ( x1,..., xi1,1, xi1,..., xn )xi f ( x1,..., xi1,0, xi1,..., xn )
Demostración
xi 0 f ( x1, x 2,..., xn ) 1 f ( x1,...,0,..., xn ) 0 f ( x1,...,1,..., xn )
f ( x1,...,0,..., xn )
xi 1 f ( x1, x 2,..., xn ) 0 f ( x1,...,0,..., xn ) 1 f ( x1,...,1,..., xn )
f ( x1,...,1,..., xn )
http://www. dte.uc3m.es
15
Corolario del Teorema de
Expansión de Shannon
Aplicando recursivamente el Teorema:
f (a, b, c ) a f (0, b, c ) a f (1, b, c )
a (b f (0,0, c ) b f (0,1, c )) a (b f (1,0, c ) b f (0,1, c ))
a b f (0,0, c ) a b f (0,1, c )) a b f (1,0, c ) a b f (0,1, c )
a b c f (0,0,0) a b c f (0,0,1) a b c f (0,1,0) a b c f (0,1,1)
a b c f (1,0,0) a b c f (1,0,1) a b c f (1,1,0) a b c f (1,1,1)
mik i
3
Una función es igual a la suma de todos los mintérminos (mi)
afectados por un coeficiente (ki) igual al valor que toma la
función al sustituir cada variable por un 0 o un 1 según que en
el mintérmino aparezca la variable negada o sin negar,
respectivamente
http://www. dte.uc3m.es
16
Primera forma canónica
Una función se puede expresar como la suma de los
mintérminos para los que la función vale 1
a b c f
0 0 0 1 f (a, b, c ) (0,2,5) m(0,2,5)
3 3
0 0 1 0
abc abc abc
0 1 0 1
0 1 1 0
1 0 0 0
1 0 1 1
1 1 0 0
1 1 1 0
http://www. dte.uc3m.es
17
Segunda forma canónica
Una función se puede expresar como el producto de
los maxtérminos para los que la función vale 0
a b c f
0 0 0 1 f (a, b, c ) (1,3,4,6,7 ) M(1,3,4,6,7 )
3 3
0 0 1 0
(a b c )(a b c )(a b c )
0 1 0 1
0 1 1 0 (a b c )(a b c )
1 0 0 0
1 0 1 1
CUIDADO: al contrario que los mintérminos!
1 1 0 0
1 1 1 0
http://www. dte.uc3m.es
18
Puertas lógicas
Las puertas lógicas son circuitos electrónicos que
realizan las funciones básicas del Álgebra de Boole
Para cada puerta utilizaremos un símbolo
Identidad Puerta NOT o inversor
z=a za
a a a a
0 0 0 1
1 1 1 0
http://www. dte.uc3m.es
19
Puertas AND y OR
Puerta AND Puerta OR
z=ab z=a+b
a b ab a b a+b
0 0 0 0 0 0
0 1 0 0 1 1
1 0 0 1 0 1
1 1 1 1 1 1
http://www. dte.uc3m.es
20
Puertas NAND y NOR
Puerta NAND Puerta NOR
z ab a b z ab a b
a b ab a b ab
0 0 1 0 0 1
0 1 1 0 1 0
1 0 1 1 0 0
1 1 0 1 1 0
http://www. dte.uc3m.es
21
Puertas XOR y XNOR
Puerta XOR (OR-Exclusiva) Puerta XNOR (NOR-Exclusiva)
z a b ab ab (a b)(a b) z a b ab a b (a b)(a b)
a b ab a b ab
0 0 0 0 0 1
0 1 1 0 1 0
1 0 1 1 0 0
1 1 0 1 1 1
http://www. dte.uc3m.es
22
Generalización a n entradas
Valor de la salida
Puerta 0 1
AND Alguna entrada = 0 Todas las entradas = 1
OR Todas las entradas = 0 Alguna entrada = 1
NAND Todas las entradas = 1 Alguna entrada = 0
NOR Alguna entrada = 1 Todas las entradas = 0
XOR Hay un nº par de Hay un nº impar de
entradas = 1 entradas = 1
XNOR Hay un nº impar de Hay un nº par de
entradas = 1 entradas = 1
http://www. dte.uc3m.es
23
Otros símbolos
Un círculo en una entrada o una salida indica
negación
a
b z abc
c
http://www. dte.uc3m.es
24
Realización de una función lógica
con puertas lógicas
A partir de la expresión de la función, sustituimos las
operaciones lógicas por puertas lógicas
Ejemplo:
f (a, b, c ) a b c b
c
http://www. dte.uc3m.es
25
Tecnologías digitales
Las puertas lógicas son circuitos electrónicos
El nivel lógico (0 o 1) se representa mediante un
nivel de tensión
Generalmente se utiliza “lógica positiva”
• Tensión alta (5V, 3.3V, 2.5 V, etc) → 1
• Tensión baja (0V) → 0
Existen muchas tecnologías, según la forma en que
se realizan las puertas lógicas y las características
que se obtienen
http://www. dte.uc3m.es
26
Características de las
tecnologías digitales
Principales características:
• Margen de temperaturas de operación
• Tensión de alimentación
• Margen de ruido (intervalos de tensiones que se asocian a
un nivel lógico determinado)
• Retardo de conmutación: limita la velocidad de operación
• Consumo: se transforma en calor, el consumo dinámico es
proporcional a la velocidad de conmutación
• Otros
Cada tecnología o subfamilia presenta valores
diferentes respecto a estos parámetros
http://www. dte.uc3m.es
27
Retardos
Las puertas lógicas no conmutan instantáneamente
Inversor ideal Inversor real
V V
t t
tp
http://www. dte.uc3m.es
29
Familias lógicas
Designación de componentes:
• <Serie><Subfamilia><Componente>
Ejemplo: 74HC00
• Serie 74: rango de temperaturas convencional
• Subfamilia HC (High speed CMOS)
• Componente 00: 4 puertas NAND de 2 entradas
Importante: las subfamilias no son compatibles entre
sí
• No se deben mezclar componentes de distintas subfamilias
en un circuito
http://www. dte.uc3m.es
30
Hojas de catálogo
http://www. dte.uc3m.es
31
Circuitos integrados
Actualmente, la mayoría de los circuitos digitales se
implementan en Circuitos Integrados:
• A medida: ASIC (ASIC (Application Specific Integrated Circuit)
• Programable: CPLD/FPGA
http://www. dte.uc3m.es
33
Simplificación de funciones
lógicas
Optimización manual
• Aplicación directa de las leyes del Álgebra de Boole
• Muy difícil, no sistemático
• Método de los mapas de Karnaugh (y otros)
• Sistemático, pero limitado a pocas variables y solo para
optimización en área
• Soluciones restringidas
Síntesis lógica
• Realizada por un computador a partir de una descripción del
circuito en un Lenguaje de Descripción de Hardware (HDL)
• Concepto más amplio, que incluye la traducción del diseño
HDL en puertas lógicas, la optimización y la implementación
en una tecnología determinada
http://www. dte.uc3m.es
34
Lenguajes de Descripción de
Hardware (HDLs)
Permiten:
• Diseñar a un mayor nivel de abstracción
• Simular el diseño para validar su funcionamiento
• Simulación más eficiente en un nivel de abstracción mayor
• Sintetizar el diseño para obtener una implementación
óptima, según el objetivo:
• Área (tamaño)
• Tiempo (retardo)
http://www. dte.uc3m.es
35
Herramientas de diseño
Simulador
• Descripciones funcionales
• Descripciones RTL (sintetizables)
• Lista de puertas (netlist)
• Con o sin retardos
Sintetizador
• Transforma descripciones RTL en listas de puertas
• Optimiza la lógica en área y/o velocidad
• Proporciona retardos de puertas
Place & Route
• Emplaza puertas y las interconecta
• Extrae retardos de las interconexiones
http://www. dte.uc3m.es
36
Flujo de diseño con VHDL
Descripción Simulación
funcional
VHDL
Síntesis Simulación
automática post-síntesis
Pruebas
de campo
http://www. dte.uc3m.es
37
Ventajas de los HDLs
Elevación del nivel de abstracción
• Podemos concentrarnos con mayor facilidad en QUÉ queremos
que haga el circuito, no en los componentes que debemos utilizar
• Los componentes necesarios los determina la herramienta de
síntesis
Productividad
• Es la ventaja esencial por la que se ha adoptado esta metodología.
Está demostrado que la productividad aumenta de forma muy
significativa, por muchas razones:
• No es necesario determinar la forma de implementar las
funciones lógicas, basta con describirlas
• Las herramientas hacen el trabajo “pesado”
Capacidad de abordar diseños complejos que llevarían un
esfuerzo muy superior con una metodología convencional
http://www. dte.uc3m.es
38
Ventajas de los HDLs
Portabilidad
• Los diseños realizados con esquemas no se pueden portar
fácilmente a otra tecnología o herramientas, ya que
dependen de las bibliotecas y formatos, que suelen diferir.
• Los diseños en VHDL si se pueden portar, puesto que es
un lenguaje estandarizado.
• Actualmente existe un mercado creciente de diseños (IP)
Optimización de un mismo diseño para diferentes
requisitos mediante el uso de herramientas de
síntesis
• Area
• Retraso
• Consumo
http://www. dte.uc3m.es
39