エンベデッド・ペリフェラルIPユーザーガイド

ID 683130
日付 9/21/2020
Public
ドキュメント目次
1. 概要 2. Avalon® -ST Multi-Channel Shared Memory FIFOコア 3. Avalon® -STシングルクロックFIFOコアおよびデュアルクロックFIFOコア 4. Avalon® -STシリアル・ペリフェラル・インターフェイス・コア 5. SPIコア 6. SPI Slave to Avalon® Master Bridgeコア/JTAG to Avalon® Master Bridgeコア 7. インテル eSPIスレーブコア 8. eSPI to LPCブリッジコア 9. イーサネットMDIOコア 10. インテルFPGA 16550互換UARTコア 11. UARTコア 12. JTAG UARTコア 13. インテル FPGA Avalon® Mailboxコア 14. インテル FPGA Avalon® ミューテックス・コア 15. インテル FPGA Avalon® I2C (Master) コア 16. インテル FPGA I2C Slave to Avalon® -MM Master Bridgeコア 17. インテルFPGA Avalon® コンパクト・フラッシュ・コア 18. EPCS/EPCQAシリアル・フラッシュ・コントローラー・コア 19. インテルFPGAシリアル・フラッシュ・コントローラー・コア 20. インテルFPGAシリアル・フラッシュ・コントローラーIIコア 21. インテルFPGA汎用クアッドSPIコントローラー・コア 22. インテルFPGA汎用クアッドSPIコントローラーIIコア 23. インターバル・タイマー・コア 24. インテルFPGA Avalon FIFOメモリーコア 25. オンチップメモリー (RAMおよびROM) コア 26. Optrex 16207 LCDコントローラー・コア 27. PIOコア 28. PLLコア 29. DMAコントローラー・コア 30. Modular Scatter-Gather DMAコア 31. Scatter-Gather DMAコントローラー・コア 32. SDRAMコントローラー・コア 33. トライステートSDRAMコア 34. Video Sync GeneratorコアとPixel Converterコア 35. インテル FPGA Interrupt Latency Counterコア 36. パフォーマンス・カウンター・ユニット・コア 37. ベクトル割り込みコントローラー・コア 38. Avalon® -STデータ・パターン・ジェネレーター・コアとデータ・パターン・チェッカー・コア 39. Avalon® -STテスト・パターン・ジェネレーター・コアとテスト・パターン・チェッカー・コア 40. システムIDペリフェラル・コア 41. Avalon® Packets to Transactions Converterコア 42. Avalon® -STマルチプレクサー・コアとデマルチプレクサー・コア 43. Avalon® -ST Bytes to Packets ConverterコアとPackets to Bytes Converterコア 44. Avalon® -ST Delayコア 45. Avalon® -STラウンド・ロビン・スケジューラー・コア 46. Avalon® -ST Splitterコア 47. Avalon® -MM DDR Memory Half Rate Bridgeコア 48. インテル FPGA GMII to RGMIIコンバーター・コア 49. インテル FPGA MII to RMIIコンバーター・コア 50. インテルFPGA HPS GMII to TSE 1000BASE-X/SGMII PCSブリッジコア 51. インテル FPGA HPS EMAC to Multi-rate PHY GMIIアダプターコア 52. インテル FPGA MSI to GICジェネレーター・コア

41.2.2. 動作

Avalon® Packets to Transactions Converterコアは、 Avalon® -STシンク・インターフェイスでパケットのストリームを受信し、 Avalon® -MMトランザクションを開始します。 Avalon® -MMスレーブからトランザクション応答を受信すると、コアは応答をパケットに変換し、 Avalon® -STソース・インターフェイスを介してそれらを要求元のコンポーネントに返します。コアは、 Avalon® -STエラーを報告しません。

パケットの形式

コアでは、着信データのストリームが次の表に示す形式であることを想定しています。応答パケットは、書き込みトランザクションごとに返されます。no transaction (0x7f) を受信している場合も、コアは応答パケットを返します。無効なトランザクション・コードは、no transactionとみなされます。読み出しトランザクションの場合、コアは単に読み出されたデータを返します。

表 421.  パケットの形式
バイト フィールド 説明
トランザクションのパケット形式
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トランザクションを一覧にしています。

表 422.  サポートされるトランザクション
トランザクション・コード 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として処理します。