在VHDL中,对无符号结果进行切片时出现错误

问题描述 投票:0回答:1

我无法让这行代码工作:

结果<= (a * b)(31 downto 16);

编译器 (ghdl) 提示缺少 ';'在第一个 ')' 之后

a、b 和结果是无符号 16 位。

有什么建议吗?

显然我可以先进行乘法,然后在新行上切片(对此感到满意),但即使 chatgpt 也认为它应该按原样工作。

我尝试过:

结果<= (a * b)(31 downto 16);

我预计没有错误。

我收到错误:缺少“;”在声明的最后

vhdl ghdl
1个回答
0
投票

看起来答案就在 @LHLaurini 建议的帖子中,“不幸的是,表达式不能被切片:” 不幸的是,我的研究工作没有成功,因为我根本不明白问题是什么,无法自己找到解决方案。 现在我明白了问题所在,我只需采取中间步骤即可。 我已将其错误告知chatgpt,后者建议进行相同的更改。 谢谢大家的帮助。

© www.soinside.com 2019 - 2024. All rights reserved.