VLSI/SoC设计综合实验(Ⅲ)

在这里插入图片描述

实验三:乒乓球游戏电路的设计

作者: Saint
掘金:https://juejin.im/user/5aa1f89b6fb9a028bb18966a
微博:https://weibo.com/5458277467/profile?topnav=1&wvr=6&is_all=1
GitHub:github.com/saint-000

一、实验器材(设备、元器件):
计算机、FPGA 开发板、开发板附件。

二、实验内容:
乒乓球游戏电路的设计:相对于传统的乒乓球电路设计,我们采用了21进制计数器供计分显示,运用单一晶振频率40mhz分频出2支频率(1024hz、4hz)分别供乒乓球灯前进电路clk以及失分报警电路souclk。并通过LED流水灯,模拟乒乓球实际运动位移趋势。
1.系统复位后计分器清零,开始比赛。若A方发球,且球过中点未到B方末端时B选手击球,则B方违规,报警器鸣响,同时A方计分器自动加1分;若球移到B方末端时B选手恰好击球,则B方接球有效,球移向A方;

2.得分方自动加1分,当一方得分到21时,计分器停止加分,显示双方当前得分,直到复位信号将计分器清零后,才能开始新的一局

3.没有设置发球权,当一方得分后,任何一方均可发球。

三、实验数据及结果分析:
1.BDE框图
在这里插入图片描述
2.部分顶层代码
在这里插入图片描述
3.模块原理以及仿真图形
1.分频模块
在这里插入图片描述
在这里插入图片描述
2.乒乓球游戏总控制模块
在这里插入图片描述
在这里插入图片描述
3.失分鸣响电路

library ieee;
use ieee.std_logic_1164.all;
entity sound is
port(clk:in std_logic;
sig:in std_logic;
en:in std_logic;	
sout:out std_logic);   
end sound;architecture ful of sound is
begin
sout<=clk and (not sig) and en;
end;  

在这里插入图片描述

4.球前进方向产生模块

architecture ful of mway is                                                  
begin
	process( servea,serveb)
	begin
	if(servea ='1')then way<='1';
	elsif(serveb ='1')then way<='0';
	end if;
end process;
end;

在这里插入图片描述
5.球拍模型
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
6.21进制计数器(cou21)
在这里插入图片描述
在这里插入图片描述
TestBench:clr:1 0 ns, 0 1.28us
clk:1MHZ 50%
在这里插入图片描述
7.球灯模块(ball)
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
8.动态扫描模块(scan_led)
例如加入激励:

countah=0001、
countal=0010、
countbh=0011、
countbl=0100
对应sel=BF(第六个数码管)
seg=25(段选2)即在此scan
到来时数码管第六位【A选手
的分数个位】显示2

在这里插入图片描述
四、实验结论:
1.波形仿真
在这里插入图片描述
红色箭头:lamp与clk波形完全反向,用来接数码管中的一个段,在开发板上用来判断工作clk的范围是否正确。

bain与bbin状态导致speaker失分脉冲来临,也预示会有加分进位,对应countal、countah、countbl、countbh。

黄、蓝、绿色框选部分:黄色对应ballout球灯前进方向;蓝色对应sel、绿色对应seg输出数码管显示得分。

截图波形总体说明:

B方发球,A方接球有效;B方回球失误,A方得分同时蜂鸣器响;
B方发球,A方接球失误,B方得1分;A方发球,B方接球失误,A方得1分。

2.FPGA 开发板实现功能的显示
在这里插入图片描述
在这里插入图片描述
五、总结及心得体会:
1.通过这次实验更加深入理解了ACTIVE开发环境的top-down设计理念,熟练的掌握了VHDL的语法规则,项目初期团队在选题时需要更加的谨慎,分工需要更加合理。

2.项目中期,对整个逻辑的连接和顶层的编写要明确,各模块都需要仿真确保模块本身没问题后在放到顶层进行仿真。

3.项目后期,要更加耐心仔细的debug,综合后烧写到FPGA上进行实际的功能调试。

六、对本实验过程及方法、手段的改进建议:
1.可以设置发球权,一方连续发球5次后,交换发球权;
2.当一方发球时,另一方发球无效;
3.可以用中间没有用过的数码管中的一个段来表示(A:B)中的比号;
4.在这次的设计中并没有用到按键消抖,对实验的效果显示有一定影响;
5.运用场景可以多元化,比分可以修改计数器的进制来实现21计分,11计分等等不同比分规则的比赛。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值