0

ザイリンクスの除数 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;
4

1 に答える 1

3

エラー メッセージが何であるかはわかりませんが、コードに基づいたコメントをいくつか示します。

初め:

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;

これらすべてのライブラリが本当に必要なわけではありません。それらはさまざまな方法で衝突します。

numeric_std を使用するだけです (実際、この例では必要ありません)。

2番:

また、最上位エンティティpgにはクロック入力しかないため、問題が発生する可能性があります。ツールは、出力が外部に送信されないことに気づき、すべてを最適化します!

分周器の入力と出力を外の世界に持ち込んでみてください。

于 2011-02-15T12:30:59.423 に答える