Está en la página 1de 25

UNIVERSIDAD NACIONAL PEDRO RUIZ GALLO

FACULTAD DE CIENCIAS FÍSICAS Y MATEMÁTICAS

Curso:
MICROELECTRÓNICA
Docente:
Mg. Ing. Oscar Ucchelly Romero Cortez
Semestre 2020 – I
Microelectrónica UNPRG 2020 - I
MÁQUINAS DE ESTADOS FINITOS
- Una máquina de estado finito es un circuito digital, el cual recorre una
secuencia de estados en un orden predefinido.
- El circuito tiene memoria, es decir sus salidas no solo dependen de las
entradas, sino que también dependen de los estados anteriores.

Microelectrónica UNPRG 2020 - I


MÁQUINAS DE ESTADOS FINITOS
- Una máquina de estado finito se compone de dos bloques, como se
muestra en la figura:

Microelectrónica UNPRG 2020 - I


MÁQUINAS DE ESTADOS FINITOS
MÁQUINA DE MEALY

Microelectrónica UNPRG 2020 - I


MÁQUINAS DE ESTADOS FINITOS
MÁQUINA DE MOORE

Microelectrónica UNPRG 2020 - I


MÁQUINAS DE ESTADOS FINITOS
- Para definir una máquina de estados en WinCupl, primero se determina los
bits con lo que se representarán los estados válidos, utilizando para ello la
palabra FIELD.
FIELD estados = [Qn..0];
- Para definir los estados se utilizan nombres simbólicos, utilizando la palabra
$define.
$define S0 ‘b’0…0
$define S1 ‘b’0…1
…….
…….
$define Sn ‘b’1…1

Microelectrónica UNPRG 2020 - I


MÁQUINAS DE ESTADOS FINITOS
- Con la palabra reservada SEQUENCE se determina la secuencia de
estados, de acuerdo con la siguiente sintaxis:

SEQUENCED estados {
PRESENT S0
IF(condición 1) NEXT S1;
IF(condición 2) NEXT S2 OUT out_no;
DEFAULT NEXT S0;
PRESENT S1
NEXT S2;
………………
……………....
PRESENT Sn
}

Microelectrónica UNPRG 2020 - I


PROGRAMACIÓN EN WINCUPL
EJEMPLO 1
Implementar un contador de 0 a 3 utilizando la programación WinCupl.

Microelectrónica UNPRG 2020 - I


SOLUCIÓN

Microelectrónica UNPRG 2020 - I


PROGRAMACIÓN EN WINCUPL

SOLUCIÓN

Microelectrónica UNPRG 2020 - I


PROGRAMACIÓN EN WINCUPL

SOLUCIÓN

Microelectrónica UNPRG 2020 - I


PROGRAMACIÓN EN WINCUPL

SOLUCIÓN

Microelectrónica UNPRG 2020 - I


PROGRAMACIÓN EN WINCUPL
EJEMPLO 2
Implementar un contador de 0 a 9 de tal manera que tenga la opción de contar de
manera ascendente y descendente, así como una entrada de reset; utilizando la
programación WinCupl.

Microelectrónica UNPRG 2020 - I


PROGRAMACIÓN EN WINCUPL

SOLUCIÓN

S0 S1 S2 S3 S4 S5 S6 S7 S8 S9

Microelectrónica UNPRG 2020 - I


Microelectrónica UNPRG 2020 - I
Microelectrónica UNPRG 2020 - I
PROGRAMACIÓN EN WINCUPL

SOLUCIÓN

Microelectrónica UNPRG 2020 - I


PROGRAMACIÓN EN WINCUPL

SOLUCIÓN

Microelectrónica UNPRG 2020 - I


PROGRAMACIÓN EN WINCUPL

Microelectrónica UNPRG 2020 - I


PROGRAMACIÓN EN WINCUPL
EJEMPLO 3
Implementar un detector de secuencia para los bits “10001”; utilizando la
programación WinCupl.

Microelectrónica UNPRG 2020 - I


PROGRAMACIÓN EN WINCUPL
SOLUCIÓN x=1
x=1

x=1
x=1
x=1 x=0 x=0 x=0 x=1
x=0

S0 S1 S2 S3 S4 S5

Z=0 Z=0 Z=0 Z=0 Z=0 Z=1

Microelectrónica UNPRG 2020 - I


SOLUCIÓN

Microelectrónica UNPRG 2020 - I


PROGRAMACIÓN EN WINCUPL

SOLUCIÓN

Microelectrónica UNPRG 2020 - I


PROGRAMACIÓN EN WINCUPL
SOLUCIÓN

Microelectrónica UNPRG 2020 - I

También podría gustarte