Fundamentals of Computer Systems Project 1
Project 1 Introduction Virginia Tech
ECE 5484 Fundamentals of Computer Systems
Fall 2019
9/17/2019 Synchronous Session
What you need to do
1) Design a combinational logic circuit that displays the decimal value represented by a 4-bit Aiken code input according to the specifications given in the assignment.
2) Debug and test your design by simulating it using the Logisim simulator.
3) Document your work in a short report.
What you need to do
1) Design a combinational logic circuit that displays the decimal value represented by a 4-bit Aiken code input according to the specifications given in the assignment.
2) Debug and test your design by simulating it using the Logisim simulator.
3) Document your work in a short report.
Block diagram
Aiken Code to
Binary Code Converter
Y0
X1
X2
X3
X0 Y1
Y2
Y3
Hex Display
Code Definition
Decimal Digit
Aiken (2421) Code
(X3 X2 X1 X0)
Binary (8421) Code
(Y3 Y2 Y1 Y0) 0 0000 0000 1 0001 0001 2 0010 0010 3 0011 0011 4 0100 0100 5 1011 0101 6 1100 0110 7 1101 0111 8 1110 1000 9 1111 1001
Example
Conversion example
Aiken Code to
Binary Code Converter
Y0
X1
X2
X3
X0 Y1
Y2
Y3
Hex Display
Code for Decimal ‘7’: (X3, X2, X1, X0) = (1, 1, 0, 1)
(Y3, Y2, Y1, Y0) = (0, 1, 1, 1) = Decimal ‘7’
1
0
1
1
1
1
1
0
Basic design steps (a)
a. Create a truth table. – You need to reorder the input values so they are in
ascending order: 0000, 0001, 0010, …, 1111. – What about input values that are not specified, like 0101?
Treat them as “don’t care” conditions by making the outputs “X” (don’t care).
– One table with four output columns can be used for all four outputs. Or, you can create four separate tables.
Basic design steps (b-c)
b. Create four logic expressions: Y3, Y2, Y1, Y0. – You are not required to minimize the expressions, but the
circuit will be MUCH easier to draw in Logisim if you do. – You can easily minimize the expressions through
automation! See the Project 1 assignment for comments on online tools for minimization of Boolean functions.
c. Draw the logic circuit in Logisim based on the expressions.
Example: Expression for Y3 • Notice that bit Y3 is “1” if and only if X2 and X1
are 1 (X3 happens to also be a “1,” but this is not required.
• Thus, Y3 is:
• This much of the circuit is given in the starting circuit provided with the assignment
Y3 = X2 • X1
Logic Blocks for Four Outputs
Combinational Logic
X0 X1 X2 X3
Y0
Combinational Logic
X0 X1 X2 X3
Y1
Combinational Logic
X0 X1 X2 X3
Y2
AND Gate (X2•X1)
X0 X1 X2 X3
Y3
What you need to do
1) Design a combinational logic circuit that displays the decimal value represented by a 4-bit Aiken code input according to the specifications given in the assignment.
2) Debug and test your design by simulating it using the Logisim simulator.
3) Document your work in a short report.
The rest of the circuit
here
Modeling and Simulation Tips • Begin with the provided starter circuit • Test Y3 first by setting different values of
X3X2X1X0 and observing output Y3 – Change inputs by clicking on the X inputs – Observe logic values (bright green ⇒ “1”)
• Build and test the combinational logic for Y0, then for Y1, and, finally, for Y2
• Test the full system by observing specified versus actual decimal outputs for different input combinations
What you need to do
1) Design a combinational logic circuit that displays the decimal value represented by a 4-bit Aiken code input according to the specifications given in the assignment.
2) Debug and test your design by simulating it using the Logisim simulator.
3) Document your work in a short report.
Project 1: Report Content • Name, email, title at the top of page 1 • Body of the Report
– Section 1 – Objectives (What are you trying to do?) – Section 2 – Truth Table (Re-ordered version of table in
the assignment with all 16 input combinations) – Section 3 – Logic Expressions (What are the
expressions and how did you derive them?) – Section 4 – Circuit Design (Show the circuit from
Logisim) – Section 5 – Conclusions
• Cover the requested content, but keep it brief
- Project 1 Introduction
- What you need to do
- What you need to do
- Block diagram
- Code Definition
- Conversion example
- Basic design steps (a)
- Basic design steps (b-c)
- Example: Expression for Y3
- Logic Blocks for Four Outputs
- What you need to do
- Slide Number 12
- Modeling and Simulation Tips
- What you need to do
- Project 1: Report Content