Nios® II エンベデッド・プロセッサ・ファミリは、広範囲のエンベデッド・アプリケーション向けに設計された汎用 RISC CPU アーキテクチャを特長としています。Nios II プロセッサ・ファミリは、高速(fast)(Nios II/f)、エコノミ(economy)(Nios II/e)、および標準(standard)(Nios II/s)の 3種類で構成され、それぞれに価格と性能面で最適化されています。3つのコアはすべて 32 ビット・インストラクション・セット・アーキテクチャ(ISA)であり、100% バイナリ・コード互換です。Nios II プロセッサは、Quartus® II 開発ソフトウェアに付属する SOPC Builder ツールを使用して、システムに追加することができます。
Nios II エンベデッド・プロセッサ・ファミリ
3年足らずで 12,000 セットも販売されたNios 開発キットに含まれる第 1 世代の Nios 16 ビット・プロセッサは、プログラマブル・ロジック向けの標準ソフト・コア・プロセッサとして最も良く知られています。32 ビットの Nios II エンベデッド・プロセッサは、Nios をベースに さらなる性能向上、コスト(FPGA ロジック使用量)の低減、強力なソフトウェア開発ツール・セット、およびシステム柔軟性の向上を達成しています。
表 1 に、Nios II プロセッサ・ファミリの概要を示します。表 2 には、Nios II プロセッサ・ファミリ・メンバを示します。表 3 には、Nios II エンベデッド・プロセッサ・デバイス&ソフトウェア・サポートを示します。
| 表 1. Nios II エンベデッド・プロセッサ・ファミリの概要 | |
| カテゴリ | 特長 |
|---|---|
| CPU アーキテクチャ | 32 ビット・インストラクション・セット |
| 32 ビット・データ・パス | |
| 32 個の汎用レジスタ | |
| 32 個の外部割込みソース | |
| 2G バイトのアクセス可能なアドレス空間 | |
| オン・チップ・デバッグ | JTAG ベースのデバッグ・ロジック、ハードウェア・ブレークポイント、データ・トリガ、オン・チップおよびオフ・チップ・トレース |
| カスタム・インストラクション | 最大 256個のユーザ定義の CPU インストラクション |
| ソフトウェア開発ツール | Nios II 統合開発環境(IDE) |
| GNU ベースのコンパイラ | |
| ハードウェア支援デバッグ・モジュール | |
| 表 2. Nios II プロセッサ・ファミリ・メンバ | |
| コア | 説明 |
|---|---|
| Nios II/f(高速(fast)) | 最大性能に対して最適化 |
| Nios II/e (エコノミ(economy)) | 最小ロジック使用量に対して最適化 |
| Nios II/s (標準(standard)) | バランスの取れた性能とサイズを提供。 |
| 表 3. Nios II エンベデッド・プロセッサ・デバイス&ソフトウェア・サポート | ||
| デバイス | 説明 | デザイン・ソフトウェア |
|---|---|---|
| 大規模なメモリ・リソースを有し、最高の性能と集積度を誇る機能豊富なプラットフォーム | Quartus II | |
| Stratix | 大規模なメモリ・リソースを有する、高性能・高集積度の機能豊富なプラットフォーム | |
| Stratix GX | 高速シリアル・トランシーバ付き高性能アーキテクチャ | |
| Cyclone II | 68,000 ロジック・エレメント(LE)と1.1M ビットのエンベデッド・メモリを搭載した最も低コストなFPGA | |
| Cyclone | 低コスト ASIC の代替デバイス - 価格重視のアプリケーションに最適 | |
| HardCopy® II & HardCopy | 従来の ASIC に対する包括的な代替手段を提供する業界初のストラクチャードASIC | |
コンフィギュレーション可能なソフトコア・エンベデッド・プロセッサの利点
アプリケーションに最も適合するプロセッサを選択することは、組み込み開発者が直面する大きな課題の 1 つです。文字通り数百ものエンベデッド・プロセッサが、何十社ものサプライヤから異なるペリフェラル、メモリ、インタフェース、および性能特性の組み合わせで供給されています。設計者は必然的に、(ペリフェラル、インタフェースなどの組み合わせを適切なものにするために)必要数以上のプロセッサを購入するか、または(コストを抑えるために)希望を完全に満たすことができない羽目に陥ります。
Nios II ソフト・コアのアプローチにより、設計者は、プロセッサ、ペリフェラル、メモリ・インタフェース、性能特性、そしてコストの面でニーズに最適な、アルテラの FPGA 向けのカスタム SOC (system-on-chip)、正確には SOPC(system-on-a-programmable-chip)を作成することができます。SOPC 設計者は、製品の機能、性能、コスト、および製品寿命の管理に関して優れた多様性を享受することができます。
ソフト・コア・プロセッサの基本概念の詳細については、Nios II デバイス・ハンドブックの Nios II プロセッサ・リファレンス・ハンドブック の Chapter1 概要 を参照してください。
適切な機能の組み合わせを実現
Nios II プロセッサとアルテラの FPGA を使用して、ユーザはプロセッサ、ペリフェラル、メモリ、および I/O インタフェースに関して「ニーズに最適」なシステムを実現できます。独特のシステム・デザイン・オプションとして、以下のものがあります。
- 3種類のプロセッサ・コア - Nios II 開発者は、高性能の実現には高速コア(NiosII/f)を、低コストにはエコノミ・コア(NiosII/e) 、および性能とコストのバランスを考えた場合の標準コア(standard)(Nios II/s)の 3種類から選択することができます。
- 60 を超える SOPC Builder Ready IP - 設計者はアプリケーションに必要なペリフェラル、メモリ、および I/O 類の最適な組み合わせを選ぶことができます。標準プロセッサにはないエンベデッド・プロセッサ・コンフィギュレーション機能はアルテラの FPGA で素早く組み立てることが可能で、開発者の要望を常に満たすことができます。
- 無制限の DMA チャネルの組み合わせ - システム性能の向上のために、任意のペリフェラルにダイレクト・メモリ・アクセスを提供することができます。
- コンフィギュレーション可能なハードウェア&ソフトウェア・デバッグ機能 - ソフトウェア開発者向けに、基本的な JTAG 実行制御(run、stop、step、memory など)、ハードウェア・ブレークポイント、データ・トリガ、オン・チップ・トレース、オフ・チップ・トレース、そしてエンベデッド・ロジック・アナライザを含め、選択可能なデバッグ・オプションが用意されています。開発中にはこれらの強力なツールを使用しシステムをデバッグし、デバッグ終了後に取り除くことができるため、小型で安価なデバイスの使用を可能にします。
システム性能の向上
組み込みシステムの開発者は、適切なシステム性能を達成するプロセッサを選択する必要がありますが、多くの場合、必要と考える以上に高性能(および高コスト)のプロセッサを選択しがちです。Nios II システムは性能をアプリケーションに適合するように調整でき、低いクロック速度で動作しながらも標準プロセッサより高いレベルの性能を達成することができます。
- 複数のCPU コア - Nios II 開発者は、高性能化のために高速コア(NiosII/f) 用いたり、複数のプロセッサを追加することによって、希望のシステム性能を実現できます。
- FPGA ファミリ - Nios II プロセッサは、アルテラのすべての最新 FPGA ファミリと連携して動作します。特にStratix II デバイス内では、Nios II/fコアは 1800 個以下のロジック・エレメントで 200DMIPS を超える性能を達成します。Stratix II 2S180 のような大容量のデバイスでは、Nios II プロセッサ は使用可能なロジックのわずか 1% にしか相当しません。つまり、ユーザは無料で 200DMIPS プロセッサを手に入れたと同じといえます。
- マルチプロセッサ・システム - 多くの開発者は Nios を使用して外部プロセッサを補助し、タスクを肩代りさせることでシステム性能を維持します。あるいは FPGA に複数のプロセッサ・コアを実装してこれを達成します。このようなマルチプロセッサシステムに対し、プリント基板を再設計することなしに、複数の Nios II/f コアを 1つのデバイス内に配置し、性能を数桁も向上させることができます。Nios II IDE は 1つのFPGA 内にある複数のプロセッサのデバッグ、またはJTAG チェインを共有する複数の FPGA をサポートします。
- カスタム・インストラクション - カスタム・インストラクションは、プロセッサのインストラクション・セットを最大 256 個のアプリケーション固有の操作に拡張できます(次の図 1 を参照)。カスタム・インストラクションは、通常はプロセッサが処理するロジックまたは数学的に複雑なアルゴリズムを高速化する場合に使用するのが最適です。たとえば、CRC 計算を 64Kバイト・バッファで実行するロジック・ブロックをカスタム・インストラクションとして動作させる場合、ソフトウェアよりも 27 倍速くなります。
図 1. Nios II カスタム・インストラクション

- ハードウェア・アクセラレータ - 大きなデータ・ブロックに対しては、FPGA 内でカスタム・コプロセッサとして機能する特定用途向けハードウェア・アクセラレータ(図 2 を参照)を追加することにより、CPU との同時処理が可能です。前述の CRC の例と同様、64Kバイト・バッファの処理にハードウェア・アクセラレータを使用した場合、ソフトウェアよりも 530 倍速く実行されます。SOPC Builder デザイン・ツールには、開発者がシステムに高速化ロジックおよび DMA チャネルを追加するインポート・ウィザードがあります。
図 2. ハードウェア・アクセラレータ

システム・コストの削減
組み込みシステムの設計者は、システム・コストを低減する方法を常に探していますが、多くの場合この目標は適切な性能と機能を有するプロセッサを選択することと相反し、システム・コストが増大する傾向にあります。Nios II プロセッサをデザインに使うことで、設計者は以下のようにコストを低減できます。
- より高度なシステム・レベルの統合 – 最適なペリフェラル、メモリ、および I/O インタフェースを持つ、1つ以上の Nios II プロセッサを組み合わせることにより、ボード・コストや煩雑さ、および消費電力を大幅に低減できます。
- 最適化された FPGA/CPU の選択 - Cyclone ファミリのような低コストFPGA によって、現実的な低コストのエンベデッド・ソリューションの提供が可能です。Nios II /e(エコノミ・コア)は Cyclone デバイスの 35セント分のコストで実現でき、さらに従来は外部デバイスで扱っていた機能を実装するための十分なロジックが残っています。わずか 600 個のロジック・エレメント(LE)しか使用しない Nios II/e コアにより、処理性能要求が高くない低コストのシステムやデザインでのソフト・コア・プロセッサの使用が可能となり、新しい応用分野を切り開きます。また、小型 CPU のため、複数のプロセッサを 1 つの FPGA デバイスに実装するのがさらに容易です。
- 在庫管理の改善 -エンベデッド・システムには複数ベンダの複数プロセッサを使って、多様なシステム・タスクを処理していることがよくありますが、プロセッサの在庫管理においては、一部のデバイスが入手できない場合に問題になります。Nios II ソフト・コア・プロセッサを使用して、標準 FPGA デバイス内に配置することにより、必要なディスクリート・プロセッサの数を減らして在庫管理を大幅に簡素化できます。
製品寿命サイクルの管理
開発者は、製品の迅速な市場投入を図りながら、かつ製品寿命の維持と陳腐化の防止に努めなくてはなりません。Nios II ベースのシステムは以下の方法で、これらの目標を達成するよう支援します。
- 「Time to Market」の短縮 - FPGA は、プログラマビリティという特徴によって、最短の「Time to Market」を実現します。多くのデザインの不具合を、FPGA デザインに簡単な変更を加えることにより、素早く解決できます。Nios II システムは、この重要な FPGA の利点を活かし、完全な開発キット、多数のリファレンス・デザイン、強力なハードウェア(SOPC Builder)、およびソフトウェア(Nios II IDE)デザイン・ツールによって、「Time to Market」をさらに短縮します。多数のユーザが Nios II キットを使用して数時間で実用的なプロトタイプを作成しています。Nios II プロセッサを FPGA 内部に配置して外部メモリと I/O コンポーネントの正しい動作を検証すれば、ボードの立ち上げを飛躍的にスピードアップできます。
- 競争力の確立 – 汎用的なハードウェア・プラットフォームでは、競争力を維持するのはなかなか困難です。1つ以上の Nios II プロセッサ、ハードウェア・アクセラレータ、カスタム・インストラクション、およびカスタマイズされたペリフェラル・コンフィギュレーションを使用して作成した SOPC(system-on-a-programmable-chip)は、強い競争力を実現することができます。
- 製品寿命の延長 - 市場で最初の製品は、要求される製品仕様よりも劣る場合が少なくありません。Nios II プロセッサを使用した SOPC デバイスは、フィールドに展開済みの製品に対して、ソフトウェアが何年にもわたって更新されてきたのと同じ方法でハードウェア機能を更新できるという独特の優位性を提供します。これによって、以下に示すいくつかの問題が解決されます。
- ハードウェア機能を徐々に充実させることが可能であり、製品寿命を延長
- 新規の(改定のある)標準規格に基づくハードウェアを使用するリスクを低減する
- ハードウェアのバグ修正を簡略化し、製品の返品 および再作業の必要性をなくす
- プロセッサの陳腐化の防止 - エンベデッド・プロセッサのサプライヤは、さまざまな顧客に対応するために、1つのプロセッサ・ファミリに多様な品種を用意していますが、これらの「派生デバイス」が製造中止または、入手困難になることも少なくありません。Nios II の設計者には、アルテラの FPGA 内で Nios II ベースのデザインを作成および展開するための無期限のライセンスが提供されています。Nios II ベースのデザインでは、アプリケーション・ソフトウェア資産を継承しつつターゲットを新しい FPGA ファミリに容易に変更できます。
- 製造量の増加に伴うコスト低減 - FPGA デザインが確定して大量生産に入る場合、このデザインをアルテラの HardCopy または HardCopy II ストラクチャード ASIC ファミリに移行して、コスト低減と性能向上をわずか数週間で図ることが可能です。 アルテラは、セル・ベースの ASIC デザインへの移行が必要なデザインに対して、Nios II プロセッサ、ペリフェラル、および Avalon スイッチ・ファブリックに対する ASIC ライセンスも提供しています。
