VHDL MUX选择常量

时间:2014-03-13 20:25:27

标签: vhdl hdl mux

我的VHDL包中有一个常量。

constant USE_OSD : integer := 0;

这是我在合成之前在我的包中更改的内容。我想在我的VHDL代码中使用此常量作为我的MUX选择行。我怎么能这样做?

例如:

 s_out <=  path_a WHEN (USE_OSD = 0) else path_b;

谢谢,

- 鲁迪

2 个答案:

答案 0 :(得分:1)

这与MUX选择线无关。

根据此常量的值,可以将其详细说明为:s_out <= path_a;s_out <= path_b;。永远不会有多路复用器。

作为一种学习方式,请考虑通过综合工具运行并查看结果。

答案 1 :(得分:0)

我想你正在寻找一个if generate。这就像C中的预处理器命令。

示例:

path_a: if USE_OSD = 0 generate
   s_out <= path_a;
end generate path_a;
path_b: if USE_OSD /= 0 generate
   s_out <= path_b;
end generate path_b;

我认为VHDL 2008也允许其他生成。