好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

打地鼠FPGA实现ppt课件.ppt

15页
  • 卖家[上传人]:工****
  • 文档编号:569252935
  • 上传时间:2024-07-28
  • 文档格式:PPT
  • 文档大小:1.94MB
  • / 15 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • LOGO数字系数字系数字系数字系统设计统设计 ——打地鼠 LOGOYOUR SITE HEREYOUR SITE HERE1.功能引功能引见见 2. 存在存在问题问题3.处处理方案理方案 4. 设计总结设计总结v 打地鼠打地鼠 LOGOYOUR SITE HEREYOUR SITE HEREv 功能引功能引见见::闯闯三三关关打中地鼠,拼得打中地鼠,拼得40分分打中地鼠,拼得打中地鼠,拼得80分分 得分得分过百百晋级晋级 通通 关关 LOGOYOUR SITE HEREYOUR SITE HEREv 功能引功能引见见:: LOGOYOUR SITE HEREYOUR SITE HEREv 功能引功能引见见:: 模模块块功能描画功能描画〔 〔1〕 〕MOUSESETTING 设设置地鼠各个洞穴的置地鼠各个洞穴的编码编码,随机,随机产产生地鼠生地鼠〔 〔2〕 〕键盘扫键盘扫描描电电路:路: 对键盘进对键盘进展行展行扫扫描,根据列的信号判描,根据列的信号判别别按按键键〔 〔3〕 〕GRAPH 对对点点阵进阵进展逐行展逐行扫扫描描显显示示编码编码〔 〔4〕 〕LED显显示示电电路路 显显示示键盘键盘的按的按键键或者通关的走或者通关的走马马灯灯〔 〔5〕 〕SCORE 计计算分数并算分数并编码编码 LOGOYOUR SITE HEREYOUR SITE HERE1.1.如何随机地如何随机地如何随机地如何随机地产产产产生地鼠?生地鼠?生地鼠?生地鼠? 采用采用采用采用伪伪伪伪随机随机随机随机产产产产生,将地鼠能生,将地鼠能生,将地鼠能生,将地鼠能够够够够出出出出现现现现的位置的位置的位置的位置提早提早提早提早编编编编写好,根据写好,根据写好,根据写好,根据时钟选时钟选时钟选时钟选取其中的任一个取其中的任一个取其中的任一个取其中的任一个l 存在存在问题问题及及处处理方案理方案v 实现实现方案:方案: v OM1 <= "010000000"; v OM2 <= "100000000"; v OM3 <= "000010000"; v OM4 <= "001000000"; v OM5 <= "000001000"; v OM6 <= "000000010"; v OM7 <= "000000100"; v OM8 <= "010000000"; v OM9 <= "000100000"; v OM10 <= "000000001"; v OM11 <= "100000000"; v OM12 <= "000001000"; v OM13 <= "000000100"; v OM14 <= "001000000"; v OM15 <= "000010000"; v OM16 <= "000000001"; v--16个老鼠能够出现的地方个老鼠能够出现的地方v v OUT_MOS <= OM1 WHEN Clkrandom = 0 ELSE v OM2 WHEN Clkrandom = 1 ELSE v OM3 WHEN Clkrandom = 2 ELSE v OM4 WHEN Clkrandom = 3 ELSE v OM5 WHEN Clkrandom= 4 ELSE v OM6 WHEN Clkrandom = 5 ELSE v OM7 WHEN Clkrandom = 6 ELSE v OM8 WHEN Clkrandom = 7 ELSE v OM9 WHEN Clkrandom = 8 ELSE v OM10 WHEN Clkrandom = 9 ELSE v OM11 WHEN Clkrandom = 10 ELSE v OM12 WHEN Clkrandom = 11 ELSE v OM13 WHEN Clkrandom = 12 ELSE v OM14 WHEN Clkrandom = 13 ELSE v OM15 WHEN Clkrandom = 14 ELSE v OM16 WHEN Clkrandom = 15 ; LOGOYOUR SITE HEREYOUR SITE HERE2.2.如何区分表如何区分表如何区分表如何区分表现现现现地鼠出地鼠出地鼠出地鼠出现现现现,地鼠被打死?,地鼠被打死?,地鼠被打死?,地鼠被打死?我采用我采用我采用我采用8X88X8的的的的红绿红绿红绿红绿黄三色点黄三色点黄三色点黄三色点阵阵阵阵,,,,绿绿绿绿色的点表示色的点表示色的点表示色的点表示边边边边境,境,境,境,红红红红色的点表示出色的点表示出色的点表示出色的点表示出现现现现的地鼠,的地鼠,的地鼠,的地鼠,黄色的点表示被打死的地鼠。

      黄色的点表示被打死的地鼠黄色的点表示被打死的地鼠黄色的点表示被打死的地鼠l 存在存在问题问题及及处处理方案理方案v 实现实现方案:方案: LOGOYOUR SITE HEREYOUR SITE HEREv在算法中,我将在算法中,我将该8X8的点的点阵上的上的64个点整个得作个点整个得作为一个一个VECTOR,,0表示表示该点亮,点亮,1表示表示该点点灭v例如:例如:v BASIC <= "11011011v 11011011v 00000000v 11011011v 11011011v 00000000v 11011011v 11011011" ;v--显示示“井〞字井〞字绿色色边境境v同理:同理: v E1 <= "0011111100111111111111111111111111111111111111111111111111111111"WHEN OUT_MOS(1) = '1' ELSE EN ; v --区域一的点亮了,老鼠出如今区域一区域一的点亮了,老鼠出如今区域一v E1G <= "0011111100111111111111111111111111111111111111111111111111111111"WHEN OUT_MOS(1) = '1' AND EDS_RKN3(1) = '0' ELSE EN ;v --区域一的老鼠被打死区域一的老鼠被打死 LOGOYOUR SITE HEREYOUR SITE HERE3.3.如何用点如何用点如何用点如何用点阵显阵显阵显阵显示出地鼠来?示出地鼠来?示出地鼠来?示出地鼠来? 对对对对点点点点阵阵阵阵采用行采用行采用行采用行扫扫扫扫描的方式,其描的方式,其描的方式,其描的方式,其实实实实同一同一同一同一时时时时辰只需辰只需辰只需辰只需同一行的点同一行的点同一行的点同一行的点阵阵阵阵上的点才能上的点才能上的点才能上的点才能够够够够亮,但是由于亮,但是由于亮,但是由于亮,但是由于扫扫扫扫描的描的描的描的 频频频频率率率率较较较较高,根据高,根据高,根据高,根据视觉暂视觉暂视觉暂视觉暂留效留效留效留效应应应应,看上去是一同出,看上去是一同出,看上去是一同出,看上去是一同出现现现现l 存在存在问题问题及及处处理方案理方案v 实现实现方案:方案: vROW <= "11111111" WHEN RESET ='1' ELSEv "01111111" WHEN ROWW=0 ELSE v "10111111" WHEN ROWW=1 ELSE v "11011111" WHEN ROWW=2 ELSE v "11101111" WHEN ROWW=3 ELSE v "11110111" WHEN ROWW=4 ELSE v "11111011" WHEN ROWW=5 ELSE v "11111101" WHEN ROWW=6 ELSE v "11111110" WHEN ROWW=7; v--点阵行扫描的显示点阵行扫描的显示 vCR <="11111111" WHEN RESET ='1' ELSEv WHAT_OUT( 1 TO 8 ) WHEN ROWW=0 AND C = 0 ELSE v WHAT_OUT( 9 TO 16) WHEN ROWW=1 AND C = 0 ELSE v WHAT_OUT(17 TO 24) WHEN ROWW=2 AND C = 0 ELSE v WHAT_OUT(25 TO 32) WHEN ROWW=3 AND C = 0 ELSE v WHAT_OUT(33 TO 40) WHEN ROWW=4 AND C = 0 ELSE v WHAT_OUT(41 TO 48) WHEN ROWW=5 AND C = 0 ELSE v WHAT_OUT(49 TO 56) WHEN ROWW=6 AND C = 0 ELSE v WHAT_OUT(57 TO 64) WHEN ROWW=7 AND C = 0 ELSE v--得分没有过百时,红色的列得分没有过百时,红色的列1-8位的赋值位的赋值v--CG<="11111111";vCG <= "11111111" WHEN RESET ='1' ELSEvWHAT_OUT_G( 1 TO 8 ) WHEN ROWW=0 AND C = 0 ELSE vWHAT_OUT_G( 9 TO 16) WHEN ROWW=1 AND C = 0 ELSE vWHAT_OUT_G(17 TO 24) WHEN ROWW=2 AND C = 0 ELSE vWHAT_OUT_G(25 TO 32) WHEN ROWW=3 AND C = 0 ELSE vWHAT_OUT_G(33 TO 40) WHEN ROWW=4 AND C = 0 ELSE vWHAT_OUT_G(41 TO 48) WHEN ROWW=5 AND C = 0 ELSE vWHAT_OUT_G(49 TO 56) WHEN ROWW=6 AND C = 0 ELSE vWHAT_OUT_G(57 TO 64) WHEN ROWW=7 AND C = 0 ELSEv--得分没有过百时,绿色的列得分没有过百时,绿色的列1-8位的赋值位的赋值 LOGOYOUR SITE HEREYOUR SITE HERE4.4.如何控制形状机如何控制形状机如何控制形状机如何控制形状机产产产产生各模生各模生各模生各模块块块块所需的所需的所需的所需的CLKCLK????普通来普通来普通来普通来说说说说大部分的人喜大部分的人喜大部分的人喜大部分的人喜欢欢欢欢用分用分用分用分频频频频器来器来器来器来实现实现实现实现,我在做,我在做,我在做,我在做打地鼠打地鼠打地鼠打地鼠时时时时,采用了,采用了,采用了,采用了设设设设置一个大容量置一个大容量置一个大容量置一个大容量计计计计数器数器数器数器QN,QN,该设计该设计该设计该设计中中中中它有它有它有它有2828位,当各模位,当各模位,当各模位,当各模块块块块需求各种需求各种需求各种需求各种CLKCLK时时时时,,,,可以取其中相可以取其中相可以取其中相可以取其中相应应应应的位数。

      的位数l 存在存在问题问题及及处处理方案理方案v 实现实现方案:方案: vPROCESS(RESET,CLK) vBEGIN vIF RESET='1' THEN vQN<="0000000000000000000000000000";vELSIF CLK'event AND CLK='1'THENvQN <= QN + 1; vEND IF;vEND PROCESS; v--关于关于QN的定义,一个的定义,一个28位的大容量计数器位的大容量计数器v例如:例如:vClkrandom<= QN(27 DOWNTO 24) WHEN B = 0 OR B = 1 OR B = 2 OR B = 3 ELSE v QN(26 DOWNTO 23) WHEN B = 4 OR B = 5 OR B = 6 OR B = 7 ELSE v QN(25 DOWNTO 22) WHEN B = 8 OR B = 9 ; v--计数器低位变化的速率快,地鼠出现的相应的频率就高计数器低位变化的速率快,地鼠出现的相应的频率就高v EDS <= QN(16 DOWNTO 14); v CKKK<=QN(9);v --产生键盘扫描频率产生键盘扫描频率v ROWW <= QN(9DOWNTO 7); v --设置地鼠的出现速率设置地鼠的出现速率vWIN_OUT_TINE <= QN(19 DOWNTO 18); 、、v --通关后的图案闪烁频率通关后的图案闪烁频率v v 在任何一个模块中,时钟都是这个模块的中心,运用这中方法可以方便在任何一个模块中,时钟都是这个模块的中心,运用这中方法可以方便v快捷的处理好各个模块的时钟问题,并且这种方法易读易懂,用的逻辑器件也快捷的处理好各个模块的时钟问题,并且这种方法易读易懂,用的逻辑器件也v得到了节省。

      得到了节省 LOGOYOUR SITE HEREYOUR SITE HERE设计特点:特点:v 设计总结设计总结1.算法简约明了,针对性强,运用方便;2.实验结果稳定性较强3.采用的VHDL言语类型丰富,不是单一的IF…THEN…语句,在一定程度上节省了器件,具有一定的实践意义;4.可扩展性强,在该算法的根底上,还可以继续改良,如在老鼠的随机产生上,晋级后难度的设置上和测试游戏者的反响时间上,都可以继续编写程序 LOGO Thank you 。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.