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

18.2. 機能の説明

次に示すように、EPCS/EPCQAデバイスのメモリーは2つの個別の領域として考えることができます。

  • FPGAコンフィグレーション・メモリー - FPGAコンフィグレーション・データはこの領域に保存されます。
  • 汎用メモリー - FPGAコンフィグレーション・データでEPCS/EPCQAデバイス全体がフルになっていない場合は、残りのスペースを汎用データとシステム・スタートアップ・コードに使用することができます。
図 64. EPCS/EPCQAシリアル・フラッシュ・コントローラー・コアを統合している Nios® IIシステム
  • フラッシュデバイス向けのHAL汎用デバイスモデルにより、HAL APIを使用してEPCS/EPCQAデバイスにアクセスすることは、フラッシュメモリーにアクセスすることと同じになります。EPCS/EPCQAデバイスには特定の目的に向けたハードウェア・インターフェイスがあるため、Nios IIのプログラムでは、提供されているHALフラッシュドライバーを使用してEPCS/EPCQAメモリーを読み書きする必要があります。

EPCS/EPCQAシリアル・フラッシュ・コントローラー・コアには、ブートローダー・プログラムを格納するオンチップメモリーが含まれています。 Cyclone® および Cyclone® IIデバイスと組み合わせて使用する場合、コアには512バイトのブートローダーROMが必要です。 Cyclone® III、 Cyclone® IV インテル® Cyclone® 10 LP Stratix® II、および Stratix® シリーズの新しいデバイスファミリーでは、コアには1KバイトのブートローダーROMが必要です。 Nios® IIプロセッサーは、EPCS/EPCQAシリアル・フラッシュ・コントローラー・コアから起動するようにコンフィグレーションすることができます。これを行うには、 Nios® IIのリセットアドレスをEPCS/EPCQAシリアル・フラッシュ・コントローラー・コアのベースアドレスに設定します。この場合、リセット後にCPUはまずブートローダーROMからコードを実行し、データをEPCS/EPCQA汎用メモリー領域からRAMにコピーします。次に、プログラム制御がRAMに移ります。 Nios® II IDEが提供する機能により、EPCS/EPCQAデバイスに格納するプログラムをコンパイルし、EPCS/EPCQAデバイスにプログラミングするプログラミング・ファイルを作成します。

詳細は、Nios II Flash Programmer User Guideを参照してください。

インテル® Quartus® PrimeのProgrammerを使用してEPCS/EPCQAデバイスをプログラミングする場合、以前のコンテンツはすべて消去されます。FPGAコンフィグレーション・データとNiosIIプログラムデータを組み合わせてEPCS/EPCQAデバイスをプログラミングするには、 Nios® II IDEフラッシュ・プログラマーのユーティリティーを使用します。

インテル EPCS/EPCQAコンフィグレーション・デバイスは、汎用I/Oピンではなく、FPGAの専用ピンを介してFPGAに接続します。 Cyclone®  III、 Cyclone® IV、および インテル® Cyclone® 10 LPを除くインテルのデバイスファミリーすべてにおいて、EPCS/EPCQAシリアル・フラッシュ・コントローラー・コアは、トップレベルのプラットフォーム・デザイナー・システム・モジュールにI/Oポートを作成しません。EPCS/EPCQAデバイスとFPGAがボード上でともに配線され、EPCS/EPCQAデバイスを使用するコンフィグレーション (つまり、アクティブ・シリアル・コンフィグレーション・モード) を行う場合、EPCS/EPCQAシリアル・フラッシュ・コントローラー・コアとEPCS/EPCQAデバイス間にそれ以上の接続は必要ありません。 インテル® Quartus® Prime開発ソフトウェアでプラットフォーム・デザイナー・システムをコンパイルする際は、EPCS/EPCQAシリアル・フラッシュ・コントローラー・コアの信号は、EPCS/EPCQAデバイスのデバイスピンに自動的にルーティングされます。

ただし、FPGAの専用ピン (アクティブ・シリアル・コンフィグレーション・モード) を使用しないオプションもあります。それには、MegaWizardインターフェイスでそれぞれのパラメーターをオフにします。このオプションがオフになっている場合、もしくはターゲットデバイスが Cyclone® III、 Cyclone® IVデバイス、または インテル® Cyclone® 10 LPの場合は、トップレベルのデザインにエクスポートされる出力ピンを任意のEPCS/EPCQAデバイスに接続する柔軟性があります。 インテル® Quartus® Prime開発ソフトウェアで次のタスクを実行し、必要なピン割り当てを行います。

  • Dual-purpose pinsページ (Assignments > Devices > Device and Pin Options) で、次のピンがそれぞれの値に割り当てられていることを確認します。
    • Data[0] = Use as regular I/O
    • Data[1] = Use as regular I/O
    • DCLK = Use as regular I/O
    • FLASH_nCE/nCS0= Use as regular I/O
  • Pin Planner (Assignments > Pins) を使用し、次のピンがデバイスのそれぞれのコンフィグレーション機能に割り当てられていることを確認します。
    • data0_to_the_epcs_controller = DATA0
    • sdo_from the_epcs_controller = DATA1,ASDO
    • dclk_from_epcs_controller = DCLK
    • sce_from_the_epcs_controller = FLASH_nCE

インテルのデバイスのコンフィグレーション・ピンの詳細に関しては、Pin-Out Files for Intel Devicesのページを参照してください。