(完整word版)七人表决器-VHDL语言编写代码
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
-------------------------------------
-- Title: 七人表决器--
-- Author:Pan hongtao --
-- Data: 2006-10-1 --
----------------------------------------
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
--------------------------------------------------------------------
entity exp12 is
port(
k1,K2,K3,K4,K5,K6,K7 : in std_logic; --输入:7个人
ledag : out std_logic_vector(6 downto 0); --数码管显示
m_Result : out std_logic --表决结果
);
end exp12;
--------------------------------------------------------------------
architecture behave of exp12 is
signal K_Num : std_logic_vector(2 downto 0);
signal K1_Num,K2_Num: std_logic_vector(2 downto 0);
signal K3_Num,K4_Num: std_logic_vector(2 downto 0);
signal K5_Num,K6_Num: std_logic_vector(2 downto 0);
signal K7_Num : std_logic_vector(2 downto 0);
begin
process(K1,K2,K3,K4,K5,K6,K7) --计算表决同意人数
begin
K1_Num<='0'&'0'&K1;
K2_Num<='0'&'0'&K2;
K3_Num<='0'&'0'&K3;
K4_Num<='0'&'0'&K4;
K5_Num<='0'&'0'&K5;
K6_Num<='0'&'0'&K6;
K7_Num<='0'&'0'&K7;
end process;
process(K1_Num,K2_Num,K3_Num,K4_Num,K5_Num,K6_Num,K7_Num)
begin
K_Num<=K1_Num+K2_Num+K3_Num+K4_Num+K5_Num+K6_Num+K7_Num;
end process;
process(K_Num) --根据人数输出结果
begin
if(K_Num>3) then
m_Result<='1';
else
m_Result<='0';
end if;
end process;
process(K_Num) --根据人数数码管显示表决通过人数begin
case K_Num is
when "000"=>ledag<="0111111";
when "001"=>ledag<="0000110";
when "010"=>ledag<="1011011";
when "011"=>ledag<="1001111";
when "100"=>ledag<="1100110";
when "101"=>ledag<="1101101";
when "110"=>ledag<="1111101";
when "111"=>ledag<="0000111";
when others=>ledag<="0000000";
end case;
end process;
end behave;。