2011-02-12 3 views
0

자일링스의 제퍼 IP 코어를 올바르게 사용하는 방법과 내가 잘못하고있는 것을 잘 모른다. 여기 자일링스의 디바이더 코어 사용

는 코드 문제로 감소 내가 ISE에 추가 ​​할 모든 내가 제수 코어 오순절을 추가하는 것입니다

CE -
지수가 17
제수가 서명 11
나머지
폭 폭 활성화
2 devision

과 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; 
+0

실제 오류 메시지를 게시하면 도움이 될 것입니다 ... –

+0

오류입니다. 해당 RFD가 없습니다. –

+1

XST에서보고 한 _actual_ 오류 메시지를 게시하면 사람들이 충돌하는 네트워크의 가능성을 좁힐 수 있기 때문에 응답을 빨리 얻을 수 있습니다. 너 왜 그래? –

답변

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; 

당신은 정말 모든 라이브러리를 싶지 않아, 그들은 다양한 방법으로 충돌 할 수 있습니다.

Just use numeric_std

두 번째 (사실, 당신도이 예를 들어이 필요하지 않습니다) :

또한 단지 클럭 입력을 가지고 당신의 최상위 법인 pg로 고통을 수 있습니다. 이 도구는 출력물이 외부 세계로 전송되지 않고 모든 것을 멀리 떨어져 나가는 것을 알아 차릴 것입니다!

디바이더 입력 및 출력을 외부 세계로 가져 오십시오.

관련 문제