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

23.4.1. HALシステム・ライブラリーのサポート

インテルより提供されているドライバーは、 Nios® IIシステムに向けたHALシステム・ライブラリーに統合されます。可能であれば、HALユーザーは、コアのレジスターに直接アクセスするのではなく、HAL APIを介してコアにアクセスする必要があります。

インテルでは、システム・クロック・タイマーとタイムスタンプ・タイマーの両方のHALタイマー・デバイス・モデルにドライバーを提供しています。

システム・クロック・ドライバー

システムクロックとしてコンフィグレーションされている場合、インターバル・タイマー・コアは、デフォルトの周期セットを使用して周期モードで継続的に実行されます。システムクロックのサービスは、このタイマーの割り込みサービスルーチンの一部として実行されます。ドライバーは割り込みによって駆動されるため、割り込み信号をシステムのハードウェアで接続している必要があります。

Nios® II統合開発環境 (IDE) を使用すると、システム・ライブラリーのプロパティーを指定し、システム・クロック・タイマーとして使用するタイマーデバイスを決定することができます。

タイムスタンプ・ドライバー

インターバル・タイマー・コアは、次の条件を満たす場合にタイムスタンプ・デバイスとして使用することができます。

  • タイマーに書き込み可能なperiodレジスターがあり、プラットフォーム・デザイナーでコンフィグレーションされている
  • タイマーがシステムクロックとして選択されていない

    Nios® II IDEでは、システム・ライブラリーのプロパティーを指定し、タイムスタンプ・タイマーとして使用されるタイマーデバイスを決定することができます。

    タイマーのハードウェアが書き込み可能なperiodレジスターでコンフィグレーションされていない場合、alt_timestamp_start() API関数の呼び出しでタイムスタンプ・カウンターはリセットされません。他のHAL API呼び出しはすべて、想定されているとおりに実行されます。

    これらのドライバーを使用するシステムクロックおよびタイムスタンプの機能を使用する際の詳細に関しては、 Nios® II Software Developer’s Handbookを参照してください。 Nios® IIエンベデッド・デザイン・スイート (EDS) もまた、インターバル・タイマー・コアを使用するいくつかのデザイン例を提供しています。

制約

インターバル・タイマー・コアのHALドライバーは、コアのウォッチドッグ・リセット機能をサポートしていません。