AR# 18229

|

XST - 「ERROR:HDLParsers:1411 - Parameter count of mode out cannot be associated with a formal parameter of mode in」というエラー メッセージが表示される

説明

キーワード : VDHL, 6.1i, synthesize, output, 合成, 出力

VHDL デザインを合成する際に、次のようなエラー メッセージが表示されることがあります。

''ERROR:HDLParsers:1411 - <file>.vhd Line xx. Parameter count of mode out cannot be associated with a formal parameter of mode in."

ソリューション

この問題は、VHDL エンティティの出力ポートが、内部ロジックの入力信号として指定されている場合に起こります。 次のようにグループを作成します。

<code>
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity test is
port ( clk : in std_logic;
count : out std_logic_vector(7 downto 0));
end test;

architecture Behavioral of test is
begin

process (clk)
begin
if clk='1' and clk'event then
count <= count + 1;
end if;
end process;

end Behavioral;
</code>

この場合、出力信号として定義されている「count」が、内部ロジックの入力信号として指定されているためにエラーが発生します。

この問題を回避するためには、内部ロジックで中間信号を使用し、その信号を出力信号として指定します。次の例を参照してください。 例 :

<code>
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;

entity test is
Port ( clk : in std_logic;
count : out std_logic_vector(7 downto 0));
end test;

architecture Behavioral of test is
signal count_temp : std_logic_vector(7 downto 0);
begin

process (clk)
begin
if clk='1' and clk'event then
count_temp <= count_temp + 1;
end if;
end process;

count <= count_temp;

end Behavioral;
AR# 18229
日付 12/15/2012
ステータス アクティブ
種類 一般
People Also Viewed