Now, I want to talk more about Glock, a Glock is a breathing signal that will alternate between high
and low or zero.
So it will repeat like that forever.
And you would ask, why is that important?
Well, in Synchronoss design, it's very important that changing data or changing states should be regulated.
It means that it's not like input's whenever they want.
They can change the output of the circuit you have.
This sometimes causes a lot of issues when you are trying to design large designs, when you are trying
to design a larger project.
So it's also very important to have Glock in order to have states.
And we're going to see how important Glock is also when you start studying finite state machine.
But for now, I want you to know that Glock is important because data should not change whenever it
wants, but it should change at a certain moment.
And the clock is what decides the moment of change for every component in your circuit.
No.
If we apply a clock right here on this input like this, instead of the enable, it will cause this
D to change only at certain times when the clock is activated.
So only in the open window.
Right here, right here, right here, right here and right here.
We are allowed to change states or we are allowed to change the data here.
And you're going to see this in details right now.
Assume that this is the time and we have a clock that is periodic and it is changing.
And let's assume this is the way forward for the data we all have.
So imagine that if you take a look at it horizontally, if you take a look.
So imagine that if you take a look at it vertically, every vertical line is a moment of time.
Right.
So at this moment of time, clock is high or clock is one.
And at this moment, same moment of time.
The is zero.
See, this is a period of time.
This one is a period of time.
All of them are just period of time.
No, at this period of time, as you remember, we need the enabled signal here in order to have the
data propagate to the output, right.
So right now, the clock right here.
Is high, it's the same as we have activated the enable, and as you can see, the data is zero, right?
So the data now can propagate from the juku and the data that will propagate is the zero, right?
Because we have zero here, Adie's, it means that at CU we will see zero because that enablers also
activate it.
Now, let's go to the next instance.
Now, take a look here.
The clock is low or zero, so the clock here is zero, meaning that enable is not activated.
However, at the debate here we have a one, so we have a one here.
But the clock is not activated or there is no enabled signal.
What will this mean?
The queue value will not change.
It was zero and it will remain zero.
See, we are only changing and evaluating at these windows right here.
So if this window is activated, we take a look at the end.
We copy it to the queue.
Otherwise, if it's not activated, we ignore whatever we have on the queue because it doesn't really
matter now at this window.
As we can see, enablers activated, our clock is activated, that is zero, so we'll propagate it as
it is.
Next, we have enablers not activated or clock is low.
This means nothing.
So we will ignore this totally.
And you will continue with its retained value because it's a memory after all.
Next.
Now take a look here.
This one here.
At this moment, right here in this small portion, if you can see.
It's a zero, right, so we will evaluate what is in this area, it's a zero, so we will see zero here
because we have activation.
Now, if we continue, you'll see that the the data here is one, right?
So lock is high right here.
And right here is high as well, or one as well, so it means that the will be copied to Q.
Next now let's go check this instant right here.
It's low enablers, four o'clock is low.
It means we will ignore whatever we have in indeed and we will continue the queue as it is.
Right, because we are retaining data.
Next, now let's see here.
Clock is high or clock is one we check, what is the day right now is zero.
So what we're going to have is a new value that will propagate from the HQ and it is Europe.
So it's very simple.
If you clock is high, they will go to Q If a clock is low or zero, these will not go to Q Anchia will
keep its value.
We call this level days to trigger because we are evaluating at the whole.
Level the right here.
Right now, there is another type that we will study now, which is the Age-Based, the trigger no evaluation
for each to trigger is going to take place only at the edge.
So we will not evaluate during the whole period right here.
We will evaluate only at this small instant.
OK, and this is the most commonly used, the flipflop.
So, of course, it's not the same as the circuitry that we have seen before.
It's a little bit different, but each base to trigger is what we actually see most of the time.
So let's see what's going to happen here.
The data is zero and evaluation time comes just at this instant and it is zero, right?
So you will match what everybody has at this instant?
No, we will not evaluate until this moment.
So.
It doesn't matter what's happening in all of this area right here.
We only care about this moment in order to evaluate what he has.
So in this whole period.
He will continue having whatever value it's already stored at this moment.
So evaluation is going to take place at this moment, this moment, this moment and this moment.
Let's continue.
Right now, we are evaluating at this area and it is still zero, right?
So we will continue and it's still zero.
Next, the evaluation is at this area.
It's still zero.
So we will continue and it is still zero.
Next, evaluation is at this moment and the zero zero zero, as you can see, same way for but when
you are using level based.
The queue is different because we are evaluating this whole period.
This is why we got a different reform, because here, let's say we are evaluating this whole period
and it's one, however, when we are evaluating with each based, we have only, for instance, to evaluate
that.
And all of this instance are zero.
And this is basically what we call a rising edge detection.
Now, there is something also called a falling edge detection.
This means that we evaluate when the wave form is coming down, like before we were evaluating when
the clock was coming from low to high.
So this is a rising edge.
However, we also can evaluate at the falling edge.
So when it goes from high to low, let's see how the waveform will change if we are evaluating at the
falling edge.
So right here we have this instant, this instant, this one and this one, this, where we will evaluate
what value you will have.
So the first one we have is you.
Second one, evaluation zero.
All of this doesn't matter because we have no edge.
Next, now we have this one, as you can see, when we are falling down, the data is at one.
This means that the queue will change to one.
We will copy whatever we have indeed to queue.
Next at this evaluation now, as you can see, is zero at this polling edge.
Now, all of this period here doesn't really matter.
So we are evaluating at zero.
And this means that you will go from high to low, dropping whatever the tests still rising and falling,
which are very important because usually when you are designing a finite state machine, you want your
control logic to be, let's say, for the edge.
But your sequential logic that you are trying to control, like maybe your flip flops that are in the
area and stuff, they need to be, let's say the opposite.
Like if your FSM is rising edge, your logic should be following it.
And we will see why later when we study find finite state machines.