我一直在搜索,但找不到任何有用的信息,所以我猜它不支持...
我有一个类似这样的结构
SIGNAL container : STD_LOGIC_VECTOR((2*total)-1 DOWNTO 0);
SIGNAL storage : STD_LOGIC_VECTOR(total-1 DOWNTO 0);
copy : FOR a in 0 to total-1 GENERATE
first_set : IF a < 10 GENERATE
storage(a) <= container(a);
END GENERATE;
second_set : IF a > 9 GENERATE
storage(a) <= container(a+10);
END GENERATE;
END GENERATE;所以我想把两个子向量连接成一个新的子向量,但是如果first_set条件是False,有没有办法使用ELSE呢?就像这样
SIGNAL container : STD_LOGIC_VECTOR((2*total)-1 DOWNTO 0);
SIGNAL storage : STD_LOGIC_VECTOR(total-1 DOWNTO 0);
copy : FOR a in 0 to total-1 GENERATE
first_set : IF a < 10 GENERATE
storage(a) <= container(a);
ELSE
storage(a) <= container(a+10);
END GENERATE;
END GENERATE;发布于 2019-11-15 00:55:32
If..elsif..else生成是在VHDL2008中添加的。还添加了Case..generate。
https://stackoverflow.com/questions/58861292
复制相似问题