This project demonstrates the design and implementation of a fully functional 24-hour digital clock on a DE1-SoC FPGA. The system accurately keeps and displays time and features custom logic for setting the hours and minutes. A key component of this project was engineering a precise 1Hz clock signal from the board's native 50MHz frequency to drive the timekeeping logic. This project showcases skills in sequential logic, frequency division, and asynchronous system design.
Hardware: DE1-SoC FPGA Board
Software: Quartus Prime, ModelSim
Core Concepts: Asynchronous Design, Sequential Logic, Frequency Division, Digital Counters.
Precise Frequency Division: Designed a circuit to successfully reduce the board's 50MHz clock signal down to a stable 1Hz signal for accurate timekeeping. This was achieved by cascading a series of 21 T flip-flops.
Asynchronous Counter Design: Implemented the clock using an asynchronous "cascade" design, where the counters for seconds, minutes, and hours are driven by the clock of the preceding digit.
Custom 24-Hour Logic: Engineered specific logic to manage the 24-hour format. The circuit detects when the hours reach "23" and ensures the next state correctly rolls over to "00" instead of counting higher.
Modular Design: The system was built from independent components for each time segment (hours, minutes, seconds), which were then integrated into a complete, functional system.
Hardware Implementation: The entire design was programmed and tested on a DE1-SoC board using Quartus Prime.
T-Flip Flop Freq. Divider
Counter Module
Logical Rollover
Full Overview
A significant challenge was ensuring the timing signal was a precise 1Hz, as any instability would cause the clock to lose accuracy over time. Another hurdle was perfecting the logic for the hour digits to prevent the clock from displaying an invalid time (e.g., '24:00:00'). This required careful adjustments to ensure the reset function triggered correctly only after 23:59:59.Â
Furthermore, this project provided a deep, practical understanding of frequency division and managing timing in digital design. It highlighted the complexities of handling propagation delays in asynchronous circuits and reinforced the importance of meticulous testing to ensure system reliability and accuracy.