- 1、本文档共10页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
——————数字电路与逻辑设计实验报告—————
基于VHDL的简易俄罗斯方块
实验名称 简易俄罗斯方块
姓名
班级 电信工程学院04107班
学号
辅导老师 高英
日期 2006年11月6日
摘要
俄罗斯方块游戏是我们熟知的经典小游戏之一,本实验通过硬件编成实现了简易的俄罗斯方块游戏机。VHDL是一种标准的,规范的硬件描述语言,在电子设计领域有着广泛的应用。它具有很强的电路描述和建模能力,能从多个层次多电路进行描述和建模,从而大大简化了硬件设计任务,提高了设计效率和可靠性。
本实验基于VHDL语言,利用电路中心开发的实验板,用一个4×4点阵做为基本显示屏,一个发光点表示一个图形,完成俄罗斯方块游戏的基本功能:下落、左右移动、消行和显示得分情况,当某一列到顶时游戏结束。
关键字 俄罗斯方块游戏 VHDL 点阵
设计任务
利用电路中心开发的实验板,用点阵做为显示屏,一个发光点表示一个方块,完成下落、左右移动、消行和显示得分情况,当某一列到顶时游戏结束,数码管显示的分数保持不变。
设计思路
由于实验中只用到了16个点来完成显示功能,所以选用一个16位的向量STATUS(0 TO 15)来存储各点状态,再用两个整型数分别控制当前点的坐标,但是这样控制会涉及到乘法运算,因此改为4个4位向量STAN(0 TO 3),每个向量代表一行点阵,这样做不仅使控制简单,而且在扫描显示的时候很方便,代码也很简洁。
设计包括2个大的元件,一个是RUSSIA,其功能是存储状态,分频,完成左右下移动以及计分等功能;另一个是RUSSIA_SCAN,主要完成点阵扫描和数码管译码。具体设计是这样的:4个向量STA0,STA1,STA2,STA3记录游戏状态,点的坐标由COL 和ROW来控制。设置两个指针FLAG和ROW4,如果四列中有一列都为1,表示游戏结束了,置FLAG为1,程序进入NULL;当最后一行及STA3=”1111”时,置ROW4=1,当ROW4=1时,表示要消行,加分,并且将上一行的值赋到下一行。游戏继续,如按下左键或右键,程序更根据下一状态决定是否左移或右移。(BTN1为复位RESET,BTN2为左,BTN3为右)若无键按下,则根据情况当前点是否需要自动下移。
源代码
底层文件1:russia.vhd
------ russia.vhd
------osom
------6/11/06
LIBRARY IEEE;
USE IEEE.STD_LOGIC_1164.ALL;
USE IEEE.STD_LOGIC_SIGNED.ALL;
ENTITY RUSSIA IS
PORT(CLK :IN STD_LOGIC; -------时钟频率,选用低频
RESET :IN STD_LOGIC; -------复位键
LEFT :IN STD_LOGIC; -------左移键
RIGHT :IN STD_LOGIC; -------右移键
SCORES :OUT INTEGER RANGE 0 TO 15; -------分数
STA0 : OUT STD_LOGIC_VECTOR(0 TO 3) ; -------以下为四行状态寄存
STA1 : OUT STD_LOGIC_VECTOR(0 TO 3) ;
STA2 : OUT STD_LOGIC_VECTOR(0 TO 3) ;
STA3 : OUT STD_LOGIC_VECTOR(0 TO 3) );
END RUSSIA;
ARCHITECTURE MOVING OF RUSSIA IS
SIGNAL STATU0 : STD_LOGIC_VECTOR(0 TO 3) ;
SIGNAL STATU1 : STD_LOGIC_VECTOR(0 TO 3) ;
SIGNAL STATU2 : STD_LOGIC_VECTOR(0 TO 3) ;
SIGNAL STATU3 : STD_LOGIC_VECTOR(0 TO 3) ;
SIGNAL FLAG : STD_LOGIC; -------game over 标志
SIGNAL FP :INTEGER RANGE 0 TO 499; -------1000分频
SIGNAL CLK1 :STD_LOGIC;
SIGNAL SCOR_TEMP :INTEGER
SIGNAL ROW4 :STD_LOGIC; -------消行标志
SIGNAL
您可能关注的文档
最近下载
- 南京旅游策划案例分析报告.pptx
- 新人教pep三年级上册Unit2 Different families Letters and sounds 课件.pptx
- 2023《汉语言文学开题报告:陶渊明田园诗的艺术意蕴》2800字.docx VIP
- 23J909 工程做法(建筑图集).docx VIP
- 2023版反假考试复习题库-中(多选题部分).pdf VIP
- 初中数学人教版和北师大版目录.docx VIP
- 工作、消费、新穷人(英)齐格蒙特·鲍曼.pdf
- 运动竞赛学教案_精品.doc
- 钻探地质编录方法及要求要点详解.ppt
- SHT3225-2024 石油化工安全仪表系统安全完整性等级设计规范(报批稿).pdf
文档评论(0)