FPGA開発日記

カテゴリ別記事インデックス https://msyksphinz.github.io/github_pages , English Version https://fpgadevdiary.hatenadiary.com/

RISC-V Advanced Platform Interrupt Controller (APLIC) の概観 (3. RTL実装の概観)

RISC-VのAdvanced Platform Interrupt Controller (APLIC) について勉強してみようと思う。

以下においてある実装をチェックしてみることにした。

github.com

APLICはいくつかのモードによって実装が切り替わるようになっているらしい。

  • MSI_MODE=true
    • AIA_EMBEDDED=true
    • AIA_DISTRIBUTED=true
  • DIRECT_MODE=true

まずはMSI_MODE && AIA_EMBEDDEDの時。この時はIMSIC(Incoming Message Signaled Interrupt Controller )というモジュールが接続されて割り込みを送出する機能まで内包されている。

次にMSI_MODE && AIA_DISTRIBUTEDの時、この時はaxi_liteのマスタ・ポートが付いており、これでMSI通知をAXIに対して送出する仕組みになっている。

最後にDIRECT_MODEでは、そのまま専用の信号線として割り込みが通知される仕組みになっている。