1 / 21

State Minimization via Implication Charts - Easier by Hand, but Misses Opportunities

Learn about state minimization in FSMs using implication charts. Row matching is not optimal; implication charts guarantee the most reduced FSM. Although more complex, it can still be programmed.

lgrady
Download Presentation

State Minimization via Implication Charts - Easier by Hand, but Misses Opportunities

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Lecture 21 • State minimization via implication charts

  2. Row matching not optimal • Two FSMs for odd parity checking

  3. No rows match!

  4. FSM minimization • Row matching • Easier to do by hand • Misses minimization opportunities • Implication chart • Guaranteed to find the most reduced FSM • More complicated algorithm (but still relatively easy to write a program to do it)

  5. Row matching will not work Implication chart method

  6. Implication chart method • Basic Idea: Assume that all states are grouped together and only split state pairs that must be split

  7. Implication chart method • Draw a table with a box for every pair of states • Cross out boxes for pairs of states with different outputs • Fill rest of table with transition pairs • For each box and possible input, list pairs of destination states, one per source state • Repeat until no more boxes can be crossed out: • If box (Si,Sj) contains some transition pair Sk-Sl corresponding to an already crossed-out box then cross out box (Si,Sj) • Combine all pairs of states that are left

  8. Step 1: Draw table of state pairs

  9. Step 2: Consider the outputs

  10. Step 3: Add transition pairs C-R 0 1

  11. Step 3: Add transition pairs C-R 0 1 01 01 01 Transitivity: if states are combined then successor states must be combined  if successor states cannot be combined then states cannot be combined

  12. Step 4: Consider transitions

  13. Final reduced FSM

  14. S1 S2 S0 S1 Odd parity checker revisited S0-S2 S1–S1

  15. 00 10 S0[1] S1 [0] 00 01 10 11 present next state output state 00 01 10 11 S0 S0 S1 S2 S3 1 S1 S0 S3 S1 S4 0 S2 S1 S3 S2 S4 1 S3 S1 S0 S4 S5 0 S4 S0 S1 S2 S5 1 S5 S1 S4 S0 S5 0 11 01 00 01 00 S2[1] S3 [0] 01 10 10 11 11 01 10 10 S4[1] S5 [0] 11 00 00 01 11 More complex minimization inputs here symbolic state transition table

  16. S1 present next state output state 00 01 10 11 S0 S0 S1 S2 S3 1 S1 S0 S3 S1 S4 0 S2 S1 S3 S2 S4 1 S3 S1 S0 S4 S5 0 S4 S0 S1 S2 S5 1 S5 S1 S4 S0 S5 0 S0-S1 S1-S3 S2 S2-S2 S3-S4 S0-S1 S3-S0 S3 S1-S4 S4-S5 S0-S0 S1-S0 S1-S1 S3-S1 S4 S2-S2 S2-S2 S3-S5 S4-S5 S0-S1 S1-S1 S3-S4 S0-S4 S5 S1-S0 S4-S0 S4-S5 S5-S5 S0 S1 S2 S3 S4 Implication chart

  17. present next state output state 00 01 10 11 S0' S0' S1 S2 S3' 1 S1 S0' S3' S1 S3' 0 S2 S1 S3' S2 S0' 1 S3' S1 S0' S0' S3' 0 S1 present next state output state 00 01 10 11 S0 S0 S1 S2 S3 1 S1 S0 S3 S1 S4 0 S2 S1 S3 S2 S4 1 S3 S1 S0 S4 S5 0 S4 S0 S1 S2 S5 1 S5 S1 S4 S0 S5 0 S0-S1 S1-S3 S2 S2-S2 S3-S4 S0-S1 S3-S0 S3 S1-S4 minimized state table (S0==S4) (S3==S5) S4-S5 S0-S0 S1-S0 S1-S1 S3-S1 S4 S2-S2 S2-S2 S3-S5 S4-S5 S0-S1 S1-S1 S3-S4 S0-S4 S5 S1-S0 S4-S0 S4-S5 S5-S5 S0 S1 S2 S3 S4 Minimized FSM

  18. Minimizing not always good • Two FSMs for 0  1 edge detection

  19. In Q1 Q0 Q1+ Q0+0 0 0 0 00 0 1 0 00 1 1 0 01 0 0 0 11 0 1 1 11 1 1 1 1– 1 0 – – Minimizing not always good Q1+ = In Q0 Q0+ = In Out = Q1’ Q0

  20. In Q1 Q0 Q1+ Q0+0 0 0 0 00 0 1 1 00 1 0 0 0 0 1 1 1 01 0 0 0 11 0 1 1 11 1 0 0 1 1 1 1 1 1 Q1+ = Q0 Q0+ = In Out = Q1’ Q0 Minimizing not always good

  21. A little perspective • These kinds of optimizations are what CAD (Computer Aided Design) / EDA (Electronic Design Automation) is all about • The interesting problems are almost always computationally intractable to solve optimally • People really care about the automation of the design of billion-transistor chips

More Related