Download old version - Electronic Systems and Networking Group
Transcript
An ASM chart is composed of three basic elements, the State (rectangular box), the Decision Block (diamond) and the Conditional Output Box. A set composed of one state box, decision blocks and conditional output blocks is named ASM Block. An ASM Block has one entry point, but may have any number of exit paths, each of them connecting to another state box. The FSM moves from state to state at each clock cycle; each state may have a state output; conditional blocks allow choosing a direction as a function of the value of the inputs; conditional outputs depend not only on states but also on input values. State Block On an ASM chart, a state is represented by a state box, which is a rectangle with the name of the state encircled and placed at the side of the rectangle (Fig. 38a). You can specify that an output signal is unconditionally active in a particular state by writing the output signal's name inside the corresponding state box. Output signals written inside state boxes are known as state outputs or Moore outputs. Fig. 38a: State Block Decision Block While unconditional transitions can be represented with a straight, not labelled arrow traced between two state boxes, conditional transitions deserve a more specific symbol. This is called decision diamond. Depending on the value of the expression written inside the diamond, the machine will follow one of the two labelled transition arrows going out of the diamond. A diamond has always two outgoing arrows, one labelled "1" (or TRUE) and the other labelled "0" (or FALSE) that corresponds to the values of the boolean expression inside. Fig. 38b: Decision Block Conditional Output Block Sometimes you may need to activate an output signal in a particular state only if a certain condition on inputs is satisfied (such output signals are known as conditional outputs or Mealy outputs). In that case you need to use the conditional output block. Just put the ellipse on a transition arrow coming out of a decision diamond, and write inside the ellipse the name of the output signal you want to activate when the expression inside the diamond is true. Please notice that the conditional block does not represent a state; instead it activates an output that it is active in the state it descends from. Fig. 38c: Conditional Output Block ASM Charts & State Diagrams It is easy to convert a State Diagram in an ASM Chart, and vice versa. In Fig. 39a we report a basic example of State Diagram: Fig. 39a: The State Diagram representation of a SR flip-flop. 51