Electronic – Having trouble constructing this sequential circuit

digital-logicsequential-logic

I am to construct a sequential digital logic Moore circuit for the back lights of a car based on the following information:

We have input: x2, x1, x0, I decided to make x0 simulate the right turn signal, x1 the left turn signal and x2 the brake pedal.

We have ouput: z5, z4, z3 z2, z1, z0

The output is supposed to be connected to 2 groups of LEDS, I decided to make z5,z4,z3 the left group and z2,z1,z0 the right group.

So this is how it's supposed to work:

If x0 = 1 and x2 and x1 = 0 then the z2,z1,z0 should sequentially light up starting with the inner LED first (z2)

If x1 = 1 and x0 and x2 = 0 then z5,z4,z3 should sequentially light up starting with the inner LED first (z3)

if x2 = 1 and x0 and x1 = 0 then the back lights will light up constantly

If either turn signal is high (x1 or x0) and the brakes (x2) is high too then the turn signal should light up sequentially as before but the other 3 LEDS should light up constantly.

I made a picture describing the situation here:

enter image description here

Now I have been trying to figure this one out for a while now but I end up getting a machine with at least 16 states which I feel is way too much. Is there something I'm missing?

Best Answer

In a Moore machine each state is associated with a certain output or in your case a certain 6 outputs.

Look at what combinations of the 6 outputs are repeated. Where the outputs are the same in your photo, that combination of outputs can be represented by the same state in a Moore machine.

For example outputs of 000000 occur 3 times but can be represented by the same state. Outputs of 111111 also occurs 3 times and can also be represented by a single state. 000111 occurs twice but can be represented by a single state and 111000 also occurs twice but can be represented by a single state.

I count that reduces total number of states to 12.

In a Moore machine the inputs written on the transition arrows then dictate which is the next state that the sequence transitions to from the present state.

Related Topic