0
\$\begingroup\$

I am having a bit of problem when trying to solve a state machine exercise. Basically I am supposed to design lock, when we get the right input in sequence etc it will open.

The problem are the complex logic expressions I get for q1+, q0+ and u from the state table, is there any way to simplify them? I have already done the Karnaugh maps on them but they still seem to be too complex.

q1+ = q0*x1*x0' + q1*x1*x0 + q1*q0*x0

q0+ = q1*q0 + q1*x1*x0 + q1'*q0'*x1'*x0'

u = q1*x1*x0 + q1*q0*x0 + q1*q0*x1
\$\endgroup\$
  • 1
    \$\begingroup\$ Have you learnt any logic rules of simplification yet? \$\endgroup\$ – Tony Stewart Sunnyskyguy EE75 Feb 13 '18 at 20:51
  • \$\begingroup\$ I did learn about De morgan etc but when I apply it here it doesn't really get any simpler. \$\endgroup\$ – Lukas Feb 13 '18 at 20:52
  • \$\begingroup\$ Looks like 3 state registers and a bunch of gates. So finish what you started \$\endgroup\$ – Tony Stewart Sunnyskyguy EE75 Feb 13 '18 at 20:54
  • \$\begingroup\$ Those expressions are far from complex. Even it they could be simplified there are only a few gates involved. Wait till you get to something really complex with 10 or 12 state variables dozens of inputs and outputs. \$\endgroup\$ – Michael Karas Feb 13 '18 at 22:55
2
\$\begingroup\$

you can simplify the resulting number of logic gates visually (not by using formulas)

just reformat the equations and you will see patterns

q1+ = (q0)(q1)(x0)  + (q0)(x1)(x0') + (q1)(x0)(x1)

q0+ = (q0)(q1)      +                 (q1)(x0)(x1)  + (q0')(q1')(x0')(x1')

u   = (q0)(q1)(x0)  + (q0)(x1)(q1)  + (q1)(x0)(x1)
\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.