CS3421 Problem Set 8

State Machines

Use the following state machine in the problems below:

  1. Assume that state zero is assigned the number 002, state one 01, etc. For state machine above, complete the output function truth table below:

    current state | R D
    0 0 |    
    0 1 |    
    1 0 |    
    1 1 |    

  2. Assume that state zero is assigned the number 002, state one 01, etc. For state machine above, complete the next state function truth table below:

    current state I | next state
    0 0 0 | 0 1
    0 0 1 |    
    0 1 0 |    
    0 1 1 |    
    1 0 0 |    
    1 0 1 |    
    1 1 0 |    
    1 1 1 |    

  3. Assume X is a register that will shift one place to the left when X.in is asserted. Assume X<31> is the upper bit of X. Draw a state machine (circles and lines) that will shift X to the left until its upper bit is a 1. It should not shift at all if the upper bit is already 1. Assume that at least some bit of X is a 1 so you don't shift forever.