SFPシミュレーションリンク

SFP シミュレーション リンク プロトコルと Typhoon HIL ツールチェーンでのその実装について説明します。

リアルタイムのみ:このドキュメントは、リアルタイム シミュレーションにのみ有効です。
SFPシミュレーションリンクは、デバイス間の高帯域幅・低レイテンシのデータ交換を可能にする双方向オープンプロトコルインターフェースです。このインターフェースの主な用途は、PHILアプリケーションや、異機種混在のマルチベンダーシミュレーション環境です。SFPシミュレーションリンクの特徴は以下のとおりです。
  • ベンダーに依存しない
  • ポイントツーポイントリンク - ルーティング可能なフレーム付き
  • 実装と使用が簡単:
    • 既存のリアルタイムシミュレーションプラットフォームのほとんどに準拠
    • FPGAリソースの軽量化
    • 無料で利用できるリファレンスデザイン/IPコア
  • 高帯域幅 - 一般的なアプリケーションでは 1 秒あたり 100 万メッセージ以上
  • 低レイテンシ - 1us未満
  • 信頼性 - 同期機能と安全機能を内蔵
SFP シミュレーション リンクは、次の 2 つの動作モードをサポートしています。
  • 信号処理モード - ペイロードはCPUによって定期的に構成され、その後フレームが送信されます。
  • 高速モード - 送信する変数の値はFPGAソルバーから直接読み取られます。一方、受信した変数はFPGAソルバーに注入されます。これはシミュレーションステップごとに実行されます。

物理層

名前が示す通り、物理層はSmall Form-factor Pluggable(SFP)トランシーバーに基づいています。SFPシミュレーションリンクは、以下のように構成されたXilinx Auroraリンク層プロトコルを使用します。

アプリケーション層

アプリケーション層では、複数変数メッセージによる変数の交換が可能になります。

SFPシミュレーションリンクは、ギガビットトランシーバーを搭載したほとんどのXilinx FPGAおよびSoCデバイスに実装できます。Xilinx VC707開発ボード用のプロトコルエンドポイントリファレンスデザインは、こちらから入手できます。

メッセージ形式

以下のセクションでは、SFPシミュレーションリンクバージョン0.1で使用されるメッセージ形式について説明します。メッセージ形式は今後のバージョンで変更される可能性があります。

データ フレームは次の要素で構成されます。
  1. ヘッダー(オプション)
  2. ペイロードデータ

フレームヘッダー

ヘッダーの内容は以下に定義されています。今後のプロトコルバージョンで拡張される可能性があります。無効にすることもできます。

1. SFPリンクヘッダーフォーマット
フィールド名 幅(ビット) 説明
予約済み 2 将来の使用のために予約されています
ソースID 2 ソースデバイスID
予約済み 2 将来の使用のために予約されています
宛先ID 2 宛先デバイスID
ペイロードサイズ 8 ペイロードサイズ(単語数)
プロトコルバージョン 8 エンコードされたプロトコルバージョン。送信者と受信者のバージョンが一致しない場合は、メッセージは破棄されます。
予約済み 8 将来の使用のために予約されています

フレームペイロード

信号処理モードでは、最大ペイロードサイズは250ワード(各4バイト)で、各ワードには符号付き/符号なし32ビット整数またはIEEE754浮動小数点のいずれかのデータ型を割り当てることができます。高速モードでは、送信と受信はそれぞれ32ワードと16ワードのIEEE754浮動小数点に制限されます。

Typhoon HIL実装

現在、SFP シミュレーション リンクは、Typhoon HIL デバイスHIL101、HIL404、HIL506、HIL606でサポートされています。

HIL101およびHIL404の上部SFPコネクタは、モデルにSFPリンクコンポーネントが存在する場合に使用されます。モデルにSFPリンクコンポーネントが存在しない場合は、上部SFPコネクタはデバイスの並列接続またはEgston SFPリンクに使用されます。AuroraのラインレートまたはCRCパラメータがデフォルト値と異なる場合、上部ポートはSFPシミュレーションリンクにのみ使用され、デバイスの並列接続には使用できません。

HIL506およびHIL606には、SFPシミュレーションリンクまたはEgston SFPリンク専用のSFPポートが2つあります。HIL506およびHIL606のファームウェア構成でSFPシミュレーションリンクチャネルが1つしか存在しない場合、そのチャネルはデバイスの下側のSFPポートに接続されます。

SFPセットアップ

コンポーネントはサポートされていません:このコンポーネントは現在 TyphoonSim ではサポートされていません。このコンポーネントをモデルに追加すると、TyphoonSim でモデルを実行できなくなります。TyphoonSim モードでモデルを実行する前に、このコンポーネントを無効にするか、モデルから削除してください。

SFPセットアップコンポーネントは、SFPシミュレーションリンクパラメータを設定し、リンクステータスを提供するために使用されます。現時点では、その機能はSFP送信コンポーネントと受信コンポーネントで使用されるデバイスIDの設定に限定されています。SFPリンクデバイスIDは、ロータリースイッチの位置、またはコンポーネントプロパティによって明示的に定義できます。SFPセットアップコンポーネントの出力ポートは、SFPリンクの物理ステータスを提供します。1はリンクがアップ状態であることを意味します。ヘッダーの読み取りは、「ヘッダー出力」プロパティをオンにすると表示される2つの追加出力ポートを介して行うことができます。最初の出力ポートは、最後に受信したフレームヘッダーの値を出力します。2番目の出力ポートは、ヘッダーの有効性を出力します。1は受信したヘッダーが有効であり、フレームが受信され、フレームからデータが抽出されたことを意味し、0はフレームが受信されたが再ルーティングまたは破棄されたことを意味します。

2. SFPのセットアップ
成分 コンポーネントダイアログ コンポーネントのプロパティ

SFPセットアップ

  • ヘッダーを無効にする
  • ヘッダー出力
  • HILデバイスIDをオーバーライドする
  • デバイスID

コンポーネントのプロパティについては表 3で説明します。

3 SFPセットアッププロパティ
物件名 説明
ヘッダーを無効にする フレームヘッダーを無効にします。フレームはヘッダーなしで送信され、受信したフレームはヘッダーが含まれていないものとみなされます。
ヘッダー出力 最後に受信したフレーム ヘッダーの読み取りを有効にします。
HILデバイスIDをオーバーライドする SFP送受信コンポーネントで使用されるデバイスIDをオーバーライドできます。チェックを外すと、HILデバイスIDはHILデバイスバックプレート上のロータリースイッチによって定義されます。
デバイスID HIL デバイス ID の代わりに使用されるデバイス ID。

複数のデバイスを使用するモデルでは、SFP リンクを使用するデバイスごとに 1 つの SFP セットアップ コンポーネントが存在する必要があります。

SFP送信

コンポーネントはサポートされていません:このコンポーネントは現在 TyphoonSim ではサポートされていません。このコンポーネントをモデルに追加すると、TyphoonSim でモデルを実行できなくなります。TyphoonSim モードでモデルを実行する前に、このコンポーネントを無効にするか、モデルから削除してください。

SFP送信コンポーネントは、SFPリンクを介してデータを送信します。信号処理モードでは、ペイロードサイズは可変構成内のすべての入力信号の次元の合計として計算されますが、高速モードでは「送信信号数」プロパティ値によって決定されます。

4 SFP送信
成分 コンポーネントダイアログ コンポーネントプロパティ

SFP送信

(信号処理)

  • 一般タブ
    • SFPポート
    • 宛先デバイスID
    • 高速SFP送信
    • 実行率
  • データタブ(信号処理)
    • 可変構成
  • データタブ(高速)
    • 送信する信号の数
    • 信号選択プロパティ

SFP送信

(高速)

コンポーネントのプロパティは表5に示されています。

5 SFP送信プロパティ
物件名 説明
SFPポート 通信を確立する SFP ポートを選択します。
宛先デバイスID エンドポイント デバイス ID。
高速送信 高速信号送信を有効にするチェックボックス。
実行率 信号処理の実行速度。実行速度はモデル内の他のコンポーネントと一致する必要があります。
可変構成 送信コンポーネントSFPフレームのペイロードを定義します。ペイロードの設定方法の詳細については、SFP送信変数の設定セクションを参照してください。
送信する信号の数 高速モードで SFP リンクを介して送信される信号の数を定義します。
信号選択 高速モードで送信される電流または電圧測定信号を選択します。信号処理入力を接続することなく、回路図エディタから直接選択できます。
ポート
  • 入力ポート-変数設定によって定義される
  • 出力ポート
    • dev_id_connection -高速送信が有効な場合に存在し、必要なときにコンポーネントをデバイス マーカーに結び付けるためにのみ使用されます。

SFP送信変数設定

変数の設定を変更するには、[データ] タブの [構成の生成] ボタンを使用します。

1 SFP送信コンポーネントの構成オプションを生成する

設定メニューでは、SFP 経由で送信されるペイロードをカスタマイズできます。

表 6 に変数設定メニューの概要を示します。

6変数設定メニュー - フィールドの説明
フィールド名 説明
信号名 各信号ごとに固有です。
データ型 許可されるデータ型は、継承 (入力信号のタイプによって異なります)、整数、符号なし整数、または実数です。
寸法 送信される同じデータ型の変数の数。この値は入力端子の次元を決定します。

SFP受信

コンポーネントはサポートされていません:このコンポーネントは現在 TyphoonSim ではサポートされていません。このコンポーネントをモデルに追加すると、TyphoonSim でモデルを実行できなくなります。TyphoonSim モードでモデルを実行する前に、このコンポーネントを無効にするか、モデルから削除してください。

SFP受信コンポーネントは、SFPリンクを介してデータを受信できるようにします。信号処理モードでは、ペイロードサイズは変数設定によって決定されますが、高速モードでは「受信変数数」プロパティ値によって決定されます。

7 SFP受信
成分 コンポーネントダイアログ コンポーネントのプロパティ

SFP受信

(信号処理)

  • SFPポート
  • ソースデバイスID
  • 高速SFP受信
  • 実行率
  • 可変構成
  • 受信した変数の数

SFP受信

(高速)

コンポーネントのプロパティは表8に示されています。

8 SFP受信プロパティ
物件名 説明
SFPポート 通信を確立する SFP ポートを選択します。
ソースデバイスID エンドポイント デバイス ID を指定します。
高速SFP受信 電圧制御電圧源で選択することで、SFPリンク経由で受信信号に直接アクセスできます。SFP受信コンポーネントで電圧測定として利用できます。
実行率 出力のリフレッシュ レート。
可変構成 受信コンポーネントのペイロードを定義します。ペイロードの設定方法の詳細については、 SFP受信変数の設定セクションを参照してください。
受信した変数の数 受信変数番号を指定します。
ポート
  • パワーエレクトロニクスポート
    • ポート1 -高速受信が有効な場合に存在し、必要なときにコンポーネントをデバイスマーカーに接続するためにのみ使用されます。
  • 信号処理出力ポート-可変構成によって定義される

SFP受信変数設定

変数の設定を変更するには、「構成の生成」ボタンを使用します。

2 SFP受信コンポーネントの構成オプションを生成する

設定メニューでは、SFP 経由で受信するフレーム ペイロードをカスタマイズできます。

表 6 に変数設定メニューの概要を示します。

9変数設定メニュー - フィールドの説明
フィールド名 説明
信号名 各信号ごとに固有です。
データ型 許可されるデータ型は整数、符号なし整数、または実数です。
寸法 受信する同じデータ型の変数の数。この値は出力端子の次元を決定します。

仮想HILサポート

Virtual HILは現在このプロトコルをサポートしていません。非リアルタイム環境(例:ローカルコンピュータでモデルを実行する場合)を使用する場合、このコンポーネントへの入力は破棄され、このコンポーネントからの出力はゼロになります。