Está en la página 1de 39

Álgebra de Boole y

puertas lógicas
© Luis Entrena, Celia López, Mario García,
Enrique San Millán, Marta Portela, Almudena Lindoso

Universidad Carlos III de Madrid

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
a1=a
 Propiedad conmutativa
•  a, b  B  a+b=b+a
ab=ba
 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
• aB aB

aa 1
aa  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
• aB a+a=a
aa=a
• Demostración:
a  a  0  a  a a  (a  a)(a  a)  (a  a)  1  a  a

 aB a+1=1
a0=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 ab 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

 Tabla de verdad: proporciona el valor de una función


para todas las posibles combinaciones de valores de las
entradas

http://www. dte.uc3m.es
7
Propiedades fundamentales del
Álgebra de Boole
 Involución
• aB aa

 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  ab a b
ab  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,..., xi1,0, xi1,..., xn )  xi f ( x1,..., xi1,1, xi1,..., xn )
f ( x1, x 2,..., xn )  xi  f ( x1,..., xi1,1, xi1,..., xn )xi  f ( x1,..., xi1,0, xi1,..., 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 )

• La otra forma se demuestra por dualidad

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 za
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=ab z=a+b

a b ab 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  ab  a b z  ab  a b

a b ab a b ab
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 ab a b ab
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

 El retardo limita la velocidad de operación del


circuito
http://www. dte.uc3m.es
28
Familias lógicas
 El conjunto de componentes digitales básicos, tales como
puertas lógicas, se conoce popularmente como Serie o
Familia 74
 Existen numerosas subfamilias:
• Según el rango de temperaturas de operación:
• Serie 74: 0º a 70º
• Serie 54: -55º a 125º
• Según la tecnología utilizada:
• LS
• ALS
• F
• HC
• AHC
• G
• ….

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

• 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

• Microprocesadores y sistemas empotrados (combinación de


hardware y software)
http://www. dte.uc3m.es
32
Simplificación de funciones
lógicas
 Una función lógica tiene múltiples expresiones
equivalentes
• La forma más sencilla dará lugar a una implementación
mejor
• Las características de las puertas lógicas varían con la
tecnología utilizada
 Criterios de optimización:
• En tamaño o área:
• Menor número de puertas lógicas
• Puertas lógicas con el menor número de entradas
• En velocidad o retardo:
• Menor número de puertas lógicas desde una entrada hasta la
salida o entre biestables

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)

 Imprescindibles en el diseño moderno con:


• Diseños de alta complejidad (>10K puertas)
• Diseño sobre ASIC o CPLD/FPGA

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

Place & Simulación


Route post-layout

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

También podría gustarte