SlideShare una empresa de Scribd logo
Universidad Autónoma Metropolitana
Diseño lógico
Tema: Circuitos secuenciales
Profesor:
Adán G. Medrano Chávez
agmc@azc.uam.mx
Introducción
Contenido Casa abierta al tiempo
1 Introducción
2 Cerrojos
3 Flip-flops
4 Simulación de cerrojos y biestables
5 Arreglos de elementos de memoria
6 Máquinas de estado finito
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 2
Introducción
Contexto tecnológico Casa abierta al tiempo
Observación
Los sistemas digitales que usamos
cotidianamente tiene la capacidad de
retener información temporalmente,
e.g. con una calculadora no tenemos
que dejar apretados los botones que
oprimimos porque la calculadora los
guarda en memoria.
3
6
AC
C 9
2
5
8
1
4
7
=
+
-
0
-100
Calculador maizoro.
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 3
Introducción
Circuitos secuenciales Casa abierta al tiempo
Definición1
Son circuitos integrados por compuertas lógicas cuya salida depende de
la entrada actual y la pasada, la cual es almacenada en elementos de
memoria constituidos por compuertas lógicas. A diferencias de los
circuitos combinacionales, los secuenciales tienen rizos de
retroalimentación.
1
Hwang, E. «Digital logic and microprocessor design with VHDL», Brooks/Cole, 2005.
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 4
Introducción
Circuito secuencial Casa abierta al tiempo
Definición
Circuito eléctrico compuesto de un
bloque combinacional y una memoria
cuya salida retroalimenta al bloque
combinacional.
Características
• El valor actual almacenado en la
memoria se conoce como el
estado del circuito
• La salida del circuito y el valor de
la memoria depende de:
• Su estado actual
• El valor actual de las entradas
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 5
Introducción
Estado Casa abierta al tiempo
Definición
Es el valor del bit almacenado por el elemento de memoria. El valor del
estado está siempre disponible a la salida del elemento de memoria, así,
el estado es igual a la salida.
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 6
Introducción
Clasificación de los circuitos secuenciales Casa abierta al tiempo
Asíncronos
Circuitos cuyo comportamiento
depende de que ocurra un cambio en
la entrada y del orden en el que
cambien las entradas. Estos circuitos
pueden considerarse como circuitos
combinacionales con
retroalimientación. Los cerrojos
(latches) son los representantes de
esta categoría.
Síncronos
Circuitos que cambian de estado
cuando se presenta un evento de
sincronización. Este evento es la
ocurrencia del flanco de subida (o
bajada) de un onda cuadrada con
período τ llamada señal de reloj. Los
biestables (flip-flops) son los
representantes de esta categoría.
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 7
Introducción
Objetivos del tema Casa abierta al tiempo
Objetivo general
Al final de este tema el alumno será
capaz de diseñar un procesador de
propósito específico.
Objetivos particulares
• Comprender cómo funcionan los
circuitos digitales que pueden
almacenar información.
• Entender las estrategias de
diseño de registros y memorias
• Entender el funcionamiento de
las máquinas de estados
• Entender cómo se implementa un
programa sencillo en hardware
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 8
Cerrojos
Contenido Casa abierta al tiempo
1 Introducción
2 Cerrojos
3 Flip-flops
4 Simulación de cerrojos y biestables
5 Arreglos de elementos de memoria
6 Máquinas de estado finito
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 9
Cerrojos
Cerrojos Casa abierta al tiempo
Definición
Es el elemento más simple de memoria
para almacenar un bit. Tiene dos
nodos simétricos etiquetados como Q
y Q’ que se comportan como salida y
como entrada. Dichos nodos también
representan sus estados estables.
Q
Q’
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 10
Cerrojos
Cerrojo RS Casa abierta al tiempo
Características
• Posee dos entradas S’ y R’
• Se construye con compuertas
NAND
• Posee dos estados: set y reset
• El estado set se establece cuando
S’ = 0 y R’ = 1
• El estado reset se establece
cuando S’ = 1 y R’ = 0
Q
R’
S’
Q’
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 11
Cerrojos
Cerrojo RS Casa abierta al tiempo
Tabla de funcionamiento del cerrojo RS
Q
R’
S’
Q’
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 12
Cerrojos
Cerrojo RS Casa abierta al tiempo
Problema
Compruebe la tabla de funcionamiento del cerrojo RS por medio de
simulación.
Salida de un cerrojo RS
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 13
Cerrojos
Cerrojo RS Casa abierta al tiempo
Estado indefinido:
Ocurre cuando:
las dos entradas S’ y R’ cambian de cero a uno al mismo tiempo y
el retardo de compuerta y el de propagación sean exactamente el mismo
Bajo el estado indefinido, el valor de las salidas Q y Q’ oscila
Si los retardos de compuerta y de propagación no son los mismo, entonces el latch no
oscilará, pero no se conocerá el siguiente estado
En la práctica, es casi imposible que el retardo de compuerta y el de propagación sean
exactamente el mismo
Para evitarlo, S’ debe cambiar a uno antes que R’ o viceversa.
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 14
Cerrojos
Cerrojo RS con habilitador Casa abierta al tiempo
Características:
Posee dos entradas S y R
Se construye con cuatro
compuertas NAND
Posee dos estados: set y reset
El estado anterior se preserva
cuando E = 0
El estado set se establece cuando
E = 1, S = 1 y R = 0
El estado reset se establece
cuando E = 1, S = 0 y R = 1
No evita el estado indefinido
Q
R’
S’
Q’
S
R
E
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 15
Cerrojos
Cerrojo D Casa abierta al tiempo
Características:
Garantiza que el estado
indefinido del latch RS no ocurre
porque S’ siempre es diferente
de R’
Sólo tiene una entrada de datos D
El siguiente estado obtiene el
mismo valor que la entrada D
Este latch pierde su capacidad de
almacenar
Q
R’
S’
Q’
D
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 16
Cerrojos
Cerrojo D Casa abierta al tiempo
Observación
El latch D se comporta prácticamente como un alambre. ¿Cómo
hacemos que retenga un bit de nueva cuenta?
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 17
Cerrojos
Cerrojo D con habilitador Casa abierta al tiempo
Características:
Tiene capacidad de almacenar un
bit ya que Q está directamente
conectado a D
Usa un MUX para poder
sobreescribir el bit que tiene
almacenado
Cuando E está habilitada,
entonces pasa D a Q
Q
R’
S’
Q’
D
0
1
E
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 18
Cerrojos
Aplicaciones de los cerrojos Casa abierta al tiempo
Observación
Un cerrojo puede emplearse para
retener la salida salida de un botón o
de un circuito combinacional a pesar
de que la entrada cambie, e.g. la
salida del estatus de un
sumador-restador almacenarse para
que otro circuito las analice. De
hecho, las computadoras así lo hacen.
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 19
Flip-flops
Contenido Casa abierta al tiempo
1 Introducción
2 Cerrojos
3 Flip-flops
4 Simulación de cerrojos y biestables
5 Arreglos de elementos de memoria
6 Máquinas de estado finito
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 20
Flip-flops
Flip-flops Casa abierta al tiempo
Definición
Son circuitos que cambian su estado de forma períodica, en el mismo momento e intervalo
regular, y no según cambien sus entradas. Requieren de una señal de reloj: una onda cuadrada
de alta frecuencia generalmente.
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 21
Flip-flops
Señal de reloj Casa abierta al tiempo
Datos sobre la señal de reloj:
Es una señal cuadrada que oscila
entre cero y uno
El ciclo de reloj es el tiempo que
transcurre entre flancos de subida
La velocidad del reloj es igual al
número de ciclos por segundo
La velocidad de reloj sólo puede
ser tan rápido como el circuito
más lento
Ciclo de reloj
F. de bajada
F. de subida
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 22
Flip-flops
Flip flop D Casa abierta al tiempo
Características:
Su estado cambia con el flaco
positivo del reloj
Se compone de dos latches
conectados en serie
El latch maestro se activa
cuando el reloj es cero
El esclavo se activa cuando el
reloj está en alto
maestro esclavo
D D
E
D QQ
EQ’ Q’
Q
Q’
D
clk
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 23
Flip-flops
Flip flop D Casa abierta al tiempo
Observación
El flip flop D cambia su estado en cada flanco de subida, así, solo puede retener la información
durante solo un ciclo de reloj, ¿cómo hacemos que retenga un bit aunque la señal de reloj
cambie?
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 24
Flip-flops
Flip flop D con habilitador Casa abierta al tiempo
Q
D
0
1
D
clk
Q
Q’
E
clk
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 25
Simulación de cerrojos y biestables
Contenido Casa abierta al tiempo
1 Introducción
2 Cerrojos
3 Flip-flops
4 Simulación de cerrojos y biestables
5 Arreglos de elementos de memoria
6 Máquinas de estado finito
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 26
Simulación de cerrojos y biestables
Simulación de cerrojos tipo D Casa abierta al tiempo
Descripción
Puertos:
• dos entradas de un bit: d y
enable
• dos salidas de un bit: q y ¬q
Comportamiento:
• Siempre que cambie el nivel de
enable:
• Si enable = 0, preserva el
estado (do nothing)
• De lo contrario, q ← d
D Q
¬QE
latch D
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 27
Simulación de cerrojos y biestables
Simulación de cerrojos tipo D Casa abierta al tiempo
1 module latch_d_with_enable (
2 d, // Data input
3 q, // state output
4 q_neg , // not state
5 enable // Control input
6 );
7
8 // port definition
9 input wire d, enable;
10 output reg q, q_neg;
11
12 // Behavioral description
13 always @(enable or d) begin
14 if (enable) begin
15 q <= d;
16 q_neg <= ~d;
17 end
18 end
19
20 endmodule // latch_d
D Q
¬QE
latch D
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 28
Simulación de cerrojos y biestables
Simulación de flip-flops tipo D Casa abierta al tiempo
Descripción
Puertos:
• dos entradas de un bit: d y clock
• dos salidas de un bit: q y ¬q
Comportamiento:
• Siempre que ocurre el flanco de
subida de clk:
q ← d
D Q
¬Qclk
flip flop D
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 29
Simulación de cerrojos y biestables
Simulación de cerrojos tipo D Casa abierta al tiempo
1 module flip_flop_d (
2 d, // data input
3 q, // state output
4 q_neg , // not state
5 clk // clock signal
6 );
7
8 // port definition
9 input wire d, clk;
10 output reg q, q_neg;
11
12 // Behavioral description
13 always @(posedge clk) begin
14 q <= d;
15 q_neg <= ~d;
16 end
17
18 endmodule // flip_flop_d
D Q
¬Qclk
flip flop D
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 30
Simulación de cerrojos y biestables
Simulación de flip-flops tipo D con habilitador Casa abierta al tiempo
Descripción
Puertos:
• tres entradas de un bit: d,
enable y clock
• dos salidas de un bit: q y ¬q
Comportamiento:
• Siempre que ocurre el flanco de
subida de clk:
• Si enable = 0, preserva el
estado (do nothing)
• De lo contrario, q ← d
D Q
¬Qclk
flip flop D
e
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 31
Simulación de cerrojos y biestables
Simulación de cerrojos tipo D Casa abierta al tiempo
1 module flip_flop_d_with_e (
2 d, // data input
3 q, // state output
4 q_neg , // not state
5 enable , // enable writing
6 clk // clock signal
7 );
8
9 // port definition
10 input wire d, enable , clk;
11 output reg q, q_neg;
12
13 // Behavioral description
14 always @(posedge clk) begin
15 if (enable) begin
16 q <= d;
17 q_neg <= ~d;
18 end
19 end
20 endmodule // flip_flop_d
D Q
¬Qclk
flip flop D
e
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 32
Arreglos de elementos de memoria
Contenido Casa abierta al tiempo
1 Introducción
2 Cerrojos
3 Flip-flops
4 Simulación de cerrojos y biestables
5 Arreglos de elementos de memoria
6 Máquinas de estado finito
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 33
Arreglos de elementos de memoria Registros
Contenido Casa abierta al tiempo
1 Introducción
2 Cerrojos
3 Flip-flops
4 Simulación de cerrojos y biestables
5 Arreglos de elementos de memoria
Registros
6 Máquinas de estado finito
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 34
Arreglos de elementos de memoria Registros
Registros Casa abierta al tiempo
Definición
Arreglos unidimensionales de n bits
integrados por cerrojos o biestables.
Son capaces de almacenar en el
mismo instante n bits, esto implica
que sus puertos de entrada y de salida
de datos están en función de n. El
número de señales de control de estos
dispositivos no cambia aunque n
aumente. Generalmente, la salida ¬q
no es tomada en cuenta.
d7 d6 d5 d4 d3 d2 d1 d0
q7 q6 q5 q4 q3 q2 q1 q0
E
d7 d6 d5 d4 d3 d2 d1 d0
q7 q6 q5 q4 q3 q2 q1 q0
E
clk
Arriba: registro construido con cerrojos D; abajo,
registro construido con flip-flops D con
habilitador.
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 35
Arreglos de elementos de memoria Registros
Registros Casa abierta al tiempo
Aplicaciones con registros
• Elementos de persistencia
• Acumuladores
• Contadores
• Desplazadores
• Memorias
d7 d6 d5 d4 d3 d2 d1 d0
q7 q6 q5 q4 q3 q2 q1 q0
E
d7 d6 d5 d4 d3 d2 d1 d0
q7 q6 q5 q4 q3 q2 q1 q0
E
clk
Arriba: registro construido con cerrojos D; abajo,
registro contruido con flip-flops D con
habilitador.
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 36
Arreglos de elementos de memoria Registros
Registros Casa abierta al tiempo
Implementación en Verilog
Para implementar un registro de n
bits, solo hay que parametrizar la
entrada d y salida de datos q de los
cerrojos y biestables a n bits, e.g. en
el código de la derecha se muestra un
registro de cerrojos tipo D
parametrizado a n bits.
1 module latch_d_reg (
2 d, //n-bit data input
3 q, //n-bit state output
4 enable // control input
5 );
6
7 parameter n = 8;
8
9 input wire[n -1:0] d;
10 input wire enable;
11 output reg[n -1:0] q;
12
13 // Behavioral description
14 always @(enable or d) begin
15 if (enable) begin
16 q <= d;
17 end
18 end
19
20 endmodule // latch_d
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 37
Arreglos de elementos de memoria Registros
Registros Casa abierta al tiempo
Elementos de persistencia
Los registros se conectan a la salida
de un bloque combinacional para
almacenar la salida producida por una
entrada determinada y descartar los
resultados producidos por otras
entradas.
A B
opcode
result
16 16
4
16vc zne
ALU de 16 bits con un registro del estatus del
procesador (psr) construído con cerrojos D.
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 38
Arreglos de elementos de memoria Registros
Registros Casa abierta al tiempo
Elementos de persistencia
El valor de las banderas solo tiene
sentido cuando se comparan dos
números mediante una resta,
entonces, puede usarse un registro que
se habilite para escritura sólo cuando
un sumador o una ALU efectúa restas.
Si la operación es otra, el registro
mantendrá el valor de las banderas de
la última comparación hecha.
A B
opcode
result
16 16
4
16vc zne
ALU de 16 bits con un registro del estatus del
procesador (psr) construído con cerrojos D.
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 39
Arreglos de elementos de memoria Registros
Registros Casa abierta al tiempo
Acumuladores
Una operación importante realizada
por los sistemas digitales es la suma
de k números. El detalle de esta
operación es que, si se quiere
efectuarse en un paso, requiere de
k − 1 sumadores con propagación de
acarreo, e.g. la suma de a + b + c
requiere de dos sumadores.
FA FA FA FA FA FA FAFA
8a
ci
a[7] a[6] a[5] a[4] a[3] a[2] a[1] a[0]
a+b[7] a+b[6] a+b[5] a+b[4] a+b[3] a+b[2] a+b[1] a+b[0]
cout
b[7] b[6] b[5] b[4] b[3] b[2] b[1] b0]
FA FA FA FA FA FA FAFA
8c
ci
c[7] c[6] c[5] c[4] c[3] c[2] c[1] c[0]
s[7] s[6] s[5] s[4] s[3] s[2] s[1] s[0]cout
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 40
Arreglos de elementos de memoria Registros
Registros Casa abierta al tiempo
Acumuladores
Añadir sumadores para obtener la
suma de k números no es factible
porque esto encarece el hardware. En
la práctica, el resultado de la suma se
almacena en un registro cuyo estado
es tomado como operando secundario
del sumador.
Adder
cout
result
enable
clear
A
n
n
n
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 41
Arreglos de elementos de memoria Registros
Registros Casa abierta al tiempo
Contadores
Registros que almacenan un número cuyo
valor cambia en una unidad cada que se
presenta un evento. El valor almacenado
en los registros puede estar codificado de
distintas maneras, e.g. el registro puede
almacenar la magnitud de un número
binario, un código Gray o un código
BCD. Los contadores pueden tener un
puerto de entrada de carga de datos
paralela de n bits y un puerto de limpieza
clear. También pueden tener un puerto
ctrl que hace que indica si la cuenta es
ascendente o descendente.
clk
clear
ctrl
counter
d
n
n
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 42
Arreglos de elementos de memoria Registros
Registros Casa abierta al tiempo
Desplazadores
Circuitos síncronos que cargan un
valor de n bits que será desplazado a
la derecha o a la izquierda, según el
valor de un puerto ctrl. Generalmente
se emplean para como convertidores
paralelo-serie o serie-paralelo.
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 43
Arreglos de elementos de memoria Registros
Registros Casa abierta al tiempo
Archivo de registros
Memoria de acceso arbitrario (RAM,
random-access memory) constituida
por m registros síncronos de n bits
que se escriben en el flanco de subida
de una señal de reloj. Generalmente,
se busca que el número de registros m
sea una potencia de dos, mientras que
n puede valer ocho, 16, 32 o 64 bits.
A la derecha se muestra el archivo de
registros visto como un bloque.
input d
addr d
enable w
output d
enable r
clk
addr q
n
log2m
n
log2m
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 44
Arreglos de elementos de memoria Registros
Registros Casa abierta al tiempo
Archivo de registros
A la entrada, los registros que
componen al archivo están conectados
de la siguiente manera: el puerto d
está conectado al bus de entrada
input d que recibe la información
que será almacenada en la memoria.
El puerto de habilitación en está
conectado a la salida de un
descodificador que permite escribir
solo un registro a la vez. También
está el puerto clk que recibe la señal
de reloj que sincroniza la escritura de
la memoria.
en
d
clk
q
input d output q
16 bits
From clock signal
From decoder d
16 bits
Fromdecoderr
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 45
Arreglos de elementos de memoria Registros
Registros Casa abierta al tiempo
Archivo de registros
Cada bit de salida de un registro está
conectado conectado a un búfer de
tercer estado que desconecta
eléctricamente la salida q del bus
output q. Esto se hace para asegurar
que la salida de un solo registro está
conectada al bus de salida output q.
De lo contrario, las señales de salida
de colisionarían.
en
d
clk
q
input d output q
16 bits
From clock signal
From decoder d
16 bits
Fromdecoderr
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 46
Arreglos de elementos de memoria Registros
Registros Casa abierta al tiempo
enableregister
addrd
input d
Dec d
3x8
r7
r6
r5
r4
r3
r2
r1
r0
clk
addrq
Dec r
3x8
output q
enablebuffer
enable w enable r
Diagrama interno de un archivo de ocho registros de ocho
bits.
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 47
Arreglos de elementos de memoria Registros
Registros Casa abierta al tiempo
Escritura del archivo de registros
1 Colocar la dirección de escritura en la entrada del descodificador
addr d
2 Colocar el dato de escritura en el bus input d.
3 Habilitar la entrada en del descodificador d
4 En cuanto se presente el flanco de subida, el data de entrada se
escribirá en el registro que corresponda al valor de entrada el
descodificador d.
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 48
Arreglos de elementos de memoria Registros
Registros Casa abierta al tiempo
Lectura del archivo de registros
1 Colocar la dirección de lectura en la entrada del descodificador
addr q.
2 A diferencia de la escritura, la lectura puede hacerse en cualquier
instante de tiempo, siempre que el habilitador del descodificador r
valga uno.
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 49
Máquinas de estado finito
Contenido Casa abierta al tiempo
1 Introducción
2 Cerrojos
3 Flip-flops
4 Simulación de cerrojos y biestables
5 Arreglos de elementos de memoria
6 Máquinas de estado finito
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 50
Máquinas de estado finito Diseño general
Contenido Casa abierta al tiempo
1 Introducción
2 Cerrojos
3 Flip-flops
4 Simulación de cerrojos y biestables
5 Arreglos de elementos de memoria
6 Máquinas de estado finito
Diseño general
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 51
Máquinas de estado finito Diseño general
Máquinas de estado finito Casa abierta al tiempo
Definición
Abrv. FSM (Finite State Machine),
también llamadas automata, es un
bloque construído con base en la
lógica secuencial que, ante un
estímulo, cambian su estado
automáticamente produciendo
códigos que se emplean para controlar
otros sistemas digitales. Recuerda que
el estado es la información contenida
en la memoria.
input a
input b
d d d d
outputx
outputy
outputz
NextStateLogic
Memory OutputLogic
Diagrama a bloques de una FSM.
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 52
Máquinas de estado finito Diseño general
Máquinas de estado finito Casa abierta al tiempo
Definición
Una FSM está integrado por tres
bloques:
función del siguiente estado
memoria
función de salida
input a
input b
d d d d
outputx
outputy
outputz
NextStateLogic
Memory OutputLogic
Diagrama a bloques de una FSM.
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 53
Máquinas de estado finito Diseño general
Máquinas de estado finito Casa abierta al tiempo
Función del siguiente estado
Conjunto de ecuaciones booleanas que
están en función de las entradas y el
estado actual de la máquina; calculan
el siguiente estado del autómata.
input a
input b
d d d d
outputx
outputy
outputz
NextStateLogic
Memory OutputLogic
Diagrama a bloques de una FSM.
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 54
Máquinas de estado finito Diseño general
Máquinas de estado finito Casa abierta al tiempo
Memoria
Conjunto de elementos de memoria,
normalmente flip flops, que
almacenan un código binario que
representa en estado de la máquina.
El significado del código lo da el
diseñador del autómata.
input a
input b
d d d d
outputx
outputy
outputz
NextStateLogic
Memory OutputLogic
Diagrama a bloques de una FSM.
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 55
Máquinas de estado finito Diseño general
Máquinas de estado finito Casa abierta al tiempo
Función de salida
Conjunto de funciones booleanas que,
con base en el estado o las entradas
de la máquina, producen una salida
que permite controlar el
funcionamiento de un sistema digital
externo. Este bloque es opcional y
generalmente es empleado para
traducir el código de la memoria a
otro tipo de código.
input a
input b
d d d d
outputx
outputy
outputz
NextStateLogic
Memory OutputLogic
Diagrama a bloques de una FSM.
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 56
Máquinas de estado finito Diseño general
Máquinas de estado finito Casa abierta al tiempo
Clasificación
Con base en las señales de entrada de la lógica combinacional de
salida, las máquinas de estado finito se clasifican en dos:
• Máquinas de Moore
• Máquinas de Mealey
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 57
Máquinas de estado finito Diseño general
Máquinas de Moore Casa abierta al tiempo
Definición
Son aquellas cuya lógica
combinacional de salida únicamente
depende del estado actual de la
máquina, lo que implica que el valor
de la salida se mantendrá durante un
ciclo de reloj hasta que el estado de la
máquina cambie nuevamente.
d
d
d
d q
q
q
q
Nextstate
logic Output
logic
clk
a b c d e
Maquina de Moore
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 58
Máquinas de estado finito Diseño general
Máquinas de Mealey Casa abierta al tiempo
Definición
En estas FSM, la lógica combinacional
de salida está en función del estado y
de las entradas de la máquina. Esto
implica que el valor de la salida puede
cambiar en el momento en el que las
entradas cambien. Generalmente, este
comportamiento no es deseable, por
lo que se busca que las entradas
cambien de manera síncrona.
d
d
d
d q
q
q
q
Nextstate
logic Output
logic
clk
a b c d e
Máquina de Mealey
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 59
Máquinas de estado finito Diseño de máquinas de estados finitos
Contenido Casa abierta al tiempo
1 Introducción
2 Cerrojos
3 Flip-flops
4 Simulación de cerrojos y biestables
5 Arreglos de elementos de memoria
6 Máquinas de estado finito
Diseño de máquinas de estados finitos
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 60
Máquinas de estado finito Diseño de máquinas de estados finitos
Diseño de máquinas de estados finitos Casa abierta al tiempo
Metodología
1 Determinación de las
características de la FSM
2 Diseño el diagrama de
transiciones
3 Diseño de la tabla de estados
4 Cálculo de las ecuaciones de la
lógica del siguiente estado
5 Cálculo de las ecuaciones de la
lógica combinacional de salida
Explicación
En este paso se tienen que
determinar:
El número de señales de entrada
y salida de la FSM
El tipo de máquina: Moore o
Mealey
La capacidad de memoria de la
máquina y el tipo de flip flop
Si requiere o no un bloque
combinacional de salida
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 61
Máquinas de estado finito Diseño de máquinas de estados finitos
Diseño de máquinas de estados finitos Casa abierta al tiempo
Metodología
1 Determinación de las
características de la FSM
2 Diseño el diagrama de
transiciones
3 Diseño de la tabla de estados
4 Cálculo de las ecuaciones de la
lógica del siguiente estado
5 Cálculo de las ecuaciones de la
lógica combinacional de salida
Explicación
Un diagrama de estados es una gráfica
G = (V , E), donde:
V es el conjunto de estados de la
FSM. Generalmente, el número de
estados es igual al número de
códigos de salida. Se representa con
círculos.
E es el conjunto de transiciones
entre estados; las transiciones
pueden estar o no condicionadas a
una señal de entrada. Se
representan con flechas que
conectan a los estados.
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 62
Máquinas de estado finito Diseño de máquinas de estados finitos
Diseño de máquinas de estados finitos Casa abierta al tiempo
Metodología
1 Determinación de las
características de la FSM
2 Diseño el diagrama de
transiciones
3 Diseño de la tabla de estados
4 Cálculo de las ecuaciones de la
lógica del siguiente estado
5 Cálculo de las ecuaciones de la
lógica combinacional de salida
Explicación
En este paso debe generarse una tabla
que contiene todos los códigos
binarios que corresponden a las
siguientes columnas:
Señales de entrada (si las hay)
Estado actual Q(t)
Siguiente estado Q(t + 1)
Entradas de los flip flops (solo
para JK y T)
Lógica combinacional de salida
(si la hay)
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 63
Máquinas de estado finito Diseño de máquinas de estados finitos
Diseño de máquinas de estados finitos Casa abierta al tiempo
Metodología
1 Determinación de las
características de la FSM
2 Diseño el diagrama de
transiciones
3 Diseño de la tabla de estados
4 Cálculo de las ecuaciones de la
lógica del siguiente estado
5 Cálculo de las ecuaciones de la
lógica combinacional de salida
Explicación
Cada puerto de entrada de los flip
flops debe tener asociada una
ecuación booleana que está en
función del siguiente estado de la
máquina y la tabla de característica
de los flip-flop
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 64
Máquinas de estado finito Diseño de máquinas de estados finitos
Diseño de máquinas de estados finitos Casa abierta al tiempo
Metodología
1 Determinación de las
características de la FSM
2 Diseño el diagrama de
transiciones
3 Diseño de la tabla de estados
4 Cálculo de las ecuaciones de la
lógica del siguiente estado
5 Cálculo de las ecuaciones de la
lógica combinacional de salida
Explicación
Cada bit de salida de la FSM debe
tener asociada una ecuación booleana
que está en función del estado actual
para las máquinas de Moore y del
estado actual y las señales de entrada
de la máquina para las máquinas de
Mealy.
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 65
Máquinas de estado finito Diseño de máquinas de estados finitos
Diseño de FSM con flip flops JK Casa abierta al tiempo
Problema
Se desea construir un sistema digital
que cada segundo emita un código de
Gray de tres bits de manera
ascendente. La cuenta debe empezar
en cero y reiniarse cada que se
alcanza el código 100. Con base en
estos datos, ¿qué tipo de máquina es
la que hay que emplear?
Decimal Gray
(0)10 000
(1)10 001
(2)10 011
(3)10 010
(4)10 110
(5)10 111
(6)10 101
(7)10 100
Códigos de Gray.
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 66
Máquinas de estado finito Diseño de máquinas de estados finitos
1. Determinación de las características de la FSM Casa abierta al tiempo
Detalles de la máquina
De acuerdo con el problema:
La máquina no tiene señales de entrada. A la salida emite tres bits
que corresponden a un código Gray.
Como la máquina no tiene señales de entrada, no puede ser una
máquina de Mealey, entonces es de Moore.
La memoria debe almacenar tres bits, por complejidad se usarán
flip flops JK
La FSM no requiere lógica combinacional de salida, porque la
memoria puede almacenar códigos de Gray.
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 67
Máquinas de estado finito Diseño de máquinas de estados finitos
2. Diseño del diagrama de transiciones Casa abierta al tiempo
Detalles del diagrama de estados
Por cada código que vaya a emitir la
FSM hay que dibujar un estado. Después,
hay que conectar cada estado con una
flecha según corresponda, e.g. si en el
estado s0 se emite el código 000 y el
estado s1 emite el código 001, entonces,
de s0 a s1 debe haber una flecha porque
el siguiente estado de 000 es 001.
Además, hay que indicar el estado inicial.
s0
s1
s2
s3
s4
s5
s6
s7
Diagrama de estados de un contador de códigos
Gray de tres bits.
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 68
Máquinas de estado finito Diseño de máquinas de estados finitos
3. Diseño de la tabla de estados Casa abierta al tiempo
Q(t) Q(t + 1) Entradas de los flip-flop
q2 q1 q0 q2 q1 q0 j2 k2 j1 k1 j0 k0
0 0 0 0 0 1 0 0 0 0 1 0
0 0 1 0 1 1 0 0 1 0 0 0
0 1 1 0 1 0 0 0 0 0 0 1
0 1 0 1 1 0 1 0 0 0 0 0
1 1 0 1 1 1 0 0 0 0 1 0
1 1 1 1 0 1 0 0 0 1 0 0
1 0 1 1 0 0 0 0 0 0 0 1
1 0 0 0 0 0 0 1 0 0 0 0
Diseño de la tabla de estados del contador ascendente de códigos Gray.
j k Q(t + 1)
0 0 Q(t)
0 1 reset
1 0 set
1 1 ¬Q(t)
Tabla de funcionamiento de un flip flop
JK.
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 69
Máquinas de estado finito Diseño de máquinas de estados finitos
3. Diseño de la tabla de estados Casa abierta al tiempo
Observación
Con los flip flip JK existen varias
formas de ir de un estado a otro, e.g.
si Q(t) = 0 y Q(t + 1) = 0 podemos
decir que la memoria se reseteó o que
convervó su estado. Esto implica que
para transitar de cero a cero puedes
darle a la memoria las combinaciones
(j = 0, k = 0) y (j = 0, k = 1) y
ambas son válidas.
Q(t) Q(t + 1) j k
0 0 0 ×
0 1 1 ×
1 0 × 1
1 1 × 0
Tabla de funcionamiento para optimizar la lógica
del siguiente estado con los flip-flop JK.
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 70
Máquinas de estado finito Diseño de máquinas de estados finitos
3. Diseño de la tabla de estados Casa abierta al tiempo
Q(t) Q(t + 1) Entradas de los flip-flop
q2 q1 q0 q2 q1 q0 j2 k2 j1 k1 j0 k0
0 0 0 0 0 1 0 × 0 × 1 ×
0 0 1 0 1 1 0 × 1 × × 0
0 1 1 0 1 0 0 × × 0 × 1
0 1 0 1 1 0 1 × × 0 0 ×
1 1 0 1 1 1 × 0 × 0 1 ×
1 1 1 1 0 1 × 0 × 1 × 0
1 0 1 1 0 0 × 0 0 × × 1
1 0 0 0 0 0 × 1 0 × 0 ×
Diseño de la tabla de estados del contador ascendente de códigos Gray.
Q(t) Q(t + 1) j k
0 0 0 ×
0 1 1 ×
1 0 × 1
1 1 × 0
Tabla de funcionamiento para optimizar la
lógica del siguiente estado con flip-flop JK.
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 71
Máquinas de estado finito Diseño de máquinas de estados finitos
4. Cálculo de las ec. booleanas del siguiente estado Casa abierta al tiempo
0 0 0 1
× × × ×
q1q0
q2
j2
1 0 0 0
q1q0
q2
k2
0 1
0 0 × ×
q1q0
q2
j1
0 0
1 0
q1q0
q2
k1
1 0
0 1
q1q0
q2
j0
0 1
× 1 0 ×
q1q0
q2
k0
× × × ×
× ×
× ×
× ×
× ×
× × × ×
00 01 11 10
0
1
00 01 11 10
00 01 11 10 00 01 11 10
00 01 11 1000 01 11 10
0
1
0
1
0
1
0
1
0
1
Mapas de Karnaugh que corresponden a la
entradas JK de cada flip flop de la memoria de
la FSM.
Ecuaciones boolenas
j2 = q1 ∧ ¬q0
k2 = ¬q1 ∧ ¬q0
j1 = ¬q2 ∧ q0
k1 = q2 ∧ q0
j0 = ¬(q2 ⊕ q1)
k0 = (q2 ⊕ q1)
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 72
Máquinas de estado finito Diseño de máquinas de estados finitos
Contador ascendente de tres bits en código Gray Casa abierta al tiempo
Observación
Para que el contador funcione
correctamente es necesario
reestablecer el estado de la memoria
antes de que comience a operar.
j
k
reset
q
¬q
k
reset
q
¬q
j
k
reset
q
¬q
j
k
clk
reset
q2
¬q2
q1
¬q1
q0
¬q0
q1
¬q0
¬q1
¬q0
¬q2
q0
q2
q0
q2
q1
q2
q1
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 73
Máquinas de estado finito Diseño de máquinas de estados finitos
Diseño de FSM con flip flops tabla Casa abierta al tiempo
Problema
Diseñe un contador ascendente/descendente que cuente en el rango
[−4, +3] con flip flops T. El contador debe poseer una entrada ctrl
que determina el sentido de la cuenta; si ctrl = 1, entonces la cuenta
es descendete, de lo contrario, la cuenta es ascendente.
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 74
Máquinas de estado finito Diseño de máquinas de estados finitos
1. Determinación de las características de la FSM Casa abierta al tiempo
Detalles de la máquina
De acuerdo con el problema:
La máquina tiene una señal que controla el sentido de la cuenta
(ascendente/descendente). A la salida emite tres bits que
corresponden a un código en complemento a dos.
La FSM no requiere lógica combinacional de salida, porque la
memoria puede almacenar códigos en complemento a dos
directamente.
La memoria debe almacenar tres bits en flip flops T.
La FSM es una máquina de Moore porque no tenemos un bloque
combinacional de salida que pueda ser controlado por la entrada
ctrl
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 75
Máquinas de estado finito Diseño de máquinas de estados finitos
2. Diseño del diagrama de transiciones Casa abierta al tiempo
Detalles del diagrama de estados
El contador tiene que emitir ocho
códigos diferentes, por lo que el
diagrama de estados tendrá ocho
estados. La transición entre los estados
está determinada por el valor de la señal
ctrl: si ctrl = 1, entonces la transición
es hacia el estado antecesor, de los
contrario, la transición se da hacia el
estado sucesor. El estado inicial es cero.
S0
S1
S2
S3
S4
S5
S6
S7
Diagrama de estados de un contador de códigos
en complemento a dos de tres bits.
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 76
Máquinas de estado finito Diseño de máquinas de estados finitos
3. Diseño de la tabla de estados Casa abierta al tiempo
Entrada Q(t) Q(t + 1) Entradas T
ctrl q2 q1 q0 q2 q1 q0 t2 t1 t0
0 0 0 0 0 0 1 0 0 1
0 0 0 1 0 1 0 0 1 1
0 0 1 0 0 1 1 0 0 1
0 0 1 1 1 0 0 1 1 1
0 1 0 0 1 0 1 0 0 1
0 1 0 1 1 1 0 0 1 1
0 1 1 0 1 1 1 0 0 1
0 1 1 1 0 0 0 1 1 1
1 0 0 0 1 1 1 1 1 1
1 1 1 1 1 1 0 0 0 1
1 1 1 0 1 0 1 0 1 1
1 1 0 1 1 0 0 0 0 1
1 1 0 0 0 1 1 1 1 1
1 0 1 1 0 1 0 0 0 1
1 0 1 0 0 0 1 0 1 1
1 0 0 1 0 0 0 0 0 1
Diseño de la tabla de estados del contador ascendente/descendente de
códigos en complemento a 2.
t Q(t + 1)
0 Q(t)
1 ¬Q(t)
Tabla de funcionamiento de un flip flop T.
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 77
Máquinas de estado finito Diseño de máquinas de estados finitos
4. Cálculo de las ec. booleanas del siguiente estado Casa abierta al tiempo
Inserta mapas K aquí :)
Ecuaciones boolenas
t2 = ctrl ∧ ¬q1 ∧ ¬q0 ∨ ¬ctrl ∧ q1 ∧ q0
t1 = ctrl ⊕ q0
t0 = 1
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 78
Máquinas de estado finito Diseño de máquinas de estados finitos
Diseño de FSM con flip flops D Casa abierta al tiempo
Problema
El diagrama de estados de la derecha
corresponde a la unidad de control de
una ruta de datos que calcula el
factorial de un número. A partir de
esta información, diseñe una FSM con
flip-flops tipo D.
s1
s2s3
s0 status
status
¬status
¬status
0001 0010
01001000
Diagrama de estados de la unidad de control de
un procesador que calcula el factorial de un
número.
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 79
Máquinas de estado finito Diseño de máquinas de estados finitos
Diseño de FSM con flip flops D Casa abierta al tiempo
Observación
En ocasiones, al diseñador de FSM se
le proporciona el diagrama de estados
y a partir de este debe diseñar la
máquina.
s1
s2s3
s0 status
status
¬status
¬status
0001 0010
01001000
Diagrama de estados de la unidad de control de
un procesador que calcula el factorial de un
número.
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 80
Máquinas de estado finito Diseño de máquinas de estados finitos
Diseño de FSM con flip flops D Casa abierta al tiempo
Codificación one-hot
Consiste en hacer que la memoria de
la FSM tenga tantos flip flops D
como estados y que solo un flip flop a
la vez almacene un uno. Para esto, la
FSM almacena los códigos que se
muestran en la tabla de la derecha.
sn s3 s2 s1 s0
0 0 0 0 1
0 0 0 1 0
0 0 1 0 0
0 1 0 0 0
1 0 0 0 0
Tabla códigos one-hot para una FSM con n
estados.
Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 81

Más contenido relacionado

La actualidad más candente

Semaforo
SemaforoSemaforo
Semaforo
Franco Snipes
 
Tema 6: Introducción al Diseño Secuencial: Contadores y Registros.
Tema 6: Introducción al Diseño Secuencial: Contadores y Registros.Tema 6: Introducción al Diseño Secuencial: Contadores y Registros.
Tema 6: Introducción al Diseño Secuencial: Contadores y Registros.
Manuel Fernandez Barcell
 
Sistemas dinamicos de orden superior
Sistemas dinamicos de orden superiorSistemas dinamicos de orden superior
Sistemas dinamicos de orden superior
Jonathan Gallegos Cisneros
 
Divisor de frecuencia
Divisor de frecuenciaDivisor de frecuencia
Divisor de frecuencia
quiqueperu
 
Maquinas de Estado Finito
Maquinas de Estado FinitoMaquinas de Estado Finito
Maquinas de Estado Finito
Rosangela Perez
 
Circuitos secuenciales
Circuitos secuencialesCircuitos secuenciales
Circuitos secuenciales
diegoavalos_tec
 
Secuencial 2º Bto
Secuencial 2º BtoSecuencial 2º Bto
Secuencial 2º Bto
rlopez33
 
Tema 04 mestado
Tema 04 mestadoTema 04 mestado
Tema 04 mestado
Cesar Gil Arrieta
 
Flip flops
Flip flopsFlip flops
Flip flops
Jesus Galvan
 
Maquinas de estado
Maquinas de estadoMaquinas de estado
Maquinas de estado
Jean Carlos Quispe Avila
 
Maquinas de estado finito
Maquinas de estado finitoMaquinas de estado finito
Maquinas de estado finito
Erick Bello
 
Ejmarkov
EjmarkovEjmarkov
Ejmarkov
jennycala
 
Circuitos secuenciales
Circuitos secuencialesCircuitos secuenciales
Circuitos secuenciales
Numa Abreu
 
Detector de secuencia no solapada 1011 empleando PLA
Detector de secuencia no solapada 1011 empleando PLADetector de secuencia no solapada 1011 empleando PLA
Detector de secuencia no solapada 1011 empleando PLA
Marc Tena Gil
 
Aplicacion de una EDO de segundo grado a los circuitos en serie
Aplicacion de una EDO de segundo grado a los circuitos en serieAplicacion de una EDO de segundo grado a los circuitos en serie
Aplicacion de una EDO de segundo grado a los circuitos en serie
Cabphialmen Boundless
 
Apuntes automatas
Apuntes automatasApuntes automatas
Apuntes automatas
asdfa11789
 
Práctica 5
Práctica 5Práctica 5
Práctica 5
Dana Hernandez
 
Flip flops (ff)
Flip flops (ff)Flip flops (ff)
Flip flops (ff)
Arturo Guillén
 
Guia de-ejercicios-sistemas-de-primer-orden
Guia de-ejercicios-sistemas-de-primer-ordenGuia de-ejercicios-sistemas-de-primer-orden
Guia de-ejercicios-sistemas-de-primer-orden
byosfear
 

La actualidad más candente (19)

Semaforo
SemaforoSemaforo
Semaforo
 
Tema 6: Introducción al Diseño Secuencial: Contadores y Registros.
Tema 6: Introducción al Diseño Secuencial: Contadores y Registros.Tema 6: Introducción al Diseño Secuencial: Contadores y Registros.
Tema 6: Introducción al Diseño Secuencial: Contadores y Registros.
 
Sistemas dinamicos de orden superior
Sistemas dinamicos de orden superiorSistemas dinamicos de orden superior
Sistemas dinamicos de orden superior
 
Divisor de frecuencia
Divisor de frecuenciaDivisor de frecuencia
Divisor de frecuencia
 
Maquinas de Estado Finito
Maquinas de Estado FinitoMaquinas de Estado Finito
Maquinas de Estado Finito
 
Circuitos secuenciales
Circuitos secuencialesCircuitos secuenciales
Circuitos secuenciales
 
Secuencial 2º Bto
Secuencial 2º BtoSecuencial 2º Bto
Secuencial 2º Bto
 
Tema 04 mestado
Tema 04 mestadoTema 04 mestado
Tema 04 mestado
 
Flip flops
Flip flopsFlip flops
Flip flops
 
Maquinas de estado
Maquinas de estadoMaquinas de estado
Maquinas de estado
 
Maquinas de estado finito
Maquinas de estado finitoMaquinas de estado finito
Maquinas de estado finito
 
Ejmarkov
EjmarkovEjmarkov
Ejmarkov
 
Circuitos secuenciales
Circuitos secuencialesCircuitos secuenciales
Circuitos secuenciales
 
Detector de secuencia no solapada 1011 empleando PLA
Detector de secuencia no solapada 1011 empleando PLADetector de secuencia no solapada 1011 empleando PLA
Detector de secuencia no solapada 1011 empleando PLA
 
Aplicacion de una EDO de segundo grado a los circuitos en serie
Aplicacion de una EDO de segundo grado a los circuitos en serieAplicacion de una EDO de segundo grado a los circuitos en serie
Aplicacion de una EDO de segundo grado a los circuitos en serie
 
Apuntes automatas
Apuntes automatasApuntes automatas
Apuntes automatas
 
Práctica 5
Práctica 5Práctica 5
Práctica 5
 
Flip flops (ff)
Flip flops (ff)Flip flops (ff)
Flip flops (ff)
 
Guia de-ejercicios-sistemas-de-primer-orden
Guia de-ejercicios-sistemas-de-primer-ordenGuia de-ejercicios-sistemas-de-primer-orden
Guia de-ejercicios-sistemas-de-primer-orden
 

Similar a Sequential

Logica secuencial
Logica secuencialLogica secuencial
Logica secuencial
Jonathan Quispe Coello
 
Proyecto 7 - Claurimar Medina Quintero
Proyecto 7 - Claurimar Medina QuinteroProyecto 7 - Claurimar Medina Quintero
Proyecto 7 - Claurimar Medina Quintero
Claurimar
 
Proyecto digitales
Proyecto digitalesProyecto digitales
Proyecto digitales
FraNklin Santo's
 
Informe practico de circuitos digitales
Informe practico de circuitos digitalesInforme practico de circuitos digitales
Informe practico de circuitos digitales
Carlos Garrido
 
Contador de 0 a 7 flip flop tipo D
Contador de 0 a 7 flip flop tipo DContador de 0 a 7 flip flop tipo D
Contador de 0 a 7 flip flop tipo D
Cristian Rodriguez
 
tema_04.pdf
tema_04.pdftema_04.pdf
tema_04.pdf
chilico srl
 
Informe Practico (proyecto)
Informe  Practico (proyecto)Informe  Practico (proyecto)
Informe Practico (proyecto)
Angel D Garcia P
 
Proyecto 7 Flip Flops
Proyecto 7 Flip FlopsProyecto 7 Flip Flops
Proyecto 7 Flip Flops
Blackjacks21
 
002 Electroneumática y Neumática: método intuitivo
002 Electroneumática y Neumática: método intuitivo 002 Electroneumática y Neumática: método intuitivo
002 Electroneumática y Neumática: método intuitivo
SANTIAGO PABLO ALBERTO
 
Informe practico
Informe practicoInforme practico
Informe practico
Daya CaRol Hrnn
 
Proyecto N°7. YSABEL LEAL RODRIGUEZ
Proyecto N°7. YSABEL LEAL RODRIGUEZProyecto N°7. YSABEL LEAL RODRIGUEZ
Proyecto N°7. YSABEL LEAL RODRIGUEZ
ysabel Leal
 
Proyecto 7
Proyecto 7Proyecto 7
Proyecto 7
Ysa Rodriguez
 
Memoria sram
Memoria sramMemoria sram
Memoria sram
quiqueperu
 
Proyecto 7 Flip Flop
Proyecto 7 Flip FlopProyecto 7 Flip Flop
Proyecto 7 Flip Flop
Francisco Arenas
 
Lógica secuencial asignatura electrónica digital para ingeniería electromecánica
Lógica secuencial asignatura electrónica digital para ingeniería electromecánicaLógica secuencial asignatura electrónica digital para ingeniería electromecánica
Lógica secuencial asignatura electrónica digital para ingeniería electromecánica
Israel Magaña
 
Practica7 katherine mariana figueroa flores
Practica7  katherine mariana figueroa floresPractica7  katherine mariana figueroa flores
Practica7 katherine mariana figueroa flores
WhitneyPeralta
 
Chapa digital hl09012
Chapa digital hl09012Chapa digital hl09012
Chapa digital hl09012
ushiototora
 
Capitulo 3 arquitectura de hardware
Capitulo 3 arquitectura de hardwareCapitulo 3 arquitectura de hardware
Capitulo 3 arquitectura de hardware
Mariel Nuñez
 
Diseño Logico T4.pdf
Diseño Logico T4.pdfDiseño Logico T4.pdf
Diseño Logico T4.pdf
IstharDAvila
 
Flip-Flop
Flip-FlopFlip-Flop
Flip-Flop
menamigue
 

Similar a Sequential (20)

Logica secuencial
Logica secuencialLogica secuencial
Logica secuencial
 
Proyecto 7 - Claurimar Medina Quintero
Proyecto 7 - Claurimar Medina QuinteroProyecto 7 - Claurimar Medina Quintero
Proyecto 7 - Claurimar Medina Quintero
 
Proyecto digitales
Proyecto digitalesProyecto digitales
Proyecto digitales
 
Informe practico de circuitos digitales
Informe practico de circuitos digitalesInforme practico de circuitos digitales
Informe practico de circuitos digitales
 
Contador de 0 a 7 flip flop tipo D
Contador de 0 a 7 flip flop tipo DContador de 0 a 7 flip flop tipo D
Contador de 0 a 7 flip flop tipo D
 
tema_04.pdf
tema_04.pdftema_04.pdf
tema_04.pdf
 
Informe Practico (proyecto)
Informe  Practico (proyecto)Informe  Practico (proyecto)
Informe Practico (proyecto)
 
Proyecto 7 Flip Flops
Proyecto 7 Flip FlopsProyecto 7 Flip Flops
Proyecto 7 Flip Flops
 
002 Electroneumática y Neumática: método intuitivo
002 Electroneumática y Neumática: método intuitivo 002 Electroneumática y Neumática: método intuitivo
002 Electroneumática y Neumática: método intuitivo
 
Informe practico
Informe practicoInforme practico
Informe practico
 
Proyecto N°7. YSABEL LEAL RODRIGUEZ
Proyecto N°7. YSABEL LEAL RODRIGUEZProyecto N°7. YSABEL LEAL RODRIGUEZ
Proyecto N°7. YSABEL LEAL RODRIGUEZ
 
Proyecto 7
Proyecto 7Proyecto 7
Proyecto 7
 
Memoria sram
Memoria sramMemoria sram
Memoria sram
 
Proyecto 7 Flip Flop
Proyecto 7 Flip FlopProyecto 7 Flip Flop
Proyecto 7 Flip Flop
 
Lógica secuencial asignatura electrónica digital para ingeniería electromecánica
Lógica secuencial asignatura electrónica digital para ingeniería electromecánicaLógica secuencial asignatura electrónica digital para ingeniería electromecánica
Lógica secuencial asignatura electrónica digital para ingeniería electromecánica
 
Practica7 katherine mariana figueroa flores
Practica7  katherine mariana figueroa floresPractica7  katherine mariana figueroa flores
Practica7 katherine mariana figueroa flores
 
Chapa digital hl09012
Chapa digital hl09012Chapa digital hl09012
Chapa digital hl09012
 
Capitulo 3 arquitectura de hardware
Capitulo 3 arquitectura de hardwareCapitulo 3 arquitectura de hardware
Capitulo 3 arquitectura de hardware
 
Diseño Logico T4.pdf
Diseño Logico T4.pdfDiseño Logico T4.pdf
Diseño Logico T4.pdf
 
Flip-Flop
Flip-FlopFlip-Flop
Flip-Flop
 

Más de UAM AZC

Ecuacion de Schoringer_FisicaModerna.pptx
Ecuacion de Schoringer_FisicaModerna.pptxEcuacion de Schoringer_FisicaModerna.pptx
Ecuacion de Schoringer_FisicaModerna.pptx
UAM AZC
 
Tarea2. brandon moreno. mapi
Tarea2. brandon moreno. mapiTarea2. brandon moreno. mapi
Tarea2. brandon moreno. mapi
UAM AZC
 
Tarea1. mapi. brandon moreno
Tarea1. mapi. brandon morenoTarea1. mapi. brandon moreno
Tarea1. mapi. brandon moreno
UAM AZC
 
FORMULARIO DE TRANSFERENCIA DE CALOR
FORMULARIO DE TRANSFERENCIA DE CALORFORMULARIO DE TRANSFERENCIA DE CALOR
FORMULARIO DE TRANSFERENCIA DE CALOR
UAM AZC
 
Datarepresentation
DatarepresentationDatarepresentation
Datarepresentation
UAM AZC
 
Motivation
MotivationMotivation
Motivation
UAM AZC
 
Combinational.logic
Combinational.logicCombinational.logic
Combinational.logic
UAM AZC
 
ingeniería de los materiales
ingeniería de los materiales ingeniería de los materiales
ingeniería de los materiales
UAM AZC
 
2 ceramicos
2 ceramicos2 ceramicos
2 ceramicos
UAM AZC
 
3 polímeros
3 polímeros3 polímeros
3 polímeros
UAM AZC
 
1 manufactura de metales
1 manufactura de metales1 manufactura de metales
1 manufactura de metales
UAM AZC
 
4 materialescompuestos
4 materialescompuestos4 materialescompuestos
4 materialescompuestos
UAM AZC
 
Segunda clase
Segunda claseSegunda clase
Segunda clase
UAM AZC
 
presentacion de aceros, materiales en ingeniería
presentacion de aceros, materiales en ingeniería presentacion de aceros, materiales en ingeniería
presentacion de aceros, materiales en ingeniería
UAM AZC
 
Diagramas, ingeniería de los materiales
Diagramas, ingeniería de los materiales Diagramas, ingeniería de los materiales
Diagramas, ingeniería de los materiales
UAM AZC
 
Leithold
LeitholdLeithold
Leithold
UAM AZC
 
Resendiz el rompecabezas_de_la_ingenieria_vii_v3
Resendiz el rompecabezas_de_la_ingenieria_vii_v3Resendiz el rompecabezas_de_la_ingenieria_vii_v3
Resendiz el rompecabezas_de_la_ingenieria_vii_v3
UAM AZC
 
Proceso de diseño de la ingeniería
Proceso de  diseño de la ingenieríaProceso de  diseño de la ingeniería
Proceso de diseño de la ingeniería
UAM AZC
 
Preguntas generadoras la_ing_y_sus_metodos
Preguntas generadoras la_ing_y_sus_metodosPreguntas generadoras la_ing_y_sus_metodos
Preguntas generadoras la_ing_y_sus_metodos
UAM AZC
 
La ing y_sus_metodos
La ing y_sus_metodosLa ing y_sus_metodos
La ing y_sus_metodos
UAM AZC
 

Más de UAM AZC (20)

Ecuacion de Schoringer_FisicaModerna.pptx
Ecuacion de Schoringer_FisicaModerna.pptxEcuacion de Schoringer_FisicaModerna.pptx
Ecuacion de Schoringer_FisicaModerna.pptx
 
Tarea2. brandon moreno. mapi
Tarea2. brandon moreno. mapiTarea2. brandon moreno. mapi
Tarea2. brandon moreno. mapi
 
Tarea1. mapi. brandon moreno
Tarea1. mapi. brandon morenoTarea1. mapi. brandon moreno
Tarea1. mapi. brandon moreno
 
FORMULARIO DE TRANSFERENCIA DE CALOR
FORMULARIO DE TRANSFERENCIA DE CALORFORMULARIO DE TRANSFERENCIA DE CALOR
FORMULARIO DE TRANSFERENCIA DE CALOR
 
Datarepresentation
DatarepresentationDatarepresentation
Datarepresentation
 
Motivation
MotivationMotivation
Motivation
 
Combinational.logic
Combinational.logicCombinational.logic
Combinational.logic
 
ingeniería de los materiales
ingeniería de los materiales ingeniería de los materiales
ingeniería de los materiales
 
2 ceramicos
2 ceramicos2 ceramicos
2 ceramicos
 
3 polímeros
3 polímeros3 polímeros
3 polímeros
 
1 manufactura de metales
1 manufactura de metales1 manufactura de metales
1 manufactura de metales
 
4 materialescompuestos
4 materialescompuestos4 materialescompuestos
4 materialescompuestos
 
Segunda clase
Segunda claseSegunda clase
Segunda clase
 
presentacion de aceros, materiales en ingeniería
presentacion de aceros, materiales en ingeniería presentacion de aceros, materiales en ingeniería
presentacion de aceros, materiales en ingeniería
 
Diagramas, ingeniería de los materiales
Diagramas, ingeniería de los materiales Diagramas, ingeniería de los materiales
Diagramas, ingeniería de los materiales
 
Leithold
LeitholdLeithold
Leithold
 
Resendiz el rompecabezas_de_la_ingenieria_vii_v3
Resendiz el rompecabezas_de_la_ingenieria_vii_v3Resendiz el rompecabezas_de_la_ingenieria_vii_v3
Resendiz el rompecabezas_de_la_ingenieria_vii_v3
 
Proceso de diseño de la ingeniería
Proceso de  diseño de la ingenieríaProceso de  diseño de la ingeniería
Proceso de diseño de la ingeniería
 
Preguntas generadoras la_ing_y_sus_metodos
Preguntas generadoras la_ing_y_sus_metodosPreguntas generadoras la_ing_y_sus_metodos
Preguntas generadoras la_ing_y_sus_metodos
 
La ing y_sus_metodos
La ing y_sus_metodosLa ing y_sus_metodos
La ing y_sus_metodos
 

Último

1. Introduccion a las excavaciones subterraneas (1).pdf
1. Introduccion a las excavaciones subterraneas (1).pdf1. Introduccion a las excavaciones subterraneas (1).pdf
1. Introduccion a las excavaciones subterraneas (1).pdf
raulnilton2018
 
chancadoras.............................
chancadoras.............................chancadoras.............................
chancadoras.............................
ssuser8827cb1
 
Graficas de Control, problemas resueltos, minitab
Graficas de Control, problemas resueltos, minitabGraficas de Control, problemas resueltos, minitab
Graficas de Control, problemas resueltos, minitab
XIOMARAANTONELLACAST
 
muros de contencion, diseño y generalidades
muros de contencion, diseño y generalidadesmuros de contencion, diseño y generalidades
muros de contencion, diseño y generalidades
AlejandroArturoGutie1
 
AUTOCAD 2D - UA1 DE NIVEL INTERMEDIO CON
AUTOCAD 2D - UA1 DE NIVEL INTERMEDIO CONAUTOCAD 2D - UA1 DE NIVEL INTERMEDIO CON
AUTOCAD 2D - UA1 DE NIVEL INTERMEDIO CON
FreddyJuniorOrtechoC
 
Aletas de transferencia de calor o superficies extendidas dylan.pdf
Aletas de transferencia de calor o superficies extendidas dylan.pdfAletas de transferencia de calor o superficies extendidas dylan.pdf
Aletas de transferencia de calor o superficies extendidas dylan.pdf
elsanti003
 
Aletas de Transferencia de Calor o Superficies Extendidas.pdf
Aletas de Transferencia de Calor o Superficies Extendidas.pdfAletas de Transferencia de Calor o Superficies Extendidas.pdf
Aletas de Transferencia de Calor o Superficies Extendidas.pdf
JuanAlbertoLugoMadri
 
Infografia - Hugo Hidalgo - Construcción
Infografia - Hugo Hidalgo - ConstrucciónInfografia - Hugo Hidalgo - Construcción
Infografia - Hugo Hidalgo - Construcción
MaraManuelaUrribarri
 
Infografia de operaciones basicas de la construccion.pdf
Infografia de operaciones basicas de la construccion.pdfInfografia de operaciones basicas de la construccion.pdf
Infografia de operaciones basicas de la construccion.pdf
DanielMelndez19
 
Las operaciones básicas en la construcción.
Las operaciones básicas en la construcción.Las operaciones básicas en la construcción.
Las operaciones básicas en la construcción.
MaraManuelaUrribarri
 
COMPARACION DE PRECIOS TENIENDO COMO REFERENTE LA OSCE
COMPARACION DE PRECIOS TENIENDO COMO REFERENTE LA OSCECOMPARACION DE PRECIOS TENIENDO COMO REFERENTE LA OSCE
COMPARACION DE PRECIOS TENIENDO COMO REFERENTE LA OSCE
jhunior lopez rodriguez
 
9 Lección perro.pptxcvBWRFWBCCCCCCCCCCCCCCTEN
9 Lección perro.pptxcvBWRFWBCCCCCCCCCCCCCCTEN9 Lección perro.pptxcvBWRFWBCCCCCCCCCCCCCCTEN
9 Lección perro.pptxcvBWRFWBCCCCCCCCCCCCCCTEN
KarinToledo2
 
DIAGRAMA ELECTRICOS y circuito electrónicos
DIAGRAMA ELECTRICOS y circuito electrónicosDIAGRAMA ELECTRICOS y circuito electrónicos
DIAGRAMA ELECTRICOS y circuito electrónicos
LuisAngelGuarnizoBet
 
Uso de equipos de protección personal.pptx
Uso de equipos de protección personal.pptxUso de equipos de protección personal.pptx
Uso de equipos de protección personal.pptx
OmarPadillaGarcia
 
Focos SSO Fin de Semana del 31 MAYO A al 02 de JUNIO de 2024.pdf
Focos SSO Fin de Semana del 31 MAYO A  al 02 de JUNIO  de 2024.pdfFocos SSO Fin de Semana del 31 MAYO A  al 02 de JUNIO  de 2024.pdf
Focos SSO Fin de Semana del 31 MAYO A al 02 de JUNIO de 2024.pdf
PatoLokooGuevara
 
OPERACIONES BÁSICAS (INFOGRAFIA) DOCUMENTO
OPERACIONES BÁSICAS (INFOGRAFIA) DOCUMENTOOPERACIONES BÁSICAS (INFOGRAFIA) DOCUMENTO
OPERACIONES BÁSICAS (INFOGRAFIA) DOCUMENTO
GERARDO GONZALEZ
 
exposicion sobre los tipos de cortes de rolas para la produccion de chapas
exposicion sobre los tipos de cortes de rolas para la produccion de chapasexposicion sobre los tipos de cortes de rolas para la produccion de chapas
exposicion sobre los tipos de cortes de rolas para la produccion de chapas
raul958375
 
FICHA TECNICA PRODUCTOS CONGELADOS EMBALAJE.pdf
FICHA TECNICA PRODUCTOS CONGELADOS EMBALAJE.pdfFICHA TECNICA PRODUCTOS CONGELADOS EMBALAJE.pdf
FICHA TECNICA PRODUCTOS CONGELADOS EMBALAJE.pdf
jesus869159
 
Operaciones Básicas creadora Veronica Maiz
Operaciones Básicas creadora Veronica MaizOperaciones Básicas creadora Veronica Maiz
Operaciones Básicas creadora Veronica Maiz
carolina838317
 
Infografía operaciones básicas construcción .pdf
Infografía operaciones básicas construcción .pdfInfografía operaciones básicas construcción .pdf
Infografía operaciones básicas construcción .pdf
Carlos Pulido
 

Último (20)

1. Introduccion a las excavaciones subterraneas (1).pdf
1. Introduccion a las excavaciones subterraneas (1).pdf1. Introduccion a las excavaciones subterraneas (1).pdf
1. Introduccion a las excavaciones subterraneas (1).pdf
 
chancadoras.............................
chancadoras.............................chancadoras.............................
chancadoras.............................
 
Graficas de Control, problemas resueltos, minitab
Graficas de Control, problemas resueltos, minitabGraficas de Control, problemas resueltos, minitab
Graficas de Control, problemas resueltos, minitab
 
muros de contencion, diseño y generalidades
muros de contencion, diseño y generalidadesmuros de contencion, diseño y generalidades
muros de contencion, diseño y generalidades
 
AUTOCAD 2D - UA1 DE NIVEL INTERMEDIO CON
AUTOCAD 2D - UA1 DE NIVEL INTERMEDIO CONAUTOCAD 2D - UA1 DE NIVEL INTERMEDIO CON
AUTOCAD 2D - UA1 DE NIVEL INTERMEDIO CON
 
Aletas de transferencia de calor o superficies extendidas dylan.pdf
Aletas de transferencia de calor o superficies extendidas dylan.pdfAletas de transferencia de calor o superficies extendidas dylan.pdf
Aletas de transferencia de calor o superficies extendidas dylan.pdf
 
Aletas de Transferencia de Calor o Superficies Extendidas.pdf
Aletas de Transferencia de Calor o Superficies Extendidas.pdfAletas de Transferencia de Calor o Superficies Extendidas.pdf
Aletas de Transferencia de Calor o Superficies Extendidas.pdf
 
Infografia - Hugo Hidalgo - Construcción
Infografia - Hugo Hidalgo - ConstrucciónInfografia - Hugo Hidalgo - Construcción
Infografia - Hugo Hidalgo - Construcción
 
Infografia de operaciones basicas de la construccion.pdf
Infografia de operaciones basicas de la construccion.pdfInfografia de operaciones basicas de la construccion.pdf
Infografia de operaciones basicas de la construccion.pdf
 
Las operaciones básicas en la construcción.
Las operaciones básicas en la construcción.Las operaciones básicas en la construcción.
Las operaciones básicas en la construcción.
 
COMPARACION DE PRECIOS TENIENDO COMO REFERENTE LA OSCE
COMPARACION DE PRECIOS TENIENDO COMO REFERENTE LA OSCECOMPARACION DE PRECIOS TENIENDO COMO REFERENTE LA OSCE
COMPARACION DE PRECIOS TENIENDO COMO REFERENTE LA OSCE
 
9 Lección perro.pptxcvBWRFWBCCCCCCCCCCCCCCTEN
9 Lección perro.pptxcvBWRFWBCCCCCCCCCCCCCCTEN9 Lección perro.pptxcvBWRFWBCCCCCCCCCCCCCCTEN
9 Lección perro.pptxcvBWRFWBCCCCCCCCCCCCCCTEN
 
DIAGRAMA ELECTRICOS y circuito electrónicos
DIAGRAMA ELECTRICOS y circuito electrónicosDIAGRAMA ELECTRICOS y circuito electrónicos
DIAGRAMA ELECTRICOS y circuito electrónicos
 
Uso de equipos de protección personal.pptx
Uso de equipos de protección personal.pptxUso de equipos de protección personal.pptx
Uso de equipos de protección personal.pptx
 
Focos SSO Fin de Semana del 31 MAYO A al 02 de JUNIO de 2024.pdf
Focos SSO Fin de Semana del 31 MAYO A  al 02 de JUNIO  de 2024.pdfFocos SSO Fin de Semana del 31 MAYO A  al 02 de JUNIO  de 2024.pdf
Focos SSO Fin de Semana del 31 MAYO A al 02 de JUNIO de 2024.pdf
 
OPERACIONES BÁSICAS (INFOGRAFIA) DOCUMENTO
OPERACIONES BÁSICAS (INFOGRAFIA) DOCUMENTOOPERACIONES BÁSICAS (INFOGRAFIA) DOCUMENTO
OPERACIONES BÁSICAS (INFOGRAFIA) DOCUMENTO
 
exposicion sobre los tipos de cortes de rolas para la produccion de chapas
exposicion sobre los tipos de cortes de rolas para la produccion de chapasexposicion sobre los tipos de cortes de rolas para la produccion de chapas
exposicion sobre los tipos de cortes de rolas para la produccion de chapas
 
FICHA TECNICA PRODUCTOS CONGELADOS EMBALAJE.pdf
FICHA TECNICA PRODUCTOS CONGELADOS EMBALAJE.pdfFICHA TECNICA PRODUCTOS CONGELADOS EMBALAJE.pdf
FICHA TECNICA PRODUCTOS CONGELADOS EMBALAJE.pdf
 
Operaciones Básicas creadora Veronica Maiz
Operaciones Básicas creadora Veronica MaizOperaciones Básicas creadora Veronica Maiz
Operaciones Básicas creadora Veronica Maiz
 
Infografía operaciones básicas construcción .pdf
Infografía operaciones básicas construcción .pdfInfografía operaciones básicas construcción .pdf
Infografía operaciones básicas construcción .pdf
 

Sequential

  • 1. Universidad Autónoma Metropolitana Diseño lógico Tema: Circuitos secuenciales Profesor: Adán G. Medrano Chávez agmc@azc.uam.mx
  • 2. Introducción Contenido Casa abierta al tiempo 1 Introducción 2 Cerrojos 3 Flip-flops 4 Simulación de cerrojos y biestables 5 Arreglos de elementos de memoria 6 Máquinas de estado finito Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 2
  • 3. Introducción Contexto tecnológico Casa abierta al tiempo Observación Los sistemas digitales que usamos cotidianamente tiene la capacidad de retener información temporalmente, e.g. con una calculadora no tenemos que dejar apretados los botones que oprimimos porque la calculadora los guarda en memoria. 3 6 AC C 9 2 5 8 1 4 7 = + - 0 -100 Calculador maizoro. Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 3
  • 4. Introducción Circuitos secuenciales Casa abierta al tiempo Definición1 Son circuitos integrados por compuertas lógicas cuya salida depende de la entrada actual y la pasada, la cual es almacenada en elementos de memoria constituidos por compuertas lógicas. A diferencias de los circuitos combinacionales, los secuenciales tienen rizos de retroalimentación. 1 Hwang, E. «Digital logic and microprocessor design with VHDL», Brooks/Cole, 2005. Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 4
  • 5. Introducción Circuito secuencial Casa abierta al tiempo Definición Circuito eléctrico compuesto de un bloque combinacional y una memoria cuya salida retroalimenta al bloque combinacional. Características • El valor actual almacenado en la memoria se conoce como el estado del circuito • La salida del circuito y el valor de la memoria depende de: • Su estado actual • El valor actual de las entradas Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 5
  • 6. Introducción Estado Casa abierta al tiempo Definición Es el valor del bit almacenado por el elemento de memoria. El valor del estado está siempre disponible a la salida del elemento de memoria, así, el estado es igual a la salida. Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 6
  • 7. Introducción Clasificación de los circuitos secuenciales Casa abierta al tiempo Asíncronos Circuitos cuyo comportamiento depende de que ocurra un cambio en la entrada y del orden en el que cambien las entradas. Estos circuitos pueden considerarse como circuitos combinacionales con retroalimientación. Los cerrojos (latches) son los representantes de esta categoría. Síncronos Circuitos que cambian de estado cuando se presenta un evento de sincronización. Este evento es la ocurrencia del flanco de subida (o bajada) de un onda cuadrada con período τ llamada señal de reloj. Los biestables (flip-flops) son los representantes de esta categoría. Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 7
  • 8. Introducción Objetivos del tema Casa abierta al tiempo Objetivo general Al final de este tema el alumno será capaz de diseñar un procesador de propósito específico. Objetivos particulares • Comprender cómo funcionan los circuitos digitales que pueden almacenar información. • Entender las estrategias de diseño de registros y memorias • Entender el funcionamiento de las máquinas de estados • Entender cómo se implementa un programa sencillo en hardware Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 8
  • 9. Cerrojos Contenido Casa abierta al tiempo 1 Introducción 2 Cerrojos 3 Flip-flops 4 Simulación de cerrojos y biestables 5 Arreglos de elementos de memoria 6 Máquinas de estado finito Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 9
  • 10. Cerrojos Cerrojos Casa abierta al tiempo Definición Es el elemento más simple de memoria para almacenar un bit. Tiene dos nodos simétricos etiquetados como Q y Q’ que se comportan como salida y como entrada. Dichos nodos también representan sus estados estables. Q Q’ Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 10
  • 11. Cerrojos Cerrojo RS Casa abierta al tiempo Características • Posee dos entradas S’ y R’ • Se construye con compuertas NAND • Posee dos estados: set y reset • El estado set se establece cuando S’ = 0 y R’ = 1 • El estado reset se establece cuando S’ = 1 y R’ = 0 Q R’ S’ Q’ Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 11
  • 12. Cerrojos Cerrojo RS Casa abierta al tiempo Tabla de funcionamiento del cerrojo RS Q R’ S’ Q’ Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 12
  • 13. Cerrojos Cerrojo RS Casa abierta al tiempo Problema Compruebe la tabla de funcionamiento del cerrojo RS por medio de simulación. Salida de un cerrojo RS Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 13
  • 14. Cerrojos Cerrojo RS Casa abierta al tiempo Estado indefinido: Ocurre cuando: las dos entradas S’ y R’ cambian de cero a uno al mismo tiempo y el retardo de compuerta y el de propagación sean exactamente el mismo Bajo el estado indefinido, el valor de las salidas Q y Q’ oscila Si los retardos de compuerta y de propagación no son los mismo, entonces el latch no oscilará, pero no se conocerá el siguiente estado En la práctica, es casi imposible que el retardo de compuerta y el de propagación sean exactamente el mismo Para evitarlo, S’ debe cambiar a uno antes que R’ o viceversa. Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 14
  • 15. Cerrojos Cerrojo RS con habilitador Casa abierta al tiempo Características: Posee dos entradas S y R Se construye con cuatro compuertas NAND Posee dos estados: set y reset El estado anterior se preserva cuando E = 0 El estado set se establece cuando E = 1, S = 1 y R = 0 El estado reset se establece cuando E = 1, S = 0 y R = 1 No evita el estado indefinido Q R’ S’ Q’ S R E Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 15
  • 16. Cerrojos Cerrojo D Casa abierta al tiempo Características: Garantiza que el estado indefinido del latch RS no ocurre porque S’ siempre es diferente de R’ Sólo tiene una entrada de datos D El siguiente estado obtiene el mismo valor que la entrada D Este latch pierde su capacidad de almacenar Q R’ S’ Q’ D Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 16
  • 17. Cerrojos Cerrojo D Casa abierta al tiempo Observación El latch D se comporta prácticamente como un alambre. ¿Cómo hacemos que retenga un bit de nueva cuenta? Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 17
  • 18. Cerrojos Cerrojo D con habilitador Casa abierta al tiempo Características: Tiene capacidad de almacenar un bit ya que Q está directamente conectado a D Usa un MUX para poder sobreescribir el bit que tiene almacenado Cuando E está habilitada, entonces pasa D a Q Q R’ S’ Q’ D 0 1 E Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 18
  • 19. Cerrojos Aplicaciones de los cerrojos Casa abierta al tiempo Observación Un cerrojo puede emplearse para retener la salida salida de un botón o de un circuito combinacional a pesar de que la entrada cambie, e.g. la salida del estatus de un sumador-restador almacenarse para que otro circuito las analice. De hecho, las computadoras así lo hacen. Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 19
  • 20. Flip-flops Contenido Casa abierta al tiempo 1 Introducción 2 Cerrojos 3 Flip-flops 4 Simulación de cerrojos y biestables 5 Arreglos de elementos de memoria 6 Máquinas de estado finito Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 20
  • 21. Flip-flops Flip-flops Casa abierta al tiempo Definición Son circuitos que cambian su estado de forma períodica, en el mismo momento e intervalo regular, y no según cambien sus entradas. Requieren de una señal de reloj: una onda cuadrada de alta frecuencia generalmente. Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 21
  • 22. Flip-flops Señal de reloj Casa abierta al tiempo Datos sobre la señal de reloj: Es una señal cuadrada que oscila entre cero y uno El ciclo de reloj es el tiempo que transcurre entre flancos de subida La velocidad del reloj es igual al número de ciclos por segundo La velocidad de reloj sólo puede ser tan rápido como el circuito más lento Ciclo de reloj F. de bajada F. de subida Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 22
  • 23. Flip-flops Flip flop D Casa abierta al tiempo Características: Su estado cambia con el flaco positivo del reloj Se compone de dos latches conectados en serie El latch maestro se activa cuando el reloj es cero El esclavo se activa cuando el reloj está en alto maestro esclavo D D E D QQ EQ’ Q’ Q Q’ D clk Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 23
  • 24. Flip-flops Flip flop D Casa abierta al tiempo Observación El flip flop D cambia su estado en cada flanco de subida, así, solo puede retener la información durante solo un ciclo de reloj, ¿cómo hacemos que retenga un bit aunque la señal de reloj cambie? Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 24
  • 25. Flip-flops Flip flop D con habilitador Casa abierta al tiempo Q D 0 1 D clk Q Q’ E clk Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 25
  • 26. Simulación de cerrojos y biestables Contenido Casa abierta al tiempo 1 Introducción 2 Cerrojos 3 Flip-flops 4 Simulación de cerrojos y biestables 5 Arreglos de elementos de memoria 6 Máquinas de estado finito Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 26
  • 27. Simulación de cerrojos y biestables Simulación de cerrojos tipo D Casa abierta al tiempo Descripción Puertos: • dos entradas de un bit: d y enable • dos salidas de un bit: q y ¬q Comportamiento: • Siempre que cambie el nivel de enable: • Si enable = 0, preserva el estado (do nothing) • De lo contrario, q ← d D Q ¬QE latch D Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 27
  • 28. Simulación de cerrojos y biestables Simulación de cerrojos tipo D Casa abierta al tiempo 1 module latch_d_with_enable ( 2 d, // Data input 3 q, // state output 4 q_neg , // not state 5 enable // Control input 6 ); 7 8 // port definition 9 input wire d, enable; 10 output reg q, q_neg; 11 12 // Behavioral description 13 always @(enable or d) begin 14 if (enable) begin 15 q <= d; 16 q_neg <= ~d; 17 end 18 end 19 20 endmodule // latch_d D Q ¬QE latch D Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 28
  • 29. Simulación de cerrojos y biestables Simulación de flip-flops tipo D Casa abierta al tiempo Descripción Puertos: • dos entradas de un bit: d y clock • dos salidas de un bit: q y ¬q Comportamiento: • Siempre que ocurre el flanco de subida de clk: q ← d D Q ¬Qclk flip flop D Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 29
  • 30. Simulación de cerrojos y biestables Simulación de cerrojos tipo D Casa abierta al tiempo 1 module flip_flop_d ( 2 d, // data input 3 q, // state output 4 q_neg , // not state 5 clk // clock signal 6 ); 7 8 // port definition 9 input wire d, clk; 10 output reg q, q_neg; 11 12 // Behavioral description 13 always @(posedge clk) begin 14 q <= d; 15 q_neg <= ~d; 16 end 17 18 endmodule // flip_flop_d D Q ¬Qclk flip flop D Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 30
  • 31. Simulación de cerrojos y biestables Simulación de flip-flops tipo D con habilitador Casa abierta al tiempo Descripción Puertos: • tres entradas de un bit: d, enable y clock • dos salidas de un bit: q y ¬q Comportamiento: • Siempre que ocurre el flanco de subida de clk: • Si enable = 0, preserva el estado (do nothing) • De lo contrario, q ← d D Q ¬Qclk flip flop D e Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 31
  • 32. Simulación de cerrojos y biestables Simulación de cerrojos tipo D Casa abierta al tiempo 1 module flip_flop_d_with_e ( 2 d, // data input 3 q, // state output 4 q_neg , // not state 5 enable , // enable writing 6 clk // clock signal 7 ); 8 9 // port definition 10 input wire d, enable , clk; 11 output reg q, q_neg; 12 13 // Behavioral description 14 always @(posedge clk) begin 15 if (enable) begin 16 q <= d; 17 q_neg <= ~d; 18 end 19 end 20 endmodule // flip_flop_d D Q ¬Qclk flip flop D e Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 32
  • 33. Arreglos de elementos de memoria Contenido Casa abierta al tiempo 1 Introducción 2 Cerrojos 3 Flip-flops 4 Simulación de cerrojos y biestables 5 Arreglos de elementos de memoria 6 Máquinas de estado finito Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 33
  • 34. Arreglos de elementos de memoria Registros Contenido Casa abierta al tiempo 1 Introducción 2 Cerrojos 3 Flip-flops 4 Simulación de cerrojos y biestables 5 Arreglos de elementos de memoria Registros 6 Máquinas de estado finito Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 34
  • 35. Arreglos de elementos de memoria Registros Registros Casa abierta al tiempo Definición Arreglos unidimensionales de n bits integrados por cerrojos o biestables. Son capaces de almacenar en el mismo instante n bits, esto implica que sus puertos de entrada y de salida de datos están en función de n. El número de señales de control de estos dispositivos no cambia aunque n aumente. Generalmente, la salida ¬q no es tomada en cuenta. d7 d6 d5 d4 d3 d2 d1 d0 q7 q6 q5 q4 q3 q2 q1 q0 E d7 d6 d5 d4 d3 d2 d1 d0 q7 q6 q5 q4 q3 q2 q1 q0 E clk Arriba: registro construido con cerrojos D; abajo, registro construido con flip-flops D con habilitador. Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 35
  • 36. Arreglos de elementos de memoria Registros Registros Casa abierta al tiempo Aplicaciones con registros • Elementos de persistencia • Acumuladores • Contadores • Desplazadores • Memorias d7 d6 d5 d4 d3 d2 d1 d0 q7 q6 q5 q4 q3 q2 q1 q0 E d7 d6 d5 d4 d3 d2 d1 d0 q7 q6 q5 q4 q3 q2 q1 q0 E clk Arriba: registro construido con cerrojos D; abajo, registro contruido con flip-flops D con habilitador. Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 36
  • 37. Arreglos de elementos de memoria Registros Registros Casa abierta al tiempo Implementación en Verilog Para implementar un registro de n bits, solo hay que parametrizar la entrada d y salida de datos q de los cerrojos y biestables a n bits, e.g. en el código de la derecha se muestra un registro de cerrojos tipo D parametrizado a n bits. 1 module latch_d_reg ( 2 d, //n-bit data input 3 q, //n-bit state output 4 enable // control input 5 ); 6 7 parameter n = 8; 8 9 input wire[n -1:0] d; 10 input wire enable; 11 output reg[n -1:0] q; 12 13 // Behavioral description 14 always @(enable or d) begin 15 if (enable) begin 16 q <= d; 17 end 18 end 19 20 endmodule // latch_d Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 37
  • 38. Arreglos de elementos de memoria Registros Registros Casa abierta al tiempo Elementos de persistencia Los registros se conectan a la salida de un bloque combinacional para almacenar la salida producida por una entrada determinada y descartar los resultados producidos por otras entradas. A B opcode result 16 16 4 16vc zne ALU de 16 bits con un registro del estatus del procesador (psr) construído con cerrojos D. Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 38
  • 39. Arreglos de elementos de memoria Registros Registros Casa abierta al tiempo Elementos de persistencia El valor de las banderas solo tiene sentido cuando se comparan dos números mediante una resta, entonces, puede usarse un registro que se habilite para escritura sólo cuando un sumador o una ALU efectúa restas. Si la operación es otra, el registro mantendrá el valor de las banderas de la última comparación hecha. A B opcode result 16 16 4 16vc zne ALU de 16 bits con un registro del estatus del procesador (psr) construído con cerrojos D. Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 39
  • 40. Arreglos de elementos de memoria Registros Registros Casa abierta al tiempo Acumuladores Una operación importante realizada por los sistemas digitales es la suma de k números. El detalle de esta operación es que, si se quiere efectuarse en un paso, requiere de k − 1 sumadores con propagación de acarreo, e.g. la suma de a + b + c requiere de dos sumadores. FA FA FA FA FA FA FAFA 8a ci a[7] a[6] a[5] a[4] a[3] a[2] a[1] a[0] a+b[7] a+b[6] a+b[5] a+b[4] a+b[3] a+b[2] a+b[1] a+b[0] cout b[7] b[6] b[5] b[4] b[3] b[2] b[1] b0] FA FA FA FA FA FA FAFA 8c ci c[7] c[6] c[5] c[4] c[3] c[2] c[1] c[0] s[7] s[6] s[5] s[4] s[3] s[2] s[1] s[0]cout Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 40
  • 41. Arreglos de elementos de memoria Registros Registros Casa abierta al tiempo Acumuladores Añadir sumadores para obtener la suma de k números no es factible porque esto encarece el hardware. En la práctica, el resultado de la suma se almacena en un registro cuyo estado es tomado como operando secundario del sumador. Adder cout result enable clear A n n n Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 41
  • 42. Arreglos de elementos de memoria Registros Registros Casa abierta al tiempo Contadores Registros que almacenan un número cuyo valor cambia en una unidad cada que se presenta un evento. El valor almacenado en los registros puede estar codificado de distintas maneras, e.g. el registro puede almacenar la magnitud de un número binario, un código Gray o un código BCD. Los contadores pueden tener un puerto de entrada de carga de datos paralela de n bits y un puerto de limpieza clear. También pueden tener un puerto ctrl que hace que indica si la cuenta es ascendente o descendente. clk clear ctrl counter d n n Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 42
  • 43. Arreglos de elementos de memoria Registros Registros Casa abierta al tiempo Desplazadores Circuitos síncronos que cargan un valor de n bits que será desplazado a la derecha o a la izquierda, según el valor de un puerto ctrl. Generalmente se emplean para como convertidores paralelo-serie o serie-paralelo. Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 43
  • 44. Arreglos de elementos de memoria Registros Registros Casa abierta al tiempo Archivo de registros Memoria de acceso arbitrario (RAM, random-access memory) constituida por m registros síncronos de n bits que se escriben en el flanco de subida de una señal de reloj. Generalmente, se busca que el número de registros m sea una potencia de dos, mientras que n puede valer ocho, 16, 32 o 64 bits. A la derecha se muestra el archivo de registros visto como un bloque. input d addr d enable w output d enable r clk addr q n log2m n log2m Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 44
  • 45. Arreglos de elementos de memoria Registros Registros Casa abierta al tiempo Archivo de registros A la entrada, los registros que componen al archivo están conectados de la siguiente manera: el puerto d está conectado al bus de entrada input d que recibe la información que será almacenada en la memoria. El puerto de habilitación en está conectado a la salida de un descodificador que permite escribir solo un registro a la vez. También está el puerto clk que recibe la señal de reloj que sincroniza la escritura de la memoria. en d clk q input d output q 16 bits From clock signal From decoder d 16 bits Fromdecoderr Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 45
  • 46. Arreglos de elementos de memoria Registros Registros Casa abierta al tiempo Archivo de registros Cada bit de salida de un registro está conectado conectado a un búfer de tercer estado que desconecta eléctricamente la salida q del bus output q. Esto se hace para asegurar que la salida de un solo registro está conectada al bus de salida output q. De lo contrario, las señales de salida de colisionarían. en d clk q input d output q 16 bits From clock signal From decoder d 16 bits Fromdecoderr Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 46
  • 47. Arreglos de elementos de memoria Registros Registros Casa abierta al tiempo enableregister addrd input d Dec d 3x8 r7 r6 r5 r4 r3 r2 r1 r0 clk addrq Dec r 3x8 output q enablebuffer enable w enable r Diagrama interno de un archivo de ocho registros de ocho bits. Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 47
  • 48. Arreglos de elementos de memoria Registros Registros Casa abierta al tiempo Escritura del archivo de registros 1 Colocar la dirección de escritura en la entrada del descodificador addr d 2 Colocar el dato de escritura en el bus input d. 3 Habilitar la entrada en del descodificador d 4 En cuanto se presente el flanco de subida, el data de entrada se escribirá en el registro que corresponda al valor de entrada el descodificador d. Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 48
  • 49. Arreglos de elementos de memoria Registros Registros Casa abierta al tiempo Lectura del archivo de registros 1 Colocar la dirección de lectura en la entrada del descodificador addr q. 2 A diferencia de la escritura, la lectura puede hacerse en cualquier instante de tiempo, siempre que el habilitador del descodificador r valga uno. Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 49
  • 50. Máquinas de estado finito Contenido Casa abierta al tiempo 1 Introducción 2 Cerrojos 3 Flip-flops 4 Simulación de cerrojos y biestables 5 Arreglos de elementos de memoria 6 Máquinas de estado finito Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 50
  • 51. Máquinas de estado finito Diseño general Contenido Casa abierta al tiempo 1 Introducción 2 Cerrojos 3 Flip-flops 4 Simulación de cerrojos y biestables 5 Arreglos de elementos de memoria 6 Máquinas de estado finito Diseño general Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 51
  • 52. Máquinas de estado finito Diseño general Máquinas de estado finito Casa abierta al tiempo Definición Abrv. FSM (Finite State Machine), también llamadas automata, es un bloque construído con base en la lógica secuencial que, ante un estímulo, cambian su estado automáticamente produciendo códigos que se emplean para controlar otros sistemas digitales. Recuerda que el estado es la información contenida en la memoria. input a input b d d d d outputx outputy outputz NextStateLogic Memory OutputLogic Diagrama a bloques de una FSM. Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 52
  • 53. Máquinas de estado finito Diseño general Máquinas de estado finito Casa abierta al tiempo Definición Una FSM está integrado por tres bloques: función del siguiente estado memoria función de salida input a input b d d d d outputx outputy outputz NextStateLogic Memory OutputLogic Diagrama a bloques de una FSM. Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 53
  • 54. Máquinas de estado finito Diseño general Máquinas de estado finito Casa abierta al tiempo Función del siguiente estado Conjunto de ecuaciones booleanas que están en función de las entradas y el estado actual de la máquina; calculan el siguiente estado del autómata. input a input b d d d d outputx outputy outputz NextStateLogic Memory OutputLogic Diagrama a bloques de una FSM. Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 54
  • 55. Máquinas de estado finito Diseño general Máquinas de estado finito Casa abierta al tiempo Memoria Conjunto de elementos de memoria, normalmente flip flops, que almacenan un código binario que representa en estado de la máquina. El significado del código lo da el diseñador del autómata. input a input b d d d d outputx outputy outputz NextStateLogic Memory OutputLogic Diagrama a bloques de una FSM. Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 55
  • 56. Máquinas de estado finito Diseño general Máquinas de estado finito Casa abierta al tiempo Función de salida Conjunto de funciones booleanas que, con base en el estado o las entradas de la máquina, producen una salida que permite controlar el funcionamiento de un sistema digital externo. Este bloque es opcional y generalmente es empleado para traducir el código de la memoria a otro tipo de código. input a input b d d d d outputx outputy outputz NextStateLogic Memory OutputLogic Diagrama a bloques de una FSM. Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 56
  • 57. Máquinas de estado finito Diseño general Máquinas de estado finito Casa abierta al tiempo Clasificación Con base en las señales de entrada de la lógica combinacional de salida, las máquinas de estado finito se clasifican en dos: • Máquinas de Moore • Máquinas de Mealey Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 57
  • 58. Máquinas de estado finito Diseño general Máquinas de Moore Casa abierta al tiempo Definición Son aquellas cuya lógica combinacional de salida únicamente depende del estado actual de la máquina, lo que implica que el valor de la salida se mantendrá durante un ciclo de reloj hasta que el estado de la máquina cambie nuevamente. d d d d q q q q Nextstate logic Output logic clk a b c d e Maquina de Moore Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 58
  • 59. Máquinas de estado finito Diseño general Máquinas de Mealey Casa abierta al tiempo Definición En estas FSM, la lógica combinacional de salida está en función del estado y de las entradas de la máquina. Esto implica que el valor de la salida puede cambiar en el momento en el que las entradas cambien. Generalmente, este comportamiento no es deseable, por lo que se busca que las entradas cambien de manera síncrona. d d d d q q q q Nextstate logic Output logic clk a b c d e Máquina de Mealey Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 59
  • 60. Máquinas de estado finito Diseño de máquinas de estados finitos Contenido Casa abierta al tiempo 1 Introducción 2 Cerrojos 3 Flip-flops 4 Simulación de cerrojos y biestables 5 Arreglos de elementos de memoria 6 Máquinas de estado finito Diseño de máquinas de estados finitos Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 60
  • 61. Máquinas de estado finito Diseño de máquinas de estados finitos Diseño de máquinas de estados finitos Casa abierta al tiempo Metodología 1 Determinación de las características de la FSM 2 Diseño el diagrama de transiciones 3 Diseño de la tabla de estados 4 Cálculo de las ecuaciones de la lógica del siguiente estado 5 Cálculo de las ecuaciones de la lógica combinacional de salida Explicación En este paso se tienen que determinar: El número de señales de entrada y salida de la FSM El tipo de máquina: Moore o Mealey La capacidad de memoria de la máquina y el tipo de flip flop Si requiere o no un bloque combinacional de salida Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 61
  • 62. Máquinas de estado finito Diseño de máquinas de estados finitos Diseño de máquinas de estados finitos Casa abierta al tiempo Metodología 1 Determinación de las características de la FSM 2 Diseño el diagrama de transiciones 3 Diseño de la tabla de estados 4 Cálculo de las ecuaciones de la lógica del siguiente estado 5 Cálculo de las ecuaciones de la lógica combinacional de salida Explicación Un diagrama de estados es una gráfica G = (V , E), donde: V es el conjunto de estados de la FSM. Generalmente, el número de estados es igual al número de códigos de salida. Se representa con círculos. E es el conjunto de transiciones entre estados; las transiciones pueden estar o no condicionadas a una señal de entrada. Se representan con flechas que conectan a los estados. Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 62
  • 63. Máquinas de estado finito Diseño de máquinas de estados finitos Diseño de máquinas de estados finitos Casa abierta al tiempo Metodología 1 Determinación de las características de la FSM 2 Diseño el diagrama de transiciones 3 Diseño de la tabla de estados 4 Cálculo de las ecuaciones de la lógica del siguiente estado 5 Cálculo de las ecuaciones de la lógica combinacional de salida Explicación En este paso debe generarse una tabla que contiene todos los códigos binarios que corresponden a las siguientes columnas: Señales de entrada (si las hay) Estado actual Q(t) Siguiente estado Q(t + 1) Entradas de los flip flops (solo para JK y T) Lógica combinacional de salida (si la hay) Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 63
  • 64. Máquinas de estado finito Diseño de máquinas de estados finitos Diseño de máquinas de estados finitos Casa abierta al tiempo Metodología 1 Determinación de las características de la FSM 2 Diseño el diagrama de transiciones 3 Diseño de la tabla de estados 4 Cálculo de las ecuaciones de la lógica del siguiente estado 5 Cálculo de las ecuaciones de la lógica combinacional de salida Explicación Cada puerto de entrada de los flip flops debe tener asociada una ecuación booleana que está en función del siguiente estado de la máquina y la tabla de característica de los flip-flop Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 64
  • 65. Máquinas de estado finito Diseño de máquinas de estados finitos Diseño de máquinas de estados finitos Casa abierta al tiempo Metodología 1 Determinación de las características de la FSM 2 Diseño el diagrama de transiciones 3 Diseño de la tabla de estados 4 Cálculo de las ecuaciones de la lógica del siguiente estado 5 Cálculo de las ecuaciones de la lógica combinacional de salida Explicación Cada bit de salida de la FSM debe tener asociada una ecuación booleana que está en función del estado actual para las máquinas de Moore y del estado actual y las señales de entrada de la máquina para las máquinas de Mealy. Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 65
  • 66. Máquinas de estado finito Diseño de máquinas de estados finitos Diseño de FSM con flip flops JK Casa abierta al tiempo Problema Se desea construir un sistema digital que cada segundo emita un código de Gray de tres bits de manera ascendente. La cuenta debe empezar en cero y reiniarse cada que se alcanza el código 100. Con base en estos datos, ¿qué tipo de máquina es la que hay que emplear? Decimal Gray (0)10 000 (1)10 001 (2)10 011 (3)10 010 (4)10 110 (5)10 111 (6)10 101 (7)10 100 Códigos de Gray. Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 66
  • 67. Máquinas de estado finito Diseño de máquinas de estados finitos 1. Determinación de las características de la FSM Casa abierta al tiempo Detalles de la máquina De acuerdo con el problema: La máquina no tiene señales de entrada. A la salida emite tres bits que corresponden a un código Gray. Como la máquina no tiene señales de entrada, no puede ser una máquina de Mealey, entonces es de Moore. La memoria debe almacenar tres bits, por complejidad se usarán flip flops JK La FSM no requiere lógica combinacional de salida, porque la memoria puede almacenar códigos de Gray. Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 67
  • 68. Máquinas de estado finito Diseño de máquinas de estados finitos 2. Diseño del diagrama de transiciones Casa abierta al tiempo Detalles del diagrama de estados Por cada código que vaya a emitir la FSM hay que dibujar un estado. Después, hay que conectar cada estado con una flecha según corresponda, e.g. si en el estado s0 se emite el código 000 y el estado s1 emite el código 001, entonces, de s0 a s1 debe haber una flecha porque el siguiente estado de 000 es 001. Además, hay que indicar el estado inicial. s0 s1 s2 s3 s4 s5 s6 s7 Diagrama de estados de un contador de códigos Gray de tres bits. Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 68
  • 69. Máquinas de estado finito Diseño de máquinas de estados finitos 3. Diseño de la tabla de estados Casa abierta al tiempo Q(t) Q(t + 1) Entradas de los flip-flop q2 q1 q0 q2 q1 q0 j2 k2 j1 k1 j0 k0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 1 0 1 1 0 0 1 0 0 0 0 1 1 0 1 0 0 0 0 0 0 1 0 1 0 1 1 0 1 0 0 0 0 0 1 1 0 1 1 1 0 0 0 0 1 0 1 1 1 1 0 1 0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 1 0 0 0 0 Diseño de la tabla de estados del contador ascendente de códigos Gray. j k Q(t + 1) 0 0 Q(t) 0 1 reset 1 0 set 1 1 ¬Q(t) Tabla de funcionamiento de un flip flop JK. Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 69
  • 70. Máquinas de estado finito Diseño de máquinas de estados finitos 3. Diseño de la tabla de estados Casa abierta al tiempo Observación Con los flip flip JK existen varias formas de ir de un estado a otro, e.g. si Q(t) = 0 y Q(t + 1) = 0 podemos decir que la memoria se reseteó o que convervó su estado. Esto implica que para transitar de cero a cero puedes darle a la memoria las combinaciones (j = 0, k = 0) y (j = 0, k = 1) y ambas son válidas. Q(t) Q(t + 1) j k 0 0 0 × 0 1 1 × 1 0 × 1 1 1 × 0 Tabla de funcionamiento para optimizar la lógica del siguiente estado con los flip-flop JK. Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 70
  • 71. Máquinas de estado finito Diseño de máquinas de estados finitos 3. Diseño de la tabla de estados Casa abierta al tiempo Q(t) Q(t + 1) Entradas de los flip-flop q2 q1 q0 q2 q1 q0 j2 k2 j1 k1 j0 k0 0 0 0 0 0 1 0 × 0 × 1 × 0 0 1 0 1 1 0 × 1 × × 0 0 1 1 0 1 0 0 × × 0 × 1 0 1 0 1 1 0 1 × × 0 0 × 1 1 0 1 1 1 × 0 × 0 1 × 1 1 1 1 0 1 × 0 × 1 × 0 1 0 1 1 0 0 × 0 0 × × 1 1 0 0 0 0 0 × 1 0 × 0 × Diseño de la tabla de estados del contador ascendente de códigos Gray. Q(t) Q(t + 1) j k 0 0 0 × 0 1 1 × 1 0 × 1 1 1 × 0 Tabla de funcionamiento para optimizar la lógica del siguiente estado con flip-flop JK. Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 71
  • 72. Máquinas de estado finito Diseño de máquinas de estados finitos 4. Cálculo de las ec. booleanas del siguiente estado Casa abierta al tiempo 0 0 0 1 × × × × q1q0 q2 j2 1 0 0 0 q1q0 q2 k2 0 1 0 0 × × q1q0 q2 j1 0 0 1 0 q1q0 q2 k1 1 0 0 1 q1q0 q2 j0 0 1 × 1 0 × q1q0 q2 k0 × × × × × × × × × × × × × × × × 00 01 11 10 0 1 00 01 11 10 00 01 11 10 00 01 11 10 00 01 11 1000 01 11 10 0 1 0 1 0 1 0 1 0 1 Mapas de Karnaugh que corresponden a la entradas JK de cada flip flop de la memoria de la FSM. Ecuaciones boolenas j2 = q1 ∧ ¬q0 k2 = ¬q1 ∧ ¬q0 j1 = ¬q2 ∧ q0 k1 = q2 ∧ q0 j0 = ¬(q2 ⊕ q1) k0 = (q2 ⊕ q1) Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 72
  • 73. Máquinas de estado finito Diseño de máquinas de estados finitos Contador ascendente de tres bits en código Gray Casa abierta al tiempo Observación Para que el contador funcione correctamente es necesario reestablecer el estado de la memoria antes de que comience a operar. j k reset q ¬q k reset q ¬q j k reset q ¬q j k clk reset q2 ¬q2 q1 ¬q1 q0 ¬q0 q1 ¬q0 ¬q1 ¬q0 ¬q2 q0 q2 q0 q2 q1 q2 q1 Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 73
  • 74. Máquinas de estado finito Diseño de máquinas de estados finitos Diseño de FSM con flip flops tabla Casa abierta al tiempo Problema Diseñe un contador ascendente/descendente que cuente en el rango [−4, +3] con flip flops T. El contador debe poseer una entrada ctrl que determina el sentido de la cuenta; si ctrl = 1, entonces la cuenta es descendete, de lo contrario, la cuenta es ascendente. Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 74
  • 75. Máquinas de estado finito Diseño de máquinas de estados finitos 1. Determinación de las características de la FSM Casa abierta al tiempo Detalles de la máquina De acuerdo con el problema: La máquina tiene una señal que controla el sentido de la cuenta (ascendente/descendente). A la salida emite tres bits que corresponden a un código en complemento a dos. La FSM no requiere lógica combinacional de salida, porque la memoria puede almacenar códigos en complemento a dos directamente. La memoria debe almacenar tres bits en flip flops T. La FSM es una máquina de Moore porque no tenemos un bloque combinacional de salida que pueda ser controlado por la entrada ctrl Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 75
  • 76. Máquinas de estado finito Diseño de máquinas de estados finitos 2. Diseño del diagrama de transiciones Casa abierta al tiempo Detalles del diagrama de estados El contador tiene que emitir ocho códigos diferentes, por lo que el diagrama de estados tendrá ocho estados. La transición entre los estados está determinada por el valor de la señal ctrl: si ctrl = 1, entonces la transición es hacia el estado antecesor, de los contrario, la transición se da hacia el estado sucesor. El estado inicial es cero. S0 S1 S2 S3 S4 S5 S6 S7 Diagrama de estados de un contador de códigos en complemento a dos de tres bits. Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 76
  • 77. Máquinas de estado finito Diseño de máquinas de estados finitos 3. Diseño de la tabla de estados Casa abierta al tiempo Entrada Q(t) Q(t + 1) Entradas T ctrl q2 q1 q0 q2 q1 q0 t2 t1 t0 0 0 0 0 0 0 1 0 0 1 0 0 0 1 0 1 0 0 1 1 0 0 1 0 0 1 1 0 0 1 0 0 1 1 1 0 0 1 1 1 0 1 0 0 1 0 1 0 0 1 0 1 0 1 1 1 0 0 1 1 0 1 1 0 1 1 1 0 0 1 0 1 1 1 0 0 0 1 1 1 1 0 0 0 1 1 1 1 1 1 1 1 1 1 1 1 0 0 0 1 1 1 1 0 1 0 1 0 1 1 1 1 0 1 1 0 0 0 0 1 1 1 0 0 0 1 1 1 1 1 1 0 1 1 0 1 0 0 0 1 1 0 1 0 0 0 1 0 1 1 1 0 0 1 0 0 0 0 0 1 Diseño de la tabla de estados del contador ascendente/descendente de códigos en complemento a 2. t Q(t + 1) 0 Q(t) 1 ¬Q(t) Tabla de funcionamiento de un flip flop T. Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 77
  • 78. Máquinas de estado finito Diseño de máquinas de estados finitos 4. Cálculo de las ec. booleanas del siguiente estado Casa abierta al tiempo Inserta mapas K aquí :) Ecuaciones boolenas t2 = ctrl ∧ ¬q1 ∧ ¬q0 ∨ ¬ctrl ∧ q1 ∧ q0 t1 = ctrl ⊕ q0 t0 = 1 Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 78
  • 79. Máquinas de estado finito Diseño de máquinas de estados finitos Diseño de FSM con flip flops D Casa abierta al tiempo Problema El diagrama de estados de la derecha corresponde a la unidad de control de una ruta de datos que calcula el factorial de un número. A partir de esta información, diseñe una FSM con flip-flops tipo D. s1 s2s3 s0 status status ¬status ¬status 0001 0010 01001000 Diagrama de estados de la unidad de control de un procesador que calcula el factorial de un número. Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 79
  • 80. Máquinas de estado finito Diseño de máquinas de estados finitos Diseño de FSM con flip flops D Casa abierta al tiempo Observación En ocasiones, al diseñador de FSM se le proporciona el diagrama de estados y a partir de este debe diseñar la máquina. s1 s2s3 s0 status status ¬status ¬status 0001 0010 01001000 Diagrama de estados de la unidad de control de un procesador que calcula el factorial de un número. Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 80
  • 81. Máquinas de estado finito Diseño de máquinas de estados finitos Diseño de FSM con flip flops D Casa abierta al tiempo Codificación one-hot Consiste en hacer que la memoria de la FSM tenga tantos flip flops D como estados y que solo un flip flop a la vez almacene un uno. Para esto, la FSM almacena los códigos que se muestran en la tabla de la derecha. sn s3 s2 s1 s0 0 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 1 0 0 0 0 Tabla códigos one-hot para una FSM con n estados. Universidad Autónoma Metropolitana Adán G. Medrano-Chávez 81