Answered You can hire a professional tutor to get the answer.
Deliverables You are to design TWO finite-state synchronous machines, one being a Moore design and the other being a Mealy design.
Deliverables
You are to design TWO finite-state synchronous machines, one being a Moore design and the
other being a Mealy design. Depending on the application you have to decide whether you
have to synchronize the outputs of the Mealy machine or not. You can use either D flip flops
or J-K flip flops for your designs. Mixing different types of flip flops with different trigger
edge sensitivity is possible but not recommended. Note that two designs which differ by only
the type of flip flop (e.g., J-K vs. D) or number of states (i.e., changing the type of FF or
inserting more unnecessary states) is not considered conceptually different.
First, you will need to implement BOTH designs using Logisim and include these simulations
into your lab report template. Second, you will need to build ONE design using the TTL parts
you used in earlier lab work and report your findings on the lab report template. You can use
any part that you have available, J-K or D flip flops. The 4-bit D Register (74LS175 with clock
and reset already wired together for the four D flip flops) that you have not used before might
come in handy for the design project, in case you have it
Dishwasher Controller
The Clean Dish Company (CDC) is interested in reducing the risk of personal injury to their users,
especially the kids, while operating their Dishwasher at their homes. When a user opens the
machine's door while in operation, the machine should stop. Otherwise, the user might get
injured. Hence, in addition to the on/off power switch that controls the machine, there is another
sensor (door sensor) that is activated when the door is opened to stop the machine.
They have asked you to design a controller that does the following: If the user powers on the
machine, the controller should start operating the machine. If the user needs to open the door for
some reason, then they need to power the machine off first. If the user opens the door (i.e. if the
door sensor is activated) while the machine is on, then the controller should stop the machine
until the door is closed back again (door sensor goes back off). Opening the door while the
machine is on is considered a "violation". Since the company needs to account for kids at home
who might repeat this violation, your controller should shut off permanently if this violation was
repeated for the second time, even if these two violations are NOT in a row. At that point, even if
the user closes the door, the machine should not turn on again unless the parent resets the
machine through a reset switch that they hid from their kids.
Note that there are two inputs to your controller: the on/off power switch S (S=1 means the
user is requesting to turn the machine on) and the door sensor D (D=1 indicates that the door
is open). Your controller has one output P that controls the power feeding the washing
machine's motor (P=1 indicates that the power is connected and the machine is operating).
All information to complete this design may not be specified. Write down and
report any assumptions that you make in your design.
Assumptions
1. The benefit of the assumptions task is for you to tell the grader: "These are
the limitations of the machine that I am going to build".
2. Assumptions list is like a "Users' Manual" of how to operate the machine that you
built. It should be given to the user to let them know the DO's and DONT's.
3. Mention anything you want such that it does not make the problem trivial.
For example do not say: "I'm assuming that the user will power off the
machine before opening the door". This means that there will be no
"violations". This over simplifies the problem which is not accepted.
4. A good designing engineer should take all possible input combinations into
consideration rather than assuming some of them will not happen. Do not assume
that an input combination (for example the input 01) will not happen at any state. All
input combinations need to be taken into consideration while writing your state
diagram. However, if there is some input combination that is meaningless at a
particular state, then mention this in your assumptions and justify it.
5. While filling in the assumptions section, always remember that it is up to
you to assume what you want as long as it will make common sense.
6. We don't want a large list of assumptions. 2-3 assumptions are enough.
7. You don't have to list the assumptions before finishing your design. You might need to
modify it while designing your machine. That is the nature of any design process.
8. Your assumptions for Design 2 could be the same as those for Design 1, but don't have to.
9. Answers to (some) the following questions might be good
candidates to be your assumptions:
2
1. Does your machine need/use an asynchronous reset?
2. What should the state of the system be before the user starts the
machine? If the previous use of the dishwasher (that happened a
couple of days ago) experienced a single violation only, does the user
need to do anything before starting new washing cycle?
3. What if the preceding use has put the machine in the "permanent shut
down" state? What should the user do before using it for a new cycle?
Check List
1. First step is to define the inputs and outputs of your design, as well as the
values that each input and output might take.
2. Make sure you have included your assumptions for your project.
3. Make sure your state diagram is complete: no missing arrows/states/inputs/outputs.
4. Make sure your state diagram is readable: Which value mentioned on the
arrow corresponds to which input.
5. Make sure to use a synchronization flip flop at the output of the Mealy machine.
We will not penalize if you don't have it, but if you test your circuit without it, you
need to know how to verify your circuit is working. It needs some experience.
6. In task 4-5, the clocks of the flip flops need to be connected to a "Logic
Switch". Some students connect them to a manual switch. If you have a
manual switch, don't use it to feed the clock.
1. If you are using a trainer board, they Logic switch are clearly labeled on
them to be distinguished from the Data Switches (aka manual switches).
2. If you are using an Analog Discovery Kit (ADK), then any DIO is
considered a Logic Switch.
7. If your system has more than one input, which one is what (on your state diagram)? (Also
don't forget to name your input switches in your Logisim files. Graders might consider your
Logisim files not working if you did not label your input switches: CLOCK, Reset....etc.).
8. When filling in the column of the output in the Moore transition table, you need to look at
the present state not at the next state because in a Moore state transition table, the output
depends on the present state and not the next state. This is a fact that applies to the Moore
design and not to the Mealy design. Thus, if you found your output changes with the change
in the input when you simulate your Moore circuit, then you have missed this fact.
9. Any state diagram should be complete: Each state has to have 2n arrows
coming out of it where n is the number of inputs to the system. This is the
case for both the Mealy and the Moore machine.
10.Don't forget to connect the PRE' and the CLR' of your chips to the Vcc while
you build your hardware portion of this lab.
11. Do not build the FFs from scratch when simulating your design on
Logisim. Use the FFs built-in already in Logisim. They are found under the
"Memory" folder in the Logisim software.