我无法让这行代码工作:
结果<= (a * b)(31 downto 16);
编译器 (ghdl) 提示缺少 ';'在第一个 ')' 之后
a、b 和结果是无符号 16 位。
有什么建议吗?
显然我可以先进行乘法,然后在新行上切片(对此感到满意),但即使 chatgpt 也认为它应该按原样工作。
我尝试过:
结果<= (a * b)(31 downto 16);
我预计没有错误。
我收到错误:缺少“;”在声明的最后
看起来答案就在 @LHLaurini 建议的帖子中,“不幸的是,表达式不能被切片:” 不幸的是,我的研究工作没有成功,因为我根本不明白问题是什么,无法自己找到解决方案。 现在我明白了问题所在,我只需采取中间步骤即可。 我已将其错误告知chatgpt,后者建议进行相同的更改。 谢谢大家的帮助。