[Objects] ウィンドウ - 2023.2 日本語

Vivado Design Suite チュートリアル: ロジック シミュレーション (UG937)

Document ID
UG937
Release Date
2023-11-01
Version
2023.2 日本語
SystemVerilog では、ネット/変数はすべてスタティック タイプです。これらはシミュレーションの間常に存在します。SystemVerilog には、ダイナミック タイプという新しいタイプがあり、スタティック タイプと並行して使用されます。クラス、キュー、アソシエイティブ配列などがダイナミック タイプです。

スタティック タイプの変数 (int a; wire [7:0] b;) とは異なり、ダイナミック タイプの変数にはシミュレーションを通じて固定されたサイズはありません。変数はランタイム中に変化し続けます。ダイナミック タイプの変数の値は、[Objects] ウィンドウでシミュレーション中に確認できます。

  1. Restart ボタンをクリックします。
  2. [Scope] ウィンドウで axi_vip_0__exdes_adv_mst_active_pt_mem__slv_passive スコープを選択します。

  3. [Objects] ウィンドウを最大化します。シミュレーションはこれから開始するところなので、[Data Type] 列でキュー (Queue) とクラス (Class) のダイナミック タイプを確認します。キューの値は空のようですが、クラスの値は null のようです。

  4. [Scope] ウィンドウで axi_vip_0__exdes_adv_mst_active_pt_mem__slv_passive をダブルクリックして、このテキスト ファイルを確認します。

  5. テキスト エディターのウィンドウで 95 行目の circle をクリックして、ブレークポイントを追加します。

  6. Run All ボタンをクリックすると、シミュレーションが 95 行目で停止します。[Objects] ウィンドウでは master_monitor_transaction_queue の値が空に見えます。

  7. AMD Vivado™ シミュレータのツールバー メニューで Step ボタン をクリックします。シミュレーションが現在停止している 95 行目の文が実行されます。この文を実行すると、エレメントがプッシュされます。キューに 1 つのエレメントが自動的に入力されます。
  8. [Objects] ウィンドウで master_monitor_transaction_queue の値が自動入力されています。このようにしてダイナミック タイプの値は [Objects] ウィンドウで確認できます。