雙二選一多路選擇器


 這是一個雙二選1多路選擇器的原理圖,用VHDL語言描述,需要用到元器件例化語句。

首先編寫2選一多路選擇器。

entity mux21a is

port(a,b,c:in bit;

y:out bit

);

end;

architecture bhv of mux21a is

begin

process(a,b,c)

begin

if s='0' then y<=a; else y<=b;

end if;

end process;

end architecture bhv;

其電路邏輯:當y輸出高電平'1'時,s='0',a=1(b不考慮)

                                                         s='1',b=1(a不考慮)

                       當y輸出低電平‘0’時,s='0',a=0(b不考慮)

                                                          s='1',b=0(a不考慮)

雙2選1多路選擇器程序

entity muxk is

port(a1,a2,a3,s0,s1:in bit;

                       outy:out bit

);

end;

architecture bhv of muxk is

component mux21a

port(a,b,s:in bit;

y:out bit

);

end component;

signal tmp:bit;

begin

u1:mux21a port map(a=>a2,b=>a3,s=>s0,y=>tmp);

u2:mux21a port map(a=>a1,b=>tmp,s=>s1,y=>outy);

end architecture bhv;

其電路邏輯:當輸出為高電平'1'時,s1=0.a1=1(s0,a2,a3不考慮)

                                                          s1=1,s0=0,a2=1(a1,a3不考慮)

                                                                   s0=1,a3=1(a1,a2不考慮)

                       當輸出為低電平'0'時,s1=0,a1=0(s0,a2,a3不考慮)

                                                           s1=1,  s0=0,a2=0(a1,a3不考慮)

                                                           s1=1,s0=1,a3=0(a1,a2不考慮)

VHDL例化語句

例化語句由兩部分組成,第一部分是將一個現成的設計實體定義為一個元件,語句的功能是對待調用的這個元器件做出調用聲明。格式如下:

component  元件名 is

   port(端口名)

end component;

元件定義語句必須放在結構體的architecture和begin之間。

端口信號的數據類型的定義必須與原設計實體文件一致,而且信號的排列方式也要與原來一致,包括端口模式、數據類型、功能定義等。

元件例化語句的第二部分則是此元件與當前設計實體(頂層文件)中元件間及端口的連接說明。

例化名:元件名 port map([端口名=>]連接端口名.....);

port map是端口映射,或端口連接的意思。其中的“端口名”是在元件定義語句中的端口名表中已定義好元件端口的名字。

“=>”僅代表連接關系,不代表信號流動的方向。

 


免責聲明!

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



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