我想使用在命令行上设置的泛型有条件地实例化组件。我更喜欢将字符串作为通用字符串(即fastor slow)而不是数字。
我在stackOverflow上找不到任何这样的例子,所以我想我会问。
我想使用在命令行上设置的泛型有条件地实例化组件。我更喜欢将字符串作为通用字符串(即fastor slow)而不是数字。
我在stackOverflow上找不到任何这样的例子,所以我想我会问。
这是一个使用泛型有条件地实例化组件架构的示例。相同的代码可用于实例化不同的组件:
LIBRARY ieee;
use ieee.std_logic_1164.all;
entity dut is
generic (
SPEED : string := "fast"
);
port(
clk : in std_logic;
reset: in std_logic;
start: in std_logic;
done: out std_logic);
end entity dut;
architecture dutarch of dut is
component delay is
port (
clk : in std_logic;
reset: in std_logic;
start: in std_logic;
done: out std_logic
);
end component delay;
begin
d1g: if (SPEED = "fast") generate
d1f : entity work.delay(fast)
port map (
clk => clk,
reset => reset,
start => start,
done => done
);
else generate
d1s : entity work.delay(slow)
port map (
clk => clk,
reset => reset,
start => start,
done => done
);
end generate;
end architecture dutarch;