Conventional Alarm Clock
Contents
Brief
Your journey begins by designing a conventional alarm clock using Digital, and learning the basics of digital timekeeping.
Goals
- Learn how to use Digital
- Create a clock capable of:
- Displaying the current time
- Setting the current time
- Setting the alarm time
- Sounding an alarm at a user-defined time
Circuit Structure
Failure to follow this structure can result in grading of the lab to be delayed or incorrect.
Your main Digital circuit should be named as ConventionalAlarmClock
. The following ports should be opened for the ConventionalAlarmClock
:
Port Direction | Port Name | Active | Port Width (bits) | Description |
---|---|---|---|---|
INPUT | CLK | Rising | 1 | Clock input used for the alarm clock |
INPUT | CLR | High | 1 | Resets the alarm clock |
INPUT | SETUP_TIME | High | 1 | Allows the user to set the time using MIN_ADV and HR_ADV |
INPUT | SETUP_ALARM | High | 1 | Allows the user to set the alarm using MIN_ADV and HR_ADV |
INPUT | MIN_ADV | High | 1 | Increments the minute signal whenever either SETUP signals are active |
INPUT | HR_ADV | High | 1 | Increments the hour signal whenever either SETUP signals are active |
INPUT | ALARM_EN | Low | 1 | Enables the buzzer when the alarm time is reached |
OUTPUT | SECONDS | - | 6 | The current seconds the alarm clock has stored |
OUTPUT | MINUTES | - | 6 | The current minutes the alarm clock has stored |
OUTPUT | HOURS | - | 5 | The current hours the alarm clock has stored |
OUTPUT | ALARM_MINUTES | - | 6 | The minute that the alarm clock is set to BUZZ at |
OUTPUT | ALARM_HOURS | - | 5 | The hour that the alarm clock is set to BUZZ at |
OUTPUT | BUZZ | High | 1 | Signal to buzz an external alarm when the alarm time is reached |
OUTPUT | SEG_SECONDS | - | 14 | Seven segment signal for the seconds the alarm clock has displayed |
OUTPUT | SEG_MINUTES | - | 14 | Seven segment signal for the minutes the alarm clock has displayed |
OUTPUT | SEG_HOURS | - | 14 | Seven segment signal for the hours the alarm clock has displayed |
Deliverables
ConventionalAlarmClock.dig
ConventionalAlarmClock.v