毕业论文_基于verilog的乒乓球游戏电路设计说明书.docVIP

毕业论文_基于verilog的乒乓球游戏电路设计说明书.doc

  1. 1、本文档共74页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
毕业论文_基于verilog的乒乓球游戏电路设计说明书

PAGE 大学 EDA课程设计 姓名: 学号: 班级: 专业: 学院: 目 录 TOC \o 1-3 \h \z \u HYPERLINK \l _Toc 0 引言 PAGEREF _Toc \h - 2 - HYPERLINK \l _Toc 1 设计要求 PAGEREF _Toc \h - 2 - HYPERLINK \l _Toc 2 设计思路 PAGEREF _Toc \h - 2 - HYPERLINK \l _Toc 3 Verilog程序 PAGEREF _Toc \h - 3 - HYPERLINK \l _Toc 4 功能仿真 PAGEREF _Toc \h - 9 - HYPERLINK \l _Toc 5 总结 PAGEREF _Toc \h - 11 - 致谢 PAGEREF _Toc \h - 11 - 参考文献 PAGEREF _Toc \h - 11 - 基于Verilog的乒乓球游戏电路设计 0 引言 可编程器件的广泛应用,为数字系统的设计带来了极大的灵活性。可编程器件可以通过软件编程对硬件的结构和工作方式进行重构,使得硬件的设计可以如同软件设计那样快捷方便。高速发展的FPGA、CPLD兼有串、并行工作方式和高速、高可靠性的特点,在电子系统设计中得到了广泛应用。 通常使用硬件描述语言(Hardware Description Language,HDL)进行数字电子系统设计。目前应用广泛的硬件描述语言有:VHDL语言,Verilog HDL语言,AHDL语言。Verilog语言由于具有强大的行为描述能力和丰富的仿真语句从而成为系统设计领域最佳的硬件描述语言。 鉴于如上所述,本系统使用Verilog语言进行设计,采用自上向下的设计方法。利用Quartus II 6.0 进行Verilog程序的编译与综合,然后用Modelism SE 6.0进行功能仿真和时序仿真,并使用GW48系列SOPC/EDA实验开发系统进行下载验证。 1 设计要求 图1 乒乓球游戏实物图 设计如图1所示的乒乓球游戏实物图的模拟控制器。发球方最后一位LED点亮,按下键表示发球,亮的灯依次向对方移动,当到达对方最后一位时0.5s内对方必须按下按键表示接球,接球后LED灯向对方移动,否则输球。 接球时,LED没有亮到最后一位时就按下接球按键为犯规。输球或者犯规,对方加1分,率先加到11分者游戏胜出这一局。 2 设计思路 考虑到游戏的复杂度,采用状态机来实现这些模式转换。用到6个状态,如表1所示: 状态 功能 S0 复位状态,也是判断发球权的状态 S1 甲方发球 S2 球从甲方向乙方右移,若此时乙方接球就给甲方加一分,并将球权给甲方 S3 开始判断乙方是否在0.5S内接球 S4 乙方发球 S5 球从乙方向甲方左移,若此时甲方接球就给乙方加一分,并将球权给乙方 S6 开始判断甲方是否在0.5S内接球 表1 状态介绍 为了美化设计,加入了蜂鸣、用数码管显示分数和发球权等功能。 3 Verilog程序 module pingpangok(state,nextstate,clk2hz,rst,k_a,k_b,led8s,led7s1,led7s2,led7s3,led7s4,led7s5,speaker); //clk2hz指一个2Hz的时钟输入, rst异步复位, k_a和k_b是比赛双方按键, speaker是蜂鸣器 //led8s是一排8个发光二极管代表球场, led7s1~4是4个显示分数的数码管, led7s5是显示发球权的数码管 input clk2hz,rst,k_a,k_b; output [7:0] led8s; output [6:0] led7s1,led7s2,led7s3,led7s4,led7s5; output speaker; output [2:0] state,nextstate; reg [7:0] led8s; reg [6:0] led7s1,led7s2,led7s3,led7s4,led7s5; reg [3:0] score_a,score_b; reg [2:0] state,nextstate; reg speaker; parameter s0=3b000,//复位状态,也是判断发球权的状态; s1=3b001,//甲方发球; s2=3b010,//球从甲方向乙方右移,若此时乙方接球就给甲方加一分,并将球权给甲方; s3=3b011,//开始判断乙方是否在0.5S内接球; s4=3b1

文档评论(0)

feixiang2017 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档