数字电路实验报告
掷骰子游戏电路
班级:XXX
学号:XXX
姓名:XXX
2014年11月8号
目录
一、 任务要求 ................................................... 2 二、 系统设计 ................................................... 2 1. 设计思路 ................................................... 2 2. 系统框图 ................................................... 3 3. 分块设计 ................................................... 6 三、 仿真波形及分析 ........................................ 7 四、 功能说明及资源利用情况 ......................... 8 五、 故障及问题分析 ........................................ 9 六、 总结和结论 ............................................... 9 七、 源程序 ..................................................... 10
1 / 31
一、 任务要求
设计并实现一个掷骰子游戏电路。 基本要求:
1. 电路可供甲乙二人游戏,游戏者甲使用的按键为BTN0,游戏者乙使用的按键为BTN1。 2. 每按一次按键,代表掷一次骰子,可随机得到1~6范围内的两个数字。
3. 甲乙按键产生的随机数字分别用数码管DISP0-DISP1、DISP2-DISP3显示,并用DISP7
显示比赛局数,比赛结束用8×8点阵显示获胜方,并伴有声音效果。 4. 具体游戏规则如下:
5. 第一局比赛,甲乙依次各按一次按键,按键所得两数之和为7或11者胜;若无人取
胜,则进行第二局比赛; 6. 第二局比赛,甲乙每人各按一次按键,按键所得二数之和与第一局比赛相同者获胜,
若无人获胜,则进行第三局比赛,重复进行步骤(2),直到出现胜者为止。
7. 游戏局数最多进行六局。在第六局比赛时,若重复进行步骤(2)仍未出现胜者,以
按键所得两数之和最大者为获胜方。
提高要求:
1. 增加多人游戏的功能,数码管可分时记录显示每个游戏者的骰子点数。 2. 点阵显示增加游戏开机动画、结束动画,并伴有乐曲播放。 3. 自拟其它功能。
二、 系统设计
1. 设计思路
首先,鉴于FPGA程序语言的特点与EPM系列芯片的功能,采用模块化设计,各模块通过VHDL或基本器件实现,然后通过电路原理图连接各模块。设计方面,主要分为分频器、点阵显示模块、数码管显示模块、随机数生成模块、按键防抖模块、音频模块、逻辑模块。由于数据量小,各模块内部通过编程语言实现寄存功能,而不单独设立储存器。
2 / 31
2. 系统框图
系统模块图:
3 / 31
模块方案:
MDS状态图:
4 / 31