1、 1 EDA技术技术课程课程设计任务书设计任务书 课题名称 按键游戏电路设计 设 计 内 容 及 要 求 用 8 个灯作目标,与之对应有 8 个按键进行控制。每一次 8 个灯中随机 出现一个灯处于“亮”的状态,在灯亮的时间内要求按到对应的按键,若按 到则加 1 分,且灯熄灭;否则失败扣 1 分。 游戏分 1-4 四个难度级别,每个 级别灯闪亮的速度不同,级别越高,速度越快,灯亮的时间越短。设定初始 等级为 1, 连续成功按键 5 次加 1 等级, 分数不清 0, 连续失败 5 次减 1 等级, 等级为 0 时游戏结束。设有暂停/继续和开始/停止功能。 系统提供 50MHZ 频率的时钟源。 完成
2、该系统的硬件和软件的设计, 并制 作出实物装置,调试好后并能实际运用(指导教师提供制作所需的器件) ,最 后就课程设计本身提交一篇课程设计说明书。 设 计 工 作 量 1、VHDL 语言程序设计; 2、波形仿真; 3、在实验装置上进行硬件测试,并进行演示; 4、提交一份完整的课程设计说明书,包括设计原理、程序设计、程序分析、 仿真分析、硬件测试、调试过程,参考文献、设计总结等。 进 度 安 排 起止日期(或时间量) 设计内容(或预期目标) 备注 第 1 天 课题介绍,答疑,收集材料 第 2 天 设计方案论证 第 3 天 进一步讨论方案, 对设计方案进行必要的修 正, 方案确定后开始进行 VHD
3、L 语言程序设 计 第 4 天 设计 VHDL 语言程序 第 59 天 在实验装置上进行硬件测试, 对 VHDL 语言 程序进行必要的修正,并进行演示 第 10 天 编写设计说明书 教研室 意见 年 月 日 系(部)主 管领导意见 年 月 日 2 目录 摘要 .3 一、 课程设计内容 4 二、系统总体设计 4 三、系统软件设计与实现 .5 1. 各模块程序说明 5 2.各模块输入输出端口说明: . 16 2.引脚分配及下载过程: 18 四、系统测试与结果分析: 19 1. 源程序仿真波形结果 . 19 2. 采样编码模块仿真波形结果 19 3. 分频模块仿真波形结果 . 19 4. 时钟选择模
4、块仿真波形结果 20 5. 随机数产生模块仿真波形结果 . 20 6. 匹配模块仿真波形结果 . 20 五、心得体会 . 22 参考文献 23 3 摘要摘要 本次按键游戏课程设计我们主要是应用 VHDL 语言程序设计,游戏参与者根据系统中的亮灯提示控 制相应按键。对按键控制准确,说明参与者的身体越灵活,反应越快。整个系统划分为:编码模块,分 频模块,时钟选择模块(即速度控制模块) ,随机数产生模块,比较匹配模块(即得分模块)等模块, 所有算法由软件结合硬件电路来实现,利用描述语言 VHDL,并通过 XilinxFPGA 芯片实现。 4 一、一、课程设计内容课程设计内容 用 8 个灯作目标,与之
5、对应有 8 个按键进行控制。每一次 8 个灯中随机出现一个灯处 于“亮”的状态,在灯亮的时间内要求按到对应的按键,若按到则加 1 分,且灯熄灭;否 则失败扣 1 分。 游戏分 1-4 四个难度级别,每个级别灯闪亮的速度不同,级别越高,速度 越快,灯亮的时间越短。设定初始等级为 1,连续成功按键 5 次加 1 等级,分数不清 0, 连续失败 5 次减 1 等级, 等级为 0 时游戏结束。设有暂停/继续和开始/停止功能。 二、系统总体设计二、系统总体设计 系统框图与说明 各框图说明: 分频模块是将输入的FPGA 的50MHz 的时钟分频为各种需要的时钟。 时钟选择模块根据按键匹配的结果,选择对应难
6、度的时钟,即选择A,B,C,D 其中的一个, 然后控制其他的模块。 随机数产生模块使用的是m 序列,是基于线性反馈移位寄存器的原理实现的。本实验中 使用的是8 级m 序列发生器,产生一个长度为255 个时钟脉冲周期的二进制伪随机序列。 其逻辑框图如下: 取其中的三位(如后三位)通过3-8 译码器来点亮LED 灯。 5 采样编码模块,将8 个输入按键进行采样,编码成3 位数。 匹配模块,是把用户的按键输入值与对应于亮灯的随机数进行比较,如果相同则增加分数 值,不同则减少分数值。 三、系统软件设计与实现三、系统软件设计与实现 1.各模块程序说明各模块程序说明 1)顶层模块 entity game is port(clk50m:in std_logic; k1,k2,k3,k4,k5,k6,k7,k8:in std_logic; start:in std_logic; clear:in std_logic; en:in STD_LOGIC; win,lose:out std_logic; led:out std_logic_vector(2 downto 0)