我正在学习 VHDL,但我还不明白如何正确使用泛型。假设我需要使用具有可变位数的 2:1 MUX 来描述不同的多路复用器。我们称这个参数为 p。这是一个示例代码(这个代码在这种情况下并不重要,tbh)
library ieee;
use ieee.std_logic_1164.all;
entity mux2to1_gen is
generic ( p : POSITIVE := 1 );
port (
x,y : in std_logic_vector ( p-1 downto 0 );
s : in std_logic;
m : out std_logic_vector ( p-1 downto 0 )
);
end mux2to1_gen;
architecture logic of mux2to1_gen is
signal s_vector : std_logic_vector ( p-1 downto 0 );
begin
s_vector <= ( others => s );
m <= (NOT (s_vector) AND x) OR (s_vector AND y); …
Run Code Online (Sandbox Code Playgroud)