This project is a multi-function digital clock implemented on a Nexys 4 DDR board. The clock includes a 24-hour format, a timer, and an alarm function.
- 24-hour clock: Displays the current time in a 24-hour format.
- Timer: Allows you to set a countdown timer.
- Alarm: Allows you to set an alarm for a specific time.
- Nexys 4 DDR board
- Xilinx Vivado for FPGA programming
- Clone this repository to your local machine.
- Create a new project in Xilinx Vivado.
- Add the source files to the project.
- Generate a bitstream file.
- Program the Nexys 4 DDR board with the bitstream file.
CPU_RESETwill reset the system.- Use the right button(
BTNR) to switch between the clock, timer, and alarm modes. - Use the up button(
BTNU) to increment the selected time unit(hour, minute, second, or none). - Use the down button(
BTND) to switch between the time units. - Use the left button(
BTNL) to enable/disable the alarm. - Use the center button(
BTNC) to start/stop the timer.
- The seven-segment displays will display the time in a 24-hour format based on the current mode.
LED0andLED1display the current mode.LED2andLED3display the selected time unit.LED4displays timer enable/disable.LED5displays timer reached zero.MONO_AUDIO_OUTmakes some noise when the timer reaches zero.LED6displays alarm enable/disable.LED7displays alarm triggered or not.MONO_AUDIO_OUTmakes some noise when the alarm is triggered.LED8throughLED15display the seconds in binary based on the current mode.
This project is licensed under the MIT License. See the LICENSE file for details.
