Nios® II エンベデッド・プロセッサ・ファミリ は大成功を収めた第一世代 Nios プロセッサをベースにしており、3つのプロセッサ・コアによりさらに広範囲なエンベデッド・プロセッシング・アプリケーションを提供します。200 DMIPS を超える高性能コア、低コスト・コア(ロジックあたり35セントから)、そしておよび性能とコストのバランスを考えた標準コアから選択することができます。Nios II プロセッサ・ファミリは以下のタスクを達成します。
- 複雑なステート・マシンの実装
- 既存のプロセッサの負荷の軽減
- I/O タスクとデータ処理タスクの実行
- リモートでのFPGAの構成
- デジタル信号処理(DSP)アルゴリズムの加速
最新のアーキテクチャを備えた Stratix® GX デバイスに、強化された Nios II エンベデッド・プロセッサ性能を組み合わせれば、広帯域システムのニーズに応える比類のない処理能力が得られます。大容量の Stratix GX デバイスでは最大 41,250 個のロジック・エレメント(LE)を使用することができるため、1 個の Stratix GX デバイスに複数の Nios II プロセッサを実装することは容易であり、ネットワーキング、テレコミュニケーション、デジタル信号処理(DSP)、大容量ストレージなどのアプリケーションのニーズに対応することができます。図 1 に示すのは、パケット処理ネットワーキング・デザインで 1 個の Stratix GX デバイスに複数の Nios II プロセッサを実装した例です。
図 1.I/O 処理用に Stratix GX デバイスに実装された Nios II プロセッサ
FPGA デバイス・アーキテクチャ
Nios II エンベデッド・プロセッサのメリットである使いやすさと性能は、Stratix GX FPGA のアーキテクチャによってさらに向上します。Stratix GX デバイスの革新的な MultiTrack インタコネクト構造は、Nios II プロセッサの全体的なシステム性能を 150MHz まで高めます。
この構造がいかに柔軟かは、以下を含んだNios II のデザイン例を考えるとよく分かります(Nios II/s 標準コンフィギュレーション・プロセッサ・コア(Joint Test Action Group (JTAG) デバッグ・モードなしでコンパイル)、JTAG UART、serial UART、イーサネット・デバイス・インタフェース、いくつかのI/Oペリフェラル(7つの区分されたディスプレイとLCDモジュール)、8M バイトのオフチップ・フラッシュとのインタフェース、1M バイトのオフチップ SRAMとのインタフェース、そして64K バイトのオンチップRAMを実装したStratix GX EP1SGX40 デバイス)(注:Stratix デバイスと同等の機能や集積度を搭載しているNios II 開発キットを提供しています。)。 このデザインで使用するリソースは、3,104 個の LE(このデバイスで利用可能な LE のわずか 7%)、2個のM512 RAM ブロック(利用可能な全体数は384個)、11 個の M4K RAM ブロック(利用可能な全体数は183 個)、8 個の 9x9 乗算器(利用可能な全体数は112 個 個)です。この例から、Stratix GX デバイスを採用すればリソースを効率よく使用して複雑なシステムを実現できることが分かります。
Stratix GX デバイスの TriMatrix メモリは、一般的な SOPC(system-on-a-programmable-chip)システムのメモリ・ニーズのすべてを満たします。Nios II プロセッサは、データとインストラクションのどちらを保存する場合でも、M-RAM ブロックあたり 64K バイトのメモリ・セグメントにアクセスすることができます。 Nios II CPU はオプションとしてコンフィギュレーション可能なインストラクションとデータ・キャッシュも搭載しています。ユーザは、512バイトから64Kバイトのインストラクションまたはデータ・キャッシュを追加することが可能です。さらに、豊富なTriMatrix メモリ・ブロックはオフチップ・メモリ・アクセスを加速させるためにオンチップ・キャッシュ・メモリを実装することができ、エンベデッド・システムのソフトウェア性能を確実に向上することが可能です。
MegaRAM ブロックはカスケード接続が可能で、Stratix GX EP1SGX40 FPGAの場合、Nios II プロセッサは最大 256 K バイトのメモリを使用することができます。Stratix GX デバイスの設計し直された I/O バッファは on-chip Terminatorとその他のI/O標準をサポートしており(例:SSTL II)、DDR(double data rate)SDRAM デバイスや QDR(quad data rate)SDRAM デバイスなどの外部メモリデバイスとの間の高速データ転送を可能にします。
Nios II プロセッサはさらに固有なStratix GX ハードウェアの特長を利用しています。Nios II 設計者はStratix GX FPGAファミリのエンベデッド DSPブロックの乗算器を利用してハードウェアで乗算作業を行うことができます。以前のデバイス・ファミリの実装と比べ、この機能により乗算器の性能を向上し、LEの使用数を削減します(例えば、APEX デバイスで乗算作業が実行される際に2つのクロック・サイクルの中で実行され16x16 乗算器の370 LEを使用します。)。Stratix GX FPGAでは、同じ作業をLEを追加したりせずに2つのDSPブロックをたった1つのクロック・サイクルで使用するだけで実現できます。
Stratix GX デバイス・アーキテクチャのエンベデッド DSP ブロックは、Nios II のカスタム・インストラクションとハードウェア・アクセレレーション・ユニットを完全に補完します。DSP の設計者は、DSP アルゴリズムや複雑な演算ルーチンをハードウェアの DSP ブロックで作成し、Nios II CPU のカスタム・インストラクションとして実行することができるようになりました。例えば、VoIP(voice over IP)アプリケーションでは、エコー・キャンセル・アルゴリズムをハードウェアで実現しておき、カスタム・インストラクションを使用してソフトウェアで直接実行することができます。したがって、設計者は、FGGA による並列ハードウェア演算の性能上の利点を活かしながら、柔軟性が高く移植可能な高度なソフトウェア・デザインを行うことができます。
Stratix GX デバイスと Nios II プロセッサ: 完全な SOPC ソリューション
Stratix GX のアーキテクチャは、最適化済みの IP(intellectual property)モジュールを使用したり既存のデザイン・モジュールを再利用したりして大型システムをデザインする際に必要になるブロック・ベースのデザイン方法に最適です。
アルテラの SOPC Builder 自動システム開発ツールは、プロセッサ、ペリフェラル、メモリ・インタフェースなどの一般的なシステム・コンポーネントからバス・ベースのシステムを構成するための強力なプラットフォームを設計者に提供します。SOPC Builder によって生成されるシステム(図 2 に示されているようなシステム)は、Stratix GX のアーキテクチャの利点を十分に取り入れた最適化ずみの IP ブロックです。
図 2.SOPC Builder によって生成される一般的なシステム
Stratix GXの設計者は、SOPC Builder を使用してシステムの性能に大きな影響を与えずにシステム・コンポーネントを追加することができます。 これを可能にしているのが、Quartus® II ソフトウェアで利用することができる LogicLock デザイン手法です。SOPC Builder はハードウェア用のテストベンチのシュミレーション環境も作成することができ、Nios II 統合開発環境(IDE)を利用することもできます。
SOPC Builder はカスタマイズ可能なペリフェラルを数多く提供しており、これらを使用すればコンセプトの段階から出発して数分以内で、完全に機能するシステムを生成することができます。以下のようなペリフェラルが提供されています。
- インタラプト・コントローラ
- DMA(直接メモリ・アクセス)
- パラレル I/O ブロック
- シリアル・インタフェース
- メモリ・インタフェース
Nios II IDE は、編集、コンパイル、デバッグなどのすべてのソフトウェア・タスク行う完全なソフトウェア開発環境を提供します。
Nios II プロセッサで利用可能なペリフェラルの詳細については、Nios II ペリフェラル・ライブラリページを参照してください。
