インテルのみ表示可能 — GUID: iga1401397863610
Ixiasoft
インテルのみ表示可能 — GUID: iga1401397863610
Ixiasoft
41.2.2. 動作
パケットの形式
コアでは、着信データのストリームが次の表に示す形式であることを想定しています。応答パケットは、書き込みトランザクションごとに返されます。no transaction (0x7f) を受信している場合も、コアは応答パケットを返します。無効なトランザクション・コードは、no transactionとみなされます。読み出しトランザクションの場合、コアは単に読み出されたデータを返します。
バイト | フィールド | 説明 |
---|---|---|
トランザクションのパケット形式 | ||
0 | Transaction code | トランザクションのタイプ。 Avalon® -STインターフェイスのプロパティーの表を参照してください。 |
1 | 予約済み | 今後の使用に向けて予約されています。 |
[3:2] | Size | バイト単位のトランザクション・サイズ。書き込みトランザクションの場合、サイズはdataフィールドのサイズを示します。読み出しトランザクションの場合は、サイズは読み出す合計バイト数を示します。 |
[7:4] | Address | トランザクションの32ビット・アドレス |
[n:8] | Data | トランザクション・データ。書き込みトランザクションで書き込まれるデータ。 |
応答のパケット形式 | ||
0 | Transaction code | 最上位ビットが反転しているトランザクション・コード。 |
1 | 予約済み | 今後の使用に向けて予約されています。 |
[3:2] | Size | 正常に読み出し/書き込みが行われた合計バイト数。 |
サポートされるトランザクション
次の表は、コアでサポートされる Avalon® -MMトランザクションを一覧にしています。
トランザクション・コード | Avalon® -MMトランザクション | 説明 |
---|---|---|
0x00 | 書き込み、非インクリメント・アドレス | 同じワードアドレスに書き込まれる合計バイト数がsizeフィールドで指定されている値と等しくなるまで、指定されているアドレスにデータを書き込みます。 |
0x04 | 書き込み、インクリメント・アドレス | 指定されているアドレスから開始して、トランザクション・データを書き込みます。 |
0x10 | 読み出し、非インクリメント・アドレス | 同じアドレスから読み出される合計バイト数がsizeフィールドで指定されている値と等しくなるまで、指定されているアドレスから32ビットのデータを読み出します。 |
0x14 | 読み出し、インクリメント・アドレス | 指定されているアドレスから開始して、sizeフィールドで指定されているバイト数を読み出します。 |
0x7f | No transaction | トランザクションは開始されません。このトランザクション・タイプは、テスト目的で使用することができます。 Avalon® -MMインターフェイスでトランザクションは開始されませんが、コアはこのトランザクション・コードの応答パケットを返します。 |
コアでは、一度に1つのトランザクションのみを処理することができます。コアの Avalon® -STシンク・インターフェイスのready信号は、現在のトランザクションが完全に処理された際にのみアサートされます。
データパスに内部バッファーは実装されていません。 Avalon® -STインターフェイスで受信したデータは、 Avalon® -MMインターフェイスに直接転送されます。その逆も同じです。 Avalon® -MMインターフェイスでwaitrequest信号をアサートすると、 Avalon® -STシンク・インターフェイスがバックプレッシャーされます。逆方向では、 Avalon® -STソース・インターフェイスがバックプレッシャーされると、 Avalon® -MMインターフェイスのread信号はバックプレッシャーが緩和されるまでアサートされません。読み出しの途中で Avalon® -STソースをバックプレッシャーすると、データの損失が発生する可能性があります。このような場合、コアは正常に受信しているデータを返します。
コアがEOPを受信すると、トランザクションは完了したとみなされます。書き込みトランザクションの場合、実際のデータサイズは、sizeフィールドの値と同じであると想定されています。両方の値が一致するかしないかにかかわらず、コアは常にEOPを使用してデータの終わりを特定します。
不正な形式のパケット
次に示す例は、不正な形式のパケットです。
- 連続するSOP (Start of Packet) - SOPはトランザクションの開始を示します。トランザクションの途中でSOPを受信すると、コアは、トランザクションの応答パケットを返すことなく現在のトランザクションをドロップし、新しいトランザクションを開始します。これにより、EOP (End of Packet) のないパケットを効果的に処理しています。
- サポートされていないトランザクション・コード - コアは、サポートされていないトランザクションをno transactionとして処理します。