AR# 47149

13.x/14.x EDK - VHDL ライブラリへの参照で 「ERROR:EDK:1405 File not found in any repository」というエラー メッセージが表示される、また lib_version_letter というフォーマットではなく、標準名のライブラリを使用して PAO ファイルを使用する方法

説明

ユーザー ライブラリを使用して pcore を使用している場合 (制約を使用したパッケージ)、合成プロジェクト ファイルを生成しているときに XPS にエラーが発生します。

同じ pcore を ISE で使用すると、問題はありません。

pcore の PRJ ファイルを生成するため、PAO ファイルの lib エントリを XPS は使用します。

この PRJ ファイル (/synthesis) には、パッケージの lib が含まれていません。

このため次のようなエラー メッセージが表示されます。

PAO ファイルの lib を使用するように XPS パーサーを指示するにはどうしたらよいでしょうか。

すべてのファイルは同じ /pcore/name/hdl/vhdl ディレクトリにあります。

エラー メッセージの例

ERROR:EDK:1405 - File not found in any repository
'defines/hdl/vhdl/ka81_defines.vhd'

Generating synthesis project file ...
ERROR:EDK:1405 - File not found in any repository
'defines/hdl/vhdl/ka81_defines.vhd'
ERROR:EDK:440 - platgen failed with errors!
make: *** [implementation/xps_ll_temac_0_wrapper.ngc]

ソリューション

ソリューション 1 :

lib を定義している行は次の行です。

lib defines ka81_defines vhdl

ディレクトリ階層を作成し、該当ファイルをそこにコピーする必要があります。たとえば、次のようになります。


./pcores/defines/hdl/vhdl/ka81_defines.vhd

パッケージが有効なパスにあるので、これで機能するようになります。また複数の pcore で共有することができます。


添付されているサンプルには、別のエンティティ (ダミー) を使用する簡単な (ダミー) pcore があります。

この他のライブラリは mylib という名前です。

mylib には、VHDL ファイルと必須の PAO ファイルの 2 つがあります。

この「mylib」が必要な pcore で、次のように変更します。

1. PAO ファイルの順序、そして残りのファイルの前に「lib mylib all」を追加します。

2. VHDL ファイル : library mylib; use mylib.all;

これでこの lib を使用できます。

例 :  

my_inst: entity mylib.test port map( inp => Bus2IP_Data, outp => IP2Bus_Data );

添付のサンプルでは、pcore cip1 は mylib を使用し、フローを実行します。


ソリューション 2 :

プロジェクト パスが長すぎると、Windows で「ERROR:EDK:1405 - File not found in any repository」というメッセージが表示される可能性もあります。 

サンプルのプロジェクトを c:\temp\ にコピーして、パスを短くしてからもう 1 度作業を行ってみてください。

添付ファイル

関連添付ファイル

タイトル サイズ ファイルタイプ
pcores.zip 274 KB ZIP
AR# 47149
日付 07/08/2014
ステータス アクティブ
種類 一般
ツール 詳細 概略