--- 一个二选一多路转换器实例 library ieee; use ieee.std_logic_1164;
entity mux2to1 is port( s : in std_logic; zero, one : std_logic_vector( 7 downto 0 ); y : out std_logic_vector( 7 downto 0 ) ); end mux2to1;
architecture sel of mux2to1 is temp : std_logic_vector( 7 Downto 0 ) ; begin temp <= (s, s, s, s, s, s, s, s ) ; y <= ( temp and one ) or (not temp and zero); end sel
说明:信号s和one、zero的数据类型不同,不可以进行运算。于是定义一个和 one、zero同类型的内部信号temp,把temp的每个位设置成等于信号s的值,这 样三者就变成了同类型的数据。 |