Nios® II プロセッサーの利点

Nios® II エンベデッド・プロセッサーは、柔軟性、高性能、低コスト、長い製品寿命などの利点を備えた最適なソリューションです。 

柔軟性

最も汎用性に優れたプロセッサー

Nios® II プロセッサーは、新しいデザインサイクル固有の要求に対応するために、完璧にフィットする CPU、汎用ペリフェラル、メモリー・インターフェイス、およびカスタム・ハードウェア・ペリフェラルを提供しており、ユーザーの必要に応じて驚異的な柔軟性を提供します。

  • 最適化された CPU ファミリー - 複数の Nios® II CPU から選択します。それぞれの CPU が目的とする価格 / 性能ポイントに対して最適化され、すべてが同じソフトウェア・ツール・チェーンでサポートされます。
  • カスタマイズ可能なペリフェラル・セット - 標準的なプロセッサーでは実現できない構成さえも、インテル® Quartus® Prime 開発ソフトウェアペリフェラル IP を使用して、アプリケーションに必要なだけのペリフェラル、メモリー、および I/O の組み合わせを作成できます。
  • ターゲットシリコンの選択 - インテルは、多彩な FPGA を提供しており、幅広いコスト / 性能要求に対応しています。Nios® II プロセッサーは、インテルの主流の FPGA をすべてサポートします。
  • 性能の拡張性 - ソフトウェア性能は、ハードウェア・アクセラレーター、カスタム命令、さらにマルチ・プロセッサー・システムによって向上させることができます。インテルはアクセラレーション自動化ツールも提供しています。

組込み開発者には、性能に過剰投資したり、機能を犠牲にすることなく、アプリケーションに最適なプロセッサーを選択することが求められます。多くのサプライヤーから何百種類ものプロセッサーが販売されており、それぞれが異なるペリフェラル、メモリー、インターフェイス、および性能特性のセットを備えています。設計者は必然的に、(機能または性能目標に適応するために) 過剰投資を行うか、あるいは (アプリケーションに必要ない機能や性能への過剰投資を回避しようとしてコストを抑えるために) 必要な性能を満たすことができないという状況に陥る傾向にあります。

長い製品寿命

Nios® II プロセッサーでは、製品寿命のすべての段階で以下のようなライフサイクル上の利点を提供することによって、製品利益を最大化できます。

  • いち早く製品を市場に投入する
  • 機能追加やコスト低減で、製品寿命を維持する
  • コスト高の要因となるプロセッサーの陳腐化、および市場からの早期撤退を回避する

製品寿命の各段階で提供される Nios® II プロセッサー独自の利点を説明します。

開発

「Time-to-Market」のメリット - FPGA デバイスは、プログラマビリティーにより、きわめて短い「Time-to-Market (市場投入までの時間)」を実現します。FPGA デザインの簡単な変更によって、多くの一般的なデザインエラーを素早く修正できます。 Nios® II プロセッサー・システムは、このような柔軟性を生かし、完全な開発キット、多数のリファレンス・デザイン、強力なハードウェア・デザイン・ツールを提供して「Time-to-Market」をさらに短縮します。また、Nios® II 統合開発環境 (IDE) などのソフトウェア・デザイン・ツールも提供しています。

市場で最初の製品は、期待される製品仕様よりも劣る場合が少なくありません。Nios® II プロセッサーを使用した FPGA ベースのシステムは、フィールドに展開済みの製品に対して、ソフトウェアが更新されるのと同じ方法でハードウェア機能を更新できるという独自の優位性を提供します。これによって、以下のとおりいくつかの問題が解決されます。

  • 製品寿命を延長できれば、時間経過に伴ってハードウェア機能を充実させることが可能
  • 新規の (改定される) 標準規格に基づくハードウェアを使用するリスクを低減
  • ハードウェアのバグ修正が簡単になり、製品の返品と再作業が不要

競争力の構築 - 汎用的なハードウェア・プラットフォームでは、競争力を維持するのはなかなか困難です。1 つまたは複数の Nios® II プロセッサー、ハードウェア・アクセラレーター、カスタム命令、およびカスタマイズされたペリフェラルを使用したシステムを作成することによって、競合の市場参入に対する強固な防壁を構築したり競争で優位に立つことができます。

導入期および成長期

導入および成長の段階では、売上高の急増、および量産とコスト低減による収益性確保への移行といった特徴が見られます。製品エンジニアは長い間 FPGA デバイスを使用してフル生産に向けての短期的な立ち上げを可能にしてきましたが、インテルの新世代の低コスト FPGA デバイスにより、設計者はプロトタイプの作成から量産出荷までの生産プロセス全体を通して、同じデザインフローを維持できます。

さらに、多機能の Nios® II プロセッサーは、組込みシステムの開発者に、ハードウェア機能やハードウェア・アクセラレーターを追加する柔軟性を与え、開発段階の後半においても、 開発した製品に競争力をもたせる性能強化、および機能追加のための柔軟性を与えます。

成熟期および衰退期

コストの低減 - この段階では、市場の成長が止まり、競争から生じるコスト低減が重要な課題となります。インテルは、セルベース ASIC デザインへの移行が必要なデザインに対しても、Nios® II プロセッサー、ペリフェラル、およびスイッチ・ファブリック・インターコネクト用 ASIC ライセンスを提供しています。詳細については、インテルの販売代理店にお問い合わせください。

 

プロセッサーの陳腐化 - エンベデッド・プロセッサー・ベンダーは、さまざまな顧客に対応するために、1 つのプロセッサー・ファミリーで幅広いコンフィグレーションの選択肢を用意していますが、 これらの「派生プロセッサー」が製造中止または、入手困難になることも少なくありません。経験豊富な設計者は、ソフト Nios® II プロセッサーがハード・プロセッサーのようには陳腐化しないことを理解しています。Nios® II プロセッサーの設計者には、インテルの FPGA で Nios® II プロセッサー・ベースのデザインを作成し展開するための無期限ライセンスが提供されています。そのため、ベースとなる FPGA ハードウェアに変更が生じた場合でも、アプリケーション・ソフトウェアへの投資は維持されます。

インテルの FPGA デバイスに設定されている最小発注数量は少なく、寿命の延長と製品利益の最大化を図るプロダクト・マネージャーにとって大きな救いとなっています。市場の衰退は不可避ですが、製品は徐々に段階的に廃止することができます。

インテル® デバイスのオンライン購入も可能です。

低コスト

組込み設計者は、インテルの Nios® II プロセッサーを使用することにより必要のない機能にコストをかけることなくアプリケーションに必要なプロセッサー、ペリフェラル、メモリー、およびインターフェイスの的確なセットの選択が可能となります。すなわち、Nios® II プロセッサーはコスト面で驚異的な柔軟性を提供します。設計者は、開発コストやコンポーネント・コストを削減しつつデザイン仕様と最終納期を守る方法を見つける立場におかれています。Nios® II プロセッサーは、これらの要件を満たすためのコスト面での柔軟性を提供しています。

機能 詳細
低コスト・プロセッサー・コア 特にロジック利用効率に配慮して設計された小型の Nios® II/e CPU コアにより、可能な限り最小限のロジックとメモリーリソースを使用して、低コストの Nios® II プロセッサーを実現します。
より高度なシステムレベルの統合 1 つまたは複数の CPU と、ペリフェラル、メモリー、および I/O インターフェイスの最適なセットを組み合わせシステムを構築することで、ボードコストや複雑さ、および消費電力を大幅に低減することができます。
コストが最適化された FPGA Nios® II/e CPU コアは、Cyclone® III デバイスを使用することで、わずか 25 セントのロジックリソースで実装できます。残された十分なロジックリソースで、従来は外部デバイスで処理していた機能も実装できます。 インテルの Cyclone® シリーズについて詳しく紹介します
コスト効果の高いアクセラレーション 性能重視のソフトウェア機能を FPGA 内のハードウェア・アクセラレーターに肩代わりさせることによって、コスト効果の高い方法でソフトウェアの性能を向上させることができます。
低コストの IP および開発ツール Nios® II エンベデッド・デザイン・スイートをダウンロードすれば、ツールとプロセッサーを無償で評価することが可能です。無償評価後、オンチップ・マイクロプロセッサー・システムを開発するために必要なすべてが含まれた低コスト開発キットを購入することもできます。Nios® II プロセッサーの開発キットについて詳しく紹介します。
ロイヤルティー・フリー・ライセンス インテルの FPGA デバイスに実装された Nios® II プロセッサーに対しては、いかなるロイヤルティーも発生しません。 Nios® II プロセッサーの開発キットについて詳しく紹介します。

高性能

インテルの Nios® II プロセッサーは、消費電力の大きい高周波数の標準的なプロセッサーにコストをかけることなく、組込み設計に必要かつ最適な性能を実現するための柔軟性を提供します。さらに、Nios® II プロセッサーは、アセンブリー言語コードの手作業による駆け込み調整という場面を回避し、また、必要に応じたコンフィグレーション可能な性能機能も提供します。

機能 詳細 詳細の参照先
高性能プロセッサー・コア Nios® II/f コアは、特に性能に配慮して設計されており、6 段パイプライン、ダイナミック分岐予測、インストラクション・キャッシュおよびデータキャッシュ、250MHz 超の性能を備えています。インテル® Stratix® デバイスファミリーなどの高性能 FPGA は、Nios® II/f コアのメニーコア処理に対応できる十分な性能を備えています。 インテル® Stratix® シリーズ FPGA
マルチコア高性能 FPGA マルチコアシステムを使用してシステムの性能の拡張 / 縮小、またはソフトウェア・アプリケーションのよりシンプルなタスクへの分割を行います。Nios® II エンベデッド・デザイン・スイート (EDS) は、カスタマイズされたマルチコアシステム構築をサポートします。Stratix® III デバイスファミリーなどの高集積 FPGA と Nios® II プロセッサーの組み合わせは、マルチコアの高性能アプリケーションの構築に最適です。

チュートリアル: Creating Multiprocessor Nios® II Systems (PDF、英語)

インテル® Stratix® シリーズ FPGA

高帯域幅バス構造 Avalon® インターコネクト・ファブリックは、プラットフォーム・デザイナーと呼ばれるシステム統合ツールによって自動生成されます。このツールを使用することで、複数のマスター / ターゲット同時接続、DMA およびオンチップ・データ・バッファーをサポートする高スループット・システムを容易に構築できます。

Avalon® スイッチ・ファブリックの機能

Avalon® インターフェイス仕様 (PDF、英語)

カスタム・インストラクション Nios® II インストラクション・セットにカスタム・インストラクションを追加することによって、処理時間重視のソフトウェア・アルゴリズムを高速化することができます。 Nios® II カスタム・インストラクション・ユーザーガイド (PDF、英語)
コンフィグレーション可能な高速オンチップメモリー パフォーマンス重視のアプリケーションでは、低レイテンシーのオンチップ・メモリー・バッファーを作成することを可能にします。

Cache & Tightly-Coupled Memory (PDF) (Nios® II Software Developer’s Handbook 内)

チュートリアル: Using Nios® II Tightly Coupled Memory Tutorial (PDF、英語)

FPGA によるフレキシブルなプロセシング

これまで組込みシステム開発者がデザインサイクルの最終段階近くで性能を向上させようとした場合、より高速なプロセッサーを購入するか、サブルーチンをアセンブリー言語レベルで手作業により調整するしか方法がありませんでした。これらの手段は性能面で効果的だとしても、 それに伴うコストと消費電力の増大などとのトレードオフは、往々にして受け入れがたいものです。アセンブリー・コードを特定のプロセッサー・アーキテクチャーに最適化することも望ましくありません。

Nios® II プロセッサーは、次のようなケースに適しています。

  • アプリケーションが大規模かつ複雑になり、開発やデバッグ・スケジュールが厳しくなっていませんか?
    • マウスを数回クリックすれば、Nios® II によるマルチプロセッサー・システムを構築できます。プロセッサーを複数使用できるので、コードをより小さなシンプルなアプリケーションに分割できます。マルチプロセッサーの特性を生かして、タイミングを満足させたり、早期にアプリケーションの妥当性を確認したり、製品の出荷を早めたりできるようになります。
  • アプリケーションがタイミング要件を満たしていませんか?
    • Nios® II プロセッサーを使用すれば、カスタム命令またはハードウェア・アクセラレーターを追加することで、ボトルネックとなっているサブルーチンの性能を向上させることができます。

インテルの FPGA および Nios® II プロセッサーは、組込みシステムの設計者へ、パフォーマンスの改善と設計リスクを軽減するツールボックスを提供しています。

JTAG デバッグモジュール

Nios® II プロセッサーのアーキテクチャーは、プロセッサーをホスト PC からリモートで制御するためのオンチップ・エミュレーション機能を提供する JTAG (Joint Test Action Group) デバッグモジュールをサポートします。Nios® II エンベデッド・デザイン・スイート (EDS) のような PC ベースのソフトウェア・デバッグ・ツールは、JTAG デバッグモジュールと通信し、設計者に以下の機能を提供します。

  • メモリーへのプログラムのダウンロード
  • 実行の開始および停止
  • ブレークポイントおよびウォッチポイントの設定
  • レジスターおよびメモリーの解析
  • リアルタイム実行トレースデータの収集

デバッグモジュールは、インテルのすべての FPGA に内蔵されている JTAG 回路に接続され (図 1 参照)、インテル® FPGA ダウンロード・ケーブル (Nios® II プロセッサー開発キットに付属) またはサードパーティー製のシステム・アナライザー・プローブのようなダウンロード・ケーブルを経由してホスト PC に接続されます。

ソフトウェア開発者は、Nios® II エンベデッド・デザイン・スイート (EDS) (すべての Nios® II プロセッサー開発キットに付属) またはインテルのエンベデッド・ソフトウェア・ツール・パートナー製 IDE およびデバッガーなどのホスト・ソフトウェアから Nios® II コアにアクセスできます。

より高度なデバッグ機能セットが必要な場合は、サードパーティー製プローブへのアップグレードが可能です。

JTAG デバッグモジュールおよび Nios® II IDE を使用するソフトウェア・デバッグに関する詳細は、Nios® II プロセッサー・ハンドブックを参照してください。

 

ハードウェア・アクセラレーション

パフォーマンスの向上が求められていますか?その場合には、ハードウェア・アクセラレーションをご検討ください。ハードウェア・アクセラレーションを使用することで、システムのボトルネックとなっている C コードを切り出し FPGA 内でハードウェア化 (アクセラレーター) することで、システム性能を向上させることが可能となります。

FPGA でのソフトウェアのアクセラレーションについて紹介します。

カスタム命令 (インストラクション)

ハードウェア・アクセラレーターと同様に、カスタム命令でも、ソフトウェア・コードの一部をハードウェア機能に肩代わりさせることによって、システム性能の向上を図ることができます。ただし、カスタム命令はプロセッサー・コア内に実装され、CPU 命令セットを拡張して時間重視のソフトウェアの高速化を図ります。

Nios® II プロセッサーはコンフィグレーション可能な特質を備えているため、カスタムロジックを演算ロジックユニット (ALU) に直接統合することができます。 開発者は、カスタム命令によって、デジタル信号処理、パケットヘッダー処理、および演算を多用するアプリケーションなどの用途に対し、ソフトウェアの内側ループを最適化して、 複雑な動作シーケンスをハードウェアで実装される 1 つの命令に縮小できます。

カスタム命令を使用すれば、従来の標準的なプロセッサーでは不可能な方法でシステム性能を最適化できます。開発者は、プラットフォーム・デザイナー (旧: Qsys) で提供されるグラフィカル・ユーザー・インターフェイスを使用して、独自のハードウェア・デザイン・ファイルを簡単にインポートしてカスタム命令を作成することができ、作成されたカスタム命令は Nios® II プロセッサーに自動的に統合されます。

Nios® II プロセッサーのカスタム命令は、以下を提供します。

  • 最大 256 のユーザー定義命令
  • 固定および可変サイクル動作
  • ユーザーロジックのインポートウィザード
  • C 言語およびアセンブリー言語ソフトウェア・マクロ

Nios® II プロセッサー・コア

Nios® II プロセッサーの種類

世界のほかのどのソフト・プロセッサーよりも多くのデザイナーによって使用されている Nios® II エンベデッド・プロセッサーは、FPGA 設計における業界の標準プロセッサーとしての位置を保っています。Nios® II エンベデッド・プロセッサー・ファミリーは、現在、共通の命令セット・アーキテクチャーを実装する 3 つのプロセッサー・コアで構成され、それぞれが特定の価格 / 性能の点のために最適化されており、3 種類とも同じソフトウェア・ツール・チェーンによりサポートされています。

設計者は、次のコア製品から選択することができます。

  • Nios® II/f: 高速
  • Nios® II/e: エコノミー

Nios® II プロセッサー・コアの技術的な詳細については、Nios® II プロセッサー・リファレンス・ガイドにある Nios® II コア実装の詳細に関する章を参照してください。

注: Nios® II/s コアは、Nios® II Classic 製品でのみ利用可能です。/f コアを選択し、必要なオプションを設定することで、同じコンフィグレーションのコアを作成できるようになりました。 

Nios® II/f "高速"

インテルは高性能を達成するために、Nios® II/f「高速 (fast)」プロセッサー・コアを特別に設計しました。300 MIPS* (Dhrystone 2.1 ベンチマークを利用) を上回る動作性能を備え、多彩な機能を持つオペレーティング・システムが稼動するシステムのように、大量のコードやデータを扱うアプリケーションや性能重視のアプリケーションに最適です。

Nios® II/f コアは、Eclipse* ベースの Nios® II 統合開発環境 (IDE) を含む Nios® II エンベデッド・デザイン・スイート (EDS) によってサポートされています。

Nios® II/f コアの機能は以下のとおりです。

  • メモリー・マネジメント・ユニット (MMU)
  • メモリー・プロテクション・ユニット (MPU)
  • 外部ベクター割り込みコントローラー
  • 高機能な例外のサポート
  • 独立した命令キャッシュとデータキャッシュ (512 バイトから 64 K バイト)
  • 最大 4GB の外部アドレス空間
  • 命令およびデータ用密結合メモリー (TCM) (オプション)
  • 最大 MIPS* (Dhrystone 2.1 ベンチマークを利用) / MHz を達成する 6 段パイプライン
  • シングルサイクル・ハードウェアによる乗算、およびバレルシフター
  • ハードウェア除算オプション
  • ダイナミック分岐予測
  • 最大 256 個のカスタム・インストラクションと制限のないハードウェア・アクセラレーター
  • JTAG デバッグモジュール
  • ハードウェア・ブレークポイント、データトリガー、リアルタイム・トレースなどの JTAG デバッグモジュール拡張機能 (オプション)

デジタル信号処理 (DSP) ブロックを備えたインテルのデバイスファミリーをターゲットとする場合、Nios® II/f コアによって機能と性能の向上が可能です。この場合、Nios® II/f コアはシングルサイクルで乗算を実行するハードウェア乗算回路を提供します。この乗算回路はシングルサイクル・バレル・シフターとしても動作します。また、Nios® II/f コアは除算を高速化する除算回路もオプションで提供します。

最高性能が必要な場合は、Nios® II/f コアをインテルの最高性能の FPGA に実装してください。

Nios® II/e "エコノミー"

Nios® II/e「エコノミー (economy)」プロセッサー・コアは、最小限のロジックとメモリーリソースを使用するように設計されています。Nios® II Classic プロセッサー、Nios® II Gen2 プロセッサーのいずれにも無償で付属します。インテル® Quartus® Prime 開発ソフトウェア、および Quartus® 開発ソフトウェア・バージョン 9.1 以降では、ライセンス不要で使用できます。 Nios® II/e コアは、代表的な 8051 アーキテクチャーと同じコストクラスながらも、より高性能な 30 DMIPS (最大 200 MHz) 超の演算能力を達成し、 使用ロジックエレメント (LE) 数は 700 個未満で実装されます。

このコアは、Eclipse* ベースの Nios® II 統合開発環境 (IDE) を含む Nios® II エンベデッド・デザイン・スイート (EDS) によってサポートされています。

無償の Nios® II/e コアの機能は以下のとおりです。

  • 最大 2 GB の外部アドレス空間 
  • JTAG デバッグモジュール
  • LE 数 700 個未満で完全なシステムを実現
  • オプションのデバッグ拡張機能
  • 最大 256 個のカスタム・インストラクション

Nios® II /e コアは、自動車、工業用機器、および民生用機器といったコスト重視のアプリケーションに最適です。このコアは多くの場合、インテルの低コスト FPGA 製品と組み合わせて使用されます。

Nios® II/s "標準"

Nios® II/s コアは、Nios® II Classic 製品でのみ利用可能です。/f コアを選択し、必要なオプションを設定することで、同じコンフィグレーションのコアを作成できるようになりました。Nios® II/s「標準 (standard)」プロセッサー・コアは、ソフトウェア性能と小型化との大きなトレードオフなしで実装できるように設計されています。 Nios® II/s コア (または同等の /f コンフィグレーション) は、大量のコードやデータを扱うアプリケーションを含め、コスト重視で中程度の性能も必要なアプリケーションに最適です (多くの機能を備えたオペレーティング・システムが稼動するシステムなど)。

このコアは、Eclipse* ベースの Nios® II 統合開発環境 (IDE) を含む Nios® II エンベデッド・デザイン・スイート (EDS) によってサポートされています。

Nios® II/s コアの機能は以下のとおりです。

  • 命令キャッシュ
  • 最大 2 GB の外部アドレス空間
  • 命令用密結合メモリー (TCM) (オプション)
  • 5 段パイプライン
  • スタティック分岐予測
  • ハードウェアの逓倍、分周、およびシフトオプション
  • 最大 256 個のカスタム・インストラクション
  • JTAG デバッグモジュール
  • ハードウェア・ブレークポイント、データトリガー、リアルタイム・トレースなどの JTAG デバッグモジュール拡張機能 (オプション)

DSP ブロックを備えたインテルのデバイスファミリーをターゲットとする場合、Nios® II/s コアによって機能と性能の向上が可能です。この場合、Nios® II/s コアは 3 サイクルで乗算を実行するハードウェア乗算回路を提供します。この乗算回路はバレルシフターとしても動作します。