我正在尝试使用4多路复用器3-1构建多路复用器9-1, 我需要使用4 sel条目和9条目和一个输出。 这是我写3-> 1多路复用器的方式:
library ieee;
use ieee.std_logic_1164.all;
entity my_mux_1 is
port(inputt : in std_logic_vector(2 downto 0) ;
selector : in std_logic_vector(1 downto 0);
outputt : out std_logic ) ;
end my_mux_1;
architecture arc_my_mux_1 of my_mux_1 is
begin
outputt <= inputt(0) when selector="00" else
inputt(1) when selector="01" else
inputt(2) when selector="10" else
'0';
end arc_my_mux_1 ;
现在我在编写9-> 1乘法器时遇到了麻烦,我基本上是这样写的,因为我注意到,例如,对于ecample来说,Entery 11不会消失,我根据每个二进制数选择了位。到目前为止,:
library ieee;
use ieee.std_logic_1164.all;
entity mux_9_1 is
port( inputt : in std_logic_vector(8 downto 0) ;
selector : in std_logic_vector(3 downto 0);
outputt : out std_logic ) ;
end mux_9_1 ;
architecture arc_mux_9_1 of mux_9_1 is
component my_mux_1 is
port( inputt : in std_logic_vector(2 downto 0) ;
selector : in std_logic_vector(1 downto 0);
outputt : out std_logic ) ;
end component ;
signal y : std_logic_vector(2 downto 0) ;
begin
u0: my_mux port map (inputt(0)=>inputt(0),inputt(1)=>inputt(1),inputt(2)=>inputt(2),selector(0)=>selector(0),selector(1)=>selector(1),outputt=>y(0));
u1: my_mux port map (inputt(0)=>inputt(3),inputt(1)=>inputt(4),inputt(2)=>inputt(5),selector(0)=>selector(0),selector(1)=>selector(1),outputt=>y(1)) ;
u2: my_mux port map (inputt(0)=>inputt(6),inputt(1)=>inputt(7),inputt(2)=>inputt(8),selector(0)=>selector(0),selector(1)=>selector(1),outputt=>y(2)) ;
u3: my_mux port map (inputt(0)=>y(0),inputt(1)=>y(1),inputt(2)=>y(2),selector(0)=>selector(2),selector(1)=>selector(3),outputt=>outputt ) ;
end arc_mux_9_1 ;
有关如何以更简单的方式执行此操作的任何帮助?
答案 0 :(得分:0)
关于什么是问题,您的问题非常模糊。我假设您遇到一个错误,告诉您找不到my_mux,因为这就是我得到的。替换
u0: my_mux port map
使用
u0: mu_mux_1 port map
允许我编译。我已经运行了一个测试台,很好。