Incredibly good video, its very short considering that in twelve minutes you will genuinely know the two machines confidently enough to answer questions on them whereas a lecture is typically fifty minutes and you're sometimes still left with questions
all the comments exactly describe the way i feel YOU MADE THIS SO EASY TO UNDERSTAND. Wish my prof explained it like you so i didnt have to search for an hour+
Nice video Bruce, I thought you did an excellent job explaining the topic. I took a digital logic class in college and learned about Mealy and Moore state machines. Very frequently I receive questions asking what the difference between the two actually is. I think this video answers that very well. It is a little dry and long but if someone is committed to learning the difference between Mealy and Moore machines this is the video for them. Without all the nitpicking this is an excellent educational tool for teaching the differences between Moore and Mealy machines. Thank you for your time.
The "direction bit" is really just another way to store states, yet it's not really part of the state machine. Personally, I really don't like that method. Every state should be part of the state machine explicitly. Seems like it would be the better practice. It's much simpler and formal.
In the moore machine at around 4:00, the output doesn't stay at one. Instead, it's just a very short pulse. Is that a correct transition (automatically moving the machine back to initial state). I think it would instead stay at the 4th state (11)
Great video, thank you for taking the time to create and post it. I have a question about the sequence of 0,1,1 Moore Machine implementation. In the final state, you always go back to the 00 state. But you have a line drawn from 11 to 01. I believe this is a valid transition because from the 11 state, if your next bit is a 0, then it could be the 0 at the beginning of the next 0,1,1 sequence. If in the 11 state and your next bit is a 1, then you would go back to the 00 state. Am I completely wrong and confused?
Missing are the input labels of the two edges originating from the 11 state: the 11->00 edge should be labeled "1", and the 11->01 edge should be labeled "0."
I think the Moore machine for the "Flashing LED 1,2,3,4,3,2,1" is not correct. the author made a mistake in toggling flip-flop. Note that the T (toggle) output changes the flip=flop after one clock cylcle.
It will be interesting to see everyone's response to the final revelation of how this physical universe is fundamentally a finite state machine, but that the consequences of this fact are very personal.
why on the first moore example with the 1's and 0's, having to make the 0,1,1 sequence did it have a arrow going from the 11 over 1 circle to the 10 over 0 circle.
I think more like the moore machine since the state that your in is not during the transition it is after the transition plus it seems to make a cleaner diagram.
When I was earning my master's degree, I heard a lot about finite state machines (FSMs), but it was all theory - like clouds in the sky: there's a lot of water, but you can't drink it. I toiled for three months after graduating until I implemented my first FSM in code in 1981. Now, there is a programming methodology based on this concept - v-agent oriented programming (VAOP) - with many examples of its implementation. It's best to start learning about VAOP with this article on Medium: "Bagels and Muffins of Programming or How Easy It Is to Convert a Bagel into a Black Hole". With VAOP, you can implement FSM in any programming language.
In the first example of the Moore Machine that sequences the LED's up and down, the toggle bit is set to '1' in State 11 and State 00 in order to toggle (change the state of) the Direction Bit. This causes the state machine to be executed in the desired order, 00, 01, 10, 11, 10, 01, 00, 01 … etc. The output of the toggle flip-flop holds its output of 0 or 1 until it is pulsed with a '1' toggle bit at which time it reverses its output. Notice that the other states reset the toggle register input back to a '0', which has no effect on the flip-flop's output, but prepares it for the next '1' input signal to toggle its Direction Bit output. When (in which state or transition) the toggle signal is sent to the Direction Bit flip-flop is dependent on the specific design variation. In the two different design approaches, the Direction Bit can be expressly programmed as an output in every state, or it can be done in hardware with the toggle flip-flop. The advantage of doing it with the toggle flip-flop is that a signal needs to be generated only when a change in direction is desired.
The practical difference becomes apparent when you design actual hardware to implement the various solutions. You usually will find that one approach is typically quite a bit easier/convenient to implement than the other, based on the specifics of the problem you are trying to solve. ~bb
Welp, thanks for the video. I now know the difference between the two but I still do not understand how to make one. Imma take this L on this assignment lol.
I think the Moore machine design for counter 1,2,4,8,4,2,1 is wrong becasue the toggle flip-flop change just after clock rising-edge and then the counter maintains the "1000" state for 2 clock cycles which also outputs toggle control signal for 2 clock cycles resulting in toggling T flip-flop two times and you get dir=0 again. Conclusiion: It would not work it will result as 2,4,8,4,8,4,8,4 ,... becasue of Toggling=0->1->0 for consecutive two clock cycle.
I have proved that the state diagram of "flashing 4 LED example" in the video is incorrect by coding in Verilog and simulating it. If you leave your email I can send it to you.
Incredibly good video, its very short considering that in twelve minutes you will genuinely know the two machines confidently enough to answer questions on them whereas a lecture is typically fifty minutes and you're sometimes still left with questions
Damn... a computer science video not done in a thick Indian accent
i had to add IN ENGLISH to my search for this one to pop up
yeah, almost a bit disappointing xD
ikr?
they are just the best XD
@@dayman161172 no, they aren't
I think I must've watched this same video at least 10 times now over the past 4 years of school. Thank you for the help
Been surfing on the net for a more understandable explanation for this, I must say this is the best I found so far
all the comments exactly describe the way i feel
YOU MADE THIS SO EASY TO UNDERSTAND.
Wish my prof explained it like you so i didnt have to search for an hour+
Nice video Bruce, I thought you did an excellent job explaining the topic. I took a digital logic class in college and learned about Mealy and Moore state machines. Very frequently I receive questions asking what the difference between the two actually is. I think this video answers that very well. It is a little dry and long but if someone is committed to learning the difference between Mealy and Moore machines this is the video for them. Without all the nitpicking this is an excellent educational tool for teaching the differences between Moore and Mealy machines. Thank you for your time.
This is great feedback, you should also be thanked for putting your time into writing and sharing it
Hey man, you should make more videos, yours was the most clearly spoken and easy to understand video i found. :D
@@kion3606 ok? so he is indian...
Helpful video, wish my teachers would take 10 minutes to explain things this way. Thanks !
me too lol
Thank you! you saved this electrical engineers butt! :D
I concur
I concur
I concur
I concur
I concur
U dont know how much this video helped. Cheers
very well explained, watches this while lecture because guy in front of me was talking crap
After this video, I find those really easy to understand, thank you so much!
nice explanation, but naming the states (idle, got0, got01, got011) will make more sense and easier to follow
Nice example, thanks. But maybe name the states a, b, c, d or something, which makes it look less complicated.
i agree, the 00/01/10/11 for name of state is confusing when you are finding a sequence of 011 for example
Actually naming the states (idle, got0, got01, got011) will make more sense and easier to follow
The "direction bit" is really just another way to store states, yet it's not really part of the state machine.
Personally, I really don't like that method. Every state should be part of the state machine explicitly.
Seems like it would be the better practice. It's much simpler and formal.
In the moore machine at around 4:00, the output doesn't stay at one. Instead, it's just a very short pulse. Is that a correct transition (automatically moving the machine back to initial state). I think it would instead stay at the 4th state (11)
Thanks Bruce! I completely forgot this stuff from EEE 120, and am reviewing for EEE 333. great refresher
This video is amazing and simple it really helped me a lot thankyou!!!
Thank you!
Fantastic video, very informative - but the noise of the scribe scratching the paper is not headphone friendly!
very nice video..its helping me for final exam :)
Thank you mate, still helps alot in 2018!
So why doesn't my teacher explains in that nice way?
Nice job! Thanks a lot!!!
Great video, thank you for taking the time to create and post it. I have a question about the sequence of 0,1,1 Moore Machine implementation. In the final state, you always go back to the 00 state. But you have a line drawn from 11 to 01. I believe this is a valid transition because from the 11 state, if your next bit is a 0, then it could be the 0 at the beginning of the next 0,1,1 sequence. If in the 11 state and your next bit is a 1, then you would go back to the 00 state. Am I completely wrong and confused?
Missing are the input labels of the two edges originating from the 11 state: the 11->00 edge should be labeled "1", and the 11->01 edge should be labeled "0."
2:10
I think the Moore machine for the "Flashing LED 1,2,3,4,3,2,1" is not correct. the author made a mistake in toggling flip-flop. Note that the T (toggle) output changes the flip=flop after one clock cylcle.
It will be interesting to see everyone's response to the final revelation of how this physical universe is fundamentally a finite state machine, but that the consequences of this fact are very personal.
why on the first moore example with the 1's and 0's, having to make the 0,1,1 sequence did it have a arrow going from the 11 over 1 circle to the 10 over 0 circle.
I think more like the moore machine since the state that your in is not during the transition it is after the transition plus it seems to make a cleaner diagram.
Very well explained, Thanks Bruce!
That helps me doing homework a lot :D Thank you!!!
this really helped me thank you so much .. I hope ill do good in 2 days in the exam thanks alot :)
You did well?
That was 7 years ago. But, I did well lol highest grade
@@samizhr4096 Glad to hear it man :)
Didnt understand the 4 led flash problem ...
When I was earning my master's degree, I heard a lot about finite state machines (FSMs), but it was all theory - like clouds in the sky: there's a lot of water, but you can't drink it. I toiled for three months after graduating until I implemented my first FSM in code in 1981. Now, there is a programming methodology based on this concept - v-agent oriented programming (VAOP) - with many examples of its implementation. It's best to start learning about VAOP with this article on Medium: "Bagels and Muffins of Programming or How Easy It Is to Convert a Bagel into a Black Hole".
With VAOP, you can implement FSM in any programming language.
Many thanks to you, I'm now starting to understand a lecture I missed :)
Thank you very much, I finally understand it now 😅
Why is toggle bit set to 1 from (state-11)-->( state 10) and (state10)-->(state01)
In the first example of the Moore Machine that sequences the LED's up and down, the toggle bit is set to '1' in State 11 and State 00 in order to toggle (change the state of) the Direction Bit. This causes the state machine to be executed in the desired order, 00, 01, 10, 11, 10, 01, 00, 01 … etc. The output of the toggle flip-flop holds its output of 0 or 1 until it is pulsed with a '1' toggle bit at which time it reverses its output. Notice that the other states reset the toggle register input back to a '0', which has no effect on the flip-flop's output, but prepares it for the next '1' input signal to toggle its Direction Bit output.
When (in which state or transition) the toggle signal is sent to the Direction Bit flip-flop is dependent on the specific design variation.
In the two different design approaches, the Direction Bit can be expressly programmed as an output in every state, or it can be done in hardware with the toggle flip-flop. The advantage of doing it with the toggle flip-flop is that a signal needs to be generated only when a change in direction is desired.
sir in moore machine we have only input = where as in meanly machine we have both in put and out put --- what is the difference in practical terms ?
The practical difference becomes apparent when you design actual hardware to implement the various solutions. You usually will find that one approach is typically quite a bit easier/convenient to implement than the other, based on the specifics of the problem you are trying to solve. ~bb
thank u sir =amarjit =advocate =delhi high court -india
Very good explanations. Thank you
Mealy machine -> pure functional programming
Moor machine -> imperative programming
:)
NIce Video :) . Clarity in Concepts
Which books should I use to study this subject?
Igor Andrade morris mano
roth fundamentals
Sudhakar Samauel, these are some good books on logic design
you sound like woody harrelson !
Incredibly good video
Thank you kindly.
what is he holding
thank you so much. I wonder if you want to be a prof in my university it would be helpful
This is gold. Thanks!
Please not that the reset state was missing in the examples.
Welp, thanks for the video. I now know the difference between the two but I still do not understand how to make one. Imma take this L on this assignment lol.
2 minutes and i understood more than in the half year of the curse
Really great vid!!
THAT
IS FOR THE OVERLAPPING CASE
I think the Moore machine design for counter 1,2,4,8,4,2,1 is wrong becasue the toggle flip-flop change just after clock rising-edge and then the counter maintains the "1000" state for 2 clock cycles which also outputs toggle control signal for 2 clock cycles resulting in toggling T flip-flop two times and you get dir=0 again. Conclusiion: It would not work it will result as 2,4,8,4,8,4,8,4 ,... becasue of Toggling=0->1->0 for consecutive two clock cycle.
To put some tags on this video for the Germans: Moore-Automat mealy Automat zustandsdiagramm
That is so clear, thank you
3:09
great work....very helpful....!!!!!!
This video is sooooooooo nice!!!
Great video
Thank you, sir.
I don’t understand 😢
Thanks Bruce!!
I have proved that the state diagram of "flashing 4 LED example" in the video is incorrect by coding in Verilog and simulating it. If you leave your email I can send it to you.
this was very helpful . thank you
sir you are the man!
need a reply asap. can anyone help?
That was helpful, thanks
awesome explanation :-)
I love the internet
sorry sir = I do not under stand difference between moore machine and meanly machine = please be little clear -- thank u sir
Good explanation. Please stop scratching the paper with the thing! lol
Your Moore state machine has one too many transitions from state 11. Remove the transition from state 11 to state 01.
you are a boss 😤
Really appreciate it !
sad why do I still not understand
Thank you so much @Bruce_Boatner . This is really helpful to understand the concept clearly.
fantastic
Thank you king
Thank you soo much!!!
Great, thank you
Thanks for the vid!
im only at 43. second now and it seems like wonderfull :)
Adil Can Balçık what happened next?
everything is ok :)
He sounds like Woody Harrelson :D
Thanks..
Thanks! Useful :)
Great❤
danke
Thanks :o)
THANK YOU SO MUCH
holy asmr
thanks ~~~
THANKS A L O T :)
i love you