AR# 45286

ISE Simulator - ポート「バッファ」が ISIM でサポートされていない

説明


ISIM でポート「バッファー」がサポートされていません。次のようなエラーが発生します。

"ERROR:HDLCompiler:439 - "C:/XXX/XXX/XX.vhd" Line 46: Formal port<xxx> of mode buffer cannot be associated with actual port<xxx> of mode out"

"ERROR:Simulator:777 - Static elaboration of top level VHDL design unitXX in library work failed"

ソリューション


バッファーとして宣言されているポートがある場合、このようなエラーが発生します。VHDL バッファ ポートを出力として宣言し、中間信号として使用して読み出しと書き込みを実行した後、その中間信号を出力ポートに割り当てなけらばならない場合があります。
次の例を参照してください。

entity alu is

port(

A : in STD_LOGIC_VECTOR(3 downto 0);

B : in STD_LOGIC_VECTOR(3 downto 0);

CLK : in STD_LOGIC;

C : buffer STD_LOGIC_VECTOR(3 downto 0) );

end alu;



architecture BEHAVIORAL of alu is

begin

process begin

if (CLK'event and CLK='1') then

C <= UNSIGNED(A) + UNSIGNED(B) UNSIGNED(C);

end if;

end process;

end BEHAVIORAL;

修正後のコード



entity alu is

port(

A : in STD_LOGIC_VECTOR(3 downto 0);

B : in STD_LOGIC_VECTOR(3 downto 0);

CLK : in STD_LOGIC;

C : out STD_LOGIC_VECTOR(3 downto 0)

);

end alu;



architecture BEHAVIORAL of alu is

-- dummy signal

signal C_INT : STD_LOGIC_VECTOR(3 downto 0);

begin

C <= C_INT;

process begin

if (CLK'event and CLK='1') then

C_INT <= A and B and C_INT;

end if;

end process;

end BEHAVIORAL;

ポートに関する詳細は、『合成およびシミュレーションガイド』、『ISIM ユーザー ガイド』を参照してください。
AR# 45286
日付 12/15/2012
ステータス アクティブ
種類 一般
ツール 詳細 概略