WEBVTT

00:12.600 --> 00:18.720
Welcome to the state machine introduction lecture and this lecture I'm going to produce how state machines

00:18.810 --> 00:20.710
operate.

00:20.760 --> 00:27.720
Let's just start with the state machine definition a state machine is a device that can be in one of

00:27.720 --> 00:34.350
a set number of stable conditions depending upon its previous condition and on the present values of

00:34.350 --> 00:39.290
its inputs and what that means is we have different states we can go around it.

00:39.300 --> 00:44.100
So we have predefined conditions or states that we specify.

00:44.160 --> 00:50.820
And based upon inputs and also the predefined state that we're currently in we can navigate to different

00:50.820 --> 00:54.490
states and there are two different common types of state machines.

00:54.570 --> 01:02.790
There's Meely machine and a more machine a milling machine is a finite state machine whose output depends

01:02.940 --> 01:05.550
on the present state as well as the present input.

01:05.780 --> 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

01:12.840 --> 01:17.590
the input is going to dictate what is the next state that you'll go to.

01:17.600 --> 01:25.680
And generally these have fewer states than a more machine and the outputs change at clock edges and

01:26.040 --> 01:29.700
a lot of times I'm most commonly used Milia machines.

01:29.850 --> 01:37.230
And in this course we'll be only dealing with milling machines but there are also these also react faster

01:37.230 --> 01:38.400
to inputs.

01:38.410 --> 01:44.950
So machine input happens right away and then on the clock edge we transition from a state.

01:45.330 --> 01:52.200
The next one will look at is the more machine a more machine is a state machine whose output depends

01:52.470 --> 01:54.460
only on the present state.

01:54.600 --> 01:56.170
So the input doesn't matter.

01:56.180 --> 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

02:02.280 --> 02:04.010
goes to the next state.

02:04.020 --> 02:08.190
So generally with a more machine you have more states and a milling machine.

02:08.340 --> 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

02:13.950 --> 02:17.020
once the signal is zero I go directly to that next state.

02:17.160 --> 02:24.690
There's not no decision making the input change can cause cause change in an output change as soon as

02:24.690 --> 02:26.170
the logic is done.

02:26.220 --> 02:30.800
So we don't wait on the clock edge as soon as we see that input output we change state.

02:30.800 --> 02:32.760
It happens right away.

02:32.850 --> 02:40.980
In the more machines more logic is needed to decode the outputs since it has more circuit delays.

02:40.980 --> 02:42.770
Now you're familiar with state machines.

02:42.770 --> 02:45.080
Let's take a look at how to start designing one.
