エンベデッド・ペリフェラル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ジェネレーター・コア

16.2.5. 書き込み動作

Avalon® 書き込みデータ・インターフェイス幅は32ビット幅です。この32ビット幅により、ブリッジでワード・アライメントの Avalon® アドレスのみを発行するように制限します。また、アップストリームのI2Cマスターが任意のアドレス・アライメントで任意のバイトシーケンスに書き込むことを可能にします。 Avalon® インターフェイスとI2Cインターフェイス間には変換ロジックがあります。

書き込み動作の変換ロジックフロー

  • I2Cマスターによって発行されたアドレス・アライメントをチェックします。
  • byteenableをHighに設定してデータを有効にし、I2Cマスターが書き込みを行うバイトアドレスを示します。
    注: I2Cマスターが発行するアドレスが0x03hの場合、byteenableは4’b1000です。
  • アドレスがシーケンシャルである場合は、データの複数のバイトを32ビット・パケットに結合します。
    注: 最初の書き込みがアドレス0x04に対するもので、2番目の書き込みが0x05の場合、byteenableは4’b0011です。

正当なbyteenableの組み合わせは、4’b0001、4’b0010、4’b0100、4’b1000、4’b0011、4’b1100、4’b1111です。

  • I2Cマスターによって発行される書き込み要求が不当なbyteenableの組み合わせ (4’b0110、4’b0111、4’b1110など) で終わる場合、ブリッジは複数の Avalon® バイト書き込みを生成します。
    注: I2Cマスターからのシーケンシャル書き込み要求が0x0から始まり0x02で終わる (不当なbyteenableのb’0111) 場合、ブリッジは3つの Avalon® 書き込み要求を正当なbyteenableの4’b0001、4’b0010、4’b0100で生成します。
  • ワード・アライメントの Avalon® アドレスをI2Cマスターから送信されたアドレスに応じて発行します。2つのLSBが0に設定されます。

R/Wビットが0に設定されたスレーブアドレスを受信すると、ブリッジはI2Cマスターに肯定応答を発行します。マスターが送信する次のバイトはバイトアドレスです。バイトアドレスはブリッジ内のアドレスカウンターに書き込まれます。ブリッジがI2Cマスターに再度肯定応答すると、マスターはアドレス指定されているメモリー位置に書き込まれるデータバイトを送信します。マスターはブリッジにデータバイトの送信を続け、最後にStop条件で操作を終了します。

図 60. 書き込み動作