📄 bahe.vhd.bak
字号:
library IEEE;
use IEEE.std_logic_1164.all;
use IEEE.std_logic_unsigned.all;
entity bahe is
port(
player1,player2:in std_logic; --玩家1,2输入
clk_in:in std_logic; --clk_in(1MHZ)
reset:in std_logic; --重置键
row : out std_logic_vector(7 downto 0);
col : out std_logic_vector(7 downto 0);
led:out std_logic_vector(7 downto 0); --绳子
cats:out std_logic_vector(6 downto 0); --比分
q:out std_logic_vector(5 downto 0); --数码管控制
mus:out std_logic); --蜂鸣输出
end bahe;
architecture body_bahe of bahe is
--分频模块
component division
port(
clk_in:in std_logic; --1MHZ输入
clk_100,clk_5,clk_1:out std_logic);--100HZ,5Hz,1HZ
end component;
--计数模块
component count
port(
clk_1:in std_logic; --1HZ输入
sw:in std_logic; --状态开关
player1,player2:in std_logic; --选手输入
sum1,sum2:out std_logic_vector(4 downto 0)); --计数结果输出
end component;
--比较模块
component cmp
port(
clk_100:in std_logic; --100hz
clk_1:in std_logic; --1hz
sw:out std_logic; --状态开关输出
reset:in std_logic; --重置
start:in std_logic; --开始
sum1,sum2:in std_logic_vector(4 downto 0);--计数结果输入
music_begin:out std_logic; --音乐
record1,record2:out std_logic_vector(1 downto 0);--比分输出
lights:out std_logic_vector(2 downto 0)); --拔河绳子显示
end component;
--音乐模块
component music
port(
reset:in std_logic; --重置
clk:in std_logic; --1MHz
clk_5:in std_logic; --5hz
music_begin:in std_logic; --音乐开始
mus:out std_logic);
end component;
--译码模块
component decode
port(
clk_in:in std_logic; --1mHZ
record1,record2:in std_logic_vector(1 downto 0); --比分输入
lights:in std_logic_vector(2 downto 0); --拔河绳子输入
led:out std_logic_vector(7 downto 0); --输出到LED
q:buffer std_logic_vector(5 downto 0); --数码管控制
cats:out std_logic_vector(6 downto 0) --数码管显示比分
);
end component;
--倒计时模块
component daojishi
port(
clk_in,clk_1,reset:in std_logic;
row : out std_logic_vector(7 downto 0);
col : out std_logic_vector(7 downto 0);
start: out std_logic
);
end component;
--分频器输出
signal clk_100,clk_5,clk_1:std_logic; --时钟信号
--计数器输出
signal sum1,sum2:std_logic_vector(4 downto 0); --计数结果
--比较器输出
signal sw:std_logic; --状态开关
signal record1,record2:std_logic_vector(1 downto 0); --比分
signal lights:std_logic_vector(2 downto 0); --绳子
signal music_begin:std_logic;
--解码器输出
signal tmp_led:std_logic_vector(7 downto 0); --LED显示
signal tmp_q:std_logic_vector(5 downto 0); --数码管控制
signal tmp_cat:std_logic_vector(6 downto 0); --数码管显示比分
--倒计时器输出
signal tmp_start:std_logic;
begin
cats<=tmp_cat;
q<=tmp_q;
led<=tmp_led;
div: division port map(clk_in=>clk_in,clk_100=>clk_100,clk_5=>clk_5,clk_1=>clk_1);
cnt: count port map(
clk_1=>clk_1,sw=>sw,player1=>player1,player2=>player2,
sum1=>sum1,sum2=>sum2);
com: cmp port map(
clk_100=>clk_100,clk_1=>clk_1,sw=>sw,reset=>reset,
start=>tmp_start,sum1=>sum1,sum2=>sum2,music_begin=>music_begin,
record1=>record1,record2=>record2,lights=>lights);
dec: decode port map(
clk_in=>clk_in,record1=>record1,record2=>record2,
lights=>lights,led=>tmp_led,q=>tmp_q,cats=>tmp_cat);
mu: music port map(
reset=>reset,clk=>clk_in,clk_5=>clk_5,
music_begin=>music_begin,mus=>mus);
dao: daojishi port map(
clk_in=>clk_in,clk_1=>clk_1,reset=>reset,
start=>tmp_start,col=>col,row=>row);
end body_bahe;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -