?? 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 + -