ザイリンクスの除数 IP コアを正しく使用する方法と、何が間違っているのかがわかりません。
これが問題のコードです。ISE で余分に行うことは、除数コアを追加することだけです。
CE - 有効
商幅 17
除数幅 11
剰余
符号付き
1 分割あたり 2 クロック
および NET "CLK_50MHZ" 定義を含む UCF ファイル
このエラーが解消されない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;