2014-05-22 4 views
0

나는 VHDL에 몇 가지 디자인 문제가 있다고 생각합니다.경고 : 여러 IO 기본 요소에 단일 loc 제약 조건을 적용하는 것은 모호합니다. 우리는 인스턴스에 제약을 유지할 것입니다

일부 핀을 높게 또는 낮게 설정하려고합니다. 연결된 다른 보드를 설정합니다. 내가 EDK 프로젝트의 IP를 :

[Constraints 18-5] Cannot loc instance 'processing_system7_0_PS_PORB_IBUF' at site B5, Site location is not valid [D:/Sensor/receiver/receiver.srcs/sources_1/edk/module_1/implementation/module_1_processing_system7_0_wrapper.ncf:137] 

[Constraints 18-5] Cannot loc instance 'processing_system7_0_PS_SRSTB_IBUF' at site C9, Site location is not valid [D:/Sensor/receiver/receiver.srcs/sources_1/edk/module_1/implementation/module_1_processing_system7_0_wrapper.ncf:138] 

[Constraints 18-5] Cannot loc instance 'processing_system7_0_PS_CLK_IBUF' at site F7, Site location is not valid [D:/Sensor/receiver/receiver.srcs/sources_1/edk/module_1/implementation/module_1_processing_system7_0_wrapper.ncf:139] 

[Designutils 20-1397] We found multiple IO primitives connected to net 'module_1_i/receiver_0_rs_uart_out_pin'. It is ambiguous to apply a single loc constraint on multiple IO primitives; we will keep the constraint on the instance 'module_1_i/receiver_0/XST_VCC' driving the net 'module_1_i/receiver_0_rs_uart_out_pin'. [D:/Sensor/receiver/receiver.srcs/sources_1/edk/module_1/data/module_1.ncf:5] 

[Constraints 18-5] Cannot loc instance 'module_1_i/receiver_0/XST_VCC' at site J15, Unknown instance type 'VCC' [D:/Sensor/receiver/receiver.srcs/sources_1/edk/module_1/data/module_1.ncf:5] 

[Designutils 20-1397] We found multiple IO primitives connected to net 'module_1_i/receiver_0_rs_te_485_pin'. It is ambiguous to apply a single loc constraint on multiple IO primitives; we will keep the constraint on the instance 'module_1_i/receiver_0/XST_GND' driving the net 'module_1_i/receiver_0_rs_te_485_pin'. [D:/Sensor/receiver/receiver.srcs/sources_1/edk/module_1/data/module_1.ncf:6] 

[Constraints 18-5] Cannot loc instance 'module_1_i/receiver_0/XST_GND' at site J16, Unknown instance type 'GND' [D:/Sensor/receiver/receiver.srcs/sources_1/edk/module_1/data/module_1.ncf:6] 

[Designutils 20-1397] We found multiple IO primitives connected to net 'module_1_i/receiver_0_rs_hf_out_pin'. It is ambiguous to apply a single loc constraint on multiple IO primitives; we will keep the constraint on the instance 'module_1_i/receiver_0/XST_VCC' driving the net 'module_1_i/receiver_0_rs_hf_out_pin'. [D:/Sensor/receiver/receiver.srcs/sources_1/edk/module_1/data/module_1.ncf:7] 

[Constraints 18-5] Cannot loc instance 'module_1_i/receiver_0/XST_VCC' at site L17, Unknown instance type 'VCC' [D:/Sensor/receiver/receiver.srcs/sources_1/edk/module_1/data/module_1.ncf:7] 

[Designutils 20-1397] We found multiple IO primitives connected to net 'module_1_i/receiver_0_rs_rxen_bar_pin'. It is ambiguous to apply a single loc constraint on multiple IO primitives; we will keep the constraint on the instance 'module_1_i/receiver_0/XST_GND' driving the net 'module_1_i/receiver_0_rs_rxen_bar_pin'. [D:/Sensor/receiver/receiver.srcs/sources_1/edk/module_1/data/module_1.ncf:8] 

[Constraints 18-5] Cannot loc instance 'module_1_i/receiver_0/XST_GND' at site N17, Unknown instance type 'GND' [D:/Sensor/receiver/receiver.srcs/sources_1/edk/module_1/data/module_1.ncf:8] 

[Designutils 20-1397] We found multiple IO primitives connected to net 'module_1_i/receiver_0_rs_dxen_pin'. It is ambiguous to apply a single loc constraint on multiple IO primitives; we will keep the constraint on the instance 'module_1_i/receiver_0/XST_VCC' driving the net 'module_1_i/receiver_0_rs_dxen_pin'. [D:/Sensor/receiver/receiver.srcs/sources_1/edk/module_1/data/module_1.ncf:9] 

[Constraints 18-5] Cannot loc instance 'module_1_i/receiver_0/XST_VCC' at site M15, Unknown instance type 'VCC' [D:/Sensor/receiver/receiver.srcs/sources_1/edk/module_1/data/module_1.ncf:9] 

이러한 경고를 일으키는 코드 부분이있을 수 있습니다 :

나는 다음과 같은 경고를 받고 있습니다 reciever.vhd과 두 개의 파일이 user_logic.vh. user_logic.vhd에서 일부 포트를 만들고 그 포트에 높은 값과 낮은 값을 할당하려고합니다.

entity user_logic is 
     port 
     (

      rs_rx   : in std_logic; 
      rs_clk_in  : in std_logic; 
      rs_dxen    : out std_logic; 
      rs_uart_out  : out std_logic; 
      rs_hf_out  : out std_logic; 
      rs_rxen_bar  : out std_logic; 
      rs_te_485  : out std_logic; 
        Bus2IP_Resetn     : in std_logic; 

    ); 
architecture IMP of user_logic is 
    signal q : unsigned(9 downto 0) := (others => '0'); 
    signal rx_clk : std_logic := '0' ; 

    signal rs_dxen_i  : std_logic; 
    signal rs_uart_out_i : std_logic; 
    signal rs_hf_out_i  : std_logic; 
    signal rs_rxen_bar_i : std_logic; 
    signal rs_te_485_i  : std_logic; 

begin 

    rs_dxen <= rs_dxen_i; 
    rs_uart_out <= rs_uart_out_i; 
    rs_hf_out <= rs_hf_out_i; 
    rs_rxen_bar <= rs_rxen_bar_i; 
    rs_te_485 <= rs_te_485_i; 

    process (Bus2IP_Resetn, rs_clk_in) is 

    begin 

     if(Bus2IP_Resetn = '1') then 

      rs_dxen_i <= '1'; 
      rs_uart_out_i <= '1'; 
      rs_hf_out_i <= '1'; 
      rs_rxen_bar_i <= '0'; 
      rs_te_485_i <= '0'; 

    elsif rs_clk_in'event and rs_clk_in = '1' then 

    q <= q + 1; 

    rx_clk <= q(9); --- 58.gdfg/2^9=~ 115.82Khz baud rate = 115200 


    end if; 
    end process; 

이 포트를 외부 포트로 만들고 일부 핀에 연결합니다. 그러나 위에서 언급 한 경고가 나타나고 해당 핀을 높게 또는 낮게 설정할 수 없습니다. 하지만 코드에서 출력 포트에 값을 지정하지 않으면 경고가 표시되지 않습니다.

B5, C9에 대한 경고는 무시할 수 있습니다. F7은 무시할 수 있습니다. 세 가지 경고가 항상옵니다. 이 부분을 시작 후에 넣지 않으면 다른 경고가 발생하지 않습니다. rs_dxen < = rs_dxen_i; rs_uart_out < = rs_uart_out_i; rs_hf_out < = rs_hf_out_i; rs_rxen_bar < = rs_rxen_bar_i; rs_te_485 < = rs_te_485_i;

답변

0

VHDL이 정상입니다. 명백한 문제는 핀 매핑이 유효하지 않다는 것입니다.

가장 먼저 의심되는 점은 핀 매핑이 FPGA의 다른 변형에 속한다는 것입니다. B5, C9 및 F7은이 변형에서 전원 공급 장치 핀이거나 이와 유사한 것이기 때문에 입력 버퍼를 가지고 있지 않습니다.

unknown instance type 'GND'은 의심 스럽지만.

+0

B5, C9에 대한 경고는 무시할 수 있습니다. F7은 무시할 수 있습니다. 세 가지 경고가 항상옵니다. 이 부분을 시작한 후에 배치하지 않으면 다른 경고가 발생하지 않습니다. rs_dxen <= rs_dxen_i; rs_uart_out <= rs_uart_out_i; rs_hf_out <= rs_hf_out_i; rs_rxen_bar <= rs_rxen_bar_i; rs_te_485 <= rs_te_485_i; –

+0

출력을 전혀 구동하지 않으면 이러한 출력이 넷리스트 생성 중에 최적화되어 유효하지 않은 핀 매핑을 무의미하게 만듭니다. –

+0

확인. 그래서이 출력 핀을 1과 0으로 구동해야합니다. 어떻게해야합니까? 이전에 저는 planahead를 사용했습니다. 이제는 자일링스 ISE를 사용하여 동일한 코드를 시도했지만 출력 포트는 높았습니다. 그러나 코드에 1을, 0에 몇 가지 코드를 넣는 것이 하나의 문제입니다. 하지만 오실로스코프의 핀을 점검 할 때 모든 핀은 높게 설정됩니다. –