First task: Transform the following description of a Fruit-Wish-System into a FSM state
diagram. Make sure you are using the correct notation for the state diagram. Use the
given labels for everything, don’t pick your own labels. Everything is defined and you
don’t have to choose your own labels at any point during this assignment.
Use minterms for every transition event in the state diagram (each event must be a specific
configuration of all inputs).
• The system has three states with the following names: Banana, Apple, Empty Basket
• The system has two 1-bit inputs: Wish Banana (label: Wb), Wish Apple (label:
• The system has one 2-bit output: Content (label: con or con1 and con0 for each
individual bit where con1 is the MSB and con0 is the LSB)
• If the user has a banana, the system is in state Banana. If the user has an apple,
the system is in state Apple. If the user has neither a banana nor an apple (has
nothing), the system is in state Empty Basket.
• If the user has a banana and wishes for an apple, the user will loose the banana and
• If the user has nothing and wishes for an apple, the user will get an apple.
• If the user has an apple and wishes for a banana, the user will loose the apple and
• If the user has nothing and wishes for a banana, the user will get a banana.
If the user does not wish for a banana and also does not wish for an apple, the
system stays in the current state.
• If the user has a banana and wishes for a banana, the system stays in the current
• If the user has an apple and wishes for an apple, the system stays in the current
• The user can not wish for a banana and an apple at the same time. Do not cover
this case in your state diagram.
• The output will be 00 in Empty Basket, 01 in Banana, 10 in Apple. This will also
be the binary encoding of the states.
Converting to Circuit
Do the following tasks after you transformed the previous system description into a state
1. Create the truth table to describe the complete behavior of the state diagram. Use
the given labels. Order multi-bit inputs/outputs from MSB to LSB as columns.
Indicate which are inputs and which are outputs. Do not simplify the truth table
with don’t care-symbols.
For the current state use label c (add index if multi-bit: c0 for LSB, c1, etc.) and
for the next state use label n (add index if multi-bit: n0 for LSB, n1, etc.).
2. Derive the Boolean equations from the truth table. Use the same labels as in the
truth table. Don’t simplify the Boolean equations.
3. Create a working FSM controller circuit in Logisim