用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的個數,故用整數類型替代。

七人表決器的原理圖:

 

 七人表決器的仿真圖:

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM