Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CED Tema 7 2017 2018 2024-01-26 01 - 22 - 08
CED Tema 7 2017 2018 2024-01-26 01 - 22 - 08
Análisis y diseño de
circuitos secuenciales
Circuitos Electrónicos Digitales
E.T.S.I. Informática
Universidad de Sevilla
●
Introducción
●
Biestables
●
Máquinas de estados finitos y circuitos secuenciales
síncronos (CSS)
●
Análisis de CSS
●
Diseño de CSS
●
En este tipo de sistemas, el valor de las salidas en un
instante de tiempo no puede determinarse a partir del
valor de las entradas en ese mismo instante de tiempo
●
Se necesita que la acción del sistema tenga en cuenta no
sólo las entradas sino también la historia pasada del
sistema (estado).
●
Para almacenar un estado son necesarios nuevos
elementos de circuito: biestables.
●
Los biestables son circuitos electrónicos con dos estados
estables
●
Son el elemento básico de los circuitos secuenciales
●
Poseen una o más entradas que hacen que sea posible
conmutar entre los dos estados estables
●
Un circuito con n biestables puede almacenar hasta 2n
estados
q2
S
q
q
R
0 S 0 S
q 1 q 0
0 R q 0 0 R q 1
●
S=1, R=0 cambia a 1 (set) S=0, R=1 cambia a 0 (reset)
1 0 S
S q 1
q 0
1 R q 0
0 R q 1
module srl( S q S q
module srff(
input ck, input ck,
input s, R input s,
input r, Rck
ck input r,
output reg q); output reg q);
always @(ck, s, r) always @(negedge ck)
case ({ck, s, r}) case ({s, r})
3'b101: q = 1'b0; 2'b01: q = 1'b0;
3'b110: q = 1'b1; 2'b10: q = 1'b1;
3'b111: q = 1'bx; 2'b11: q = 1'bx;
endcase endcase
endmodule endmodule
S q qa S q ql S q qff
R R Rck
ck
ck
R
qa
ql
qff
Verilog
Tabla de excitación
q module dff(
input ck,
D q→Q D input d,
q
ck 0→0 0 output reg q);
Verilog
Tabla de excitación
q module tff(
input ck,
T q→Q T input t,
q
ck 0→0 0 output reg q);
ck
PR
CL PR
q CL
D
ck D
CLK
PRESET
SINCRONO CLEAR PRESET
SINCRONO
z
J1 q1
z
K1 x
ck
q1 J1
J2 q2 K1
x
K2
ck
q2 J2
ck
K2
Dos biestables: (q1,q2) --> 4 estados
ck
z
generalización
x z
C.C.
q1 J1
K1 q JK,RS,
D,T
ck biestables
q2 J2
ck
K2
ck
●
Dos máquinas de estados son equivalentes si generan las
mismas secuencias de salida para las mismas secuencias
de entrada.
●
Las máquinas de estados se pueden optimizar: máquinas
equivalentes con menor número de estados.
●
Las máquinas de estados pueden ser incompletamente
especificadas: próximo estado no definido para un estado
actual y entrada dados.
●
Introducción
●
Biestables
●
Máquinas de estados finitos (FSM) y circuitos secuenciales
síncronos (CSS)
●
Análisis de CSS
– Análisis lógico: procedimiento y ejemplo
– Análisis temporal
●
Diseño de CSS
●
Objetivo:
– Partiendo del circuito construido (esquema del circuito),
obtener el diagrama de estados de la máquina que
implementa e interpretar su operación/utilidad.
●
El proceso hasta obtener el diagrama de estados es
sistemático.
●
La interpretación no es sistemática, intervienen:
– Experiencia
– Información adicional
Circuito: biestables
y elem. combinacionales
Análisis combinacional
Tabla de excitación/salida
Tablas de biestables
Tabla de transición de
estados/salida
Definición de estados
Tabla de estados/salida
Diagrama de estados
Interpretación
Descripción verbal
J1 q1
z
K1
ck
J2 q2
x
K2
ck
Tabla de excitación/salida
J1 q1
z z= q2(x q1)
K1
ck
X
q2q1 0 1
J2 q2 00 1 1, 1 1, 0 0 0, 1 1, 0
x
01 0 0, 1 1, 0 1 1, 1 1, 0
K2
10 1 1, 0 0, 0 0 0, 0 0, 1
11 0 0, 0 0, 1 1 1, 0 0 , 0
ck
J2 K2, J1 K1,z
X X
q2q1 0 1 q2 q 1 0 1
00 1 1, 1 1, 0 0 0, 1 1, 0 00 1 1, 0 0 1, 0
01 0 0, 1 1, 0 1 1, 1 1, 0 01 0 0, 0 1 0, 0
10 1 1, 0 0, 0 0 0, 0 0, 1 10 0 0, 0 1 0, 1
11 0 0, 0 0, 1 1 1, 0 0 , 0 11 1 1, 1 01,0
J2 K2, J1 K1,z Q 2Q 1, z
S0 00 Definición de estados
S1 01
Tabla de estados/salida
S2 10 Diagrama de estados
S3 11
X X
q2 q 1 0 1 S 0 1
00 1 1, 0 0 1, 0 S0 S3, 0 S1, 0
01 0 0, 0 1 0, 0 S1 S0, 0 S2, 0
10 0 0, 0 1 0, 1 S2 S0, 0 S2, 1
11 1 1, 1 01,0 S3 S3, 1 S1, 0
Q2Q1, z NS, z
Definición de estados
1/0
Tabla de estados/salida
Diagrama de estados
1/0
1/0
S1 1/1
S0
0/0 S2 X
0/0 S 0 1
0/0 S0 S3, 0 S1, 0
0/1 S1 S0, 0 S2, 0
S3
S2 S0, 0 S2, 1
S3 S3, 1 S1, 0
NS, z
CLK
x
S0 S3 S3 S3 S1 S2 S2 S0 S3 S3 S1 S2
z
Función:
Problemas de inicialización
detecta 3 ceros o tres unos
consecutivos en la entrada
Cada arco del diagrama muestra x/z: La tabla muestra la misma información:
– x: valor de entrada que provoca la – Posibles estados en filas
transición desde el estado S. – Posibles valores de entradas en columnas
– z: valor de salida generado en el – Próximo estado y salida en cada celda.
estado S cuando la entrada vale x.
x 0 1
1/0 S
0/0 A A,0 B,0
1/0 B
B C,0 A,0
1/0
A C C D,0 B,0
0/0 1/1
D A,0 B,1
NS,z
0/0 D 0/0
x
1 0 1 z
S
0 A A B 0
1 B/0
B C A 0
A/0 1 1
0 C/0 C D B 0
0
E/1
1 D A E 0
0 D/0 0 E C B 1
NS
cl
CL
q1
x D1
y a
z
CL
J2 q2
K2
clk
clk
cl
x=J2
y=K2
D1
q1
q2
a
z
D1 = x ⊕ y
J2 = x; K2 = y
a = q1 x
z = a ⊕ q2
●
Introducción
●
Biestables
●
Máquinas de estados finitos (FSM) y circuitos secuenciales
síncronos (CSS)
●
Análisis de CSS
●
Diseño de CSS
– Objetivos
– Procedimiento y ejemplo
Interpretación
Tabla de estados/salida
Diagrama de estados
Codificación de estados
Tabla de transición de
estados/salida
Elección de biestables
Tabla de excitación/salida
Diseño combinacional
Circuito: biestables
y elem. combinacionales
Descripción funcional
●
Es la fase más importante del diseño
(enunciado) ●
Es la fase menos sistemática
●
Procedimiento/consejos
Interpretación
– Definir claramente entradas y salidas.
– Elegir Mealy o Moore según
Diagrama de estados
Tabla de estados/salida características del problema
(sincronización de la salida)
– Identificar y definir los estados
adecuados de la forma más general
posible
– Establecer las transiciones y salidas
necesarias
– Capturar todos los detalles del
problema en la máquina de estados
– Comprobar el diagrama con una
secuencia de entrada típica
●
Ejemplo
– Diseñe un circuito con una entrada x y una salida z que
detecte la aparición de la secuencia "1001" en la entrada.
Cuando esto ocurre se activará la salida (z=1). El último "1"
de una secuencia puede considerarse también el primer "1"
de una secuencia posterior (detector con solapamiento).
x z x:
x: 00100111000011101001001001010011...
00100111000011101001001001010011...
z:
z: 00000100000000000001001001000010...
00000100000000000001001001000010...
1/0
x
0 1
0/0 S
1/0 B A,0 B,0
A
B C,0 B,0
1/0
A C
0/0 1/1
C D,0 B,0
D A,0 B,1
0/0 D 0/0
NS,z
●
Objetivo:
Tabla de estados/salida – Asignar valores binarios a los
estados (codificación de estados)
para su almacenamiento en
Codificación de estados biestables.
Tabla de transición de
estados/salida
●
Opciones
– Algoritmos complejos
– Asignación arbitraria
– Un biestable por estado (codificación
one-hot)
x x
0 1 S q1q2 0 1
S q1q2
A A,0 B,0 A 00 00 00,0 01,0
B 01
B C,0 B,0 01 11,0 01,0
C 11
C D,0 B,0
D 10 11 10,0 01,0
NS,z Q1Q2,z
Tabla de transición de
Tabla de excitación/salida
estados/salida Tabla de excitación
q→Q JK
x 0→0 0x x
0 1 0 1
q1q2 0→1 1x q1q2
00 00,0 01,0 1→0 x1 00 0x,0x,0 0x,1x,0
1→1 x0
01 11,0 01,0 01 1x,x0,0 0x,x0,0
Tabla de transición de
Tabla de excitación/salida
estados/salida
x
0 1
q1q2
00 00,0 01,0
01 11,0 01,0
11 10,0 01,0
10 00,0 01,1
Q1Q2,z
D1,D2,z
Tabla de excitación/salida
●
La tabla de excitación/salida es
Diseño combinacional
una especificación de la parte
combinacional.
Circuito: biestables y ●
La implementación se realiza
elementos combinacionales
mediante cualquiera de las
técnicas de diseño de C.C.
– Dos niveles de puertas
– Subsistemas: multiplexores,
x z decodificadores, etc.
C.C.
– Etc.
q JK,D,...
biestables
01 1x,x0,0 0x,x0,0 J1 K1 z
x x
11 x0,x1,0 x1,x0,0 q1q2 0 1 q1q2 0 1
00 0 1 00 x x J1 = x'q2
10 x1,0x,0 x1,1x,1
01 x x 01 0 0 K1 = x + q2'
J1K1,J2K2,z 11 x x 11 1 0 J2 = x
10 0 1 10 x x K2 = x'q1
J2 K2 z = xq1q2'
'
J1 = x'q2
K1 = x + q2'
J2 = x
K2 = x'q1 CL
z = xq1q2'
CL CL
J1 q1 J2 q2
x
K1 K2
ck ck
ck
J1K1,J2K2,z ck
Descripción funcional
(enunciado)
Circuito
1
1/0
0
0/0 B/0
B 1
1/0
A/0 1 1
A 1/0
C 0 C/0
0
0/0 1/1 E/1
1
0 D/0 0
0/0 D 0/0
0/0 D 0/0