当我在文字中指定基数时,为什么除了0和1之外什么都不能使用?

问题描述

y <= a when (s = b"--0") else '0' -- Erroneous.
y <= a when (s = "--0")  else '0' -- Okay.

我正在使用Vivado,并且只有在文字前面键入基数时,它才会给我错误Error: '-' is not a valid character in b"--0"。与ZUXLWH相同。

请注意,当我使用VHDL 2008并且已经使用它时,此方法工作正常,但我想知道为什么VHDL中的行为如此。

我首先想到的是例如将b"000"视为BIT_VECTOR,但是我尝试了以下操作:

architecture behav of ent is
    signal bv: BIT_VECTOR(2 DOWNTO 0) := b"000";
begin
    y <= a when (s = bv); -- Erroneous.
end behav;

但是这没有用。 Vivado给我一个错误,即没有为这两种类型定义=运算符。因此,我认为b“ 000”并不是隐含的BIT_VECTOR

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...