用VHDL语言编写7人表决器

Posted lhkhhk

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用VHDL语言编写7人表决器相关的知识,希望对你有一定的参考价值。

7人表决器,即大于等于3个人同意,结果为成功。用逻辑0和1表示就是超过3个1为真用‘1’表示,不成功用‘0’表示。则其程序如下:

library ieee;
use ieee.std_logic_1164.all;
entity qb7 is
port(
a:in std_logic_vector(6 downto 0);
b:out std_logic
);
end;
architecture bhv of qb7 is
begin
process(a)
variable Q :integer;
begin
Q:=0;
for n in 0 to 6 loop
if(a(n)=‘1‘) then Q:=Q+1;
end if;
end loop;
if Q>=4 then b<=‘1‘;
else b<=‘0‘;
end if;
end process;
end bhv;

在程序中,输入端口a,它的数据类型标准矢量类型(按位矢量输出)std_logic_vector(6 downto 0);即a<="1101101"可以这样赋值。

                  输出端口b,它的数据类型标准逻辑型(包含bit‘0‘和‘1‘)std_logic;对于输出的结果用‘0‘和‘1‘表示。

                  变量Q,它的数据类型是整形,因为Q是统计1的个数,故用整数类型替代。

七人表决器的原理图:

技术图片

 

 七人表决器的仿真图:

技术图片

 

 

以上是关于用VHDL语言编写7人表决器的主要内容,如果未能解决你的问题,请参考以下文章

急急急!!!用vhdl语言写一个计数器程序 下面的错误不知道哪里错了求指教

vhdl语言有哪几种类操作符?

利用 VHDL 语言设计四个呼吸灯,呼吸频率分别为 0.1Hz,0.2Hz,0.4Hz, 0.8H

vhdl语言中取余符号rem如何用?举例说明。

VHDL 计数器实验看VHDL语言

哪位高手知道DDS的波形查找表怎么生成?c语言怎么写?用VHDL又怎么弄?还有怎么调用ROM