0

如果我要实现纯组合的 64 位除法,我正在尝试想出一种方法来估计门数。

我无法让我的综合工具生成组合的 64 位/64 位整数除法。

4

1 回答 1

1

完全组合的 64 位/64 位分频器带来了巨大的设计。这将使用大量资源并导致速度成绩不佳。我建议用几个寄存器阶段而不是完全组合来实现除法。

但是,如果您想尝试,可以综合以下代码(因为“/”操作由numeric_std库提供)。使用综合工具检查所需的资源(建议在实体中使用 std_logic_vector 进行综合):

library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.numeric_std.ALL;

entity divideComb is
Port ( a : in  STD_LOGIC_VECTOR (63 downto 0);
       b : in  STD_LOGIC_VECTOR (63 downto 0);
       c : out  STD_LOGIC_VECTOR (63 downto 0));
end divideComb;

architecture Behavioral of divideComb is

begin

    c<=std_logic_vector(signed(a)/signed(b));

end Behavioral;

上述代码使用 Xilinx ISE 13.4 得到以下综合结果:

  • 推断 131 加法器/减法器
  • 推断出 65 个比较器
  • 推断 4036 多路复用器

当使用 Spartan 6 架构时,这会导致 6982 个 Slice LUT(当然还有 0 个 FlipFlops!)

于 2013-03-30T06:37:06.780 回答