网站大量收购闲置独家精品文档,联系QQ:2885784924

数字系统设计大实验实验报告.docVIP

  1. 1、本文档共36页,可阅读全部内容。
  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文档。上传文档
查看更多
时序逻辑实验 一、实验目的与实验要求 1、实验目的 综合运用本课程所学习的知识,设计并实现复杂的数字系统。 2、实验要求 在实验报告中提交状态图或者算法流程状态图,系统级模块图、设计代码、仿真程序、仿真结果截图、实测验证结果照片。 制作复杂数字系统设计报告PPT,验收过程除了演示自己的作品外,还需要通过PPT讲解数字系统设计。PPT讲解时间2分钟。 提交实验报告、PPT和每个实验的完整工程文件。 二、实验设备(环境)及要求 Xilinx Ego1实验平台。 OS:Win7 64位 Software:Vivado15.4开发工具 三、实验内容与步骤 1、实验 (1)实验内容 设计一款贪吃蛇游戏。通过VGA接口控制液晶显示器,在液晶显示器上实现该游戏。具体要求为,在液晶显示器上有一移动的”蛇”,通过开发板上的拨码开关实现“蛇”上下左右移动。本实验刚开始的蛇身长度定位3。由于程序书写上的限制,我们设定蛇的最大长度为16。设计平台为xilinx的EGO1 FPGA开发板。同时会在屏幕有效区域随机出现“苹果”,“蛇”每吃到一次苹果则表示一次成功操作,得分加1,并在数码管上显示得分。 (2)主要步骤 新建工程,取名为Greedy_Snake。 将工程文件分层,经过分析修改,最终本设计含有六个子模块,分别是: Clk4to1 Game_ctrl_unit Snake_eating_apple Snake1 Key KeyBoard VGA_control Seg_display 决定输入输出的量和类型,由于本次实验要求通过VGA在显示屏上显示,则需要设计VGA的输出量。(实验后期,为了增加实验功能,则设计了键盘的输入和输出方法)具体的输入输出见下。 input clk0, input reset, input ps2d, input ps2c, output h_sync, output v_sync, output [2:0] color_out, //颜色输出 output [7:0] seg_out,//数码管管脚 output [3:0] sel 顶层模块如下: module Greedy_Snake ( input clk0, input reset, input ps2d, input ps2c, output h_sync, output v_sync, output [2:0] color_out, //颜色输出 output [7:0] seg_out,//数码管管脚 output [3:0] sel ); wire left_key_press,right_key_press, up_key_press, down_key_press; wire [1:0] snake; wire [9:0] x_pos; wire [9:0] y_pos; wire [5:0] apple_x; wire [4:0] apple_y; wire [5:0] head_x; wire [5:0] head_y; wire add_cube; wire [1:0] game_status; wire hit_wall; wire hit_body; wire die_flash; wire restart; wire [6:0] cube_num; wire left; //由于用了键盘表示,这里使用wire而不是input wire right; wire up; wire down; wire key_relese; //键盘按键释放按钮 clk4to1 clk4to1(clk0,reset,clk); Snake_one Snake1(.clk(clk),.reset(reset),.left_press(left_key_press),.right_press(right_key_press),.up_press(up_key_press),.down_press(down_key_press),.snake(snake),.x_pos(x_pos),.y_pos(y_pos),.head_x(head_x),.head_y(head_y),.add_cube(add_cube),.game_status(game_status),.cube_num(cube_num),.hit_body(hit_body),.hit_wall(hit_wall),.die_flash(die_flash) ); Game_ctrl_unit game_ctrl_unit1( .clk(clk),.reset(reset),.key1_press(left_key_press),.key2_press(right_key_press)

文档评论(0)

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

计算机研究者

1亿VIP精品文档

相关文档