七人表决器-VHDL语言编写代码

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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;

相关文档
最新文档