2009-09-08 25 views
1

ビルドフローのすべてのシステム - Verilog依存関係を安く正確に予測しようとしています。依存関係を過度に予測して、SV依存関係ではないいくつかのVerilogファイルを見つけても問題ありませんが、依存関係を見逃したくありません。Verilogコンパイルのすべての依存関係を見つける

実際にはすべての依存関係を判断するためにVerilogを解析する必要がありますか? tick-includeプリプロセッサマクロがありますが、それらのtick-includeは現在コンパイルされているすべてのコードをロードしていないようです。 SYSTEM_VERILOG_PATH環境変数があります。どのモジュールがどのファイルに定義されているかを判断するには、そのSYSTEM_VERILOG_PATH変数のすべてのシステムVerilogファイルを解析する必要がありますか?

答えて

1

(合成可能なコードの場合)良い方法の1つは、合成ツールのファイルリスト(アルテラの場合は.qsf)を使用することです。それは完全である傾向がありますが、そうでない場合は、見つかった欠落しているファイルのビルドログを見ることができます。

+0

優れたアイデア - 私は合成スクリプトを調べます。 –

0

Questaには、デザインをコンパイルした後に、すべての依存関係を持つメイクファイルが生成されるコマンドラインオプションがあります。私は他のシミュレータがそれを持っているかどうかはわかりません。

もう1つの方法は、コンパイルしたライブラリをシミュレータでブラウズしてダンプすることです。おそらくモジュールがコンパイルされる実際のファイル名は得られませんが、コンパイルされたライブラリに表示されるモジュール名のすべてのVerilogファイルを解析する方がはるかに簡単です。容易にコンパイル環境から

1

ソースファイル (例えばケイデンス

-- To list source files used by the snapshot 'worklib.top:snap' 
% ncls -source -snapshot worklib.top:snap 


をダンプすることは可能ですが、あなたは、私は怖いゼロから始めている場合は簡単な解決策はありません。私は実用的なものに行くでしょう:.svファイルを含むすべてのディレクトリを持つ設定ファイルを持って、その中のすべてをコンパイルしてください。プロジェクトのファイル構造が適切であれば、すべてのメジャーブロックに設定ファイルを提供してモジュール化することもできます。

希望に役立ちます。

関連する問題