2016-09-27 9 views
-1

に接続されています。上記のエラーが発生します。インスタンス<gen[1].*>の<*>が未接続であるか、または以下のVHDLコードを合成しているときに無負荷信号

これは、複数のエンティティを接続するトップレベルの設計です。

コンポーネント宣言:

COMPONENT channel_memory IS 
    PORT (
     clka : IN STD_LOGIC; 
     rsta : IN STD_LOGIC; 
     wea : IN STD_LOGIC_VECTOR(0 DOWNTO 0):= (OTHERS => '0'); 
     addra : IN STD_LOGIC_VECTOR(11 DOWNTO 0):= (OTHERS => '0'); 
     dina : IN STD_LOGIC_VECTOR(15 DOWNTO 0):= (OTHERS => '0'); 
     douta : OUT STD_LOGIC_VECTOR(15 DOWNTO 0):= (OTHERS => '0') 
     ); 
END COMPONENT; 
COMPONENT MAX5190 IS 
    PORT ( 
     GCLK       : IN STD_LOGIC;      -- CLK in 200 MHz 
     RSTN       : IN STD_LOGIC;      -- Reset 
     OUTPUT_TRIGGER     : IN STD_LOGIC;      -- Enable the module (from controller) 
     TRIGGER_CHIRP     : IN STD_LOGIC;      -- Start chirping  (from channel delay) 
     LOAD_ACK      : IN STD_LOGIC;      -- Data ready    
     DATA_LENGTH      : IN STD_LOGIC_VECTOR (11 DOWNTO 0); -- Total words to send to DAC 
     DIN        : IN STD_LOGIC_VECTOR (15 DOWNTO 0) := (OTHERS => '0'); -- Actual data to send to DAC 
     CHIRP_EN_TRIGGER    : IN STD_LOGIC;      -- Enable dac >> ×××××××××××× 
                    --       × 
     -- Memory block                   × 
     LOAD_OUTPUT      : OUT STD_LOGIC;      -- Request data    × 
     DATA_ADDR      : OUT STD_LOGIC_VECTOR (11 DOWNTO 0); -- Adress to read from  × 
                    --       × 
     CHIRP_EN      : OUT STD_LOGIC;      -- opamp enable << ×××××××××× 
     -- MAX5190 outputs 
     DAC_EN       : OUT STD_LOGIC;      -- DAC Enable (always high) 
     DAC_CS       : OUT STD_LOGIC;      -- DAC chip select 
     DAC_CLK       : OUT STD_LOGIC;      -- DAC clock out 
     DAC_DATA      : OUT STD_LOGIC_VECTOR (7 DOWNTO 0)  := (OTHERS => '0') -- dac data 
); 
END COMPONENT; 

COMPONENT memory_controll IS 
    PORT(
     CLK        : IN STD_LOGIC; 

     -- from controller 
     DATA_IN       : IN STD_LOGIC_VECTOR (15 DOWNTO 0); -- data to store 
     DATA_LENGTH      : in STD_LOGIC_VECTOR (11 DOWNTO 0); -- number of words to store 
     RESET       : IN STD_LOGIC;      -- reset module 
     NEW_DATA      : IN STD_LOGIC;      -- new data available flag 
     WRITE_ENABLE     : IN STD_LOGIC;      -- enable writing 

     -- from MAX5190 
     ADDRESS_SELECT     : IN STD_LOGIC_VECTOR (11 DOWNTO 0) := (others => '0'); -- addres selected by MAX5190 driver 
     REQUEST_DATA     : IN STD_LOGIC;      -- request data 
     DATA_OUT      : OUT STD_LOGIC_VECTOR (15 DOWNTO 0); -- data to MAX5190 driver 
     DATA_READY      : OUT STD_LOGIC;      -- data to MAX5190 driver ready 

     -- to memory 
     DOUTA       : IN STD_LOGIC_VECTOR (15 DOWNTO 0) := (others => '0'); -- data from memory 
     DINA       : OUT STD_LOGIC_VECTOR (15 DOWNTO 0); -- data to memory 
     ADDRA       : OUT STD_LOGIC_VECTOR (11 DOWNTO 0); -- addres to write or read 
     WEA        : OUT STD_LOGIC_VECTOR ( 0 DOWNTO 0); -- write enable 
     RSTA       : OUT STD_LOGIC       -- reset memory 

     ); 

ポートマッピング:

gen: for i in 1 to number_of_channels generate 
    -- memory controll 
memcont: memory_controll 
    PORT MAP(
     CLK        => clk400MHz, 

     -- from controller 
     DATA_IN       => MEMORY_CONTROL_DATA, 
     DATA_LENGTH      => MEMORY_CONTROL_DATA_LENGTH, 
     RESET       => BUTTON, 
     NEW_DATA      => MEMORY_CONTROL_NEW_DATA, 
     WRITE_ENABLE     => MEMORY_CONTROL_WRITE_ENABLE, 

     -- from MAX5190 
     ADDRESS_SELECT     => ADDRESS_SELECT (i), 
     REQUEST_DATA     => REQUEST_DATA  (i), 
     DATA_OUT      => DATA_OUT   (i), 
     DATA_READY      => DATA_READY  (i), 

     -- to memory 
     DOUTA       => DOUTA (i), 
     DINA       => DINA  (i), 
     ADDRA       => ADDRA (i), 
     WEA        => WEA  (i), 
     RSTA       => RSTA  (i) 
     ); 

    -- max5190 
max: max5190 
    PORT MAP(
     GCLK       => clk200MHz, 
     RSTN       => MAX5190_RESET, 
     OUTPUT_TRIGGER     => MAX5190_ENABLE, 
     TRIGGER_CHIRP     => TRIGGER_CHIRP   (i), 
     LOAD_ACK      => DATA_READY    (i), 
     DATA_LENGTH      => MAX5190_DATA_LENGTH, 
     DIN        => DATA_OUT     (i), 
     CHIRP_EN_TRIGGER    => MAX5190_CHIRP_ENABLE, 

     -- Memory block   
     LOAD_OUTPUT      => REQUEST_DATA  (i), 
     DATA_ADDR      => ADDRESS_SELECT (i), 

     CHIRP_EN      => CHIRP_EN  (i), 
     -- MAX5190 outputs 
     DAC_EN       => DAC_EN  (i), 
     DAC_CS       => DAC_CS  (i), 
     DAC_CLK       => CHANNEL_CLKS (i), 
     DAC_DATA      => CHANNELS  (i) 
     ); 
    -- memory 
mem: channel_memory 
    PORT MAP(
     clka       => clk400MHz, 
     rsta       => BUTTON, 
     wea        => WEA  (i), 
     addra       => ADDRA (i), 
     dina       => DINA  (i), 
     douta       => DOUTA (i) 
     ); 

私は私のタイプを宣言したパッケージ:

PACKAGE jelle IS 
FUNCTION lookup (input: STD_LOGIC_VECTOR(15 DOWNTO 0)) RETURN INTEGER; 
FUNCTION jOR (input: STD_LOGIC_VECTOR(7 DOWNTO 0)) RETURN STD_LOGIC; 
TYPE VECTOR_ARRAY is array (POSITIVE) of STD_LOGIC_VECTOR(7 downto 0); 
TYPE ADDRESS_ARRAY is array (POSITIVE) of STD_LOGIC_VECTOR(11 downto 0); 
TYPE DATA_ARRAY  is array (POSITIVE) of STD_LOGIC_VECTOR(15 downto 0); 
TYPE WEA_ARRAY  is array (POSITIVE) of STD_LOGIC_VECTOR(0 downto 0); 

エンドパッケージ。

前回私はこれらのコードを合成して警告しましたが、今はエラーに変わっていますが、まだかなり重要だと思います。

INFO:Xst:3210 - "E:\Projects\VHDL\New_Phase\toplevel.vhd" line 288: Output port <CLK_OUT3> of the instance <dcm> is unconnected or connected to loadless signal. 
INFO:Xst:3210 - "E:\Projects\VHDL\New_Phase\toplevel.vhd" line 288: Output port <LOCKED> of the instance <dcm> is unconnected or connected to loadless signal. 

INFO:Xst:3210 - "E:\Projects\VHDL\New_Phase\toplevel.vhd" line 296: Output port <MAX5190_CHIRP_ENABLE_TRIGGER> of the instance <contr> is unconnected or connected to loadless signal. 

INFO:Xst:3210 - "E:\Projects\VHDL\New_Phase\toplevel.vhd" line 365: Output port <DATA_OUT> of the instance <gen[1].memcont> is unconnected or connected to loadless signal. 

INFO:Xst:3210 - "E:\Projects\VHDL\New_Phase\toplevel.vhd" line 365: Output port <DINA> of the instance <gen[1].memcont> is unconnected or connected to loadless signal. 

INFO:Xst:3210 - "E:\Projects\VHDL\New_Phase\toplevel.vhd" line 365: Output port <ADDRA> of the instance <gen[1].memcont> is unconnected or connected to loadless signal. 

INFO:Xst:3210 - "E:\Projects\VHDL\New_Phase\toplevel.vhd" line 365: Output port <WEA> of the instance <gen[1].memcont> is unconnected or connected to loadless signal. 

INFO:Xst:3210 - "E:\Projects\VHDL\New_Phase\toplevel.vhd" line 365: Output port <RSTA> of the instance <gen[1].memcont> is unconnected or connected to loadless signal. 

INFO:Xst:3210 - "E:\Projects\VHDL\New_Phase\toplevel.vhd" line 391: Output port <DATA_ADDR> of the instance <gen[1].max> is unconnected or connected to loadless signal. 

INFO:Xst:3210 - "E:\Projects\VHDL\New_Phase\toplevel.vhd" line 391: Output port <DAC_DATA> of the instance <gen[1].max> is unconnected or connected to loadless signal. 

INFO:Xst:3210 - "E:\Projects\VHDL\New_Phase\toplevel.vhd" line 414: Output port <douta> of the instance <gen[1].mem> is unconnected or connected to loadless signal. 

これらのエラーは、生成されたオブジェクトごとに繰り返されます。 入力ポートにはデフォルト値が設定されています。なぜなら、コンパイラはエラーを要求し続けていたからです。

誰かが私を助けることができたら、それは素晴らしいだろう!

+0

使用されるように、おそらくがあるので

だから、これは[最小限ではありませんが、インスタンス化されたモジュールからの出力を接続し、上記のコンポーネントがインスタンス化されたモジュールを見て、またはモジュールを取ります完全で検証可能な例](http://stackoverflow.com/help/mcve)。最初の3つのエラー信号はコードスニペットに見つかりません。 DATA_OUTはmemory_contとmaxを相互接続します。入力ポートのデフォルトを要求するようになると、接続されていないことが示されます。コードスニペットでは、質問に答えるだけでは不十分です。あなたのデザインはシミュレートされていますか? – user1155120

+0

@ user1155120最初の3つのエラーはこのトピックには含まれていませんでした。私が期待した3人。ご覧のように、ポートは接続されているので、ポートは要求してはいけません。しかし、あなたが以下を読むことができるように、問題を解決するための長い方法ではなく、モジュール的な方法で行ってきました。とにかくあなたの興味に感謝します! – Xinq

答えて

0

インスタンス化されたモジュールに接続されている信号は単純に使用されないため、たとえば< gen [1] .memcont>のメッセージ "出力ポート< DATA_OUT>が未接続または無負荷信号に接続されています。出力が;-)

+0

しかし、 'memory_controll'の' DATA_OUT'出力は 'MAX5190'の' DIN'入力に 'DATA_OUT'信号を介して接続されています。 しかし、私はそれがgenerateループやSTD_LOGIC_VECTOR(15 downto 0);のTYPE DATA_ARRAY配列(POSITIVE)と関係があると思います。 – Xinq

+0

接続自体は実際に負荷があることを保証しません。したがって、MAX5190の 'DIN 'が実際に出力を使用しているかどうかを確認してください。 –

+0

私はIsimと上記の3つのコンポーネントを別々にシミュレートしましたが、今std_logic_vectorsの配列に接続されていないと言います。それが問題だろうか?はいの場合、どのようにそれを解決するための任意のアイデア? – Xinq

関連する問題

 関連する問題