Digital Clock with Calendar using Verilog implemented on DE2-115 FPGA board.
IMG_6327.mov
Assignments
Hiển thị ngày tháng năm, giờ phút giây trên các led 7 thanh của DE2 Cho phép sử dụng các nút bấm để đặt ngày/tháng/năm/giờ/phút/giây Các module:
- Tạo xung 1s
- Đếm 60s
- Đếm 60min
- Đếm 24h
- Đếm ngày
- Đếm tháng
- Đếm năm
- Giải mã 7 thanh
- Reset ngày
- Reset tháng
- Xác định số ngày trong tháng
B1: Xác định SPEC đồng hồ thế kỷ B2: Xác định kiến trúc (kết nối các module trên) B3: Xây dựng code từng module B4: Xây dựng testbench cho đồng hồ B5: Pin Assignment & nạp xuống FPGA
Module timer1hz tạo xung mỗi 1 giây. Cơ chế: tạo biến đếm count và đếm dựa theo tần số clock đầu vào.
input(s):
- clk_100MHz: 100 MHz clock
- reset
output(s):
- clk_1Hz: 1 Hz clock
Module clock nhận xung 1Hz từ module timer1hz tự động tăng giá trị giây (sec), phút (min), giờ (hour). Ngoài ra còn có thể điều khiển tăng giá trị giờ, phút, giây bằng các tín hiệu inc_hour, inc_min, inc_sec tương ứng. Mỗi khi cuối ngày (23:59:59), tín hiệu end_of_day sẽ được kích hoạt giúp module calendar tính toán lịch.
input(s):
- clk_100MHz: 100 MHz clock
- reset
- inc_hour, inc_min, inc_sec: các tín hiệu chủ động kích hoạt để tăng giá trị giờ, phút, giây.
output(s):
- tick_1Hz: 1 Hz clock