📄 ballctrl.vhd
字号:
--总控制模块
library ieee;
use ieee.std_logic_1164.all;
entity ballctrl is
port(clr:in std_logic;--系统复位
bain:in std_logic;--左球拍
bbin:in std_logic;--右球拍
serclka:in std_logic;--左拍准确接球或发球
serclkb:in std_logic;--右拍准确接球或发球
clk:in std_logic;--乒乓球灯移动时钟
bdout:out std_logic;--球拍接球脉冲
serve:out std_logic;--发球状态信号
serclk:out std_logic;--球拍正确接球信号
ballclr:out std_logic;--乒乓球灯清零信号
ballen:out std_logic);--乒乓球灯使能
end ballctrl;
architecture ful of ballctrl is
signal bd:std_logic;
signal ser:std_logic;
begin
bd<=bain or bbin;
ser<=serclka or serclkb;
serclk<=ser;--球拍正确接球信号
bdout<=bd;--球拍接球脉冲
process(clr,clk,bd)
begin
if(clr='1' ) then --系统复位
serve<='1'; --系统处在发球状态
ballclr<='1'; --乒乓球灯清零
else --系统正常
if(bd='1')then --球拍发球或接球时
ballclr<='1'; --乒乓球灯清零
if(ser='1') then--球拍发球或准确接球
ballen<='1';--乒乓球灯使能允许
serve<='0'; --系统处在接球状态
else --接球
--
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -