Está en la página 1de 85

1.

Introducción a los
Circuitos lógicos

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 1


1.01

Variables y funciones

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 2


Variables y funciones
• Una variable binaria 𝑥 puede adoptar 2 valores: 0 o 1
• Variables binarias pueden actuar sobre interruptores

Cerrado = deja pasar la señal


Abierto = no deja pasar la señal
Interruptor abierto Interruptor cerrado

Símbolo para un interruptor

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 3


Interruptores comandados por variables
binarias afectan otras partes del circuito

Battery LED
• El estado 𝐿 del LED es una
función de la variable
Conexión simple a batería
binaria 𝑥
 Nos referimos a 𝐿(𝑥)
Power
LED • En este caso 𝐿(𝑥) = 𝑥
supply
 𝐿(𝑥) es una función lógica
 𝑥 es una variable de entrada
Conexión a tierra como camino de retorno
© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 4
Conexión de los switches en serie

Power LED
supply

Función lógica AND (conexión en serie)

• En serie: sólo enciende el LED si ambos switches están cerrados


 𝐿 𝑥1 , 𝑥2 = 𝑥1 ∙ 𝑥2
 𝐿 = 1 sólo si 𝑥1 = 1 y 𝑥2 = 1
• Cualquier otro caso: 𝐿 = 0
• El símbolo ∙ corresponde al operador AND
• La figura implementa la función lógica AND
© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 5
Conexión de los switches en paralelo

Power
supply

Función lógica OR (conexión en paralelo)

• En paralelo: enciende el LED si cualquiera de los switches está cerrado


 𝐿(𝑥1 , 𝑥2 ) = 𝑥1 + 𝑥2
 𝐿 = 1 si 𝑥1 = 1 o si 𝑥2 = 1
• Cualquier otro caso: 𝐿 = 0
• El símbolo + corresponde al operador OR
• La figura implementa la función lógica OR
© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 6
Es posible combinar funciones lógicas

Power
supply

• En este caso 𝐿(𝑥1 , 𝑥2 , 𝑥3 ) = (𝑥1 + 𝑥2 ) ∙ 𝑥3


• ¿Qué condición tiene que ocurrir para que la luz esté encendida?

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 7


Inversión lógica
• En el circuito de la figura
 Si 𝑥 = 0 entonces 𝐿 = 1
 Si 𝑥 = 1 entonces 𝐿 = 0
• Entonces podemos afirmar que
𝐿(𝑥) = 𝑥ഥ
• Alternativamente, 𝑥ഥ = ~𝑥 = `𝑥 = ! 𝑥 Power
• Los símbolos barra, ~ , `𝑥, y ! supply
corresponden al operador inversor
• 𝐿(𝑥) corresponde a la función
inversión lógica

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 8


¿Qué aprendimos hoy?
• Variables binarias
• Funciones lógicas
• Ejemplos con interruptores

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 9


1.02

Números binarios

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 10


Representación binaria
• La información en circuitos digitales es representada
por los valores 0 y 1
• Un número binario 𝐵 de 𝑛 bits se representa como:
𝐵 = 𝑏𝑛−1 𝑏𝑛−2 … 𝑏1 𝑏0
• El valor de un número binario B de 𝑛 bits equivale a:
𝑛−1

𝑉 𝐵 = ෍ 𝑏𝑖 × 2𝑖
𝑖=0

• ¿Cuál es el valor más grande que se puede representar en


binario con 𝒏 bits?
© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 11
Representación binaria
Número decimal Número binario
0 0000
1 0001
2 0010 • Con 4 bits disponibles podemos
3 0011 representar números entre el 0 y el 15
4 0100 • Si nos sobran bits para representar un
5 0101 número, entonces rellenamos con
6 0110 ceros a la izquierda (zero padding)
7 0111
8 1000
• ¿Qué es un nibble? ¿y un byte?
9 1001

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 12


¿Qué aprendimos hoy?
• El sistema binario: 0 o 1
• Representar números decimales con binarios

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 13


1.03

Tablas de verdad

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 14


Tablas de verdad
• Describen funciones lógicas en forma
exhaustiva
– Especifican las salidas para todas las
combinaciones posibles de entradas 𝑥1 𝑥2 𝑥1 ∙ 𝑥2 𝑥1 + 𝑥2
• Ejemplo: tablas de verdad para 0 0 0 0
funciones AND y OR de dos variables 0 1 0 1
• El número de líneas crece 1 0 0 1
exponencialmente con el número 𝑛 1 1 1 1
de entradas (2𝑛)
AND OR

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 15


Ejemplo: AND y OR de 3 entradas

𝑥1 𝑥2 𝑥3 𝑥1 ∙ 𝑥2 ∙ 𝑥3 𝑥1 + 𝑥2 + 𝑥3
0 0 0 0 0
0 0 1 0 1
0 1 0 0 1
0 1 1 0 1
1 0 0 0 1
1 0 1 0 1
1 1 0 0 1
1 1 1 1 1

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 16


¿Qué aprendimos hoy?
• Tablas de verdad
• Ejemplos con AND y OR

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 17


1.04

Compuertas lógicas
OR, AND y NOT

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 18


Compuertas lógicas
• Las compuertas lógicas son componentes circuitales
que implementan funciones lógicas
– Están implementadas mediante transistores
– Requieren alimentación y tienen entradas y salidas

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 19


Esquemático
• Una forma conveniente de describir un circuito
digital es mediante un esquemático que muestra
conexiones entre compuertas lógicas

• Los esquemáticos pueden ser arbitrariamente complejos

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 20


Análisis de una red lógica
• Tratemos de entender cómo funciona este circuito

• Una opción es probar todas las combinaciones posibles de entradas


y ver qué ocurre en la salida …
Analizar: determinar el funcionamiento de la red
Sintetizar: diseñar la red para una especificación dada

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 21


Procedimiento de análisis

Red que implementa 𝒇 = 𝒙𝟏 + 𝒙𝟏 ∙ 𝒙𝟐


𝑥1 𝑥2 A B 𝑓(𝑥1 , 𝑥2 )
0 0 1 0 1
0 1 1 0 1
1 0 0 0 0
1 1 0 1 1
Tabla de verdad
© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 22
Diagrama de tiempo (timing diagram)

• Representación gráfica de entradas y salidas


• El tiempo avanza de izquierda a derecha (igual que
en un osciloscopio y un analizador lógico)

𝑥1 𝑥2 𝑓 𝑥1 , 𝑥2
0 0 1
0 1 1
1 0 0
1 1 1

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 23


Redes funcionalmente equivalentes

• Analicemos este otro circuito:

𝑥1 𝑥2 𝑔 𝑥1 , 𝑥2
0 0
• Escribamos la tabla de verdad correspondiente
0 1
a su función lógica y comparemos con la
lámina anterior 1 0
1 1
¿Conclusiones?

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 24


¿Qué aprendimos hoy?
• Compuertas lógicas
• Esquemáticos y cómo analizarlos
• Diagramas de tiempo

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 25


1.05

Álgebra Booleana

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 26


Álgebra Booleana
Axiomas Teoremas de una variable

1a. 𝟎∙𝟎=𝟎 5a. 𝒙∙𝟎=𝟎


5b. 𝒙+𝟏=𝟏
1b. 𝟏+𝟏=𝟏
6a. 𝒙∙𝟏=𝒙
2a. 𝟏∙𝟏=𝟏
6b. 𝒙+𝟎=𝒙
2b. 𝟎+𝟎=𝟎
7a. 𝒙∙𝒙=𝒙
3a. 𝟎∙𝟏=𝟏∙𝟎=𝟎 7b. 𝒙+𝒙=𝒙
3b. 𝟏+𝟎=𝟎+𝟏=𝟏 8a. 𝒙 ∙ 𝒙ത = 𝟎
4a. ഥ=𝟏
Si 𝒙 = 𝟎 → 𝒙 8b. 𝒙+𝒙 ഥ=𝟏
4b. ഥ=𝟎
Si 𝒙 = 𝟏 → 𝒙 9. ഥ=𝒙
𝒙

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 27


Dualidad
• Para una expresión lógica, su dual es obtenida
reemplazando todos los operadores + por ∙, y vice
versa, reemplazando todos los 0s por 1s y viceversa
– ¿Ejemplos?

• El dual de cualquier declaración verdadera – axioma o teorema – en


álgebra Booleana, es también verdadera
– ¿Ejemplos?

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 28


Propiedades de dos o tres variables
10a. 𝒙∙𝒚=𝒚∙𝒙 Conmutativa
10b. 𝒙+𝒚=𝒚+𝒙
11a. 𝒙∙ 𝒚∙𝒛 = 𝒙∙𝒚 ∙𝒛 Asociativa
Es posible demostrar todos estos
11b. 𝒙+ 𝒚+𝒛 = 𝒙+𝒚 +𝒛 teoremas y propiedades mediante:
12a. 𝒙∙ 𝒚+𝒛 =𝒙∙𝒚+𝒙∙𝒛 Distributiva
12b. 𝒙+𝒚∙𝒛= 𝒙+𝒚 ∙ 𝒙+𝒛
• Inducción perfecta – mirando
13a. 𝒙+𝒙∙𝒚=𝒙 Absorción
todos los casos posibles
13b. 𝒙∙ 𝒙+𝒚 =𝒙
• Manipulación algebraica en base
14a. 𝒙∙𝒚+𝒙∙𝒚ഥ=𝒙 Combinación
a axiomas
14b. 𝒙+𝒚 ∙ 𝒙+𝒚ഥ =𝒙
15a. 𝒙∙𝒚=𝒙ഥ+𝒚ഥ Ley de DeMorgan
15b. 𝒙+𝒚=𝒙 ഥ∙𝒚
ഥ En teoría, basta con teoremas 5 y 8,
y con propiedades 1 y 12 para
16a. 𝒙+𝒙ഥ∙𝒚=𝒙+𝒚
derivar todas las demás propiedades
16b. ഥ+𝒚 =𝒙∙𝒚
𝒙∙ 𝒙
© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 29
Ejemplo 1
Demuestre que: 𝑥1 + 𝑥3 ∙ 𝑥1 + 𝑥3 = 𝑥1 ∙ 𝑥3 + 𝑥1 ∙ 𝑥3

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 30


Ejemplo 2
Demuestre que:

𝑥1 ∙ 𝑥3 + 𝑥2 ∙ 𝑥3 + 𝑥1 ∙ 𝑥3 + 𝑥2 ∙ 𝑥3 = 𝑥1 ∙ 𝑥2 + 𝑥1 ∙ 𝑥2 + 𝑥1 ∙ 𝑥2

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 31


¿Qué aprendimos hoy?
• Axiomas y teoremas del álgebra booleana
• Dualidad
• Propiedades con dos o tres variables
 Conmutativa
 Asociativa
 Distributiva
 Absorción
 Combinación
 Ley DeMorgan

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 32


1.06

Diagrama de Venn

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 33


Diagrama de Venn
• Pueden ser utilizados para verificar de manera
intuitiva la equivalencia entre dos expresiones lógicas

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 34


Notación y terminología
• Por su similaridad con las operaciones aritméticas
suma y multiplicación, las operaciones OR y AND
son llamadas coloquialmente suma lógica y multiplicación lógica

– Ejemplo: suma de productos


𝑥1 ∙ 𝑥2 ∙ 𝑥3 + 𝑥1 ∙ 𝑥4 + 𝑥2 ∙ 𝑥3 ∙ 𝑥4
– Ejemplo: producto de sumas
𝑥1 + 𝑥3 ∙ 𝑥1 + 𝑥3 ∙ 𝑥2 + 𝑥3 + 𝑥4

• Para evitar ambigüedad entre operaciones lógicas y aritméticas, a


veces empleamos los símbolos ˅ y ˄ en lugar de OR y AND

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 35


Precedencia de operaciones
• Es posible construir cualquier expresión lógica
combinando OR, AND y NOT
• Los paréntesis evitan la ambigüedad en la precedencia
• Para evitar llenarnos de paréntesis podemos definir un
orden de precedencia: NOT, luego AND y finalmente OR
• Para simplificar las expresiones lógicas, generalmente se
omite el operador ∙
– Ejemplo: 𝑥1 𝑥2 + 𝑥1 𝑥2

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 36


¿Qué aprendimos hoy?
• Diagramas de Venn
• Suma lógica y multiplicación lógica
• Prioridad de operaciones lógicas

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 37


1.07

Síntesis de un circuito
digital como suma de
productos

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 38


Síntesis usando compuertas AND,
OR y NOT
• Comencemos con un ejemplo: tratemos de sintetizar
(crear) un circuito que implementa la tabla de verdad
• Vamos a escribir una función lógica y luego la llevaremos
a una implementación con compuertas
• Una opción sería crear funciones lógicas tipo productos
que produzcan un 1 lógico cuando se cumple cada
𝑥1 𝑥2 𝑓 𝑥1 , 𝑥2
condición afirmativa de la tabla de verdad
0 0 1
– Luego implementamos un OR entre esos términos
0 1 1
𝑓 𝑥1 , 𝑥2 = 1 0 0
1 1 1

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 39


Resultado

¿Podremos simplificarlo mediante manipulación algebraica?

Suma de productos canónica

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 40


Realización de mínimo costo

Realización de mínimo costo

• Wow!
• Conclusiones:
– Es muy fácil (y muy mecánico) implementar cualquier función lógica mediante una
suma de productos para cada línea de la tabla de verdad que produzca un 1 lógico
• Cada producto incluye todas las variables de entrada
– Hay muchas formas de implementar circuitalmente una misma función lógica
– Es posible simplificar mediante manipulación algebraica

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 41


Sumas de productos y productos de sumas

• Cualquier función lógica 𝑓 explicada mediante su


tabla de verdad puede ser realizada mediante:
– Una expresión lógica que considere todas las líneas de la tabla en que 𝑓 = 1
– O una expresión lógica que considere todas las líneas de la tabla en que 𝑓 = 0

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 42


Minterm
• Considere una función lógica con 𝑛 variables de
entrada
• Un minterm es cualquier producto lógico en que todas las variables
aparecen una vez, ya sea negada o no negada
– Para cada fila de la tabla, incluimos 𝑥𝑖 si 𝑥𝑖 = 1, o bien incluimos 𝑥ഥ𝑖 si 𝑥𝑖 = 0
• Ejemplo: minterms para esta tabla 𝑥1 𝑥2 𝑓 𝑥1 , 𝑥2
0 0 1
0 1 1
• Para simplificar la notación, el minterm de
1 0 0
la fila 𝑖 es designado como 𝑚𝑖
1 1 1
© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 43
Suma de productos
• Una función lógica 𝑓 puede ser expresada como una
suma de los minterms correspondientes a las filas
de la tabla de verdad que producen 𝒇 = 𝟏
• La expresión resultante es correcta y única, pero no necesariamente
mínima
– Esta expresión se denomina suma de productos canónica para la función 𝒇
• El primer paso de la síntesis de funciones lógicas es llegar a la suma
de productos canónica
– Luego se simplifica con manipulaciones algebraicas

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 44


Ejemplo – suma de productos
• Considere la tabla de verdad
• La síntesis incluye los minterms 1,
Fila 𝑥1 𝑥2 𝑥3 𝑓 𝑥1 , 𝑥2 , 𝑥3
4, 5 y 6
0 0 0 0 0
1 0 0 1 1
• Mediante manipulación algebraica 2 0 1 0 0
llegamos a: 3 0 1 1 0
4 1 0 0 1
5 1 0 1 1
6 1 1 0 1
7 1 1 1 0

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 45


¿Cómo sería la implementación con
compuertas lógicas?

Una buena indicación del costo de un circuito


lógico es la suma del número de compuertas y
el número total de entradas de todas las
compuertas – en este caso, 13

• Es posible usar notación de minterms para expresar funciones lógicas


en forma abreviada – ejemplo:
𝑓 𝑥1 , 𝑥2 , 𝑥3 = ෍ 𝑚1 , 𝑚4 , 𝑚5 , 𝑚6

𝑓 𝑥1 , 𝑥2 , 𝑥3 = ෍ 𝑚 1, 4, 5, 6

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 46


¿Qué aprendimos hoy?
• Síntesis de circuitos
• Implementaciones de mínimo costo
• Minterms
• Suma de productos

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 47


1.08

Síntesis de un circuito
digital como producto
de sumas

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 48


Maxterm
• Considere una función lógica con 𝑛 variables de
entrada
• Un maxterm es cualquier suma lógica en que todas las variables
aparecen una vez, ya sea negada o no negada
– Para cada fila de la tabla, incluimos 𝑥𝑖 si 𝑥𝑖 = 0, o bien incluimos 𝑥ഥ𝑖 si 𝑥𝑖 = 1
• Ejemplo: maxterms para esta tabla 𝑥1 𝑥2 𝑓 𝑥1 , 𝑥2
0 0 1
0 1 1
• Para simplificar la notación, el maxterm de 1 0 0
la fila 𝑖 es designado como 𝑀𝑖 1 1 1
© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 49
Producto de sumas
• Una función lógica 𝑓 puede ser expresada como un
producto de los maxterms correspondientes a las
filas de la tabla de verdad que producen 𝒇 = 𝟎
• La expresión resultante es correcta y única, pero no necesariamente
mínima
– Esta expresión se denomina producto de sumas canónico para la función 𝒇
• El primer paso de la síntesis de funciones lógicas puede ser expresar
un producto de sumas canónico
– Luego se simplifica con manipulaciones algebraicas

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 50


𝑚𝑖 = 𝑀𝑖
• Esto es útil – por ejemplo, para la tabla de verdad:
𝑓ഥ 𝑥1 , 𝑥2 , 𝑥3 = 𝑚0 + 𝑚2 + 𝑚3 + 𝑚7 Fila 𝑥1 𝑥2 𝑥3 𝑓 𝑥1 , 𝑥2 , 𝑥3
0 0 0 0 0
𝑓ഥ 𝑥1 , 𝑥2 , 𝑥3 = 𝑥1 𝑥2 𝑥3 + 𝑥1 𝑥2 𝑥3 + 𝑥1 𝑥2 𝑥3 + 𝑥1 𝑥2 𝑥3 1 0 0 1 1
2 0 1 0 0
• Negando la expresión, obtenemos: 3 0 1 1 0
4 1 0 0 1
𝑓 𝑥1 , 𝑥2 , 𝑥3 = 𝑚0 + 𝑚2 + 𝑚3 + 𝑚7 = 𝑚0 ∙ 𝑚2 ∙ 𝑚3 ∙ 𝑚7
5 1 0 1 1
6 1 1 0 1
• Sabiendo que 𝑚𝑖 = 𝑀𝑖 , entonces:
7 1 1 1 0
𝑓 𝑥1 , 𝑥2 , 𝑥3 = 𝑀0 ∙ 𝑀2 ∙ 𝑀3 ∙ 𝑀7 = 𝑥1 + 𝑥2 + 𝑥3 𝑥1 + 𝑥2 + 𝑥3 𝑥1 + 𝑥2 + 𝑥3 𝑥1 + 𝑥2 + 𝑥3
© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 51
Ejemplo – producto de sumas
• Considere la tabla de verdad
• La síntesis incluye los maxterms 0,
Fila 𝑥1 𝑥2 𝑥3 𝑓 𝑥1 , 𝑥2 , 𝑥3
2, 3 y 7
0 0 0 0 0
1 0 0 1 1
• Mediante manipulación algebraica 2 0 1 0 0
llegamos a: 3 0 1 1 0
4 1 0 0 1
5 1 0 1 1
6 1 1 0 1
7 1 1 1 0

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 52


¿Cómo sería la implementación con
compuertas lógicas?

• Es posible usar notación de minterms para expresar funciones lógicas


en forma abreviada – ejemplo:
𝑓 𝑥1 , 𝑥2 , 𝑥3 = ෑ 𝑀0 , 𝑀2 , 𝑀3 , 𝑀7 𝑓 𝑥1 , 𝑥2 , 𝑥3 = ෑ M 0, 2, 3, 7

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 53


¿Qué aprendimos hoy?
• Maxterms
• Producto de sumas

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 54


1.09

Circuitos lógicos con


NAND y NOR

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 55


Circuitos lógicos con NAND y NOR
• NAND y NOR son compuertas más simples de implementar que AND y OR

• Las leyes de DeMorgan nos indican que:

𝒙𝟏 𝒙𝟐 = 𝒙𝟏 + 𝒙𝟐
Aplicando esto, ¿cómo
nos quedan las sumas de
productos y los productos
de sumas?
𝒙𝟏 + 𝒙𝟐 = 𝒙𝟏 𝒙𝟐
© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 56
Sumas de productos con NANDs

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 57


Productos de sumas con NORs

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 58


¿Qué aprendimos hoy?
• Compuertas NAND y NOR
• Suma de productos con NANDs
• Producto de sumas con NORs

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 59


1.10

Ejemplos de diseño

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 60


Pasos de diseño
• En general usaremos los siguientes pasos:
– Especificación de la función del circuito
– Descripción mediante tablas de verdad o funciones lógicas
– Síntesis e implementación
– Verificación

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 61


Control de luces
• Supongamos una habitación con
tres puertas con un interruptor
cerca de cada puerta 𝑥1 𝑥2 𝑥3 𝑓 𝑥1 , 𝑥2 , 𝑥3
• Queremos diseñar un circuito que 0 0 0 0
nos permita cambiar el estado de 0 0 1 1
las luces (encendido o apagado) 0 1 0 1
cambiando el estado de cualquiera 0 1 1 0
de los interruptores 1 0 0 1
• La tabla de verdad parece cumplir 1 0 1 0
el objetivo… 1 1 0 0
1 1 1 1
© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 62
Implementaciones
• Ambas implementaciones son equivalentes y tienen
igual costo
• También podríamos realizarlas con NANDs o NORs
• Podemos probarlas “a mano” o usando un simulador

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 63


¿Qué aprendimos hoy?
• Pasos de diseño de un circuito digital
• Ejemplo de diseño

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 64


1.11

Circuitos multiplexores

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 65


Multiplexores
• Un multiplexor es un circuito
capaz de conectar cualquiera
𝑠 𝑥1 𝑥2 𝑓 𝑠, 𝑥1 , 𝑥2
de sus entradas 𝑥𝑖 a la salida 𝑓
0 0 0 0
– “Multiplexa” sus entradas en una
única salida 0 0 1 0
0 1 0 1
• La elección de la entrada es
comandada mediante un 0 1 1 1
selector 𝑠 1 0 0 0
• Los multiplexores son muy 1 0 1 1
usados en sistemas digitales 1 1 0 0
• Intentemos diseñar un 1 1 1 1
multiplexor de 2 entradas
© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 66
Implementación

𝑠 𝑓 𝑠, 𝑥1 , 𝑥2
0 𝑥1
• Este circuito también puede ser implementado 1 𝑥2
mediante NANDs
Esta tabla de verdad más
• Nuevamente podemos probar “a mano” o con un compacta describe el
simulador comportamiento del
multiplexor

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 67


¿Qué aprendimos hoy?
• Multiplexores
• Implementación como suma de productos

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 68


1.12

Introducción a las
herramientas de CAD

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 69


Herramientas de diseño asistido por
computador (CAD)

• Dependen del tipo de implementación


– ASIC, FPGA, CPLD, TTL, CMOS, etc.
• En general tienen pasos en común:
– Ingreso del diseño
– Síntesis y optimización
– Simulación funcional
– Diseño físico
– Simulación de tiempo
– Implementación del circuito
• El flujo de diseño está amarrado a la tecnología objetivo

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 70


Ingreso del diseño
• Hay varias formas de hacerlo:
– Tablas de verdad o diagrama de tiempo
• Simple
• Práctico para diseños pequeños solamente
– Capturador de esquemático
• Intuitivo
• Extenso uso de jerarquía – crucial para diseños grandes
– Lenguaje de descripción de hardware (HDL)
• Útil para circuitos complejos
• Portable
• Jerarquía es crucial
• Muchas opciones, las más comunes son Verilog y VHDL

• Suele incluir simulaciones de comportamiento


© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 71
Síntesis
• Muchas opciones:
– Generación de un circuito a partir de una tabla de verdad
– Compilación o traducción de una descripción en Verilog en un circuito con
compuertas lógicas
– Optimización lógica (también llamados síntesis lógica)
• La síntesis puede finalizar con la implementación:
– Mapeo a la tecnología
– Síntesis del layout o diseño físico

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 72


Simulación funcional
• Utiliza el diseño generado por la síntesis
• Requiere un vector de estímulos ingresados por el
diseñador
• No toma en cuenta la temporización de las señales
• Suele entregar resultados en formato de texto o como diagramas
de tiempo

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 73


Diseño físico
• La implementación del circuito en un chip varía entre
distintas tecnologías
• Se posicionan componentes lógicos a lo largo del chip y se
determinan las conexiones entre ellos para implementar el circuito
• El resultado suele ser llevado a “prueba” mediante simulaciones
para verificar que cumple con todos los requerimientos

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 74


Simulación de tiempo
• Los componentes lógicos requieren tiempo para
generar una salida en respuesta a cambios en sus
entradas.
– A este tiempo se le denomina retardo de propagación
• Existe otro retardo producido por las conexiones entre elementos a
través de las cuales debe propagarse una señal
• La combinación de estos retardos afecta a la velocidad de operación
de nuestro chip
– Un simulador de tiempo nos permite evaluar los retardos a los que está
sometido nuestro diseño

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 75


Configuración del chip
• Si nuestro diseño cumple con todos los requisitos,
podemos implementarlo en un chip
• Si trabajamos con un dispositivo de hardware programable basta con
configurarlo (o programarlo)
• Pero si se trata de un chip diseñado a la medida, entonces el chip es
fabricado desde cero
– ¿Cómo se fabrica un chip?

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 76


¿Qué aprendimos hoy?
• Herramientas CAD
• Pasos de diseño con un CAD
 Ingreso de diseño
 Síntesis
 Simulación funcional
 Diseño físico
 Simulación de tiempo
 Configuración del chip

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 77


1.13

Compuertas lógicas
XOR y XNOR

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 78


Compuerta XOR
• La compuerta OR exclusivo, conocida como XOR, activa
su salida cuando sus entradas son distintas
• Su operador lógico es representado con el símbolo ⊕

𝑥1 𝑥2 𝑓 𝑥1 , 𝑥2
0 0 0
0 1 1
1 0 1
1 1 0
Símbolo circuital
Tabla de verdad

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 79


Implementación de la función XOR
• La función lógica XOR se puede expresar como un producto
de sumas:
𝑥1 ⊕ 𝑥2 = 𝑥1 ⋅ 𝑥2 + 𝑥1 ⋅ 𝑥2 = 𝑥1 + 𝑥2 ⋅ 𝑥1 + 𝑥2

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 80


Compuerta XOR con 𝑛 entradas
• La utilidad de las compuertas XOR es más evidente cuando
vemos su tabla de verdad con más de dos entradas
𝑥1 𝑥2 𝑥3 𝑓 𝑥1 , 𝑥2 , 𝑥3
• La salida de una compuerta XOR es igual a
0 0 0 0
1 solamente cuando entre sus entradas
0 0 1 1
hay un número impar de 1s
0 1 0 1
• Esta función es de utilidad en circuitos
0 1 1 0
aritméticos y en circuitos detectores de
errores 1 0 0 1
1 0 1 0
1 1 0 0
1 1 1 1
© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 81
Compuerta XNOR
• La compuerta XNOR es la compuerta XOR pero con su
salida negada
• Su salida es igual a 1 cuando sus entradas son iguales
𝑥1 𝑥2 𝑓 𝑥1 , 𝑥2
0 0 1
0 1 0
1 0 0
1 1 1
Símbolo
Tabla de verdad

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 82


Implementación de la función XNOR
• La función lógica XNOR se puede expresar como una suma
de productos:
𝑥1 ⊕ 𝑥2 = 𝑥1 + 𝑥2 ⋅ 𝑥1 + 𝑥2 = 𝑥1 ⋅ 𝑥2 + 𝑥1 ⋅ 𝑥2

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 83


Compuerta XNOR con 𝑛 entradas
• La salida de una compuerta XNOR también se activa
dependiendo del número de 1s entre sus entradas
𝑥1 𝑥2 𝑥3 𝑓 𝑥1 , 𝑥2 , 𝑥3
• La salida será igual a 1 solamente cuando
0 0 0 1
entre sus entradas exista un número par
0 0 1 0
de 1s
0 1 0 0
– La salida del XOR era 0 en estos casos
0 1 1 1
1 0 0 0
1 0 1 1
1 1 0 1
1 1 1 0
© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 84
¿Qué aprendimos hoy?
• Compuerta XOR
 Símbolo
 Tabla de verdad
• Compuerta XNOR
 Símbolo
 Tabla de verdad

© 2020 Electrónica digital bit a bit 1. Introducción a los Circuitos lógicos 85

También podría gustarte