这是一个基于 Verilog 的 6 位数码管电子钟工程,适合课程设计、小组协作和二次扩展。
当前已实现功能:
HH:MM:SS实时显示- 小时、分钟、秒独立调节
- 单组闹钟
- 整点报时
- 按键消抖
- 长按连发
- 编辑位闪烁
- 蜂鸣器控制
top.v- 主顶层模块
fuck.v- 兼容旧名称的包装模块
clk_div.v- 节拍脉冲产生
key_filter.v- 按键消抖与连发
time_core.v- 时间核心
set_ctrl.v- 模式状态机
alarm_core.v- 闹钟与整点报时
display_mux.v- 显示数据选择
seg_decoder.v- BCD 到七段码译码
seg_scan.v- 数码管动态扫描
tb_top.v- Icarus Verilog 仿真文件
PROJECT_STRUCTURE.md- 英文结构说明
PROJECT_STRUCTURE_CN.md- 中文结构说明
- 6 位数码管
- 共阴极
- 段码高有效
- 位选高有效
- 蜂鸣器高有效
编译:
iverilog -g2001 -o tb_top.out tb_top.v top.v fuck.v clk_div.v key_filter.v time_core.v set_ctrl.v alarm_core.v display_mux.v seg_decoder.v seg_scan.v运行:
vvp tb_top.out查看波形:
gtkwave tb_top.vcd- Quartus 工程文件仍保留为
fuck.qpf / fuck.qsf - 当前真正的顶层实体已经改为
top - 如果修改了板卡时钟频率,需要同步调整
top.v中的CLK_FREQ_HZ
建议保留:
*.v*.qpf*.qsf*.md.gitignore
不建议上传:
db/incremental_db/output_files/*.qws*.vcd*.out
这些内容已经在 .gitignore 中做了基础排除。
main分支只保留可编译版本- 新功能走独立分支
- 合并前至少做一次仿真
- 不提交 Quartus 自动生成目录
如果准备和同学长期共创,建议后续补充:
- 课程设计背景
- 硬件连接图
- 引脚分配表
- License 文件