複数のシミュレーション セット - 1.1 日本語

AXI Verification IP v1.1 LogiCORE IP 製品ガイド (PG267)

Document ID
PG267
Release Date
2017-10-04
Version
1.1 日本語

Vivado Design Suite には、ユーザー設定に基づいて 1 つのデザインに複数のシミュレーション セットを含める機能があります (AR: 64111 )。特に、1 つのデザインに対して複数のテストベンチを作成できます。たとえば、エラボレート済みデザインのビヘイビアー シミュレーションで使用するスティミュラスを提供するテストベンチと、インプリメント済みデザインのタイミング シミュレーションで使用するスティミュラスを提供するテストベンチを用意することが可能です。

AXI VIP 2017.1 リリースのサンプル デザインには、 表: AXI VIP のシミュレーション セット に示すシミュレーション セットが用意されています。 sim_all_config は、すべての機能を備えたシミュレーション セットです。機能の一覧は、 「AXI VIP のサンプル テストベンチとテスト」 を参照してください。ここには、 AXI VIP を複雑な方法で使用したいくつかの例も示しています。

ユーザーの便宜を図るため、このサンプル デザインには上記のシミュレーション セット以外にシンプルなコードを使用したシミュレーション セットが 10 種類用意されています。これら 10 個のシミュレーション セットの命名規則は次のとおりです。

sim_<basic または adv>_mst_<mode>__pt_<mode>__slv_<mode>

ただし、 mode = active、mem、passive、または combo

たとえば、 sim_basic_mst_passive__pt_mst__slv_comb は AXI マスター VIP がパッシブ モードの場合の AXI VIP の基本機能を実行するシミュレーション セットであることを表しています。AXI パススルー VIP はランタイム マスター モードで、メモリ モデルなしの AXI スレーブ VIP と通信します。

10 種類のシミュレーション セットの各テストベンチには、 generic_tb.sv 、マスター スティミュラス、およびスレーブ スティミュラスの 3 つのファイルがそれぞれ含まれます。

generic_tb は、スレーブ側 (AXI スレーブ VIP またはランタイム スレーブ モードの AXI パススルー VIP) を基準にして、マスター側 (AXI マスター VIP またはランタイム マスター モードの AXI パススルー VIP) に対するシンプルなセルフチェックを実行します。

マスター スティミュラスは、AXI マスター VIP またはランタイム マスター モードの AXI パススルー VIP によって生成されます。

スレーブ スティミュラスは、AXI スレーブ VIP またはランタイム スレーブ モードの AXI パススルー VIP (メモリ モデルあり、またはなし) によって生成されます。スレーブ メモリ スティミュラス ファイルが含まれており、このファイルにアクセスするとメモリ モデルありの AXI スレーブ VIP をチェックできます。

ベーシック シミュレーション セットとアドバンスト シミュレーション セットの違いとして、ベーシック シミュレーション セットは AXI VIP を使用するためにテストベンチで必要なコード スニペットを示しています。アドバンスト シミュレーション セットには、ユーザー設定可能な READY 信号などのオプション API も追加されています。詳細は、Vivado Design Suite のサンプル デザインを参照してください。API の使用法は、 ザイリンクス AXI VIP API の資料 [参照 12] を参照してください。

次に、各モードに対するトランザクションの生成方法を示します。

1. AXI マスター VIP 用のトランザクションを生成する方法は、 表: AXI VIP のシミュレーション セット に示した 10 種のシミュレーション セットのいずれかに含まれる mst_stimulus.sv を参照してください。

2. ベーシック AXI スレーブ VIP 用のトランザクション応答を生成する方法は、 表: AXI VIP のシミュレーション セット に示した 10 種のシミュレーション セットのいずれかに含まれる slv_basic_stimulus.sv を参照してください。メモリ モデルの要件は、 mem_basic_stimulus.sv を参照してください。

3. アドバンスト AXI スレーブ VIP 用のトランザクション応答を生成する方法は、 表: AXI VIP のシミュレーション セット に示した 10 種のシミュレーション セットのいずれかに含まれる slv_stimulus.sv を参照してください。メモリ モデルの要件は、 mem_stimulus.sv を参照してください。

4. AXI パススルー VIP 用のトランザクションを生成する方法は、 表: AXI VIP のシミュレーション セット に示したシミュレーション セットのいずれかに含まれる passthrough_mst_stimulus.sv を参照してください。

5. ベーシック AXI パススルー VIP 用のトランザクション応答を生成する方法は、 表: AXI VIP のシミュレーション セット に示したシミュレーション セットのいずれかに含まれる passthrough_slv_basic_stimulus.sv を参照してください。メモリ モデルの要件は、 passthrough_mem_basic_stimulus.sv を参照してください。

6. アドバンスト AXI パススルー VIP 用のトランザクション応答を生成する方法は、 表: AXI VIP のシミュレーション セット に示したシミュレーション セットのいずれかに含まれる passthrough_slv_stimulus.sv を参照してください。メモリ モデルの要件は、 passthrough_mem_stimulus.sv を参照してください。

7. [Sources] ウィンドウで AXI VIP のサンプル デザインを開くと、11 種類のシミュレーション セットが表示されます。いずれかのシミュレーション セットを選択してシミュレーションを実行することも、各テストベンチのソース コードを表示することもできます。

表 6-1: AXI VIP のシミュレーション セット

シミュレーション セット名

含まれるファイル

説明

sim_basic_mst_passive_pt_mst_slv_comb

passthrough_mst_stimulus.sv

slv_basic_stimulus.sv

generic_tb.sv

AXI マスター VIP がパッシブ モードの場合の AXI VIP の基本機能。AXI パススルー VIP はランタイム マスター モードで、メモリ モデルなしの AXI スレーブ VIP と通信します。

sim_basic_mst_active_pt_slv_slv_passive

mst_stimulus.sv

passthrough_slv_basic_
stimulus.sv

generic_tb.sv

AXI マスター VIP がアクティブ モードの場合の AXI VIP の基本機能。AXI パススルー VIP はメモリ モデルなしのランタイム スレーブ モードです。AXI スレーブ VIP はパッシブ モードです。

sim_basic_mst_active_pt_mem_slv_passive

mst_stimulus.sv

passthrough_mem_basic_
stimulus.sv

generic_tb.sv

AXI マスター VIP がアクティブ モードの場合の AXI VIP の基本機能。AXI パススルー VIP はメモリ モデルありのランタイム スレーブ モードです。AXI スレーブ VIP はパッシブ モードです。

sim_basic_mst_active_pt_passive_slv_mem

mst_stimulus.sv

mem_basic_stimulus.sv

generic_tb.sv

AXI マスター VIP がアクティブ モードの場合の AXI VIP の基本機能。AXI パススルー VIP はパッシブ モードです。AXI スレーブ VIP はメモリ モデルありのアクティブ モードです。

sim_basic_mst_active_pt_passive_slv_comb

mst_stimulus.sv

slv_basic_stimulus.sv

generic_tb.sv

AXI マスター VIP がアクティブ モードの場合の AXI VIP の基本機能。AXI パススルー VIP はパッシブ モードです。AXI スレーブ VIP はメモリ モデルなしのアクティブ モードです。

sim_adv_mst_passive_pt_mst_slv_comb

passthrough_mst_stimulus.sv

slv_stimulus.sv

generic_tb.sv

AXI マスター VIP がパッシブ モードの場合の AXI VIP の高度な機能。AXI パススルー VIP はランタイム マスター モードで、メモリ モデルなしの AXI スレーブ VIP と通信します。

sim_adv_mst_active_pt_slv_slv_passive

mst_stimulus.sv

passthrough_slv_stimulus.sv

generic_tb.sv

AXI マスター VIP がアクティブ モードの場合の AXI VIP の高度な機能。AXI パススルー VIP はメモリ モデルなしのランタイム スレーブ モードです。AXI スレーブ VIP はパッシブ モードです。

sim_adv_mst_active_pt_mem_slv_passive

mst_stimulus.sv

passthrough_mem_stimulus.sv

generic_tb.sv

AXI マスター VIP がアクティブ モードの場合の AXI VIP の高度な機能。AXI パススルー VIP はメモリ モデルありのランタイム スレーブ モードです。AXI スレーブ VIP はパッシブ モードです。

sim_adv_mst_active_pt_passive_slv_mem

mst_stimulus.sv

mem_stimulus.sv

generic_tb.sv

AXI マスター VIP がアクティブ モードの場合の AXI VIP の高度な機能。AXI パススルー VIP はパッシブ モードです。AXI スレーブ VIP はメモリ モデルありのアクティブ モードです。

sim_adv_mst_active_pt_passive_slv_comb

mst_stimulus.sv

slv_stimulus.sv

generic_tb.sv

AXI マスター VIP がアクティブ モードの場合の AXI VIP の高度な機能。AXI パススルー VIP はパッシブ モードです。AXI スレーブ VIP はメモリ モデルなしのアクティブ モードです。

sim_all_config

設定したすべての例を示します。

次の 4 つの図に、 AXI VIP のベーシック シミュレーション セット、アドバンスト シミュレーション セット、および sim_all_config シミュレーション セットを示します。

図 6-1: ベーシック シミュレーション セット

X-Ref Target - Figure 6-1

X18985-axi-vip-tb-bsc-simsets.jpg
図 6-2: アドバンスト シミュレーション セット

X-Ref Target - Figure 6-2

X18986-axi-vip-tb-adv-simsets.jpg
図 6-3: sim_all_config シミュレーション セット

X-Ref Target - Figure 6-3

X18988-axi-vip-tb-sim-all-config.jpg

この図 に、Vivado IDE でのシミュレーション設定例を示します。

図 6-4: Vivado Design Suite でのシミュレーション設定

X-Ref Target - Figure 6-4

axi-vip-sim-set.png