如何在VHDL中定义和使用定点数

如何在VHDL中定义和使用定点数,vhdl,fixed-point,Vhdl,Fixed Point,我只是在尝试学习如何定义和使用定点数字,然后再将它们用于更大的项目中 我还没有任何错误,当我尝试运行模拟时(只是为了检查变量的值),它会收到一条错误消息,说“launch_simulation”由于早期的错误而失败 但我看不出错误在哪里 抱歉,如果这是一个基本问题,我发现很难在网上找到任何解释材料,也无法在本网站上找到类似的问题 library IEEE; use IEEE.STD_LOGIC_1164.ALL; use ieee.fixed_pkg.ALL; entity phz_calc

我只是在尝试学习如何定义和使用定点数字,然后再将它们用于更大的项目中

我还没有任何错误,当我尝试运行模拟时(只是为了检查变量的值),它会收到一条错误消息,说“launch_simulation”由于早期的错误而失败

但我看不出错误在哪里

抱歉,如果这是一个基本问题,我发现很难在网上找到任何解释材料,也无法在本网站上找到类似的问题

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use ieee.fixed_pkg.ALL;


entity phz_calc is
--    Port ();
end phz_calc;

architecture Behavioral of phz_calc is

begin

process

variable z : sfixed (3 downto -3);

begin

z := to_sfixed(3.2,3,-3);

wait;

end process;
end Behavioral;

浮点文字的到固定转换中存在边界错误。左索引参数是1,右索引参数是3,这将给出一个空范围。这3希望是-3(见频率范围)。此外,整数部分13不适合整数部分1到0的范围。有点过时,但Dave Bishops从采用前一直到2008年。似乎期望您阅读包体源代码。有一个I,您可以在其中下载。这包括IEEE库中包的源代码。如果您更正了输入错误(-3),您会发现在流程结束时缺少等待语句。抓取一个控制台输出(或添加等待语句)将显示
(断言警告)::ieee:fixed\u generic\u pkg:TO\u UFIXED(REAL):vector truncated
@user1155120我做了您建议的更改,并将3更改为-3。我还增加了整数范围,使freq的值适合于ufixed范围。这并不能解决问题,脚本仍然无法运行。你知道我还有什么问题吗?