我在VHDL
代码中选择的信号分配有什么问题?
with s select x <= a when (s = '1')
else y <= a when (s = '0');
我也尝试过:
with s select x <= a when '1';
with s select y <= a when '0';
答案 0 :(得分:0)
尚不清楚您要做什么。从您展示给我们看,在我看来,您想要创建一个由信号s(1个输入,2个输出)控制的多路分配器,其中当s ='1'时x <= a,当s ='0时y <= a '
在要创建多路复用器(n个输入,1个输出)的情况下,应使用select。也就是说,与多路分配相反!
我建议您使用简单的if语句创建多路分配器。
示例:
if s='1' then x <= a; else y <= a; end if;