Answered step by step
Verified Expert Solution
Link Copied!

Question

1 Approved Answer

Logisim help! I dont know where to start with this project. Any thoughts would be great. (Am I building a ALU, or and adder, or

Logisim help! I dont know where to start with this project. Any thoughts would be great. (Am I building a ALU, or and adder, or FSM?)

The Task:

In this project, you will design a finite state machine and implement this FSM as a controller. The FSM will capture the behavior of the calculator you will complete in part 2. The controller circuit in this project will be used as part of the final project calculator.

NOTE: For this project, you may use any built-in circuit elements included with Logisim (including registers).

Final Project Calculator

The calculator you will be completing is a relatively simple 8-bit calculator with a hexadecimal output. It has a single 8-bit input (you can think of these as switches a user would set) and 5 buttons (+, -, *, /, and =).

The calculator takes 2 numbers sequentially. The user indicates that the first number has been entered in the 8-bit input by selecting an operator (changing the operator should update the number read from the input). Whenever an operator button is pressed, the display should be updated with the stored value of the first number. Once the equals (=) button is pressed, the calculator should save the second number from the input and display the result. At this point the calculator should be ready to read a new number from the input.

In part 2 of the final project you will design a datapath, which will take the 8-bits at the bottom as an input and use the hex digit displays at the top as an output. The buttons on the right will be inputs for the controller you are designing for part 1 of the final project. The controller outputs will be used as input signals for some of the elements in your datapath. You can expect to output control signals for multiplexor selector inputs (the number of multiplexors will vary depending on your design, but you will need them to select what source the value being displayed comes from) and to enable or disable writing to specific registers (the number of register will also vary by design). The number of registers and multiplexors you plan on using will dictate what outputs your FSM and corresponding controller will have. I dont expect you to have finalized your datapath by the time you submit part 1 of the final project, only that you have thought about what elements it might need and drafted a controller that can successfully meets those needs.

Deliverable Descriptions:

This project has a total of three deliverables (the first two should be included in a single document):

State Diagram

The first deliverable is a state diagram to describe your FSM. It should include a list of inputs, outputs, and states. In order for me to better understand your thought process, I would like you to include a short description of the general purpose of each state (in most cases, a sentence should be sufficient). I will be grading your state diagram based on its completeness and thoughtfulness rather than the accuracy with which it describes the desired functionality. If I see potential problems in your design I will point those out in my grading feedback. This feedback is intended to aide you when completing part 2 of the final project and will not be counted against your grade on this project.

You may use any program you are comfortable with to create your state diagram, however I would recommend avoiding a basic paint program. A free online web app I often use to create diagrams is Lucidchart. You can sign in using your ASU Google account or connect it directly to your Google Drive (inside Google Drive, click New, then More, then Connect more apps, and search lucidchart for education).

Applications like Lucidchart (and Microsoft Visio if you have access to it) are useful for creating state diagrams and flow charts because directional lines can be drawn between objects the same way wires are drawn in Logisim. A few helpful hints for using this software that may not be intuitive: double clicking a line allows you to add a label to that line (which can then be moved) and in order to create a new line within an object use ctrl + enter.

Circuit Design Document

This document has the same elements as it did for Project 2: a truth table and Boolean equations for all outputs described in the truth table. The truth table and Boolean equation in this project describe the combinational circuit in your controller, which updates your state register based on the current state and inputs described by your FSM. This document should be submitted as a single PDF, which should include the state diagram at the top.

Logisim Implementation

The third deliverable is the controller you designed in the previous deliverable implemented in Logisim. The circuit should have the same input and output pins as those listed at the top of the state diagram. The Logisim project should contain at least one subcircuit so that the outermost circuit contains only input pins, output pins, and single subcircuit (the controller). I will grade your controller based on how well it matches the behavior shown in your state diagram.

Step by Step Solution

There are 3 Steps involved in it

Step: 1

blur-text-image

Get Instant Access to Expert-Tailored Solutions

See step-by-step solutions with expert insights and AI powered tools for academic success

Step: 2

blur-text-image_2

Step: 3

blur-text-image_3

Ace Your Homework with AI

Get the answers you need in no time with our AI-driven, step-by-step assistance

Get Started

Recommended Textbook for

More Books

Students also viewed these Databases questions

Question

Java programming: int z = 2, sum = 0; while (z Answered: 1 week ago

Answered: 1 week ago