无符号到整数转换 VHDL

unsigned to integer conversion VHDL

我正在尝试将 unsigned(7 downto 0) 数据转换为整数!

我有这个

SIGNAL SQ_X1: INTEGER RANGE 0 TO 1024:= conv_integer(pos_ini_x);

其中 pos_ini_x 来自另一个模块,它是随机数计算的结果。语法问题很好,但是当我转换为分配给 SQ_X1 变量时,效果不佳,结果总是提供零。

如果你知道如何改进这个转换并解决这个问题并解释为什么会发生,你能帮我吗?

不胜感激。

您正在应用 conv_integer 作为信号的初始值设定项。当 pos_ini_x 大概为 0 时,它仅在详细说明期间被调用一次。如果您想在详细说明后更新 SQ_X1 信号,您必须使用信号分配来更改它。

请注意 conv_integer 是一个非标准函数。 ieee.numeric_std 中的标准等价物是 to_integer.