Nios® II プロセッサーはインテル® FPGA のために設計された 32 ビット組み込み用途向けプロセッサー・アーキテクチャーです。

Nios® II は、DSP からシステム制御までの幅広い組み込みコンピューター用途に適しています。

 

このページでは、Nios® II を使用するユーザー向けに、最適な情報を紹介します。

 

1. Nios® II とは?

2. Nios® II 開発に必要なツールと開発フロー

3. 公開されている記事 / 資料およびサンプル・デザイン

4. トラブル・シューティング FAQ

5. Nios® II のパートナー・リンク

1. Nios® II とは?

全てのインテル® FPGA に搭載可能な 32 ビットの RISC ソフトコア・プロセッサーです。

ソフトコアのため、システムの設計者が所望の Nios® II コア (Nios II/f [Fast]、Nios II/e [Economy]) を選定して生成し、キャッシュのサイズや演算器の実装など通常のマイコンでは固定のものも設定が可能です。

※ Nios II/e [Economy] は、無償で利用可能です。

Nios® II プロセッサの設定例

また、ペリフェラルも設計者自身で選択するため、アドレスマップも自由に決定することが可能です。

ペリフェラルの追加とアドレス設定例

Nios® II の世代 (Generation) について

Nios® II には、以下 2 つの世代 (Generation) が存在します。

・ Nios® II Classic プロセッサー (または Nios® II Gen 1 プロセッサー)

・ Nios® II プロセッサー (または Nios® II Gen 2 プロセッサー) 

Nios® II プロセッサーの世代 (Generation)

Nios® II Classic プロセッサー機能の開発は、Quartus® II 14.0 のリリースをもって終了し、Nios® II Gen2 プロセッサーは、Quartus® II 14.1 リリース以降でのみ使用できます。

Classic プロセッサーは継続してサポートされますが、今後の設計においては Gen2 コアを使用することをメーカーではおすすめしています。

Web サイト上には、Classic プロセッサー用の資料も存在していますので、ご使用の Nios® II プロセッサーに適した資料やサンプルをご利用ください。

 

[参考] Nios II Gen2 プロセッサー・リファレンス・ガイド

 

注記 :

 基本的に Nios® II Gen 2 は Nios® II Classic の上位互換になっていますが、一部機能で差異があるものがありますのでご注意ください。
 本ページでは主に Nios® II Gen 2 プロセッサーの情報を掲載しています。

▲ ページトップへ戻る

2. Nios® II 開発に必要なツールと開発フロー

Nios® II の開発フローとしては、「ハードウェア開発プロセス」 と 「ソフトウェア開発プロセス」 に分けられます。

ハードウェア開発プロセスでは、Nios® II 自体の設定や周辺ペリフェラルの設定をインテル® Quartus® Prime 開発ソフトウェアに含まれるプラットフォーム・デザイナー (Platform Designer、旧 Qsys) で行います。

ソフトウェア開発プロセスでは、Nios® II エンベデッド・デザイン・スイート (EDS) に含まれる一般的な Eclipse ベースの Nios® II Software Build Tools for Eclipse (以下、Nios® II SBT) にて行います。

ハードウェア開発プロセス (Platform Designer)

 

・ Nios® II ハードウェアは、Platform Designer を使用してデザインします。

・ Quartus® Prime パッケージのコンポーネントを使用し Nios® II システムの設定と生成を行います。

  Platform Designer でハードウェアの設定を生成を終えた後、Quartus® Prime は合成、ターゲットの FPGA システム全体の配置と接続の

  実装を行います。

・ 設定のための GUI によりユーザーは Nios® II の詳細な実装を選択することができ、ペリフェラルと I/O ブロック (タイマーやメモリーコントローラー、

  シリアル・インターフェースなど) を組み込むことができます。

 

[参考] Quartus Prime Platform Designer (旧 Qsys) システム統合ツール

Platform Designer を使ったデザイン例

ソフトウェア開発プロセス (Nios® II SBT)

・ Nios® II エンベデッド・デザイン・スイート (以下、Nios® II EDS) は、Nios® II ソフトウェア・デザイン用の包括的な開発パッケージです。

・ Nios® II EDS には開発ツールだけではなく、ソフトウェア、デバイスドライバー、ベアメタル・ハードウェア抽象化レイヤー (HAL) ライブラリー

  などが含まれています。

・ Nios® II EDS に含まれる、Nios® II SBT は、編集、ビルド、デバッグなど、すべての Nios® II ソフトウェア開発作業を行うことができる統合環境です。

 

[参考] Nios® II SBT によるソフトウェア開発

Nios® II SBT によるソフトウェア開発例

▲ ページトップへ戻る

3. 公開されている記事 / 資料およびサンプル・デザイン

Nios® II 関連情報ポータル

下表に、Nios® II システム関連情報ポータルページへのリンク先をご案内します。

 

公開元

名称

概要

インテル®

FPGAs and Programmable Devices

Nios® II Processors Support

(英語 / 日本語)

インテル® の Nios® II 関連資料ページ

Nios® II Embedded Design Suite

(英語 / 日本語)

Nios® II エンベデッド・デザイン・スイート (EDS) ページ
インテル® FPGA & SoC / 資料 / 資料一覧 ページ インテル® FPGA & SoC 製品の資料一覧ページ
デザイン例 インテル® の デザイン例ページ。
このページのカテゴリで "エンベデッド・プロセッサー" をクリックすると、Nios® II のデザイン例が表示されます。
ただし、対応する Quartus® Prime (Quartus® II) のバージョンが古いサンプルが多いです (ver.7.2 ~ ver.13.1)。
インテル® MAX 10 FPGA ファミリーおよびその開発キットをターゲットにしたデザインは、Design Store で入手可能です。
Design Store インテル® の Design Store ページ。
条件を設定して Design Examples を探せるページです。(デザインのダウンロードは無償)
Knowledge Data Base インテル® FPGA 製品を使いこなすためのヒントや問題解決の方法などが公開されています。

株式会社マクニカ

半導体事業トップページ

マクニカ Web サイト 技術情報 : Nios II

マクニカ Web サイトの Nios® II 関連 技術情報 ページ

マクニカ Web サイト FAQ : Nios II

マクニカ Web サイトの Nios® II 関連 FAQ ページ

株式会社マクニカ

アルティマカンパニーのインテル FPGA 技術 Web サイト

アルティマカンパニー技術サポート 技術コンテンツ: Nios II アルティマカンパニー技術サポート Nios® II 関連 技術コンテンツ・ページ
アルティマカンパニー技術サポート FAQ:Nios II アルティマカンパニー技術サポート Nios® II 関連 FAQ ページ

表3-1: Nios® II 関連情報のポータル

▲ ページトップへ戻る

Platform Designer での設定関連の記事 / 資料およびサンプル・デザイン

下表に、Platform Designer における Nios® II システムの設定に関する記事 / 資料およびサンプルをご紹介します。

 

区分

対象

コンテンツ名

概要

資料

ALL

Nios® II Processor Reference Guide インテル® の PDF 資料。
Nios® II 設定(コアの違い、Reset/Exception vector など)

記事

資料

ALL

Nios® II 向け各種 Flash コントローラの紹介 マクニカ Web サイトの記事および PDF 資料。
Boot デバイスごとのコントローラの紹介。

記事

🔰 ビギナー

Nios II プロセッサーの ポートの接続について アルティマカンパニーの技術コンテンツ。
Nios® II におけるポート接続 (バス接続) で使用するインストラクション・マスターおよびデータ・マスターについて解説しています。

記事

資料

🔰 ビギナー

Nios II 割り込みの実現 マクニカ Web サイトの記事および PDF 資料。
割り込みの接続と番号について(0 が最優先)。
PDF 資料 (割り込みの実現 ver.14) の 「3-1. 割り込み要求(IRQ)の設定」 の項目を参照ください。

表3-2: Platform Designer における Nios® II システム設定関連の記事 / 資料およびサンプル・デザイン

▲ ページトップへ戻る

Nios® II SBT 関連の記事 / 資料およびサンプル・デザイン

下表に、Nios® II SBT に関する記事 / 資料およびサンプル・デザインをご紹介します。

 

区分

対象

コンテンツ名

概要

資料

サンプル・デザイン

ALL

Nios® II 簡易チュートリアル マクニカ Web サイトの資料とサンプルデザイン。
プロジェクト作成時のサンプルの紹介。
「3-1. Nios II SBT でソフトウェア・プロジェクトの作成」 の手順 ⑤ を参照ください。全体のフローの理解にも利用できる資料です。

記事

資料

ALL

Nios® II SBT によるソフトウェア開発 マクニカ Web サイトの記事および資料。
HAL の紹介 (HAL の紹介と BSP プロジェクトのどこにあるかも) 添付資料(ELS1390_Q1410_20__1.pdf)の 「2-1. HAL (Hardware Abstraction Layer)」 を参照ください。
HAL が格納されている BSP プロジェクト内のフォルダーとしては、
・各コンポーネントに対する HAL は “BSP Project ⇒ drivers ⇒ inc”
・基本的な HAL は “BSP Project ⇒ HAL ⇒ inc”
に格納されてます。

資料

サンプル・デザイン

🔰 ビギナー

Nios® II ペリフェラル PIO (Parallel I/O) 簡易ユーザ・ガイド マクニカ Web サイトの資料およびサンプルデザイン。
Nios® II のペリフェラルとして使用頻度の高い PIO についての簡易ユーザ・ガイド。
PIO を入力として使用した場合の割り込み設定例についても記載されています。

資料

サンプル・デザイン

🔰 ビギナー

Nios II 割り込みの実現 マクニカ Web サイトの資料およびサンプルデザイン。
割り込み使用時のサンプルソフトなどがあります。

資料

サンプル・デザイン

中級者

Nios® II HAL API のソフトウェア・サンプル集(mSGDMA コア) マクニカ Web サイトの資料およびサンプルデザイン。
Modular Scatter-Gather DMA Core (mSGDMA) の使用方法を解説しています。

記事

資料

中級者

Nios® II SBT Flash Programmer ユーザ・ガイド マクニカ Web サイトの記事および資料。
EPCS Flash Controller を利用していて EPCS/EPCQ (256 もしくは 128) に対しての書き込みの際に使用します。

表3-3: Nios® II SBT 関連の記事 / 資料およびサンプル・デザイン

▲ ページトップへ戻る

インテル® のコンテンツ

下表に、インテル® が公開している Nios® II 関連コンテンツをご紹介します。

 

Nios® II 全般

コンテンツ名

概要

Nios II Processor Reference Guide

HTML | PDF ]

Nios® II 設定 (コアの違い、Reset/Exception vector など) を説明した資料です。
Nios® II プロセッサーのアーキテクチャ、プログラミングモデル、および命令セットを含む、高レベルの概念的な説明から、低レベルの実装の詳細までの Nios® II プロセッサーについての説明があります。

Nios II Software Developer Handbook

HTMLPDF ]

Nios® II プロセッサー用の組み込みソフトウェアの開発に必要な基本情報が記載されています。
Nios® II プロセッサーには、Intel® Quartus® Prime 14.0 バージョンの後に追加された新機能が含まれています。
このハンドブックの各章では、Nios® II ソフトウェア開発環境、Nios® II EDS ツール、およびソフトウェア開発のプロセスについて説明しています。
割り込み/例外のつくりについても紹介しており、例外発生時の割り込みハンドラ登録のやり方へのサンプル or リンクは、「9.6. The Nios II Instruction-Related Exception Handler」 を参照ください。

Embedded Design Handbook

HTML | PDF ]

Nios® II EDS ツールを効果的に使用する方法を説明し、インテル® が提供するツールを使用して Nios® II プロセッサーベースのエンベデッド・システムを開発、デバッグ、最適化するためのデザイン・スタイルとプラクティスを説明しています 。
Boot に関しても記載されており、複数アプリケーションを選択して Boot する方法 (Advanced Boot Copier) についても説明されています。

Embedded Peripherals IP User Guide

HTML | PDF ]

Nios® II プロセッサーとシームレスに連携する内蔵ペリフェラルを含む、Intel® Quartus® Prime Design Software が提供する IP コアについて説明しています。

Nios II Release Notes

HTML | PDF ]

これらのリリースノートは、Nios® II EDS、Nios® II プロセッサー IP、およびエンベデッド IP コアの 16.1 から 18.1 までのリリースを対象としています。

Nios II Custom Instruction User Guide

HTML | PDF ]

カスタム命令により、特定のアプリケーションのニーズに合わせて Nios® II プロセッサーを調整することができます。
このユーザーガイドでは、Nios® II カスタムインストラクション機能の詳細な概要を説明しています。
Design Example は、巡回冗長検査 (CRC) アルゴリズムを Nios® II カスタム・インストラクションとして実装する方法を示しています。
Design Example

Nios II Processor Performance Benchmark

HTML | PDF ]

選定における参考資料 (ベンチマーク) です。
Nios® II プロセッサーおよびペリフェラルの一般的な実装におけるパフォーマンスとロジックエレメントの使用法が記載されています。

Nios II Flash Programmer User Guide

HTML | PDF ]

ダウンロード・ケーブルを介して FPGA 上で実行されている Nios® II システムにファイルの内容を送信し、Nios® II システムに書き込みを指示する Nios® II フラッシュ・プログラマーの概要を説明しています

Intel® FPGA Download Cable II User Guide

HTML | PDF ]

Intel® FPGA ダウンロード・ケーブル II についての説明資料です。ホスト・コンピューターの USB ポートとプリント回路基板に実装された Intel® FPGA を接続します。

Avalon® Verificaiton IP Suite User Guide

[ HTML | PDF ]

Avalon® Verification IP Suite について説明しています。
これは、動作をシミュレートし、IP の検証を容易にするための Bus Functional Models (BFMs) を提供します。

Nios® II Classic Processor Reference Guide

[ HTML | PDF ]

 

Nios® II Classic プロセッサーについて、高レベルの概念的説明から低レベルの実装詳細までを説明しています。
このハンドブックの各章では、Nios® II プロセッサーのアーキテクチャ、プログラミング・モデル、および命令セットについて説明しています。

アプリケーション・ノート

コンテンツ名

概要

AN 729: Implementing JESD204B IP Core System Reference Design with Nios II Processor

[ HTML | PDF ]

このリファレンス・デザインは、JESD204B トランスポート層 (アセンブラおよびデアセンブラ)、テスト・パターン・ジェネレーターおよびチェッカー、コア PLL、SPI マスター、リセット・シーケンサー、さまざまなダイナミック・リコンフィグレーション・コントローラー、および Nios® を含むシステムの一部として動作する JESD204B IP コアを含みます。

AN 740: Nios II Flash Accelerator Using MAX 10

[ HTML | PDF ]

Nios® II フラッシュ・アクセラレーターは、リアルタイム・アプリケーションで Nios® II/f コア性能を向上させるための取り組みの一環として導入されました。このドキュメントではアクセラレーターについて紹介し、MAX® 10 FPGA を使用した機能、パラメータ、およびパフォーマンスについて説明しています。

AN 741: Remote System Upgrade for MAX 10 FPGA Devices over UART with the Nios II Processor

[ HTML | PDF ]

このリファレンス・デザインは、MAX® 10 FPGA デバイス用の Nios® II ベースシステムに基本的なリモート・コンフィグレーション機能を実装する簡単なアプリケーションを提供します。
MAX® 10 FPGA 開発キットに含まれる UART インターフェースは、リモート・コンフィグレーション機能を提供するためにインテル® の UART IP コアと一緒に使用されます。
Design Example (by Design Store)

 

ホワイトペーパー

コンテンツ名

概要

Top 7 Reasons to Replace Your Microcontroller with a Intel MAX 10 FPGA MAX® 10 FPGA と Nios® II プロセッサーを使用して、製品を差別化し、製品化までのスケジュールを守り、プロセッサーの陳腐化リスクを回避する方法について説明しています。
Motor Control Desings with an Integrated FPGA Design Flow Intel® FPGA の適応性、可変精度デジタル信号処理 (DSP)、およびモーター制御設計用の統合システムレベル設計ツールを活用した推奨設計フローについて説明しています。
モーター駆動機器の設計者は、この設計フローのパフォーマンス、統合性、および効率性の利点を活用できます。

 

無料のオンライン・トレーニング 

コンテンツ名

概要

The Nios® II Processor: Hardware Abstraction Layer
(英語/34 分)
Nios® II の Hardware Abstraction Layer (HAL) の基本概念を紹介し、Nios® II プロセッサーのソフトウェア開発を加速するために提供されるさまざまな HAL リソースを紹介しています。
Using the Nios II Processor: Hardware Development
(英語/27 分)
Nios® II エンベデッド・ソフトプロセッサー ver.14.1 について学習します。
Avalon® 標準インターフェースと Qsys の高性能プログラマブルチップ上ネットワークのアーキテクチャの基礎を学びます。
Qsys システム統合ツールを使用して、カスタマイズされた Nios® II プロセッサーベースのハードウェアシステムを開発および構成する方法を学びます。
Using the Nios II Processor: Software Development
(英語/10 分)
Nios® II SBT ver.14.1 について学習します。FPGA 用のソフトウェアを開発し、プロトタイプ作成に Nios® II 開発キットを使用する方法を学びます。
Using the Nios II Processor: Custom Components and Instructions
(英語/11 分)
カスタム・コンポーネントとインストラクション、および独自のカスタム・ロジックを Nios® II プロセッサーベースのシステムに組み込む方法について学びます。
Nios II & SOPC Builder 基礎編 (Legacy Course)
(日本語/94 分)
このコースでは、Nios® II ハードウェアおよびソフトウェアの開発に重点を置いており、Nios® II 32 ビット・マイクロプロセッサーをどのようにインテル (旧 アルテラ) の FPGA に組み込み、テストするかを解説します。
Quartus® II 開発ソフトウェアと SOPC Builder ソフトウェア・ツールを使用して、デザインをコンフィグレーションおよびコンパイルする方法と、Nios® II IDE で Nios® II 用のエンベデッド・ソフトウェアを開発および実行する方法を解説します。

[参考] オンライン・トレーニングの受講方法は、下記コンテンツをご覧ください。

 インテル® FPGA テクニカル・トレーニングを無料で受講しよう

 ▲ ページトップへ戻る

マクニカ Web サイトの記事/資料およびサンプル・デザイン

下表に、マクニカの Web サイトで公開されている記事/資料およびサンプル・デザインをご紹介します。

 

区分

対象

コンテンツ名

概要

資料

サンプル・デザイン

ALL

Nios® II はじめてガイド - Nios® II 簡易チュートリアル この資料は、Cyclone® V GX スターター開発キットを持っているユーザーが、Nios® II のシンプルなデザインを作成する演習を通じて、開発ボード上で簡単な動作確認が行えるまでの手順を示した資料です。

資料

ALL

Nios® II はじめてガイド - Nios® II SBT によるソフトウェア開発 Nios® II ソフトウェア開発の決定版 3 部作です。● セクション 1 :
HAL を用いたプログラミング方法、ペリフェラルへのアクセス方法について説明しています。HAL API の使用例としてタイマ・ペリフェラルを使用したシステム・クロック、アラーム機能、タイムスタンプ・タイマの実装例を説明しています。また、資料の後半では、HAL ファイル・システムの説明とアプリケーション例を紹介しています。● セクション 2 :
Nios® II のソフトウェア開発に必要な各種ファイルの説明、ブートシーケンスの説明とブートコピアの変更方法、コードサイズの確認方法と縮小方法の説明、Nios® II 例外処理についての説明を行っています。● セクション 3 :
Nios® II のデバッグ時に使用する JTAG デバッグコア、Nios® II SBT でのデバッグに関する各種説明、生成したコードのパフォーマンス検証方法を説明しています。

記事

🔰 ビギナー

FPGA に Nios® II を入れてLチカ!(ハードウェア編) Nios® II 開発フローの概要が書かれています。
インテル® MAX® 10 FPGA に Nios® II を入れて、LED を点灯/消灯させます。 基板上のプッシュボタン(PB0) を押したときだけ LED0 が点灯し、PB0 を離すと消灯します。
FPGA に組み込んだ Nios® II に L チカするプログラムを実行させて実現します。

記事 

🔰 ビギナー

FPGA に Nios® II を入れてLチカ!(ソフトウェア編) 上記記事のソフトウェア開発編です。
Onchip-RAM / MAX® 10 FPGA の UFM から Boot する方法も説明しています。

資料 

🔰 ビギナー

Nios® II はじめてガイド - Nios® II 簡易シミュレーション 別資料である「Nios® II 簡易チュートリアル」を終えた後、Nios® II システムのデザインを ModelSim® で RTL シミュレーションを行う場合の操作マニュアルです。

資料 

🔰 ビギナー

Nios® II はじめてガイド - Nios® II システムのメモリ構成 Nios® II システムのメモリ構成パターンを紹介ている資料です。
Nios® II システムを組み込む際に必要なメモリ構成の参考になります。EPCQ/EPCS、CFI Flash、Onchip Memory からの起動方法、その際の Qsys 構成、SBT の設定について解説しています。

記事

🔰 ビギナー

FPGA のオンチップ・メモリで Nios® II をブートさせてみよう Nios® II のブートプログラムを FPGA のオンチップ・メモリに設定する方法を紹介しています。

記事

🔰 ビギナー

MAX® 10 の UFM で Nios® II をブートさせてみよう [前編] MAX® 10 のオンチップ ・フラッシュである User Flash Memory (UFM) に Nios® II のブート・プログラムを組み込む方法を紹介しています。

記事

🔰 ビギナー

MAX® 10 の UFM で Nios® II をブートさせてみよう [後編] 上記記事の “MAX® 10 の UFM で Nios® II をブートさせる方法” の後編です。

資料

サンプル・デザイン

🔰 ビギナー

Nios® II はじめてガイド - Nios® II Quad SPI Flash メモリからの Nios® II ブート方法 (MAX® 10 FPGA 開発キット編) MAX® 10 FPGA の UFM ではサイズが足らない場合、外付けで QSPI を実装すると思います。
この資料とサンプルは、MAX® 10 FPGA Development Kit に実装された 512Mb の Quad SPI Flash メモリに Nios® II のプログラムを格納し、MAX® 10 デバイス内のデザインに実装した Altera Generic QUAD SPI Controller 経由で、Nios® II ブートを行う方法について紹介しています。

記事

資料

サンプル・デザイン

ALL

MAX® 10 の On-Chip Flash を使用するときの注意点 MAX® 10 で Nios® II を使用する際の On-Chip Flash での注意点と対処方法について説明しています。

資料

ALL 

Nios® II 向け各種 Flash コントローラの紹介 この資料は、Nios® II プロセッサーが利用可能な複数の Flash メモリ・コントローラーについて、用途や役割に焦点を絞って分類・整理したものです。

資料

ALL

Nios® II はじめてガイド - Nios® II SBT と BSP Editorオプション設定 Nios® II SBT とサブ・ツール BSP Editor について概説した資料です。主に、BSP Editor の機能を中心に説明しています。

資料

ALL

GNU コンパイラと Nios® II Software Build Tool Nios® II SBT を使用する際、そのベースとなる GNU コンパイラーやリンカーの初歩的な概念を体系的に説明した資料です。
Nios® II 以外の CPU アーキテクチャで GNU コンパイラー未経験のソフトウェア設計者や、同ツールを使用して組込みソフトウェアを開発するハードウェア設計者 (Quartus® II 開発ソフトウェアのユーザー) に有用な内容です。

資料

サンプル・デザイン

🔰 ビギナー

Nios® II はじめてガイド - Nios® II 割り込みの実現 この資料とサンプル・デザインでは、Nios® II の割り込みの実現フローを紹介しています。
Nios® II のシステムでは、スレーブより Nios® II へ 割り込みのトリガとして、リクエスト (IRQ) がアサートされます。そして、Nios® II は各スレーブの割り込みに対応したサービス・ルーチンを実施します。

資料

ALL

Qsys に用意されている汎用ペリフェラルの紹介 最新の Qsys システム統合ツールを開くと非常に多数のペリフェラルがあり、Nios® II 入門者にとってはどのようなペリフェラルが最低限必要で、どのような機能を持っているかを把握しにくい状況となっています。
この資料では、基本的なペリフェラルについて簡単にまとめています。

資料

サンプル・デザイン

🔰 ビギナー

Nios® II はじめてガイド
Nios® II ペリフェラル PIO (Parallel I/O) 簡易ユーザ・ガイド
Nios® II のペリフェラルとしてよく使用される PIO についての簡易ユーザーガイドです。
PIO を入力として使用した場合の割り込み設定例についても記載されています。
割り込についてのソフトウェア・サンプル付きなので参考になると思います。

資料

中級者 

Nios® II - UART 活用術 DMA との結合でソフトウェア負荷軽減 Nios® II による UART 通信を UART Core を使って行う場合、送受信の処理はソフトウェアで行わなければなりません。しかし、UART 通信が頻繁に行われるようなアプリケーションの場合、この送受信処理の負荷が本来行わなければいけない処理を圧迫したり、受信処理が間に合わず受信データの取りこぼしなどの問題が発生する場合があります。
そこで、送受信処理をハードウェアに実装することで、ソフトウェアによる送受信処理を最小限に抑え、受信データの取りこぼしなどの問題を解決する手段を提案しています。

資料 

上級者

Nios® II 倍精度浮動小数演算 カスタム・インストラクションの実装 倍精度浮動小数の四則演算、型変換および比較をカスタム・インストラクションで実装する手順およびサンプル・コードを紹介しています。
Nios® II では浮動小数のカスタム・インストラクションが用意されていますが、倍精度のものはありません。そこで倍精度カスタム・インストラクションを自作する手法について解説しています。カスタム・インストラクションの作成法が知りたいお客様にも有益です。

資料

サンプル・デザイン 

中級者 

Nios® II I2C マスタの活用術 Avalon®-ST インタフェースによる通信 Platform Designer には標準で Avalon® I2C (Master) Core が準備されており、この IP コアは Nios® II による制御で I2C 通信を行うことができます。
この IP コアは、デフォルトでは Avalon® Memory Mapped Interface (Avalon®-MM) ポートと接続し、データも含めレジスタ操作で通信をするように実装されますが、送受信データを Avalon® Streaming Interface (Avalon®-ST) で入出力することもできます。
Avalon®-ST ポートに DMA や FIFO 等を接続することで、Nios® II によるレジスタ操作を最小限に抑えた制御が可能です。本資料では、その手法について説明しています。

 資料

サンプル・デザイン

中級者

Nios® II I2C スレーブの活用術 address stealing の使用方法 Platform Designer には標準で I2C Slave to Avalon®-MM Master Bridge Core が準備されており、この IP コアを使用する事で、簡単にメモリに接続された I2C スレーブを FPGA 内に実装することができます。
この資料とサンプル・デザインでは、I2C Slave to Avalon®-MM Master Bridge Core の address stealing 機能と、On-Chip Memory (RAM and ROM) Core を使って、FPGA 内に I2C BUS EEPROM と同じ機能を実装する方法を紹介しています。

資料

サンプル・デザイン

中級者

Nios® II HAL API のソフトウェア・サンプル集 (mSGDMA コア) Modular Scatter-Gather DMA Core  (mSGDMA) の使用方法を解説しています。

 資料

サンプル・デザイン

上級者

Nios® II Software Build Tool を使用したマルチコア・システムの実装 この資料とサンプル・デザインは、複数の Nios® II を使用したマルチコア・システムにおいて、メモリやペリフェラルを共有して使用する方法や注意点、マルチコア・システムならではのデバッグの方法、Flash メモリへの書き込み方や注意点などを検証を元に解説しています。

 資料

サンプル・デザイン

上級者

Nios® II マルチコア構成時の共有関数のリンク方法

複数の Nios® II を使用してマルチコア構成とした場合に、1つの関数を複数の CPU コア (Nios® II) から参照する1つの手法を紹介しています。
プログラムメモリの容量が足りず、複数の Nios® II で関数を共有して使用したいときなどにご活用ください。


🎥 Youtube 動画
"How to design, configure and execute a basic multi-core Nios system"

資料

中級者 

Nios® II PIO を使用した I2C-Bus (2 ワイヤ) マスタの実装 この資料では、マイクロプロセッサーとデバイスチップとの通信で一般的に使用されている I2C-Bus (2 ワイヤ) 通信を、PIO を使用して実現する方法を紹介しています。

資料

ALL 

Nios® II SBT Flash Programmer ユーザ・ガイド

この資料は、Nios® II SBT に含まれる Flash Programmer の基本的な機能概要、手順などを紹介しています。EPCS Flash Controller を利用した、EPCS/EPCQ(256 もしくは 128)に対しての書き込みの際に使用します。


注意
Altera Serial Flash Controller や Altera Generic Quad SPI Controller は Nios II Flash Programmer による書き込みには対応しておりません。JIC を使っての書き込みとなります。

記事

🔰 ビギナー

Nios® II の Run 実行時にエラーになる原因

Nios® II SBT で Build は通るのに、Nios® II を実行させようとするとエラーが発生する原因を、いくつか紹介しています。

記事

ALL

Quartus® Prime Pro Edition 19.1 で Nios® II Software Build Tools / SoC Embedded Development Suite を使用する際のインストール手順

インテル® Quartus® Prime Pro Edition 19.1 のインストーラーから、Nios® II SBT / SoC EDS 用の Cygwin と Eclipse が付属されませんので、Eclipse と Cygwin を別途インストールする必要があります。
この記事では Linux / Windows の環境にて Quartus® Prime Pro Edition の Nios® II SBT / インテル® SoC FPGA エンベデッド開発スイート (SoC EDS) を使用する際の Cygwin と Eclipse のインストール方法を紹介しています。

記事

ALL

Quartus® Prime Pro Edition 19.2 および Standard Edition 19.1 以降における Nios® II Software Build Tools 環境構築⽅法 (Windows Subsystem for Linux と Eclipse のインストール)

インテル® Quartus® Prime 開発ソフトウェア 19.1 以降のインストーラーには、Nios® II Software Build Tools for Eclipse (以下 Nios II SBT) 用の Cygwin と Eclipse が付属しなくなりました。

さらに、Quartus Prime Pro Edition 19.2 および Quartus Prime Standard Edition 19.1 以降では、Cygwin ではなく Windows Subsystem for Linux (以下 WSL) を使用するため、WSL と Eclipse のインストールが必要です。

この記事では、Windows 10 環境下 の Quartus Prime Pro Edition 19.2 を用いて、WSL と Eclipse のインストール方法をご紹介しています。

表3-5: マクニカの Web サイトで公開されている記事/資料およびサンプル・デザイン

 ▲ ページトップへ戻る

アルティマカンパニー技術サポートの記事/資料およびサンプル・デザイン

下表に、マクニカ アルティマカンパニーの インテル® FPGA に関する 技術サポート Web サイトで公開されている記事/資料およびサンプル・デザインをご紹介します。

※ マクニカの Web サイトで公開されている記事/資料と同じものがあります。

 

区分

対象

コンテンツ名

概要

資料

サンプル・デザイン

ALL

Nios® II 簡易チュートリアル この資料は、Cyclone® V GX スターター開発キットを持っているユーザーが、Nios® II のシンプルなデザインを作成する演習を通じて、開発ボード上で簡単な動作確認が行えるまでの手順を示した資料です。

記事

🔰 ビギナー

Nios® II SBT のプロジェクトをワークスペース間でコピーする方法 Nios® II SBT で作成した既存プロジェクトを、新規にプロジェクトを作り直し、設定を行い、プロジェクトを移動するのは難しい場合があります。
そのような場合、Nios® II SBT ではインポート機能が利用できます。インポート機能では、アプリケーションと BSP をまとめてコピーできるので、異なるワークスペース間で簡単にプロジェクトのコピーができます。

記事

🔰 ビギナー

Nios® II プロセッサーの ポートの接続について Nios® II におけるポート接続 (バス接続) で使用するインストラクション・マスターおよびデータ・マスターについて解説しています。

記事

🔰 ビギナー

Nios® II の Run 実行時にエラーになる原因 Nios® II SBT で Build は通るのに、Nios® II を実行させようとするとエラーが発生する原因を、いくつか紹介しています。

記事

資料

サンプル・デザイン

ALL

MAX® 10 の On-Chip Flash を使用するときの注意点 MAX® 10 で Nios® II を使用する際の On-Chip Flash での注意点と対処方法について説明しています。

記事

ALL

Quartus® Prime Ver 19.1 以降で Nios® II SBT / SoC EDS を使用する際の注意点 インテル® Quartus® Prime Pro Edition 19.1 のインストーラーから、Nios® II SBT / SoC EDS 用の Cygwin と Eclipse が付属されませんので、Eclipse と Cygwin を別途インストールする必要があります。
この記事では Linux / Windows の環境にて Quartus® Prime Pro Edition の Nios® II SBT / インテル® SoC FPGA エンベデッド開発スイート (SoC EDS) を使用する際の Cygwin と Eclipse のインストール方法を紹介しています。

記事

ALL

Nios® II デバッグ手法
ペリフェラルのレジスター値の変更
Nios® II SBT の Memory view は、byte_enable を持つメモリーなどに対する参照・変更を行うことを主な目的としているため、表示が 16 bit や 32 bit であっても、変更は 1 byte (8 bit) 単位で行われます。
そのため byte_enable を持たない 8 bit を超えるペリフェラルのレジスター変更に使うときは注意する必要があります。
この記事では、レジスターの変更に gdb コマンドを使用する方法を紹介しています。

記事

ALL

Nios® II デバッグ手法
Host File System で PC のファイルをアクセス
ソフトウェアをデバッグする際、Nios® II SBT を実行しているホストマシンのファイルを読み書きする Host File System と言われる方法があります。
この機能を利用することで、例えば、ハードウェアや実行環境が整わない状況で、ハードウェアからのデータ入力の代わりにファイルに用意したデータを入力して検証を行ったり、再現率の低い不具合を検証するために長時間のログを出力することが可能になります。

記事

ALL

Nios® II デバッグ手法
逆アセンブラーコードでのデバッグ
オプティマイズのかかったコードなど、C コードではデバッグがし難い場合、Nios® II SBT では逆アセンブラで表示させステップ実行させることができます。

記事

中級者

Nios® II デバッグ手法
標準出力(printf など)を実装したプログラムをスタンドアローンでも動作させる
デバッグの際、stdout や stderr に JTAG UART モジュールを割り当て、printf() などを使って値や状態を出力し、処理の流れや周辺回路の状態などを検証する方法は、簡単に扱えるため比較的よく使われます。しかし、JTAG UART を使った場合、コンソールが停止すると全ての処理が停止してしまいます。
標準ドライバーを使用する場合、併せて Interval Timer モジュールを実装し、それを sys_clk_timer に割り当てることで、コンソールが停止しても一定時間後に出力関数のブロックを解き、処理を再開させることができます。

記事

中級者

Nios® II デバッグ手法
Software Breakpoint と Hardware Breakpoint
Nios® II SBT を使ってデバッグを行う場合、ブレークポイントを設定する方法として2つの方法がありますが、必要に応じて使い分ける必要があります。
この記事では、それらの使い分けの勘所について紹介しています。

記事

上級者

Nios® II 高速化手法
浮動小数演算カスタム・インストラクションの実力
この資料では、Whetstone ベンチマークを使い、カスタム・インストラクションの有無や、その実装によってどのような性能向上が見込めるのか、また、カスタム・インストラクションを使用する上での注意点などをまとめています。

記事

上級者

Nios® II 高速化手法
Dhrystone 2.1 を使った計測
Dhrystone 2.1 は、Nios® II の性能指標にも使われる CPU のベンチマークソフトの1つです。
この記事では、Dhrystone 2.1 を使用した Nios® II のパフォーマンス測定例を紹介しています。

記事

上級者

Nios® II 高速化手法
割り込みの高速化
Nios® II はデフォルトで Internal Interrupt Controller が実装されますが、レイテンシーが長いため即時実行の観点からはあまり好ましい方式とは言えません。
Nios® II には External Interrupt Controller としてハードウェアで実装できる Vectored Interrupt Controller (VIC) コアが用意されています。これを使うことで短いレイテンシーでサービス・ルーチンを呼び出すことができます。
この記事では、Internal Interrupt Controller と VIC の動作を比較し、即時実行と高速処理をどのように実現して行くかを解説しています。

記事

上級者

Nios® II 高速化手法
GNU プロファイラーで処理負荷の高い関数を特定
Nios® II では GNU プロファイラー (gprof) を利用することができます。
gprof は関数毎の処理時間、呼び出し回数、どの関数に呼ばれているか等を計測しコンソール (またはファイル) に出力することが可能です。
この機能を使って処理負荷の高い関数を特定し、高速化することでソフトウェア全体の処理性能を高めることができます。

表3-6: アルティマカンパニーの技術サポート Web サイトで公開されている記事/資料およびサンプル・デザイン

 ▲ ページトップへ戻る

4. トラブル・シューティング FAQ

以下に、Nios® II SBT、Platform Designer (旧 Qsys) に関した よくある FAQ をご紹介します。

 

Nios® II SBT 関連 FAQ

項番

質問

回答

1

Nios® II SBT 上で、呼び出している関数の本体や、変数の構成を参照する方法はありますか?

関数または変数を選択している状態で、F3 キーを押すと、該当箇所へリンクすることができます。

また、リンク先の関数または変数を選択している状態で、Alt + キーを押すと、F3 キーが押される前の箇所へ戻ることができます。

2

Nios® II SBT 上で、プロジェクト内のファイルの中から、関数名および変数名で検索することはできますか?

以下の手順により検索することが可能です。

1. Eclipse のメニューから、Search → Search… を選択し

  GUI を立ち上げます
2. GUI の File Search タブを選択します
3. Containing text 欄 と File name patterns 欄を入力します
 ・Containing text: 検索したい関数名もしくは変数名
 ・File name patterns: 検索したいファイル名
  ワイルドカード (*) を使用することができます。
  例えばファイル拡張子が .c の場合、*.c と入力すると、
  全ての c ソース・ファイルを対象として検索します。
4. Search ボタンをクリックすることにより、検索することが

  できます

3

Nios® II SBT で、他者が作成した Nios® II のプロジェクトを Import してきたところ、BSP Generate を行うことができません。 BSP Generate は、settings.bsp に記載されている絶対パスを元に実行しています。
このパスが他者の環境のパスになっていると、BSP Generate を実行することができません。
settings.bsp の絶対パスを修正して頂く方法もありますが、新しいプロジェクトを作成し環境を移行することをお勧めいたします。

4

Nios® II SBT にてアプリケーションを実行すると、”Download ELF Process failed” が発生します。

下記コンテンツに、よくあるケースを掲載していますので

参考にしてください。

Nios® II の Run 実行時にエラーになる要因

5

Nios® II SBT のデバッガーでステップ実行を行うと、
C ソースコードの参照箇所が、上から順序通りに実行されず、予期しない順序で実行されるのはなぜでしょうか?

コンパイラーの最適化オプションが有効になっていると、C ソースコードから生成されるアセンブラコードは、使用する最適化オプションにより命令順序の入れ替えなどが行われることがあります。
この状態でステップ実行すると、アセンブラコードの順序と C ソースコードの命令の順序が異なるため、C ソースコードが予期しない順序で実行されているように見えることがあります。
最適化オプションのレベルを高く設定した場合は、デバッグ実行時において、 C ソースコードと生成されたアセンブラコードの対応が、直感的にわかりにくくなることがありますのでご注意ください。

また、下記の手順により、最適化オプションの状態を確認することができます。
1. Nios® II SBT の Application Project を右クリック → Properties で

  GUI を開きます
2. Nios II Application Properties カテゴリの Optimization level

  を確認します

 

注意
”Nios II Application and BSP from Template” にて、Template を作成する際に Hellow World Smallをご選択頂いている場合は、デフォルトで最適化がかかるようになっています。

6

Nios® II SBT 上では正常動作しますが、スタンドアローンでは動作しません。

下記コンテンツに、改善策を掲載していますのでご覧ください。

アルティマカンパニー技術サポート:
Nios® II デバッグ手法 標準出力 (printf など) を実装したプログラムをスタンドアローンでも動作させる

7

Nios® II SBT のデバッガーにある、Step into、Step over、Step return の各実行内容について教えてください。

実行内容は以下の通りです。
・ Step into:

  コードを 1 ライン実行し、もし Method があればその中に入ります
・ Step over:

  コードを 1 ライン実行し、もし Method があっても入りません
・ Step return:

  今実行中の Method を終えて、呼び出し元へ戻ります

8

リンカースクリプトの各リンカーセクション(.text、 .bss、 .rodata、 .rwdata、 .heap、 .stack)について教えてください

各リンカーセクションは以下の通りです。
・ .text: アプリケーション・コードの格納先
・ .bss: 初期値の持たない変数の格納先
・ .rodata: Read Only の変数の格納先
・ .rwdata: Read/Write 可能な変数の格納先
・ .heap: 動的にメモリーを確保する際に使用する領域
・ .stack: 関数内の変数値を一時的に保存する領域


下記資料でも紹介されてますので、併せてご参照ください。
“5.2.1.2. Nios II Processor Application Copied from Boot Flash to RAM Using Boot Copier”

(Embedded Design Handbook より)

9

作成したコードのアセンブラを、確認する方法はありますか? App プロジェクトをBuild Project すると、<Application Project name>.objdump というファイルが、App プロジェクト内に生成されます。
<Application Project name>.objdump ファイルには、アセンブラコードが記述されているので、そちらをご確認ください。

10

IORD(<address>,<offset>) マクロで Read した値と、
Nios® II SBT のデバッガーで <address + offset> の値を
確認したときの値が、異なるのはどうしてでしょうか?
IORD マクロによるアクセスは Word Addressing (32-bit) であり、デバッガーは Byte Addressing (8-bit) であるため、同じ箇所を参照する際はこの差分を調節し、それぞれの offset を決定する必要があります。

11

Nios® II/Fast において、キャッシュをバイパスして Read/Write する方法を教えてください。

デフォルトでは、 4GB の全アドレス空間の内、上位 2GB はキャッシュをバイパスしたアクセス、下位 2GB はキャッシュを経由したアクセスとなっています。
そのため、キャッシュをバイパスさせたい場合には、アドレスの最上位ビットに 1 を立てるか、IORD/IOWR マクロをご使用ください。

 

注意
IORD/IOWR マクロはデフォルトで、最上位ビットに 1 が立っており、キャッシュをバイパスする仕様になっています。
詳細は、下記をご参照ください。


マクニカ Web サイト/FAQ:
Nios II から非キャッシュ領域へアクセスする方法を教えてください。また、非キャッシュ領域への Write/Read の方法を教えてください

12

IORD/IOWR マクロを用いると、キャッシュをバイパスできるのはなぜですか? IORD/IOWR マクロは、キャッシュをバイパスすることのできるアセンブラ命令を用いていたためです。
キャッシュをバイパスしているアセンブラ命令は、IORD と IOWR でそれぞれ ldwio と stwio を使用しています。

13

HAL を使用せず、ポインタの制御で下記のように FIFO から pop しています。
FIFO の中身は同じ値は格納されていないので、popする度にデータが変わることを想定していますが、毎回同じ値が返ってきます。

<FIFO をポインタで参照しているコード> 📄

 

キャッシュに格納されているデータを、読んでしまっているためだと考えます。
一例として、キャッシュをバイパスしてデータを読み出すコードを、以下に紹介しますのでお試しください。

 📄

また、以下の FAQ にてキャッシュをバイパスする方法を紹介していますので、ご参照ください。


マクニカ Web サイト/FAQ:
Nios II から非キャッシュ領域へアクセスする方法を教えてください。また、非キャッシュ領域への Write/Read の方法を教えてください

14

キャッシュ・メンテナンスを行う関数はありますか?

下記関数を使用することにより、キャッシュのデータをメインメモリーへ移し、その後キャッシュを削除することができます。これにより、メインメモリーのデータが最新の状態になります。


・ データキャッシュの場合: alt_dcache_flush_all()
・ インストラクションキャッシュの場合: alt_icache_flush_all()

 ▲ ページトップへ戻る

Platform Designer (旧 Qsys) 関連 FAQ

項番

質問

回答

1

Avalon®-ST で DMA データ転送しています。
Nios® II の I/F は Avalon®-MM であるため Avalon®-ST に接続することができず、DMA のステータスを確認できません。
DMA のステータスを確認する方法はありますか?
Avalon®-ST でデータ転送を行うペリフェラルには、データ転送用の I/F とは別に、Avalon®-MM の Control Status Register (CSR) が存在しており、こちらでステータスを確認できます。

2

キャッシュを経由する領域内に、非キャッシュ (uncache) の領域を設定することができますか? 可能です。
Platform Designer (旧 Qsys) にて、Nios II Processor を開き、Cache and Memory Interface タブの Peripheral Region により設定できます。
なお、Peripheral Region の設定内容は以下の通りです。
・ Size: 非キャッシュにする領域のサイズ
・ Base Address: 非キャッシュ領域の先頭アドレス

3

各種 Flash Controller の種類と違いを教えてください。

下記資料をご参照ください。

 

マクニカ Web サイト/技術情報:
Nios® II 向け各種 Flash コントローラの紹介

 ▲ ページトップへ戻る

 

その他の FAQ

項番

質問

回答

1

スタックサイズを動的に見積もるツールはありますか?

スタックサイズを動的に見積もるツールはありません。
ただし、Nios® II SBT で Build すると stack + heap のサイズの上限値が確認できます。
詳細は、下記の記事をご参照ください。

 

マクニカ Web サイト/FAQ:
Intel:Nios® II のプログラムのスタック・サイズを見積るツールはありますか?

また、stack は下記に記載した GCC の機能を用いれば、関数ごとに見積もりは可能ですが、どの関数でどのように呼ばれているかはプログラムに依存するため、ユーザー側で配慮する必要があります。
例えば、ある関数の stack の領域が 200byte であったとしても、この関数が再帰的に呼ばれる場合は、[200byte × 呼ばれる回数] 分の領域が必要になります。

・ GCC の機能で stack の領域を見積もる方法
下記の手順により見積もることが可能です。
1. -fstack-usage オプションを付加してコンパイルします

 (例、gcc -fstack-usage xxx.c)
2. コンパイル後生成される .su ファイルに記載された stack の見積もり結果を確認します

2

Nios® II を含めた場合の最大動作周波数は、どの程度になりますか?

最大動作周波数は、デバイス依存です。
下記に、各デバイス・ファミリに対する情報をまとめた資料がありますのでご参照ください。


マクニカ Web サイト/FAQ:
Intel:Nios® II を組み込んだ際の最大動作周波数について、デバイス毎で記載されている資料はありますか?

3

Nios® II のパフォーマンスに関する指標はありますか? 下記資料の “Table 4. Nios II Processor Architecture Performance” をご覧ください。
Nios® II Performance Benchmarks

4

Boot メモリーが足りず容量がオーバーしてしまいます。何か良い解決策はありませんか?

下記資料に、コードサイズ削減の手法を紹介していますのでご参照ください。

 

マクニカ Webサイト/技術情報:
Nios® II SBT によるソフトウェア開発
上記ページに添付されている PDF ファイル “Nios II SBT によるソフトウェア開発 セクション2” の "4.2 コードサイズの縮小" をご覧ください。

5

Nios® II Flash Programmer で、書き込めるときと、書き込めないときがあります。 Nios® II の jtag_debug_module_reset が、Nios® II の Reset 入力と、Flash メモリーの Reset 入力に、接続されていることをご確認ください。
Nios® II Flash Programmer では書き込む際に、 jtag_debug_module_reset が、Nios II と Flash メモリーに対して Reset を発行しています。

6

Avalon バス規格の仕様書を教えてください。 下記 PDF ファイルをご覧ください。
Avalon® Interface Specifications

7

CFI Flash に正しくアクセスできません。

良くあるケースとしては、アドレスが CFI Flash と正しく接続されていないことがあります。
Tri-State Controller は Byte Addressing であり、CFI Flash は Word Addressing となっています。そのため、アドレスの接続を調節する必要があります。
CFI Flash が 16bit のときは、Tri-State Controller のアドレスを 2 倍する必要があるので、アドレス線の下位 1bit を削除し接続します (CFI Flash が 32bit のときは、下位 2bit 削除する必要があります)。
詳細は、下記資料をご参考ください。


マクニカ Web サイト/技術情報:
Qsys におけるオフチップ・メモリ・インタフェースの接続方法
上記ページに添付されている PDF ファイル “Qsys におけるオフチップ・メモリインターフェースの接続方法” "3-5. アドレス線の接続" をご参照ください。

 ▲ ページトップへ戻る

5. Nios® II のパートナー・リンク

Nios® II プロセッサーのエコシステム

エンベデッド・オペレーティング・システム (OS)

下表に、Nios® II でサポートされるオペレーティング・システム (OS) をご案内します。

 

オペレーティング・システム

ベンダー

eCosPro® eCosCentric
eCos® Zylin
embOS Segger
Euros® Euros
FreeRTOS™ FreeRTOS
Linux™

RocketBoards.org

(オープンソース・コミュニティー)

µC/OS-II™

(Nios® II エンベデッド・デザイン・スイートに含まれる評価版で、ライセンスは別扱いです)

Micrium

(日本代理店: テクノ・ロジックより提供)

TargetOS™ Blunk Microsystems
ThreadX®

Express Logic

(日本代理店: グレープシステムより提供)

Toppers Toppers
µCLinux

インテル® FPGA Wiki

(オープンソース・コミュニティー)

µC3® イー・フォース
Zephyr™

Zephyr

(Linux™ Foundation プロジェクト)

表5-1: Nios® II でサポートされるオペレーティング・システム

ミドルウェアとグラフィックス・ライブラリー

下表に、Nios® II でサポートされるミドルウェアとグラフィックス・ライブラリーをご案内します。

 会社名

OS サポート

ネットワークスタック

ファイルシステム

グラフィックス

・ライブラリ

 USB スタック

その他 

eCosCentric eCosPro®

 内蔵

 内蔵

-----

-----

-----

Express Logic
(日本代理店: グレープシステムより提供)
ThreadX® NetX™ FileX® GUIX USBX

-----

InterNiche

 任意

NicheStack TCP/IP ネットワーク・スタック – Nios® II エディション
(Nios® II エンベデッド・デザイン・スイートに含まれますが、ライセンスは別扱いです)
 

-----

 -----

-----

-----

Mentor Graphics Nucleus® Nucleus Networking Nucleus Storage Nucleus UI Nucleus USB

-----

Micrium
(日本代理店: テクノ・ロジックより提供)
µC/OS-II™ Micrium TCP/IP µC/OS-FS µC/OS GUI Micrium USB µC/OS CAN
Micro Digital

任意

-----

-----

-----

-----

GoFast® 浮動小数点ライブラリー
インテル® FPGA

任意

Design Store 読み取り専用 Zip ファイルシステム
(Nios® II エンベデッド・デザイン・スイートに含まれます)
Design Store

-----

-----

TES

任意

-----

-----

DAVE 2D & 3D

-----

-----

uGFX

任意

-----

-----

uGFX

-----

-----

表5-2: Nios® II でサポートされるミドルウェアとグラフィックス・ライブラリー

ソフトウェア開発ツール

下表に、Nios® II でサポートされるソフトウェア開発ツールをご案内します。

 

供給ベンダー

製品

詳細

Mentor Embedded Sourcery CodeBench™ Nios® II プロセッサー・ベースのエンベデッド Linux™ 向けに GNU ツールチェーンをサポートします。
Altium Tasking* Toolset C コンパイラー、アセンブラー、リンカー、ロケーターを最適化します。
MIPS (旧 FS2) System Navigator Nios® II プロセッサー向け System Navigator プローブは、インテル® FPGA に組込まれた Nios® II コアの特別な機能やペリフェラルをサポートします。
RocketBoard.org
(オープンソース・コミュニティー)
Linux™ ツールチェーン RocketBoard.org (オープンソース・コミュニティー) が提供する Linux™ ツールチェーンです。

インテル® FPGA Wiki

(オープンソース・コミュニティー)

µCLinux ツールチェーン インテル® FPGA Wiki (オープンソース・コミュニティー) が提供する µLinux ツールチェーンです。

表5-3: Nios® II でサポートされるソフトウェア開発ツール

 ▲ ページトップへ戻る

 

 

おすすめ記事/資料はこちら

Quartus® Prime Pro Edition 19.1 で Nios® II Software Build Tools / SoC Embedded Development Suite を使用する際のインストール手順

Quartus® Prime Pro Edition 19.2 および Standard Edition 19.1 以降における Nios® II Software Build Tools 環境構築⽅法 (Windows Subsystem for Linux と Eclipse のインストール)

Nios II 関連の記事や資料

インテル® FPGA の開発フロー/FPGA トップページ

おすすめ FAQ はこちら

Nios II 関連の FAQ

インテル® FPGA 関連の FAQ