ザイリンクス TLM (XTLM) は、AXI プロトコルをモデリングするための Accellera SystemC TLM 2.0 ライブラリのザイリンクス版です。カスタム TLM ソケットを使用して SystemC 間にシミュレーション基盤を提供するほか、トランザクターを介した RTL と SystemC 間の協調シミュレーション基盤も提供します。TLM 2.0 にはソケット、ペイロード、およびフェーズが含まれますが、これらのデフォルト要素だけでは AXI の全機能をサポートするには不十分です。このため、XTLM では独自のソケット、ペイロード、フェーズのセットが定義されています。
XTLM のユーザーは、SystemC および TLM 2.0 仕様の基本を理解している必要があります。次の表に、XTLM ライブラリ内で使用できるクラスの概要を示します。
S. No. | XTLM の機能/クラス | 使用法 |
---|---|---|
1 | aximm_payload | 1 つのトランザクション内の AXI4 メモリ マップ バス上のデータを記述するトランザクション オブジェクト クラス。 TLM 2.0 汎用ペイロードに基づいていますが、そこから派生したものではありません。 |
2 | axis_payload | 1 つのトランザクション内の AXI4-Stream バス上のデータを記述するトランザクション オブジェクト クラス。 TLM 2.0 汎用ペイロードに基づいていますが、そこから派生したものではありません。 |
3 | xtlm_aximm_initiator_socket | マスター/イニシエーターの AXI4 メモリ マップ インターフェイスに使用する基本ソケット。 読み出しソケットと書き込みソケットごとに 1 つのソケットをインスタンシエートする必要があります。 |
4 | xtlm_aximm_simple_initiator_socket_tagged | 複数インターフェイスにバインドする、マスター/イニシエーターの AXI4 メモリ マップ インターフェイスに使用する基本ソケット。 読み出しソケットと書き込みソケットごとに 1 つのソケットをインスタンシエートする必要があります。 各インターフェイスを新しい ID で追加する必要があります。 |
5 | xtlm_aximm_target_socket | スレーブ/ターゲットの AXI4 メモリ マップ インターフェイスに使用する基本ソケット。 読み出しソケットと書き込みソケットごとに 1 つのソケットをインスタンシエートする必要があります。 |
6 | xtlm_aximm_passthrough_target_socket_tagged | 複数インターフェイスにバインドする、スレーブ/ターゲットの AXI4 メモリ マップ インターフェイスに使用する基本ソケット。 読み出しソケットと書き込みソケットごとに 1 つのソケットをインスタンシエートする必要があります。 各インターフェイスを新しい ID で追加する必要があります。 |
7 | xtlm_axis_initiator_socket | マスター/イニシエーターの AXI4-Stream インターフェイスに使用する基本ソケット。 |
8 | xtlm_axis_simple_initiator_socket_tagged | 複数インターフェイスにバインドする、マスター/イニシエーターの AXI4-Stream インターフェイスに使用する基本ソケット。 各インターフェイスを新しい ID で追加する必要があります。 |
9 | xtlm_axis_target_socket | スレーブ/ターゲットの AXI4-Stream インターフェイスに使用する基本ソケット。 |
10 | xtlm_axis_passthrough_target_socket_tagged | 複数インターフェイスにバインドする、スレーブ/ターゲットの AXI4-Stream インターフェイスに使用する基本ソケット。 各インターフェイスを新しい ID で追加する必要があります。 |
11 | xtlm_aximm_initiator_stub | スタブ XTLM スレーブ インタフェースに対する 1 つのイニシエーター ソケット。 このソケットは、XTLM マスターがない場合に便利です。 これにより、SystemC のポート バインディング エラーを回避できます。 |
12 | xtlm_aximm_target_stub | スタブ XTLM マスター インタフェースに対する 1 つのターゲット ソケット。 このソケットは、XTLM スレーブがない場合に便利です。 これにより、SystemC のポート バインディング エラーを回避できます。 |
13 | xtlm_axis_initiator_stub | スタブ XTLM AXI4-Stream スレーブ インタフェースに対する 1 つのイニシエーター ソケット。 このソケットは、XTLM AXI4-Stream マスターがない場合に便利です。 これにより、SystemC のポート バインディング エラーを回避できます。 |
14 | xtlm_aximm_target_stub | スタブ XTLM マスター インタフェースに対する 1 つのターゲット ソケット。 このソケットは、XTLM スレーブがない場合に便利です。 これにより、SystemC のポート バインディング エラーを回避できます。 |
15 | xtlm_aximm_initiator_rd_socket_util |
AXI4 メモリ マップ イニシエーター読み出しソケット用ユーティリティ。 xtlm_aximm_initiator_socket タイプでのみ動作します。 |
16 | xtlm_aximm_initiator_wr_socket_util |
AXI4 メモリ マップ イニシエーター書き込みソケット用ユーティリティ。 xtlm_aximm_initiator_socket タイプでのみ動作します。 |
17 | xtlm_aximm_target_rd_socket_util |
AXI4 メモリ マップ ターゲット読み出しソケット用ユーティリティ。 xtlm_aximm_target_socket タイプでのみ動作します。 |
18 | xtlm_aximm_target_wr_socket_util |
AXI4 メモリ マップ ターゲット書き込みソケット用ユーティリティ。 xtlm_aximm_target_socket タイプでのみ動作します。 |