gpt4 book ai didi

vhdl - 使用通用来确定 VHDL 中的(解)复用器大小?

转载 作者:行者123 更新时间:2023-12-01 02:49:39 36 4
gpt4 key购买 nike

我想使用通用的“p”来定义多路复用器将有多少输出。输入和所有输出均为 1 位。输出、控制和输入可以很简单,例如:

 signal control : std_logic_vector(log 2 p downto 0); -- I can use a generic for the log2..
signal input : std_logic;
signal outputs : std_logic_vector(p-1 downto 0);

但是多路复用器的实现代码是什么?甚至有可能吗?

最佳答案

不需要泛型:

library ieee;
use ieee.std_logic_1164.all;
use ieee.numeric_std.all;
entity demux is
port(
control : in unsigned;
input : in std_logic;
outputs : out std_logic_vector
);
end entity demux;

architecture rtl of demux is
-- Check size of input vectors
assert 2**control'length = outputs'length
report "outputs length must be 2**control length"
severity failure;
-- actually do the demuxing - this will cause feedback latches to be inferred
outputs(to_integer(unsigned(control)) <= input;

end architecture;

(未经测试,只是在我的头顶输入...)

这将推断闩锁 - 这是你想要的吗?

关于vhdl - 使用通用来确定 VHDL 中的(解)复用器大小?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5891700/

36 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com