この問題は、ユーザーがエッジキャプチャに間違った設定を選択した場合に発生する可能性があり、割り込みがトリガーされなくなります。
PIO (パラレル I/O) インテル® FPGA IP コアで、「個々のビット設定 / クリアを有効にする」オプションがオフになっている場合、エッジ・キャプチャー・レジスターに値を書き込むと 、レジスター内のすべてのビットがクリアされます。これは、Nios® IIカウントバイナリテンプレートのデフォルト設定です。
例えば:
/* エッジキャプチャレジスタをリセットする。*/
IOWR_ALTERA_AVALON_PIO_EDGE_CAP(BUTTON_PIO_BASE, 0x0);
「個別ビット設定/クリアを有効にする」オプションがオンになっている場合、レジスタの特定ビットに1を書き込むと、そのビットのみがクリアされます。例えば:
/* エッジ・キャプチャー・レジスターのビット 0 およびビット 1 をリセットします。*/
IOWR_ALTERA_AVALON_PIO_EDGE_CAP(BUTTON_PIO_BASE, 0x3);
この問題を回避するには、[個々のビット設定/クリアを有効にする] オプションの正しい設定を選択します。
- エッジ・キャプチャー・レジスターのビットクリアーを有効にすることがオフになっている場合、エッジ・キャプチャー・レジスターに値を書き込むと、レジスター内のすべてのビットがクリアされます。
- エッジ・キャプチャー・レジスターのビットクリアを有効にすることがオンの場合、レジスターの特定ビットに 1 を書き込むと、その特定のビットのみがクリアされます。
PIO インテル® FPGA IP コア・ユーザー・インターフェイスは、インテル® Quartus® Prime 開発ソフトウェア・プロ・エディション / スタンダード・エディション・バージョン 21.1 以降、「個別のビット設定 / クリアを有効にする」オプションの説明で強化されています