13.07.2015 Views

Chapter D Finite State Machines

Chapter D Finite State Machines

Chapter D Finite State Machines

SHOW MORE
SHOW LESS
  • No tags were found...

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

The Symbolic <strong>State</strong> Transition Tables contain symbols as well as numbers. We knowthat at its digital electronic level circuits work with numbers, and more specificallybinary numbers. So to prepare for digital electronics, we must get rid of the symbolsand replace or “encode” them with numbers. Let’s take the parity checker once more.As shown in Fig.15 the encoding is straightforward (and natural). We encode eachoccurrence of the symbol “Even” as “0” and each occurrence of the symbol “Odd” as“1”. So we obtain the Encoded <strong>State</strong> Transition table in Fig.15(b). This is now readyto be cast into digital electronics.Present<strong>State</strong> (PS)Input(S)Next<strong>State</strong>Output(R)Even0Even0Even1Odd0Odd 0 Odd 1Odd 1 Even 1(a)Present<strong>State</strong> (PS)Input(S)Next<strong>State</strong>Output(R)000001101 0 1 11 1 0 1(b)Figure 15 The Parity Checker: Conversion of the Symbolic <strong>State</strong> Transition Table (a) to theEncoded <strong>State</strong> Transition Table (b) which ca n be set into a digital electronic circuit. Theencoding is simple; Even -> 0 and Odd -> 1. The state table has been effectively translatedinto binary numbers.But before we get down to details, let’s have a look at the block-diagram structure ofa general digital FSM. This is shown in Fig.16 and consists of three functional blocks:1. The “CI” block represents Combinatorial Logic Input (where “combinatoriallogic” means “gates”).2. The “CO” block represents Combinatorial Logic Output3. The “L” block is a “latch”, a small amount of memory which stores thepresent state PS.Let’s attack each of these blocks. First the CI block. Remember that each line in the<strong>State</strong> Transition Table used the value of the present state (PS) and the value of theinput (S) to work out the value of the next state (NS)? Well that’s exactly what the CIblock does. Also the output R is worked out from the value of the present state PS.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!