首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >浮点到定点的转换

问浮点到定点的转换
EN

Stack Overflow用户
提问于 2015-04-29 23:52:32
回答 1查看 1.4K关注 0票数 1

我正在创建一个使用固定点进行计算的硬件模块。但输入是浮点,因此我希望将浮点输入转换为定点(Q8.8)。

我一直在尝试使用David Bishops库(http://vhdl.org/fphdl/)来处理浮点和定点。它在模拟中工作得很好,但当我合成它时就不行了。例如,在下面的代码中,输出y在合成时被路由到地。

代码语言:javascript
复制
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.NUMERIC_STD.ALL;
library ieee_proposed;
use ieee_proposed.fixed_float_types.all;
use ieee_proposed.fixed_pkg.all;
use ieee_proposed.float_pkg.all;

entity sigmoid is
    Port (
        clk     : in std_logic;
        x       : in  float32;
        y       : out sfixed(15 downto -16)
    );
end sigmoid;

architecture Behavioral of sigmoid is

    signal size : sfixed(15 downto -16);

begin


    set_c: process(clk)
    begin 
        if rising_edge(clk) then
           y <= to_sfixed(x, size);
        end if;
    end process;

end Behavioral;

根据我在各个论坛和文档中所读到的内容,这段代码应该可以很好地合成。此外,使用to_float( fixed )将fixed转换为浮点型也能正常工作。我错过了什么吗?有没有其他简单的方法来实现浮点型->的固定转换?

EN

回答 1

Stack Overflow用户

发布于 2015-05-01 05:09:31

每当我使用Bishop的库进行合成时,我只是将包包含在项目中,并像下面这样为您的情况声明它们:

代码语言:javascript
复制
use work.float_pkg.all;
use work.fixed_pkg.all;

我不使用ieee_proposed库。

关于转换,我认为最简单的方法是真正使用包函数(直接或通过多个类型转换)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29948753

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档