我正在創建一個硬件模塊,它使用固定點進行計算。但是輸入是浮點,因此我希望將浮點輸入轉換爲定點(Q8.8)。浮點到定點覆蓋
我一直在嘗試使用的是David Bishops庫(http://vhdl.org/fphdl/)的浮點和固定點。它在模擬中效果很好,但是在我綜合它的時候效果不好。例如。在下面的代碼中,輸出y在合成時路由到地面。
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(固定)固定到浮點轉換工作得很好。我錯過了什麼嗎?是否有其他簡單的方法來實現浮動 - >固定轉換?
我假設你的綜合工具有'ieee_proposed'可用,你期望的功能是什麼?模擬和綜合工具之間對庫的支持差異是問題的常見原因。你使用什麼工具?他們有VHDL-2008的支持嗎? – Josh
如果這些工具具有良好的VHDL-2008 supprort,則不需要ieee_proposed庫,這些軟件包已移入庫ieee。 –