I am currently learning MyHDL for my summer project. I have a problem grasping the functioning of yield statement in it. Though its true that the MyHDL is based upon python, it uses its yield statement in a specialized way. the link for the same is : http://www.myhdl.org/doc/current/manual/reference.html#myhdl.always
it states: MyHDL generators are standard Python generators with specialized yield statements. In hardware description languages, the equivalent statements are called sensitivity lists. The general format of yield statements in in MyHDL generators is: yield clause [, clause ...] When a generator executes a yield statement, its execution is suspended at that point. At the same time, each clause is a trigger object which defines the condition upon which the generator should be resumed. However, per invocation of a yield statement, the generator resumes exactly once, regardless of the number of clauses. This happens on the first trigger that occurs.
I am not able to comprehend it. Could someone please explain it in simple words? or perhaps redirect me to another source?
I'll be grateful if you could help. Thanks!
Regards