数字逻辑电路实验报告(七巧板设计).docVIP

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

《数字逻辑电路》实验报告 第十四次实验:七巧板的基本设计 姓名:车开达 学号:101220007 2010级计算机系 一 班 邮箱:798195236@ 时间:12月22日 实验目的 这个实验是自己的个人的设计,是从一本关于iphone的游戏设计中得到的灵感,自己感觉这个实验能够将键盘和显示器联系起来并且实现不算太难,主要是联系获得键盘的数据,处理数据并能够在显示器上显示相应的图案,是个个人感觉比较新颖的想法,所以没有太用心实现简易处理器,大部分时间都用来实现这个设计了。 二、实验原理(背景知识) 从第九次实验中的键盘实验可以学到如何接受外界键盘的输入,在后面的VGA实验中可以基本了解如何显示基本图案,但是如何实现移动和旋转,所以为了方便实现以及统一管理,自己使用了有一个点来形成一个图案,并且对移动和旋转都是以这个点为基准的。然后主要是对每个图案的图形计算,其中对图像的旋转是要新的计算,不可能使用固定计算函数可以得到,所以不同的旋转是不同的状态,这样就能实现基本的移动和旋转,另外可以实现相应的游戏功能,即每一个图案的坐标相对位置是不变的,所以实现对应的游戏功能就是计算每个坐标的相对位置是否相同。至于详细想法在下面进行细述。 实验器材/环境 硬件:个人电脑,Altera公司的DE2-70开发板等; 软件:Quartus II等。 实验设计思路(验收实验) 1、分析所需要的七巧板形状,每个形状的支撑点,对每个形状进行编号以及每种形状可以出现的状态: (1)5个三角形,我们选取直角顶点为支撑点,共存在8个状态,即每次旋转45度; (2)1个正方形,我们任意选取一个顶点为支撑点,共存在2个状态,即旋转45度产生的两种状态; (3)1个平行四边形,我们选取角度小的那个顶点为支撑点,共存在4个状态,每个状态有一对平行边或者平行水平或者平行数值。 2、确定键盘上的功能键,并对其功能进行编号,主要有移动方向键(后来共用了2组方向键,以便操控),控制旋转键,选择不同图形键,后来添加了初始键、两个预置图案的键、一个判断图形是否符合要求的键,并对他们进行了相应的???码(4位,最后证明4位有点少)。 3、确定功能模块: (1)从键盘接受数据并对其进行基本出来的模块,代码如下: module io_ps2(clk,clrn,ps2_clk,ps2_data,data,change); input clk,clrn,ps2_clk,ps2_data; output reg [3:0]data; output change; wire change; reg ready; reg overflow; reg [3:0]count; reg [7:0]temp_data,temp; reg key_f0; reg [9:0] buffer; reg [7:0]fifo[7:0]; reg [2:0] w_ptr,r_ptr; reg [2:0] ps2_clk_sync; always @(posedge clk)begin ps2_clk_sync={ps2_clk_sync[1:0],ps2_clk}; end wire sampling = ps2_clk_sync[2]~ps2_clk_sync[1]; always @(posedge clk)begin if(clrn==0)begin count=0; w_ptr=0; r_ptr=0; overflow=0; end else if(sampling)begin if(count==4d10)begin if((buffer[0]==0)(ps2_data)(^buffer[9:1]))begin fifo[w_ptr]=buffer[8:1]; w_ptr=w_ptr+3b1; ready=1b1; overflow=overflow|(r_ptr==(w_ptr+3b1)); end count=0; end else begin buffer[count]=ps2_data; count=count+3b1; end end if(ready)begin temp=fifo[r_ptr-3d1]; temp_data=fifo[r_ptr]; r_ptr=r_ptr+3d1; ready=1b0; if(temp_data==8hf0)begin //temp=fifo[r_ptr-3d2]; key_f0=1b

文档评论(0)

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

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

版权声明书
用户编号:6111134150000003

1亿VIP精品文档

相关文档