Project Ideas
Choose one the following for the semester mini-project. The design process and intermediate outputs will give you the marks for Milestones 3-6. A topic can be selected by a maximum of two groups.
1. Sequential Multiplier
2. Sequential Divider
Two main methods are restoring and non-restoring division.
3. Greatest Common Divisor (GCD) Calculator
University of Florida (PDF, lots of explanation)
4. Binary to BCD Converter
Less efficient: Using repeated subtraction. Assume system has a 7-bit binary input X for representing a value up to 99. It has two 4-bit BCD outputs (Tens and Ones). A comparator checks if X < 9, the condition to terminate conversion. The algorithm:
Load X, Tens ← 0, Ones ← 0
while (X > 9) {
X ← X - 10
Tens++
}
Ones ← X, Done ← True
If X > 99, the output is undefined.
5. Teh Tarik & Kopi O Vending Machine
The vending machine accepts 10, 20 and 50 sen. For RM1, the machine dispenses Kopi O. For RM1.20, the machine dispenses Teh Tarik.
The machine always displays the amount deposited using three 7-segment displays.
Two LEDs indicate when the amount deposited is enough for Kopi O and Teh Tarik, respectively. For example, when RM1.10 is inserted, the LED for Kopi O is on but the LED for Teh Tarik is off.
Two switches below the LEDs select and dispenses a drink when the corresponding LED is turned on (enough money is deposited).
The machine accepts only up to RM1.20. If another coin is deposited, the coin is rejected.
6. Traffic Light Controller
The traffic light controller is based on the FSM in the textbook. The car sensor is still there. If no car is detected on the side road, the lights stay green forever on the main road.
But there is a countdown timer on the main road. The countdown is enabled when the light is red or green, but not yellow.
7. Combination Lock
The combination lock IS NOT based on the color buttons as described in the book, but the key codes are inputted using a BCD keypad.
To open a door, first press the * key. Then press the 3-digit passcode. If the code is correct, a buzzer (indicating a door latch opening) is turned on for 10 seconds. Then the FSM returns to the initial state.
If the passcode is wrong, a red LED will flash for ten seconds. Then the FSM resets to allow another attempt.
If three failed attempts were main, the red LED flashes forever until a # button is pressed.
Every time a key is pressed, a STROBE signal is high. This makes is easy to control the FSM by switching states only when the STROBE is detected.
Each key produces a 4-bit code. For 0-9, the keypad produces a BCD pattern. The * and # buttons are assumed to produce codes with values between 1010 and 1111.
An internal comparator compares the 4-bit code with the current expected value: One input to the comparator comes from the keypad. The other value comes from a 4-way multiplexer.
8. Booth Multiplier
For multiplying signed numbers. Many many solutions for this circuit!
9. Moving Average Filter
The moving filter outputs the average of the last 4 input bytes.
10. Huffman Decoder
Challenging because need to understand the theory, but the circuit is ok!