AR# 13199

|

7.1i Project Navigator - テストベンチ ファイルが階層 (複数レベル) にあると ModelSim シミュレーションの VSIM 段階でエラーが発生する

説明

キーワード : ModelSim, VSIM, Project Navigator, testbench, testbenches, hierarchy, dependency, multi, level, ISE, テストベンチ, 階層, 依存, 複数, レベル

プロジェクトに複数の HDL ファイルとテストベンチ ファイル (複数階層に存在) が含まれると、次のような場合に VSIM でエラーが発生します。
- 最上位にあるテストベンチ ファイルが最上位の HDL デザインに関連付けられている。
- ほかのテストベンチ ファイルが最上位テストベンチのサブエンティティであり、最上位の HDL ファイルと直接関連付けられていない。 この結果、下位のテストベンチ ファイルに対する compile コマンドが、ModelSim の DO ファイルに追加されません。

たとえば、テストベンチに次のファイル階層があるとします。
main_testbench
---> helper1
---> helper2

ISE では、テストされているモジュールの下にある main_testbench のみが配置され、helper1 および helper2 の配置先は認識されません。 そのため、ModelSim の DO ファイルには、main_testbench の compile コマンドのみが含まれ、helper1 および helper2 のコマンドは含まれません。

ソリューション

ModelSim の VSIM 段階でこのようなテストベンチ エラーが発生するのは、下位のテストベンチ ファイルがコンパイルされないためです。 Project Navigator では、最上位の HDL ファイルに基づいてファイルの依存関係が確認され、テストベンチ エンティティは確認されないため、下位のテストベンチ ファイルが ModelSim に渡されるコンパイル リストに追加されません。 この問題を回避する方法の 1 つとして、すべてのテストベンチを 1 つのファイルに含める方法があります。

上記の例の場合、helper1 および helper2 のすべての内容を切り取り、main_testbench に貼り付けます。


ModelSim で下位のテストベンチ ファイルをすべて追加し、コンパイルすると、このテストベンチを問題なく実行できます。 また、実際にテストベンチをシミュレーションする前に、DO ファイルを手動で変更し、コンパイルする下位のテストベンチ ファイルを追加することもできます。 上記の例の場合、次の行が自動的に DO ファイルに記述されています。

vcom -just e -93 -explicit main_testbench.vhd
vcom -skip e -93 -explicit main_testbench.vhd

次の行を vsim 文の前に追加します。

vcom -just e -93 -explicit helper1.vhd
vcom -skip e -93 -explicit helper1.vhd
vcom -just e -93 -explicit helper2.vhd
vcom -skip e -93 -explicit helper2.vhd.

階層テストベンチ シミュレーションは ISE 8.1i では問題なく動作します。
AR# 13199
日付 12/11/2006
ステータス アーカイブ
種類 一般
People Also Viewed