﻿1
00:00:12,600 --> 00:00:18,720
Welcome to the state machine introduction lecture and this lecture I'm going to produce how state machines

2
00:00:18,810 --> 00:00:20,710
operate.

3
00:00:20,760 --> 00:00:27,720
Let's just start with the state machine definition a state machine is a device that can be in one of

4
00:00:27,720 --> 00:00:34,350
a set number of stable conditions depending upon its previous condition and on the present values of

5
00:00:34,350 --> 00:00:39,290
its inputs and what that means is we have different states we can go around it.

6
00:00:39,300 --> 00:00:44,100
So we have predefined conditions or states that we specify.

7
00:00:44,160 --> 00:00:50,820
And based upon inputs and also the predefined state that we're currently in we can navigate to different

8
00:00:50,820 --> 00:00:54,490
states and there are two different common types of state machines.

9
00:00:54,570 --> 00:01:02,790
There's Meely machine and a more machine a milling machine is a finite state machine whose output depends

10
00:01:02,940 --> 00:01:05,550
on the present state as well as the present input.

11
00:01:05,780 --> 00:01:12,840
So that means is if you're in say state a certain state you depending upon what state you're in and

12
00:01:12,840 --> 00:01:17,590
the input is going to dictate what is the next state that you'll go to.

13
00:01:17,600 --> 00:01:25,680
And generally these have fewer states than a more machine and the outputs change at clock edges and

14
00:01:26,040 --> 00:01:29,700
a lot of times I'm most commonly used Milia machines.

15
00:01:29,850 --> 00:01:37,230
And in this course we'll be only dealing with milling machines but there are also these also react faster

16
00:01:37,230 --> 00:01:38,400
to inputs.

17
00:01:38,410 --> 00:01:44,950
So machine input happens right away and then on the clock edge we transition from a state.

18
00:01:45,330 --> 00:01:52,200
The next one will look at is the more machine a more machine is a state machine whose output depends

19
00:01:52,470 --> 00:01:54,460
only on the present state.

20
00:01:54,600 --> 00:01:56,170
So the input doesn't matter.

21
00:01:56,180 --> 00:02:02,280
There's a specific input and once that it sees that input it goes depending upon the state it's in it

22
00:02:02,280 --> 00:02:04,010
goes to the next state.

23
00:02:04,020 --> 00:02:08,190
So generally with a more machine you have more states and a milling machine.

24
00:02:08,340 --> 00:02:13,950
So you can't say OK if I get the signal if it's a when I go here for the zero I go there it's like no

25
00:02:13,950 --> 00:02:17,020
once the signal is zero I go directly to that next state.

26
00:02:17,160 --> 00:02:24,690
There's not no decision making the input change can cause cause change in an output change as soon as

27
00:02:24,690 --> 00:02:26,170
the logic is done.

28
00:02:26,220 --> 00:02:30,800
So we don't wait on the clock edge as soon as we see that input output we change state.

29
00:02:30,800 --> 00:02:32,760
It happens right away.

30
00:02:32,850 --> 00:02:40,980
In the more machines more logic is needed to decode the outputs since it has more circuit delays.

31
00:02:40,980 --> 00:02:42,770
Now you're familiar with state machines.

32
00:02:42,770 --> 00:02:45,080
Let's take a look at how to start designing one.

