UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

AR# 52086

Vivado 合成 - 「WARNING: [Synth 8-1824] circular dependency found for file .vhd while ordering」という警告メッセージが表示される

説明

VHDL エンティティとアーキテクチャが別々のファイルで定義されている場合、Vivado 合成を実行した後に次のような警告メッセージが表示されることがあります。

WARNING: [Synth 8-1824] circular dependency found for file <name>.vhd  while ordering  

しかし、このような警告メッセージの後に、次のエラー メッセージが表示されることがあります。

ERROR: [Synth 8-1940] entity ... is not yet compiled

ソリューション

これらは正しい警告メッセージです。

デザインに循環依存の問題があることを示しています。

循環依存が発生する例を次に説明します。

a.vhd がライブラリ a_lib にコンパイルされているとします。a.vhd には次の use 文が含まれます。

library b_lib; 
use b_lib.all; 

次に、b.vhd がライブラリ b_lib にコンパイルされます。b.vhd には次の use 文が含まれます。

library a_lib; 
use a_lib.all; 

これにより、a.vhd と b.vhd が互いに依存した関係になります。これが循環依存です。

このような警告メッセージを回避するには、ライブラリの全体のコンテンツを指定する use 文(use <lib_name>.all) を書き込まないようにしてください。

その代わりに、パッケージ特定の use 文
(use <lib_name><package_name>) を使用してください。また、不要なライブラリの定義も削除してください。

この問題に対応するほかの回避策を次に示します。
 
1. VHDL エンティティとアーキテクチャを 1 つの VHDL ファイルにまとめます。
 
2. a) [Hierarchy Update] タブの [Hierarchy] フィールド、[Compile Order] フィールドで、[No Update]、[Manual Compile Order] を選択します。
 
    b) Vivado 合成で出力される [Synth 8-1940] エラー メッセージは、アーキテクチャ ファイルとエンティティ ファイルに対して出力されているので、エンティティ ファイルの前にアーキテクチャ ファイルを移動させます。
 
    c) Vivado 合成を実行します。これで合成が問題なく実行できるはずです。
 
3. 警告が 1 つしか表示されず、エラー メッセージなしにデザインが終了する場合は、次のステップに移動できるはずです。
 


AR# 52086
日付 04/16/2014
ステータス アクティブ
種類 既知の問題
ツール
  • Vivado Design Suite
このページをブックマークに追加