Vhdl 如何建立一个9->;1个使用3->;1倍频器?

Vhdl 如何建立一个9->;1个使用3->;1倍频器?,vhdl,Vhdl,我试图用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); outp

我试图用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 ;

你能帮我用更简单的方法解决这个问题吗?

你的问题很模糊,不知道是什么问题。我假设你得到一个错误,告诉你它找不到我的mux,因为这就是我得到的。替换

u0: my_mux port map


允许我编译。我已经运行了一个测试台,它很好

您的说明不完整:
选择器(3到0)
和要选择的9个输入之间的映射是什么?引用《星际迷航回家》中的马克·勒纳德的话,“当一个人不理解这个问题时,很难回答。”请参阅。我可以用更简单的方法来做这件事吗?不是一个特定的问题,您的代码示例也不起作用。完成作业有什么困难?您是否需要使用3:1 MUX?OP的问题是什么?除了您的方法之外,还可以通过将my_mux_1重命名为my_mux,或提供绑定指示作为体系结构声明项(配置规范):
for all:my_mux use entity work.my_mux_1在不更改u1、u2和u3选择器(1向下至0)关联的情况下输出实际值和添加逻辑。我花了一段时间才理解“添加逻辑”的含义,我可以看出OP编写的代码在编写[/I]时起作用[I]。从您的截图中,我现在了解到OP希望避免“丢失11b”行为。注意,我没有说这是正确的理解!如果OP必须使用3-1个多路复用器,这将变得更加复杂
u0: my_mux port map
u0: mu_mux_1 port map