2016-09-22 6 views
2

私はメモリを刷新するための簡単なVHDLプロジェクトを作成しようとしています。ファイルhalf_adder.vhdを使用して、別のファイルfull_adder.vhdを作成しています。これはシミュレーションしたいものです。これらのファイルは同じプロジェクトにありません。私はザイリンクスISEバージョン14.7を使用しています。カスタムライブラリを使用したVHDLデザインのシミュレーション

私のコードは完璧に合成され、構文チェックに合格します。 RTL回路図を作成することもできます。しかし、私は全加算器のためのテストベンチを作成しようとするたびに、私は次のエラーメッセージが出ます:

ERROR:HDLParsers:3317 - "E:/workspaceXilinx/FullAdder/full_adder.vhd" Line 23. Library half_adder cannot be found.

ERROR:HDLParsers:3513 - "E:/workspaceXilinx/FullAdder/full_adder.vhd" Line 24. Declaration all can not be made visible in this scope since design unit half_adder is not a package.

私は仕事ライブラリにhalf_adder.vhdを追加しているので、私はよく分かりませんなぜライブラリが見つからないのか。ここで私が使用しています2つのファイルがある:

half_adder.vhd

library IEEE; 
use IEEE.STD_LOGIC_1164.ALL; 

library half_adder; 
use half_adder.all; 

entity full_adder is 
    port (a, b, cin: in STD_LOGIC; 
      s, cout: out STD_LOGIC); 
end full_adder; 


architecture Behavioral of full_adder is 
signal s1, c1, c2: STD_LOGIC:='0'; 
begin 

    HA1: entity work.half_adder port map(a, b, s1, c1); 
    HA2: entity work.half_adder port map(s1, cin, s, c2); 
    cout <= c1 or c2; 

end Behavioral; 

答えて

0

workライブラリは現在コンパイルされているライブラリを指し

library IEEE; 
use IEEE.STD_LOGIC_1164.ALL; 

entity half_adder is 
    port(a, b: in STD_LOGIC; 
      s, c: out STD_LOGIC); 
end half_adder; 

architecture Behavioral of half_adder is 
begin 
    s <= a xor b; 
    c <= a and b; 
end Behavioral; 

full_adder.vhd。デザインツールで明示的にhalf_adderライブラリを作成していない場合は、存在しません。あなたがする必要があるのは、half_adderに関連するこのlibraryuse節を削除することだけです。必須ではありません。

+0

速やかな回答ありがとうございます。 – Razorfoot

関連する問題