VHDL:使用泛型有条件地实例化组件

VHDL:使用泛型有条件地实例化组件,vhdl,Vhdl,我想使用命令行上设置的泛型有条件地实例化组件。我更喜欢使用字符串作为泛型(即fast或slow),而不是数字 我在stackOverflow上找不到任何这样的例子,所以我想问一下。这里是一个使用泛型有条件地实例化组件架构的例子。相同的代码可用于实例化不同的组件: ieee库; 使用ieee.std_logic_1164.all; 实体dut是 一般的( 速度:字符串:=“快速” ); 港口( clk:标准逻辑中; 复位:在标准逻辑中; 启动:在标准逻辑中; 完成:输出标准(U逻辑); 终端实体d

我想使用命令行上设置的泛型有条件地实例化组件。我更喜欢使用字符串作为泛型(即
fast
slow
),而不是数字


我在stackOverflow上找不到任何这样的例子,所以我想问一下。

这里是一个使用泛型有条件地实例化组件架构的例子。相同的代码可用于实例化不同的组件:

ieee库;
使用ieee.std_logic_1164.all;
实体dut是
一般的(
速度:字符串:=“快速”
);
港口(
clk:标准逻辑中;
复位:在标准逻辑中;
启动:在标准逻辑中;
完成:输出标准(U逻辑);
终端实体dut;
dut的架构是
组件延迟是
港口(
clk:标准逻辑中;
复位:在标准逻辑中;
启动:在标准逻辑中;
完成:输出标准逻辑
);
端部元件延迟;
开始
d1g:if(SPEED=“fast”)生成
d1f:实体工作延迟(fast)
港口地图(
时钟=>clk,
重置=>重置,
开始=>开始,
完成=>完成
);
否则生成
d1s:实体工作。延迟(慢)
港口地图(
时钟=>clk,
重置=>重置,
开始=>开始,
完成=>完成
);
终端生成;
终端架构;

为此,请考虑使用枚举类型而不是字符串。