本仓库收录《数字逻辑》课程的 Quartus 工程,包括基础实验(01~16)和创新实验(special)的 Verilog 设计文件、约束文件与编译生成的数据。
01/~16_2/:各实验独立的 Quartus 项目目录
top.v:核心 Verilog 代码,已添加详细中文注释,方便课堂讲解和复习
*.qsf、*.qpf、*.qws:Quartus 工程配置文件
db/、output_files/、incremental_db/ 等:Quartus 编译过程中生成的缓存与报告文件
special/ :猜数字游戏(类似二分查找的创新演示项目)
游戏规则:
系统随机生成0-9的目标数字
用4位拨码开关(sw[3:0])输入猜测
seg1实时显示当前拨码数字,seg2显示提示("H"=高了,"L"=低了)
key[1]确认猜测,key[2]重新开始游戏
共3次机会,支持二分查找策略
视觉效果:
猜对:绿灯闪烁 + LED流水灯 + seg1外圈加速旋转(3秒庆祝动画)
猜错:红灯+seg1同步闪烁(1秒,显示错误数字+大小提示)
失败:8LED+红灯快闪 + seg1显示正确答案(3秒)
技术特点:
LFSR伪随机数生成器(混合3组4位,取模10确保均匀分布)
多状态FSM(IDLE/CORRECT/WRONG/GAMEOVER)
独立计数器替代取模运算(资源优化:2726→468 LUTs)
多时间域动画同步控制
FPGA芯片: Intel/Altera MAX 10 (10M02SCM153I7G)
开发工具: Quartus Prime 24.1std.0 Lite Edition
时钟频率: 12MHz 晶振
板载资源:
8个单色LED(低电平点亮)
2个7段数码管(共阳)
4个按键(低电平有效)
4位拨码开关
2个RGB LED
将对应目录作为 Quartus 工程文件夹打开(例如 01/top.qpf 或 special/top.qpf)
若仅希望查看源码,可直接阅读各目录下的 top.v
所有按键消抖、状态机、七段译码等模块都包含中文注释,适合实验演示或考试复习
创新实验 special/ 可用于课程验收或展示演示
仓库已统一使用 main 作为默认分支
如果不需要 Quartus 生成的 db/、output_files/ 等大文件,可在克隆后自行清理或通过 .gitignore 重新配置
引脚分配已统一按照「管脚对照表B」配置,不同板卡需检查.qsf文件
详细引脚映射见下方附录
附录:FPGA引脚分配表 (Appendix: Pin Assignments) [AlteraMAX10M02SCM153C8G]
硬件规格 (Hardware Specifications):
时钟频率 (Clock): 12MHz
电平标准 (Logic Level): 3.3V LVTTL
有效状态 (Active States):
LED: 低电平点亮 (Active Low: 0 = ON, 1 = OFF)
按键 (Keys): 低电平有效 (Active Low: 0 = Pressed, 1 = Released)
数码管 (7-Segment): 共阳极 (Common Anode)
1. 系统时钟与复位 (System Clock & Reset)
信号名称 (Signal)
FPGA引脚 (Pin)
说明 (Description)
CLK
J5
系统时钟 12MHz (System Clock)
RST_n
J9
复位信号 (Reset, 与KEY1共用, Active Low)
标签 (Label)
FPGA引脚 (Pin)
说明 (Description)
KEY1
J9
通用输入 / 复位 (General Input / Reset)
KEY2
K14
通用输入 (General Input)
KEY3
J11
通用输入 (General Input)
KEY4
J14
通用输入 (General Input)
标签 (Label)
FPGA引脚 (Pin)
说明 (Description)
SW1
J12
拨码开关1 (Slide Switch 1)
SW2
H11
拨码开关2 (Slide Switch 2)
SW3
H12
拨码开关3 (Slide Switch 3)
SW4
H13
拨码开关4 (Slide Switch 4)
注意 (Note): LED为低电平点亮,引脚输出 0 时LED亮 (Active Low: Drive to 0 to turn ON)
标签 (Label)
FPGA引脚 (Pin)
颜色 (Color)
说明 (Description)
LED1
N15
绿色 (Green)
用户LED 0 (User LED 0)
LED2
N14
绿色 (Green)
用户LED 1 (User LED 1)
LED3
M14
绿色 (Green)
用户LED 2 (User LED 2)
LED4
M12
绿色 (Green)
用户LED 3 (User LED 3)
LED5
L15
绿色 (Green)
用户LED 4 (User LED 4)
LED6
K12
绿色 (Green)
用户LED 5 (User LED 5)
LED7
L11
绿色 (Green)
用户LED 6 (User LED 6)
LED8
K11
绿色 (Green)
用户LED 7 (User LED 7)
组件 (Component)
通道 (Channel)
FPGA引脚 (Pin)
RGB LED 1
红 (Red)
G15
绿 (Green)
E15
蓝 (Blue)
E14
RGB LED 2
红 (Red)
C15
绿 (Green)
C14
蓝 (Blue)
D12
5. 七段数码管 (7-Segment Displays)
段位映射 (Segment Mapping): 标准8段接口 (A-G + 小数点DP / Standard 8-segment: A-G + Decimal Point)
段位 (Segment)
数码管1引脚 (Display 1 Left)
数码管2引脚 (Display 2 Right)
SEG A
E1
A3
SEG B
D2
A2
SEG C
K2
P2
SEG D
J2
P1
SEG E
G2
N1
SEG F
F5
C1
SEG G
G5
C2
SEG DP
L1
R2
位选 (DIG SEL)
E2
B1
2025.12.26 数电实验验收完毕,交回开发板,FPGA学习告一段落了