⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bahe.vhd.bak

📁 带获胜音乐的拔河游戏机
💻 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 + -