




已阅读5页,还剩8页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
长 沙 学 院EDA课程设计说明书题 目 乒乓球游戏电路设计 系 (部) 电子与通信工程系 专业(班级) 08电子一班 姓 名 王志福 学 号 2008044132 指导教师 谢明华、马凌云、刘辉、龙英起止日期 11年6月7日11年6月17日2008电子信息工程专业课程设计任务书系(部): 电子与通信工程系 专业: 电子信息工程学生姓名王志福指导教师谢明华、马凌云、刘辉、龙英课题名称乒乓球游戏电路设计设计要求及设计参数设计一个乒乓球游戏电路,在游戏中,分A方及B 方,以8位LED灯指示乒乓球的行进路径;允许一个LED灯亮,亮的时间为0.5秒,表示乒乓球所在位置,A、B方各持一按键进行接发球操作,当乒乓球移动到最靠近己端,即最靠近己方的数码管发光期间,及时按下了按键,则接发球成功,提前按下或按下不及时则接、发球失败,对方得1分。系统复位时,A方发球;比赛采用得分方发球规则;要求使用数码管显示比赛双方的代号及得分,如 A28B9表示A得分为28分,B得分9分。比赛采用21分制。比赛结束时8位LED灯同时闪烁5秒。设计工作量两周:1、查找资料,根据要求的格式并结合所查资料写出理论设计方案的全过程,实验操作的步骤、数据以及结论。 2、 学习使用Quartus II软件,利用Quartus II设计并进行仿真。 3、 将程序下载到实验箱,进行实际运行修正。进度安排起止日期工作内容备注6月7日6月10日理论设计:网络、图书馆查找资料 软件应用:学习Quartus II软件的操作并完成电路设计并进行仿真。6月14日6月15日将完成的程序下载至实验箱,进行实物运行。6月16日 准备资料,完成课程设计答辩6月17日整理书面材料,完成课程设计说明书主要参考资料参考文献 1 周润景 图雅 张丽敏 基于Quartus 的FPGA/CPLD数字系统设计实例北京:电子工业出版社,20072 杜建国Verilog HDL硬件描述语言北京:国防工业出版社,2004 3 林灶生 Verilog FPGA芯片设计北京:北京航空航天大学出版社,2006指导教师签名 年 月 日系(部)主管领导意见年 月 日答辩评委老师年 月 日教研室意见年 月 日长沙学院课程设计鉴定表姓名王志福学号2008044132专业电子班级一班设计题目乒乓球游戏电路设计指导教师谢明华、马凌云、刘辉、龙英指导教师意见:评定等级: 教师签名: 日期: 答辩小组意见:评定等级:答辩小组长签名:日期:教研室意见:教研室主任签名: 日期: 系(部)意见:系主任签名:日期:说明课程设计成绩分“优秀”、“良好”、“中”、“及格”、“不及格”五类;目 录摘 要:- 6 -1设计要求- 6 -2.设计方案- 6 -2.1乒乓球游戏机系统组成- 6 -2.2 功能模块设计- 6 -2.2.1 分频模块-6 -2.2.2 按键消抖模块- 7 -2.2.3 比赛规则控制(含发球控制器、乒乓球控制器、计分器)- 9-2.3顶层原理图- 11 -2.4 波形仿真- 11 -3.心得体会- 12 -4.参考文献- 12 -乒乓球游戏电路设计摘 要:本设计使用 FPGA 芯片来模拟实际的乒乓球游戏。本设计是基于 Altera 公司的FPGA Cyclone 芯片 EP1C20F324C8 的基础上实现,运用 Verilog HDL 语言编程,在 Quartus II 软件上进行编译、仿真,最终在开发板上成功实现下载和调试。关键字: 乒乓球游戏 FPGA Verilog HDL1 设计要求1.1 一个乒乓球游戏电路,能实现基本的乒乓球比赛规则。1.2 要求使用数码管显示比赛双方的代号及得分,比赛采用21分制。比赛结束时8位LED灯同时闪烁5秒。1.3 拓展要求,要求增加局分显示,每一局比赛结束后局分自动增加,比分清零。2.设计方案2.1乒乓球游戏机系统组成乒乓球比赛游戏机的组成如图1 所示。A、B方各持一按键进行接发球操作,当乒乓球移动到最靠近己端,即最靠近己方的数码管发光期间,及时按下了按键,则接发球成功,提前按下或按下不及时则接、发球失败,对方得1分。图1 基于Fpga乒乓球游戏机组成框图2.2 功能模块设计2.2.1 分频模块将50Mhz频率分成2hz 程序: /-2Hz分频-always (posedge clk50M)beginif(cnt=24d12500000)beginclk2hz=clk2hz;cnt=0;endelsecnt=cnt+1;end2.2.2 按键消抖模块程序:module key_debounce( input i_clk, input 3:0 i_key, / 按下为0,松开为1 output reg 3:0 o_key_val / 键值 ); /+ reg 3:0 key_samp1, key_samp1_locked; / 将i_key采集至key_samp1 always (posedge i_clk) begin key_samp1 = i_key; end / 将key_samp1锁存至key_samp1_locked always (posedge i_clk) begin key_samp1_locked = key_samp1; end /+ wire 3:0 key_changed1; / 当key_samp1由1变为0时 / key_changed1由0变为1,且维持一个时钟周期 assign key_changed1 = key_samp1 & (key_samp1_locked); /- reg 19:0 cnt; / 一旦有按键按下,cnt立即被清零 always (posedge i_clk) begin if(key_changed1) cnt = 20h0; else cnt = cnt + 1b1; end /- reg 3:0 key_samp2, key_samp2_locked; / 只有当按键不变化(不抖动),且维持20ms以上时 / 才将i_key采集至key_samp2 always (posedge i_clk) begin if(cnt = 20hF_FFFF) / 0xFFFFF/50M = 20.9715ms key_samp2 = i_key; end / 将key_samp2锁存至key_samp2_locked always (posedge i_clk) begin key_samp2_locked = key_samp2; end /- wire 3:0 key_changed2; / 当key_samp2由1变为0时 / key_changed2由0变为1,且维持一个时钟周期 assign key_changed2 = key_samp2 & (key_samp2_locked); /- / 每次按键稳定后,都将键值取反 always (posedge i_clk) begin if(key_changed20) o_key_val0 = o_key_val0; if(key_changed21) o_key_val1 = o_key_val1; if(key_changed22) o_key_val2 = o_key_val2; if(key_changed23) o_key_val3 = o_key_val3; end /- endmodule 2.2.3 比赛规则控制(含发球控制器、乒乓球控制器、计分器)程序: /-比赛规则-always (posedge clk2hz)begin if(rst) begin a_score=0;b_score=0;a_jufen=0;b_jufen=0;a=0;b=0;led_1=8b11111111; end else begin if(!a&!b&led_ctrl0) /如果a发球 begin a=1;led_1=8b01111111; end /a的控制位置1 else if(!a&!b&led_ctrl2) begin b=1;led_18b00011111) /如果没到球网B击球则A加分 begin if(led_ctrl3) begin a_score=a_score+1; a=0;b=0; led_1=8b11111111; end else begin led_17:0=1b1,led_17:1; end /右移 end else if(led_1=8b11111111) /如果B一直没有接球则A加分 begin a_score=a_score+1;a=0;b=0; end else begin if(led_ctrl3) /如果B击球成功,则B的控制位置1,A的控制位清零 begin a=0;b=1; end else begin led_17:08b11110000&led_1!=8b11111111) begin if(led_ctrl1) /如果没到球网A击球则B加分 begin b_score=b_score+1; a=0;b=0; led_1=8b11111111; end else begin led_17:0=led_16:0,1b1; end/左移 end else if(led_1=8b11111111) /如果A一直没接球则B加分 begin b_score=b_score+1;a=0;b=0; end else begin if(led_ctrl1) /如果A击球成功,则A的控制位置1,B的控制位清零 begin a=1;b=0; end else begin led_17:0=led_16:0,1b1; end end endend led=led_1;if(a_score=5b10101&b_score5b10101) begin a_score=0;b_score=0;a_jufen=a_jufen+1;a=0;b=0;led_1=8b11111111; endif(b_score=5b10101&a_score5b10101) begin a_score=0;b_score=0;b_jufen=b_jufen+1;a=0;b=0;led_1=8b11111111; endend2.3顶层原理图2.4 波形仿真2.4.1 A方发球B方不接球2.4.2 A方发球B提前接球犯规2.4.3 B方发球A不接球2.4.4 B方发球A提前接球犯规2.4.5 AB僵持球3.心得体会通过这次课程设计,我进一步熟悉了verilog语言的结构,语言规则和语言类型。对编程软件的界面及操作有了更好的熟悉。在编程过程中,往往出
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 空港物流考试题及答案
- 科学100考试题及答案
- 考试题目及答案初中
- 舟桥工专业技能考核试卷及答案
- 军训教员考试题及答案
- 惊恐障碍考试题及答案
- 前厅服务员设备维护与保养考核试卷及答案
- 2025年心血管内科常见病例分析试题答案及解析
- 2025年教师招聘之《幼儿教师招聘》预测试题完整参考答案详解
- 多膛炉焙烧工异常处理考核试卷及答案
- 人员外出安全培训内容课件
- 2025年法官入额遴选政治理论真题及答案
- 2025至2030中国土豆行业产业运行态势及投资规划深度研究报告
- 护理系毕业论文2000
- 2025年交通安全知识测试题含答案详解
- 露天矿山项目资金预算与成本控制
- (正式版)DB15∕T 2590.1-2022 《毛茛科草种质资源描述和数据采集规范 第1部分:金莲花》
- 依法服兵役课件
- 电商客服理论考试复习题库(含答案)
- 特种设备安全监察员考试试题及答案
- 2025低压电工国家全套题库完整版和答案
评论
0/150
提交评论