はじめに
Altera® 提供のソフトコア・プロセッサーである Nios® II プロセッサー(以降 Nios® II と表記)は、 2023 年冬のリリース(Quartus® Prime Pro v23.4, Quartus® Prime Standard v23.1)が最後となり、今後は RISC-V アーキテクチャーを採用した Nios® V プロセッサー(以降 Nios® V と表記)へ移行することとなります。
Nios® V は Nios® II に比べてロジックサイズが増加する傾向があるため、移行をご検討のユーザー様からロジックサイズ削減についてお問い合わせをいただくことがあります。
この記事では Nios® V を使用した回路のロジック削減方法についてご紹介します。
1. Nios® V のロジックサイズ
Nios® V は以下の記事のでご紹介の通り、3 種類のコアがリリースされています。
参考: Nios® V プロセッサー
それぞれのコアのロジックサイズについては、Nios® V Processor Reference Manual 内の下記リンクに記載がありますのでご確認ください。
参考: Nios® V/m(Non-pipelined)のロジックサイズ
参考: Nios® V/m(Pipelined)のロジックサイズ
以下のリンクに Nios® II のロジックサイズについても記載がありますのでご参照ください。
尚、Nios® V はツールのバージョンアップ毎に進化し続けております。可能な限り最新のツールを使用することをお勧めします。
2. ロジックサイズ削減方法
ロジックサイズ削減の方法として 4 つの方法をご紹介します。これらを単独で適用もしくは複数を組み合わせて適用しロジックサイズを削減します。
3. Quartus® Prime の Compiler Settings の変更
以下にそれぞれの説明を行います。
2-1. 最適な Nios® V コアの選択
先に述べました通り、Nios® V には 3 種類のコアがあります。コアによって性能とロジックサイズが異なるため、システムに最適なコアを選択してください。
【表 1】 ロジックサイズの例(Quartus® Prime Pro v24.1 における Agilex™ 5 の場合)
| Nios® V/c | Nios® V/m (Non-pipelined) |
Nios® V/m (Pipelined) |
Nios® V/g | |
| Logic Size(ALM) | 409 | 707 |
1232 |
2079 |
| Fmax(MHz) | 371 | 384 |
347 |
255 |
| DMIPS/MHz | 0.227 | 0.227 |
0.63 |
1.276 |
| CoreMark/MHz | 0.17 | 0.170 |
0.489 |
1.869 |
ロジックサイズや最大動作周波数(Fmax)は、デバイスやユーザー様の実装により異なります。
データシートに目安の記載がありますので、「1. Nios® V のロジックサイズ」の各コア別ロジックサイズのリンクよりご参照ください。
注記: Nios® V/c はロジックサイズの削減を目的としたコアとなっており、以下の機能が実装されていません。そのため可能な限り Nios® V/m もしくは Nios® V/g の使用をお勧めします。
デバッグモジュール
割り込みコントローラー / 例外コントローラー
2-2. パイプライン・ステージの無効化(Nios® V/m)
Nios® V/m の場合は、プロセッサーのパイプライン・ステージの使用有無を選択可能です。
Nios® V/m は性能向上のため 5 段のパイプライン・ステージを実装しており、Quartus® Prime pro v23.3 / Quartus® Prime Standard v23.1 より、このパイプライン・ステージを OFF にする設定が追加されましたのでご検討ください。
下図に示す通り Enable Pipelining in CPU のチェックボックスを外すことにより、パイプライン・ステージを未実装にできます。
【図 1】Enable Pipelining チェックボックス
2-3. Quartus® Prime の Compiler Settings の変更
Quartus® Prime の Compiler Settings を Area に変更することにより、ロジックサイズの削減が可能です。
Assignments -> Settings -> Compiler Settings にて Optimization mode を Area に設定してください。
【図 2】Compiler Settings
2-4. Pipeline Bridge の挿入
Nios® V は AXI4 / AXI4Lite インターフェイスを採用しています。Nios® V と Avalon®-MM Slave の間に Avalon®-MM Pipeline Bridge を追加することで、Pipeline Bridge を挿入した先のインターコネクトが Avalon®-MM インターフェイスになるため、ロジックサイズの削減が期待できます。
Avalon®-MM Pipeline Bridge については下記をご参照ください。
参考: 4.1.3. Avalon® -MM Pipeline Bridge
Platform Designer システムへの実装例を下図に示します。
【図 3】Avalon®-MM Pipeline Bridge の挿入
おわりに
Nios® V を使用した回路のロジックサイズ削減方法についてご紹介しました。Nios® V ご使用時の参考になりますと幸いです。
Nios® V 関連の情報は以下の記事にまとまっております。ぜひご活用ください。