Я не знаю, как правильно использовать ip core делителя из xilinx и что я делаю неправильно.
Вот код, приведенный к проблеме, и все, что я делаю дополнительно в ISE, это то, что я добавляю ядро делителя
CE - включен
Коэффициент ширины 17
Ширина делителя 11
Остаток
Подпись
2 часа на одно деление
и файл ucf с определением NET "CLK_50MHZ"
Я не могу избавиться от этой ошибки http://www.xilinx.com/support/answers/13873.htm
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_arith.ALL;
use IEEE.STD_LOGIC_signed.ALL;
use IEEE.NUMERIC_STD.ALL;
-- Uncomment the following library declaration if instantiating
-- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;
entity pg is
Port ( CLK_50MHz : in STD_LOGIC );
end pg;
architecture Behavioral of pg is
signal CLK : std_logic;
signal div_ce : std_logic := '0' ;
signal div_rfd : std_logic;
signal dividend_std : std_logic_vector (16 downto 0) := "00000000000000000";
signal divisor_std: std_logic_vector (10 downto 0) := "00000000000";
signal quotient_std: std_logic_vector (16 downto 0) ;
signal fractional_std : std_logic_vector (10 downto 0);
component divider is
port ( clk: in std_logic;
rfd: in std_logic;
ce: in std_logic;
dividend : in std_logic_vector (16 downto 0);
divisor: in std_logic_vector (10 downto 0);
quotient: out std_logic_vector (16 downto 0);
fractional : out std_logic_vector (10 downto 0)
);
end component;
begin
cdiv: process(CLK_50MHz)
begin
if(CLK_50MHz'event and CLK_50MHz='1') then
CLK<=not CLK;
end if;
end process cdiv;
VVV:divider
port map( clk=>CLK,
rfd=>div_rfd,
ce=>'1',
dividend=>dividend_std,
divisor=>divisor_std,
quotient=>quotient_std,
fractional=>fractional_std
);
end Behavioral;