Skip to content

Ln11211/Stopwatch

Repository files navigation

Stopwatch

A Simple Stopwatch implemented on an FPGA board in Verilog HDL.

• Designed and implemented a modular FPGA based digital stopwatch in Verilog targeting Xilinx Zynq-7000 (xc7z007s)

• Developed reusable RTL modules and implemented proper clock domain synchronization and debouncing logic for mechanical push buttons

• Optimized design to use only:

o 107 LUTs (0.74%)

o 190 Flip-Flops (0.66%)

• Implemented multiplexed 7-segment display refresh logic for multi-digit display

• Developed reusable RTL modules: button synchronizer, debouncer, edge detector, BCD counter, time register, and 7-segment display driver

Feature

Start / Stop / Reset functionality

Mechanical button synchronization and debouncing

Edge detection for single-cycle pulse generation

Multi-digit 7-segment display with multiplexed refresh

Design implementation

Module Description
button_sync 2-Flip-Flop synchronizer for metastability protection
btn_debounce Counter-based debounce filter for mechanical push buttons
button_edge Rising-edge detector for single-cycle pulse generation
tick_tock Clock divider for time base generation
time_counter BCD-based time increment logic
BCD_SSEG BCD to 7-segment display encoder
refresh_rate_counter Display multiplexing control logic

Resource Summary

Resource Used Available Utilization
Slice LUTs 107 14,400 0.74%
LUT as Logic 107 14,400 0.74%
LUT as Memory 0 6,000 0.00%
Slice Registers 190 28,800 0.66%
Block RAM Tiles 0 50 0.00%
DSPs 0 66 0.00%
Bonded IOB 21 100 21.00%
BUFGCTRL 1 32 3.13%
Stopwatch.mp4

RTL Elaborated Design

image

Post Synthesis Schematic

image

About

A Simple Stopwatch implemented on an FPGA board using Verilog HDL.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors