The French Republican Calendar Alarm Clock
Contents
Brief
Next, you will tackle a more challenging task: implementing an alternative version of the alarm clock that conforms to the structure of the French Republican Calendar.
Goals
- Learn how to use Digital
- Create a French Republican clock capable of:
- Displaying the current French Republican time
- Setting the current French Republican time
- Setting the alarm French Republican time
- Sounding an alarm at a user-defined French Republican time
Resources
French Republican Calendar Wiki
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 FrenchRepublicanAlarmClock
. The following ports should be opened for the FrenchRepublicanAlarmClock
:
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 | - | 7 | The current seconds the alarm clock has stored |
OUTPUT | MINUTES | - | 7 | The current minutes the alarm clock has stored |
OUTPUT | HOURS | - | 4 | The current hours the alarm clock has stored |
OUTPUT | ALARM_MINUTES | - | 7 | The minute that the alarm clock is set to BUZZ at |
OUTPUT | ALARM_HOURS | - | 4 | 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
FrenchRepublicanAlarmClock.dig
FrenchRepublicanAlarmClock.v