Flips Flops
Flips Flops
Sistemas combinacionales
Biestables
Sistemas secuenciales
2
SISTEMAS COMBINACIONALES
4
COMPARADORES
El integrado comercial es el 7485. Compara
dos números de 4 bits y permite conexión en cascada.
𝐴 → 𝐴4 𝐴3 𝐴2 𝐴1
Números que se comparan 𝐵 → 𝐵4𝐵3𝐵2𝐵1
SALIDAS
ENTRADAS
5
COMPARADORES
𝐴 → 𝐴4 𝐴3 𝐴2 𝐴1
Ejemplos: 𝐵 → 𝐵4𝐵3𝐵2𝐵1
𝐴 → 0100 𝐴 → 1100
𝐵 → 0101 𝐵 → 0110
0 0
0 0
1 1
0 0 1 1
1 0 0 0
0 1 1 0
1 1
0 0
0 0
1 1
0 0
6
CONEXIÓN EN CASCADA
Comparador de 8 bits = 2 comparadores de 4 bits en
cascada
𝐴8 𝐴7 𝐴6 𝐴5 𝐴4 𝐴3 𝐴2 𝐴1
𝐵8 𝐵7 𝐵6 𝐵5 𝐵4 𝐵3 𝐵2 𝐵1
7
CONEXIÓN EN CASCADA
Ejemplo:
𝐴 → 𝐴8 𝐴7 𝐴6 𝐴5 𝐴4 𝐴3 𝐴2 𝐴1 → 10000100
𝐵 → 𝐵8𝐵7𝐵6𝐵5𝐵4𝐵3𝐵2𝐵1 → 01100110
0 0
0 0
1 0
0 1
0 1
0 0 0
0
1
1 1 0
1 1
0 0
8
CONEXIÓN EN CASCADA
Ejemplo:
𝐴 → 𝐴8 𝐴7 𝐴6 𝐴5 𝐴4 𝐴3 𝐴2 𝐴1 → 10000100
𝐵 → 𝐵8𝐵7𝐵6𝐵5𝐵4𝐵3𝐵2𝐵1 → 10000110
0 0
Cambia 0
0
1 0
0 0
0 1
0 0 0
0
1
1 0 1
1 0
0 1
9
SUMADOR COMPLETO (full adder)
El sumador completo tiene en cuenta el posible acarreo (CIN)
A B CIN S COUT
0 0 0 0 0
0 0 1 1 0
0 1 0 1 0
0 1 1 0 1
1 0 0 1 0
1 0 1 0 1
Link simulador Falstad
1 1 0 0 1
1 1 1 1 1
10
SUMADOR DE N BITS
Para formar un sumador de n bits, unimos varios sumadores
completos en cascada. Cada uno tiene en cuenta el acarreo del
anterior.
Ejemplo: 4 bits 𝐴4𝐴3𝐴2𝐴1
𝐵4𝐵3𝐵2𝐵1
+
𝑆5𝑆4𝑆3𝑆2𝑆1
11
SUMADOR DE N BITS
Ejemplo: 1
𝐴4𝐴3𝐴2𝐴1 1001
𝐵4𝐵3𝐵2𝐵1
+
0101
+ 01110
𝑆5𝑆4𝑆3𝑆2𝑆1
1 0
0 1 1
1 0 0 1
1 0 1 0
1 0 0 0
12
SUMADOR DE N BITS
Ejemplo:
𝐴4𝐴3𝐴2𝐴1 11 1
𝐵4𝐵3𝐵2𝐵1 1101
+
𝑆5𝑆4𝑆3𝑆2𝑆1
Cambia
+ 0101
10010
0 1
0 1 0
1 0 1 1
1 0 1 0
1 0 1 1
13
SUMADOR DE 4 BITS
El integrado comercial 74283 un sumador completo de 4 bits,
permitiendo conexión en cascada:
SALIDAS
ENTRADAS
14
CONEXIÓN EN CASCADA
2 sumadores de 4 bit permiten implementar un sumador de 8
bits
𝐴8 𝐴7 𝐴6 𝐴5 𝐴4 𝐴3 𝐴2 𝐴1
𝐵8𝐵7𝐵6𝐵5𝐵4𝐵3𝐵2𝐵1
+
𝑆 9𝑆 8𝑆 7𝑆 6𝑆 5𝑆 4𝑆 3𝑆 2𝑆 1
15
CONEXIÓN EN CASCADA
Ejemplo
𝐴8 𝐴7 𝐴6 𝐴5 𝐴4 𝐴3 𝐴2 𝐴1
01110011
𝐵8𝐵7𝐵6𝐵5𝐵4𝐵3𝐵2𝐵1 101001110
+
+
𝑆 9𝑆 8𝑆 7𝑆 6𝑆 5𝑆 4𝑆 3𝑆 2𝑆 1
11011011
1 1
1 1
0 0 0
1
0 1 0 0
1 1 1 1
1 1 0 0
0 1
1 1 1
0
16
CONEXIÓN EN CASCADA
Ejemplo Cambia
1
Cambia
𝐴8 𝐴7 𝐴6 𝐴5 𝐴4 𝐴3 𝐴2 𝐴1 01111011
𝐵8𝐵7𝐵6𝐵5𝐵4𝐵3𝐵2𝐵1 01011011
+ 011010110
+ 𝑆 9𝑆 8𝑆 7𝑆 6𝑆 5𝑆 4𝑆 3𝑆 2𝑆 1
1 1
1 1
0 0 1
1
1 1 0 0
1 1 1 1
1 0 0 1
0 1
1 0 0
1
17
SUMADOR/RESTADOR
Para sumar y restar, trabajamos en complemento a 2. Restar dos números
es equivalente a sumar el número cambiado de signo.
• A - B = A + Ca2(B)
Recordemos que cambiar el signo en Ca2 consiste en complementar todos
los bits y sumarle 1 al resultado. Según esto podemos diseñar un
sumador/restador de 4 bits basándonos en un
sumador de 4 bits y puertas XOR, ya que:
– Si a = 0: Tabla de verdad
y=a⊕𝑏 =𝑏 de la función XOR
– Si a = 1:
a b y
y = a ⊕ 𝑏 = 𝑏ത 0 0 0
Complementamos el valor de la variable 0 1 1
b (o no) en función de la variable a 1 0 1
1 1 0
18
SUMADOR/RESTADOR
Si S/𝑅 = 0
– Los valores de las entradas B1- B4
no se complementan en las puertas
XOR
– El CIN es 0
– Por tanto, se realiza una suma
Si S/𝑅 = 1
– Los valores de las entradas B1- B4
sí se complementan en las puertas
XOR
– El CIN es 1
– Por tanto, se realiza una resta
usando el Ca2 19
SUMADOR/RESTADOR
Suma
1
1
0 1
0 0
0 1
0
1 1
0 1
1 0 0
1
0
0
𝐴4𝐴3𝐴2𝐴1 0011
𝐵4𝐵3𝐵2𝐵1
+ 1010
𝑆5𝑆4𝑆3𝑆2𝑆1 + 01101
20
SUMADOR/RESTADOR
Suma
0
0
0
1
0 1
0 0
0
1 0
1 1
1 1 1
1
0
0
𝐴4𝐴3𝐴2𝐴1 0100
𝐵4𝐵3𝐵2𝐵1
+ 1110
𝑆5𝑆4𝑆3𝑆2𝑆1 + 10010
28
SUMADOR/RESTADOR
𝐴 4 𝐴 3 𝐴 2 𝐴1
Resta 𝐴4𝐴3𝐴2𝐴1 𝐵4 𝐵3 𝐵2 𝐵1
𝐵4𝐵3𝐵2𝐵1 𝑆/𝑅
− +
𝑆5𝑆4𝑆3𝑆2𝑆1 𝑆5 𝑆4 𝑆3 𝑆2 𝑆1
0
0
0 0100
1 0100
0 1 0001
0 1 1110
1 − 00110 1
+ 00110
1 0
1 0
1 0 0
0
Cambia
1
1
22
CODIFICADORES
Es un circuito que permite transformar un nivel activo en una
de sus entradas en un valor codificado
23
CODIFICADORES
Ejemplo: 74147 Decimal a BCD. 10 entradas y 4 salidas.
Usado en los teclados numéricos
Si se activan
varias entradas
a la vez, se
puede dar
prioridad a una
de ellas, o
alertar del error
Prioridad: menor
0101
𝐷𝐶𝐵𝐴 → 0101 𝐷𝐶𝐵𝐴 → 1000 𝐷𝐶𝐵𝐴 ቐ1000 Prioridad: mayor
1111 Error
24
DECODIFICADORES
Transforma un valor codificado en:
– La activación de una única salida correspondiente a dicho valor.
Realizan la función inversa a los codificadores.
– Un valor codificado en otro código (conversores de código)
25
DECODIFICADOR
Ejemplo: 7442 BCD a decimal
Si hay un
error, las
salidas
quedan a
gusto del
diseñador
26
CONVERSOR DE CÓDIGO
Ejemplo: 7447 BCD a display 7 segmentos
Dirección Datos
de Memoria “almacenados”
𝑎7 … 𝑎0 → 00110011 𝑧7 … 𝑧0 → 011100101
𝑎7 … 𝑎0 → 11010101 𝑧7 … 𝑧0 → 001001011
𝑎7 … 𝑎0 → 00110011 𝑧7 … 𝑧0 → 011100101
28
DEMULTIPLEXOR
Un demultiplexor es un circuito que copia el valor de la
entrada de datos (d) en la salida (z) indicada por el valor de
las señales de control (a).
DMUX4, DMUX8…
29
MULTIPLEXOR
El multiplexor es un circuito que permite seleccionar una de
las entradas de datos (x) y copiar su valor a la salida (z). La
entrada seleccionada depende del valor que se dé a las
entradas de control (a).
MUX4,
MUX8… Link simulador Falstad
30
APLICACIONES DEL MULTIPLEXOR
Un multiplexor de n entradas de control es un modulo
lógico universal: permite sintetizar cualquier función lógica de n
variables.
Tabla verdad de la función F Las variables de control del multiplexor son
que se quiere implementar las variables de la función a sintetizar y las
entradas de datos tienen los valores 0 ó 1
x y z F correspondientes al valor de la función para
0 0 0 1 cada combinación de variables.
0 0 1 0
0 1 0 0
0 1 1 0
Implementación de
1 0 0 1
la función F con un
1 0 1 0 multiplexor
1 1 0 1
1 1 1 1 31
APLICACIONES DEL MULTIPLEXOR
Selector de datos. Sirve para
convertir información en
paralelo en información
serie.
Acceso a buses. El control
del acceso a un bus para
enviar información al
mismo se
puede hacer de
cómoda mediante fo
multiplexor a través delrm
cual pasen todas lasa
un 32
SISTEMAS DIGITALES
Introducción. IFF
Sistemas combinacionales
Biestables
Sistemas secuenciales
33
BIESTABLES
Es un circuito capaz de almacenar un bit de información,
gracias a un lazo de realimentación
El más sencillo se basa en dos puertas NOT en serie
35
LATCH SR ASÍNCRONO
Existe versión basada en
puertas dos NOR y puertas
Tabla verdad
NAND. Veamos
en lados
NOR:
0 0
1 0
0 1
1 1
LATCH SR ASÍNCRONO
Denominamos
– Estado 0 cuando Q2 = 0 y Q1 = 1
– Estado 1 cuando Q2 = 1 y Q1 = 0
Entonces, el circuito presenta un
estado
tercer (Q1 = Q2 = 0). No nos interesa, por lo que
evitaremos que el sistema vaya a ese estado. Es
el estado prohibido. Tabla verdad
Así, las salidas Q2 y Q1 son siempre una la
negada de la otra, por lo que las denominamos
Q y Qഥ . Y
importante, lo que es más
la combinación S = R = 0, mantiene
el estado por lo que el biestable mantendrá el
último estado escrito.
45
DINÁMIC
A
El sistema permanece estable mientras S=R=0. Se dice que ambas
entradas están inactivas.
Si activamos S (S=1, R=0) el sistema irá al estado 1. Se denomina
S porque lleva al estado Set.
Si activamos R (R=1, S=0) el sistema irá al estado 0. Se denomina R
porque lleva al estado Reset.
El circuito recuerda la última activación en S o R.
Las dos entradas no pueden activarse a la vez, ya que el sistema iría al
estado prohibido.
S=1
Estado 0 Estado 1
R=1 46
DIAGRAMA DE ESTADOS
S=0, R=1 S=1, R=0
S=1, R=0
Estado 0 Estado 1
S=0, R=1
S=0
R=1
? S=1
R=0
S=0, R=0 S=0 S=0, R=0
R=0
S=1 S=1
R=1 R=1
Q=0
Q=0
LATCH D
Está formado por un latch SR y lógica adicional para evitar el
estado prohibido
Por definición, si la señal de control “Enable” (E) está
inactiva, el biestable mantiene el estado y si está active el
valor de la entrada D se escribe en la salida Q.
El Enable puede ser activo en bajo o en alto. Si el
Enable es activo en alto:
48
LATCH D
43
DETECTOR DE FLANCO
Circuito que tiene salida activa (en alto o bajo)
solo cuando se produce un flanco (de subida o bajada)
Versión activa en alto para flanco de subida:
44
FLIP FLOP D
Formado por un latch D y un detector de flanco
El biestable solo es activo (Q toma el valor de D), cuando el
reloj tiene una transición. Así se pueden sincronizar los
cambios de varios flip flop.
Versión activa con flanco de subida (latch D activo en alto y
detector de flanco con salida en alto con flanco de subida de
reloj)
45
BIESTABLES TIPO D
Un latch es activado por nivel en el sentido de que se pueden producir
transiciones de estado mientras la señal de control (enable) esté en nivel
1 (o 0) (level triggered)
Un flip-flop es activado por flanco de subida en el sentido de que la
transición de estado se produce sólo cuando la señal de control (reloj) pasa
de 0 a 1 (o de 1 a 0) (edge triggered)
Latch D activado con nivel alto (a) o con nivel bajo (b)
Flip-Flop D activado con flanco de subida (c) o de bajada (d)
48
SISTEMAS DIGITALES
Introducción. IFF
Sistemas combinacionales
Biestables
Sistemas secuenciales
50
SISTEMAS SECUENCIALES
– Incluyen biestables
– Salida depende de las entradas y del estado:
• Latch/Flip Flop
• Registros
• Contadores
• Memorias SRAM
– Ejemplo: sumador - acumulador
51
AGRUPACIONES DE FLIP FLOPS
52
REGISTRO DE ALMACENAMIENTO
Conexión en paralelo de
flip-flops D
Se produce una carga síncrona
de los datos Di en la salida
correspondiente Qi
El dato queda almacenado
hasta la siguiente activación
del reloj
53
REGISTRO DE DESPLAZAMIENTO
Conexión en serie de flip-flops D Link simulador Falstad
𝑄𝑖+1 = 𝑄𝑖
𝑄0 = 𝑋
54
REGISTROS CON REALIMENTACIÓN
Registro de desplazamiento (a la izquierda) realimentado
0010
0001 0100
1000
56
CONTADOR DE DOBLE ANILLO
Contador de doble anillo
– Salida serie negada
Entrada serie
– 2N estados permitidos
0000 1111
0000
1111 1110 58
CONTADORES SÍNCRONOS
Ejemplo:
– 3 datos de entrada (D):
3 columnas de biestables
– 2 para la dirección (A): El
decodificador indica una única
fila. 4 filas de biestables
– 3 datos de salida (Q): los
multiplexores llevan a la salida la
fila indicada por el decodificador
– 1 control de escritura (WE: write
enable)
• WE = 0: lectura
• WE = 1: escritura
Total: 4x3 = 12 bits 61
EJERCICIO 2
Dado el siguiente circuito formado por 3 flip-flops (uno T y
dos D), todos activos por flanco de subida de reloj.
62
Link simulador Falstad
EJERCICIO 3
Dado el siguiente circuito basado en 2 flip-flops (uno T y
uno JK) ambos activos por flanco de subida de reloj.