以下の記事を追加しました (2023/6)
- Embedded Peripherals IP - Interval Timer Core サンプル
- Nios® II Read-Only Zip File System の構築方法
- Nios® II SBT for Eclipse におけるレジスターセットから例外要因を確認する方法
- Nios II SBT (Eclipse) のコンソールが文字化けする場合の対策
- Mailbox Client IP サンプル
- Component Editor の使い方 ~ Avalon®-MM / ST 編 ~
Nios® II プロセッサーはインテル® FPGA のために設計された 32 ビット組み込み用途向けプロセッサー・アーキテクチャーです。
この記事では、Nios® II を使用するユーザー向けに、開発に必要な情報やコンテンツをまとめています。カテゴリー分けされていますので、知りたい情報にすぐアクセスできます。
* Nios® II エンベデッド・デザイン・スイート(以下、Nios® II EDS)
* Nios® II Software Build Tools for Eclipse(以下、Nios® II SBT)
もくじ(各種コンテンツのカテゴリー)
* 下の緑色のアイコンを押すと、該当カテゴリーのコンテンツ一覧に移動することができます。
* 下の <FAQ> 青文字をクリックすると、コンテンツには記載されていない、該当カテゴリーの FAQ 一覧に移動できます。
|
<FAQ> |
|
<FAQ> |
<FAQ> |
<FAQ> |
外部サイト
1. 公開されている記事/資料およびサンプル
1-1. Nios® II SBT 環境構築に関する記事 & FAQ
Nios® II SBT 環境構築に関する 記事
|
||
区分 | 名称 | 概要 |
マクニカ記事 | Quartus® Prime Pro ver.19.2 と Standard ver.19.1 以降における Nios® II SBT for Eclipse 環境構築⽅法(WSL と Eclipse のインストール) | ver.19.2_Pro や ver.19.1_Standard(Lite)以降のバージョンでは、Cygwin ではなく WSL を使用しますので WSL と Eclipse のインストールが必要になりました。 この記事では、Windows 10 環境下 の ver.19.2_Pro を元に WSL と Eclipse のインストール方法を紹介します。 |
マクニカ記事 | Quartus® Prime Pro ver 19.1 で Nios® II SBT / SoC EDS を使用する際のインストール手順 | ver.19.1_Pro のみ、Eclipse と Cygwin を別途インストールする必要があります。 |
Nios® II SBT 環境構築に関する FAQ
|
||
区分 | 名称 | 概要 |
FAQ | Quartus® Prime Pro Edition v20.1 用に WSL 環境をインストールしましたが、Nios® II Command Shell で nios2-terminal を実行するとエラーになります。 |
<エラー・メッセージ> WSL に移行した Nios® II Command Shell では、.exe の付与が必要なコマンドと必要のないコマンドがあります。 |
FAQ |
該当する Quartus® Prime バージョン <エラー・メッセージ> |
|
|
1-2. Nios® II 基礎記事 & 基礎 FAQ
Nios® II 基礎記事
|
||
区分 | 名称 | 概要 |
マクニカ記事 | Nios® II はじめてガイド Nios® II 簡易チュートリアル |
この資料は、Cyclone® V GX スターター開発キットを持っているユーザーが、Nios® II のシンプルなデザインを作成する演習を通じて、開発ボード上で簡単な動作確認が行えるまでの手順を示した資料です。 |
マクニカ記事 | Nios® II はじめてガイド Nios® II 簡易シミュレーション |
別資料である『Nios® II 簡易チュートリアル』を終えた後、Nios® II システムのデザインを ModelSim® で RTL シミュレーションを行う場合の操作マニュアルです。 |
マクニカ記事 | Nios® II を含むプロジェクト全体のシミュレーション方法 | この記事では、プラットフォーム・デザイナー(旧 Qsys)には登録せず Quartus® Prime 側に登録したユーザーロジック等のモジュールと一緒に Nios® II のソフトウェア動作をシミュレーションする方法、つまり Nois® II を含んだ Quartus® Prime プロジェクト全体のシミュレーションを行う方法を紹介します。 |
マクニカ記事 | Nios® II はじめてガイド Nios® II 割り込みの実現 |
この資料とサンプルでは、Nios® II の割り込みの実現フローを紹介しています。 Nios® II のシステムでは、スレーブより Nios® II へ 割り込みのトリガーとして、リクエスト(IRQ)がアサートされます。そして、Nios® II は各スレーブの割り込みに対応したサービスルーチンを実施します。 |
マクニカ記事 | Nios® II 高速化手法 割り込みの高速化 |
Nios® II はデフォルトで Internal Interrupt Controller が実装されますが、レイテンシーが長いため即時実行の観点からはあまり好ましい方式とは言えません。 Nios® II には External Interrupt Controller としてハードウェアで実装できる Vectored Interrupt Controller(VIC)コアが用意されています。これを使うことで短いレイテンシーでサービスルーチンを呼び出すことができます。 この記事では、Internal Interrupt Controller と VIC の動作を比較し、即時実行と高速処理をどのように実現して行くかを解説しています。 |
マクニカ記事 | インテル・アルテラ・ハナコさん 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 高速化手法 浮動小数演算カスタム・インストラクションの実力 |
この記事では、Whetstone ベンチマークを使い、カスタム・インストラクションの有無や、その実装によってどのような性能向上が見込めるのか、また、カスタム・インストラクションを使用する上での注意点などをまとめています。 |
マクニカ記事 | Nios® II はじめてガイド Nios® II SBT を使用したマルチコア・システムの実装 |
この資料とサンプルは、複数の Nios® II を使用したマルチコア・システムにおいて、メモリーやペリフェラルを共有して使用する方法や注意点、マルチコア・システムならではのデバッグの方法、Flash メモリーへの書き込み方や注意点などを検証を元に解説しています。 |
マクニカ記事 | Nios® II はじめてガイド 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 基礎 FAQ
|
||
区分 | 名称 | 概要 |
FAQ | Nios® II のソフトウェア開発について、参考になる資料はありますか? | |
FAQ | Nios® II プロセッサーには Fast と Economy の2種類ありますが、どのような違いがありますか? |
Fast は主に下記 3点 の機能があり、Fast の方が全体的な処理は早いですが、基本的にソフトウェアでできることは同じです。 |
FAQ | Nios® II を含めた場合の最大動作周波数は、どの程度になりますか? | 最大動作周波数に関しては、デバイス依存となります。 下記に、各デバイスファミリーに対しての情報をまとめた資料がありますのでご参照ください。 Nios® II を組み込んだ際の最大動作周波数について、デバイス毎で記載されている資料はありますか?」 |
FAQ | Nios® II のパフォーマンスに関する指標はありますか? | 下記資料をご参照ください。 [Nios® II Performance Benchmarks] Table 4. Nios II Processor Architecture Performance |
FAQ | Avalon® バス規格の仕様書を教えてください | 下記資料をご参照ください。 [Avalon® Interface Specifications] |
FAQ | Nios® II の Avalon® MEM Interface はバースト転送に対応していますか? |
Nios® II は、Burst には対応していません。 Nios® II パラメータ設定の Burst に関する設定は、キャッシュ処理で Burst を有効にするかの設定であり、 ・Add burstcount signal to instruction_master [Nios II Processor Reference Guide] 4.3. Caches and Memory Interfaces Tab |
|
1-3. Nios® II SBT 使い方に関する記事 & FAQ
Nios® II SBT SBT 使い方に関する記事
|
||
区分 | 名称 | 概要 |
マクニカ記事 | Nios® II はじめてガイド Nios® II SBT によるソフトウェア開発 |
Nios® II ソフトウェア開発の決定版 3 部作です。
● セクション 1 : ● セクション 2 : Nios® II のデバッグ時に使用する JTAG デバッグコア、Nios® II SBT でのデバッグに関する各種説明、生成したコードのパフォーマンス検証方法を説明しています。 |
マクニカ記事 | Nios® II はじめてガイド Nios® II GNU コンパイラと Nios® II SBT |
Nios® II SBT を使用する際、そのベースとなる GNU コンパイラーやリンカーの初歩的な概念を体系的に説明した資料です。 Nios® II 以外の CPU アーキテクチャーで GNU コンパイラー未経験のソフトウェア設計者や、同ツールを使用して組込みソフトウェアを開発するハードウェア設計者(Quartus® II 開発ソフトウェアのユーザー)に有用な内容です。 |
マクニカ記事 | Nios® II はじめてガイド Nios® II SBT と BSP Editorオプション設定 |
Nios® II SBT とサブツール BSP Editor について概説した資料です。主に、BSP Editor の機能を中心に説明しています。 |
マクニカ記事 | Nios® II SBT for Eclipse における Run/Debug Configuration 設定の使い方 | Nios® II SBT の Run/Debug Configuration の Target Connection タブにはいくつかオプションがあります。これらのオプション設定を変えることで何が変わるのか紹介しています。 |
マクニカ記事 | Nios® II デバッグ手法 Software Breakpoint と Hardware Breakpoint |
Nios® II SBT を使ってデバッグを行う場合、ブレークポイントを設定する方法として2つの方法がありますが、必要に応じて使い分ける必要があります。 この記事では、それらの使い分けの勘所について紹介しています。 |
マクニカ記事 |
Nios® II デバッグ手法 |
デバッグの際、stdout や stderr に JTAG UART モジュールを割り当て、printf() などを使って値や状態を出力し、処理の流れや周辺回路の状態などを検証する方法は、簡単に扱えるため比較的よく使われます。しかし、JTAG UART を使った場合、コンソールが停止すると全ての処理が停止してしまいます。 標準ドライバーを使用する場合、併せて Interval Timer モジュールを実装し、それを sys_clk_timer に割り当てることで、コンソールが停止しても一定時間後に出力関数のブロックを解き、処理を再開させる事が出来ます。 |
マクニカ記事 | Nios® II の Run 実行時にエラーになる原因 |
Nios® II SBT で Build は通るのに、Nios® II を実行させようとするとエラーが発生する原因を、いくつか紹介しています。 エラーログ:Downloading ELF process failed |
マクニカ記事 | Nios® II SBT for Eclipse における例外発生要因の確認方法 | ソフトウェアの開発を進める中で、例外が発生しその要因が不明なケースがあるかと思います。 この記事では、例外が発生したらユーザー指定のハンドラーに飛ばし、かつその中で例外が発生した要因となる動作とアドレスを確認する方法について紹介します。 |
マクニカ記事 | Nios® II SBT for Eclipse におけるレジスター・セットから例外要因を確認する方法 | この記事では、Nios® II SBT のデバッグ機能を使用して発生した例外の要因を、ソフトウェアを変更せずデバッグ画面に表示される Nios® II レジスター・セットから特定する方法を紹介します。 |
マクニカ記事 | Nios® II SBT for Eclipse におけるスタック・オーバーフローの検出方法 | 各関数の処理で必要となるスタックサイズが用意されているスタックサイズを超えてしまった時に、メモリー上のプログラム領域の破壊が発生し、Nios® II が止まってしまうことがあります。 これをスタック・オーバーフローと言います。 このスタック・オーバーフローを Nios® II SBT のデバッグで検出する機能をご紹介しています。 |
マクニカ記事 | Nios® II SBT for Eclipse における .su ファイル (スタックサイズ確認用)の生成方法 | GCC のオプションである "-fstack-usage" を使用してコンパイルをすると、ソフトウェアのスタック領域を .su ファイルで確認することができます。こちらのコンテンツでは Nios® II SBT でコンパイルする場合に、-fstack-usage を設定する場所、.su ファイルを生成する方法について解説しています。 |
マクニカ記事 | Nios® II デバッグ手法 逆アセンブラーコードでのデバッグ |
オプティマイズのかかったコードなど、C コードではデバッグがし難い場合、Nios® II SBT では逆アセンブラーで表示させステップ実行させることができます。 |
マクニカ記事 |
Nios® II デバッグ手法 |
Nios® II SBT の Memory view は、byte_enable を持つメモリー等に対する参照・変更を行う事を主な目的としているため、表示が 16 bit や 32 bit であっても、変更は 1 byte (8 bit) 単位で行われます。 そのため byte_enable を持たない 8 bit を超えるペリフェラルのレジスター変更に使う時は注意する必要があります。 この記事では、レジスターの変更に gdb コマンドを使用する方法を紹介しています。 |
マクニカ記事 | Nios® II SBT でエラーが消えない時の解決方法 | この記事では、Nios® II SBT において、Build が正常に完了しているにも関わらず、Problems タブの中に以下のようなエラーが残ってしまう場合の対処方法について説明します。 Type 'xxxx' could not beresolved. Symbol 'xxxx' could not be resolved. |
マクニカ記事 | Nios® II SBT for Eclipse のコンソールが文字化けする場合の対策 | この記事では、Nios® II SBT のコンソール画面で文字化けが起きた際の対策についてご紹介します。 |
マクニカ記事 |
Nios® II Read-Only Zip File System |
この記事では、Read-Only Zip File System の構築方法とサンプル・ソフトウェアをご紹介します。 Nios® II HAL API には、Flash ROM 上で ファイル・システムを構築できる機能があり、Flash ROM 上にあらかじめバイナリー・データを保存しておき、ANSI C 標準ライブラリー I/O 関数を使って、読み込み専用ファイルとしてアクセスすることができます。 |
マクニカ記事 |
Nios® II デバッグ手法 |
ソフトウェアをデバッグする際、Nios® II SBT を実行しているホストマシンのファイルを読み書きする Host File System と言われる方法があります。 この機能を利用することで例えば、ハードウェアや実行環境が整わない状況で、ハードウェアからのデータ入力の代わりにファイルに用意したデータを入力して検証を行ったり、再現率の低い不具合を検証するために長時間のログを出力することが可能になります。 |
マクニカ記事 | Nios® II SBT のプロジェクトをワークスペース間でコピーする方法 | Nios® II SBT で作成した既存プロジェクトを、新規にプロジェクトを作り直し、設定を行い、プロジェクトを移動するのは難しい場合があります。 そのような場合、Nios® II SBT ではインポート機能が利用できます。インポート機能では、アプリケーションと BSP をまとめてコピーできるので、異なるワークスペース間で簡単にプロジェクトのコピーができます。 |
マクニカ記事 | Nios® II 高速化手法 Dhrystone 2.1 を使った計測 |
Dhrystone 2.1 は、Nios® II の性能指標にも使われる CPU のベンチマークソフトの1つです。 この記事では、Dhrystone 2.1 を使用した Nios® II のパフォーマンス測定例を紹介しています。 |
マクニカ記事 | Nios® II 高速化手法 GNU プロファイラーで処理負荷の高い関数を特定 |
Nios® II では GNU プロファイラー(gprof)を利用することができます。 gprof は関数毎の処理時間、呼び出し回数、どの関数に呼ばれているか等を計測しコンソール(またはファイル)に出力することが可能です。 この機能を使って処理負荷の高い関数を特定し、高速化することでソフトウェア全体の処理性能を高めることができます。 |
Nios® II SBT 使い方に関する FAQ
|
||
区分 | 名称 | 概要 |
FAQ |
Nios® II SBT の "Nios® II Application and BSP from Template" を実行しても、Apptication と BSP が生成できません。 |
お試し頂きたいことは 2 つあります。 |
FAQ |
Nios® II SBT で、他者が作成した Nios® II のプロジェクトを Import してきたところ、BSP Generate を行うことが出来きません |
BSP Generate は、settings.bsp に記載されている絶対パスを元に実行しています。 このパスが他者の環境のパスになっていると、BSP Generate を実行することができません。 settings.bsp の絶対パスを修正して頂く方法もありますが、新しいプロジェクトを作成し環境を移行することをお勧めいたします。 |
FAQ |
Nios® II SBT 上で、呼び出している関数の本体や、変数の構成を参照する方法はありますか? |
関数または変数を選択している状態で、F3 キーを押すと、該当箇所へリンクすることができます。 また、リンク先の関数または変数を選択している状態で、Alt + ← キーを押すと、F3 キーが押される前の箇所へ戻ることができます。 |
FAQ |
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 ボタンをクリックすることにより、検索することができます |
Nios® II SBT デバッグ実行に関する FAQ
|
||
区分 | 名称 | 概要 |
FAQ |
Nios® II SBT にてアプリケーションを実行すると、”Download ELF Process failed” 発生します |
下記技術コンテンツに、よくあるケースを掲載していますのでご覧ください。 |
FAQ |
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をご選択頂いている場合は、デフォルトで最適化がかかるようになっています。 |
FAQ | Nios® II SBT 上では正常動作するが、スタンドアローンでは動作しません |
下記技術コンテンツに、改善策を掲載しておりますのでご覧ください。 |
FAQ |
Nios® II SBT のデバッガーにある、 Step into、 Step over、 Step return の各実行内容について教えてください |
実行内容は以下の通りです。 ・ Step into: コードを 1 ライン実行し、もし Method があればその中に入ります ・ Step over: コードを 1 ライン実行し、もし Method があっても入りません ・ Step return: 今実行中の Method を終えて、呼び出し元へ戻ります |
FAQ | IORD(<address>,<offset>) マクロで Read した値と、Nios® II SBT のデバッガーで <address + offset> の値を確認したときの値が、異なるのはどうしてでしょうか? | IORD マクロによるアクセスは Word Addressing(32-bit)であり、デバッガーは Byte Addressing(8-bit)であるため、同じ箇所を参照する際はこの差分を調節し、それぞれの offset を決定する必要があります |
FAQ | Nios® II のアプリケーション開発にで、共有ライブラリ化 (.soファイル) を 作成してアプリケーションを作りたいのですが、 Nios® II 開発環境で作成することは可能でしょうか? |
はい。可能です。 [Nios® II Software Developer Handbook]3.8. Packaging a Library for Reuse |
FAQ | Nios® II SBT の Run As を実行した際に、ソフトウェアは実行されるが printf 文が Nios® II Command Shell 上に表示されません |
主な原因は、こちらです。 |
FAQ | Nios® II を Debug As で実行時に、HDL から Reset 信号を入れても Nios® II が再起動しません。何か再起動しない制約などはありますか? |
Debug As にてステップ実行を行う場合など、Nios® II の処理が止まっている状態では、リセット信号を受け付けない仕様になっています。 [Nios II Processor Reference Guide] 2.4. Reset and Debug Signals |
FAQ | Nios® II の Enable_small_c_libray を有効にすると、scanf に関する Build Error が出ます。回避方法ありますか? |
small C Library は、scanf に対応していない為、small に設定する場合、scanf をご使用になれません。 |
FAQ | Nios® II SBT Generate BSP で Nios® II HAL API ソフトウェアを更新しない方法はありますか? |
Nios® II HAL API ソフトウェアを変更した時など、 |
FAQ | enale_small_driver の設定が反映されず、ソースコードのグレーアウト条件分岐が切り替わりません | Nios® II SBT 上の表示の問題で、public.mk の設定通りにコンパイルされますので、実機動作においては問題なく設定通りに動作します。 グレーアウトを反映させたい場合は、 一旦、Application と BSP を Clean Project して頂き、BSP を Build Project すると、グレーアウトが反映されます。 (enale_small_driver の設定以外にも当てはまります) |
FAQ | Nios® II SBT にて SIGTRAP が発生した場合の確認方法について | Nios® II SBT にてアプリケーションを実行した際、原因不明な "SIGTRAP" が発生する場合があります。 この場合以下の確認をしてください。 ・メモリアクセスに問題がないか ・Exception Vector は適切に設定されているか ・Instruction Bus は命令が格納されているメモリに適切に接続されているか ・誤った sopcinfo ファイルにてソフトウェア・プロジェクトを作成し、 Nios® II/e を使用しているのに Nios® II/f 向けのコードを作成していないか ・Nios® II/e を使用時に Include したライブラリが Nios® II/f 向けになっていないか |
Nios® II SBT アセンブラー / リンカーに関する FAQ
|
||
区分 | 名称 | 概要 |
FAQ | リンカースクリプトの各リンカーセクション(.text、 .bss、 .rodata、 .rwdata、 .heap、 .stack)について教えてください | 各リンカーセクションは以下の通りです。 ・ .text: アプリケーション・コードの格納先 ・ .bss: 初期値の持たない変数の格納先 ・ .rodata: Read Only の変数の格納先 ・ .rwdata: Read/Write 可能な変数の格納先 ・ .heap: 動的にメモリーを確保する際に使用する領域 ・ .stack: 関数内の変数値を一時的に保存する領域 下記資料でも紹介されていますので、併せてご参照ください。 Embedded Design Handbook、222 ページ、“5.2.1.2. Nios II Processor Application Copied from Boot Flash to RAM Using Boot Copier” |
FAQ | 作成したコードのアセンブラーを、確認する方法はありますか? | App プロジェクトを Build Project すると、<Application Project name>.objdump というファイルが、App プロジェクト内に生成されます。 <Application Project name>.objdump ファイルには、アセンブラーコードが記述されているので、そちらをご確認ください。 |
FAQ | スタックサイズを動的に見積もるツールはありますか? |
スタックサイズを動的に見積もるツールはありません。 |
FAQ |
Boot メモリーが足りず容量がオーバーしてしまいます。 |
下記資料にコードサイズ削減の手法を紹介していますのでご参照ください。 「Nios® II SBT によるソフトウェア開発」 上記のページに添付されている、“Nios® II SBT によるソフトウェア開発 セクション2 ver.14” PDF の16 ページ、「4.2 コードサイズの縮小」の項をご覧ください。 |
FAQ | Nios® II SBT で一部の関数のオプティマイズ・レベルを変更したいのですが、どのように設定したらよいのでしょうか? | #pragma を使うことで関数単位にオプティマイズ・レベルを設定することができます。 |
Nios® II SBT キャッシュに関する FAQ
|
||
区分 | 名称 | 概要 |
FAQ |
Nios® II/Fast において、キャッシュをバイパスして Read/Write する方法を教えてください |
デフォルトでは、 4GB の全アドレス空間の内、上位 2GB はキャッシュをバイパスしたアクセス、下位 2GB はキャッシュを経由したアクセスとなっています。 その為、キャッシュをバイパスさせたい場合には、アドレスの最上位ビットに 1 を立てるか、IORD/IOWR マクロをご使用ください。 注意) IORD/IOWR マクロはデフォルトで、最上位ビットに 1 が立っており、キャッシュをバイパスする仕様になっています。 詳細に関しては、下記の記事をご参照ください。 「Nios® II から非キャッシュ領域へアクセスする方法を教えてください。また、非キャッシュ領域への Write/Read の方法を教えてください」 |
FAQ | IORD/IOWR マクロを用いると、キャッシュをバイパスできるのはなぜですか? | IORD/IOWR マクロは、キャッシュをバイパスすることのできるアセンブラー命令を用いていためです。 キャッシュをバイパスしているアセンブラー命令は、IORD と IOWR でそれぞれ ldwio と stwio を使用しています。 |
FAQ | HAL を使用せず、ポインターの制御で下記のように FIFO から pop しています。 FIFO の中身は同じ値は格納されていないので、popする度にデータが変わることを想定していますが、毎回同じ値が返ってきます。 <FIFO をポインターで参照しているコード> #define FIFO_0_OUT_BASE 0x8 // FIFO OUT のベースアドレスの定義 int *fifo_data; // int ポインター型の fifo_data の宣言 int get_data; // int 型の get_data の宣言 fifo_data = FIFO_0_OUT_BASE; // fifo_data に FIFO_0_OUT_BASE のアドレスを設定 get_data = *(fifo_data); // FIFO データを pop し get_data に格納(ポインター使用) printf(“Data is %d/n”, get_data); // 毎回同じ値が出力される |
キャッシュに格納されているデータを、読んでしまっているためだと考えます。 一例として、キャッシュをバイパスしてデータを読み出すコードを、以下に紹介しますのでお試しください。 #define FIFO_0_OUT_BASE 0x8 // FIFO OUT のベースアドレスの定義 また、以下の記事にてキャッシュをバイパスする方法を紹介していますのでご参照ください。 |
FAQ | キャッシュ・メンテナンスを行う関数はありますか? | 下記関数を使用することにより、キャッシュのデータをメインメモリーへ移し、その後キャッシュを削除することができます。これにより、メインメモリーのデータが最新の状態になります。 ・ データキャッシュの場合: alt_dcache_flush_all() ・ インストラクション・キャッシュの場合: alt_icache_flush_all() |
FAQ | キャッシュを経由する領域内に、非キャッシュ(uncache)の領域を設定することができますか? | 可能です。 Platform Designer(旧 Qsys)にて、Nios® II Processor を開き、Cache and Memory Interface タブの Peripheral Region により設定できます。 尚、Peripheral Region の設定内容は以下の通りです。 ・ Size: 非キャッシュにする領域のサイズ ・ Base Address: 非キャッシュ領域の先頭アドレス |
|
1-4. Nios® II Boot に関する記事 & FAQ
Nios® II Boot に関する記事
|
||
区分 | 名称 | 概要 |
マクニカ記事 | Nios® II Boot の構成 と 各 Boot Option における設定について |
Nios® II の Boot に関しては、まずこちらのコンテンツをご覧ください。 Nios® II Boot Option ~ On Chip RAM (XIP) ~ |
マクニカ記事 |
Embedded Peripherals IP |
インテル® Quartus® Prime 開発ソフトウェア ver 19.1_Standard と ver 19.4_Pro 以降の状況を元に、Embedded Peripherals IP User Guide に掲載されている Serial Flash Controller の違いについてと、Nios® II Boot と Serial Flash Controller の関係性について紹介します。 |
マクニカ記事 | Nios® II はじめてガイド Nios® II 向け各種 Flash コントローラの紹介 |
この資料は、Nios® II プロセッサーが利用可能な複数の Flash メモリー・コントローラーについて、用途や役割に焦点を絞って分類・整理したものです。 注意)最新の情報は下記コンテンツをご参照ください。 |
マクニカ記事 | Nios® II はじめてガイド Nios® II SBT Flash Programmer ユーザ・ガイド |
この資料は、Nios® II SBT に含まれる Flash Programmer の基本的な機能概要、手順などを紹介しています。EPCS Flash Controller を利用した、EPCS/EPCQ(256 もしくは 128)に対しての書き込みの際に使用します。 注意) 最新のバージョンでは Nios® II Flash Programmer GUI による書き込みには対応しておりません。JIC を使っての書き込みとなります |
マクニカ記事 | Nios® II はじめてガイド Nios® II システムのメモリ構成 |
Nios® II システムのメモリー構成パターンを紹介している資料です。 注意)情報が古いため、下記コンテンツも併せてご覧ください。 |
マクニカ記事 | Nios® II はじめてガイド Nios® II オンチップ・メモリからのブート手順 |
Quartus® II 開発ソフトウェア v14.0 の Qsys システム統合ツールと、Nios® II SBT を使用したオンチップメモリーからのブートの方法について紹介している資料です。 下記コンテンツも併せてご覧ください。 |
マクニカ記事 | インテル・アルテラ・ハナコさん 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 開発キット編) |
UFM ではサイズが足らない場合、外付けで QSPI を実装すると思います。 下記コンテンツも併せてご覧ください。 |
Nios® II Boot に関する FAQ
|
||
区分 | 名称 | 概要 |
FAQ | Nios® II を Boot させる方法を教えてください。 |
下記コンテンツをご参照ください。 |
FAQ | Advanced Boot Copier についての情報を教えてください。 |
下記コンテンツをご参照ください。 [Alternative Nios II Boot Methods] |
FAQ | Nios® II SBT で "Make Targets" => "Build" => "mem_init_generate" の手順を実行すると、elf2flash: Error reading boot copier というエラーが発生し Hex が生成されません。 | <エラー・メッセージ> 重大: elf2flash: Read error: File not found: /mnt/c/intelFPGA_pro/19.3/nios2eds/components/ altera_nios2/boot_loader_cfi.srec 1 28, 2020 10:39:52 午後com.altera.commandApplication.CmdApp severe 重大: elf2flash: Error reading boot copier 1 28, 2020 10:39:52 午後com.altera.commandApplication.CmdApp severe 重大: elf2flash: Error generating Flash file, exiting |
FAQ | Cyclone® 10 LP 、Cyclone® 10 GX、Arria® 10、Stratix® 10 で sof2flash でエラーが発生しますが回避方法ありますか? |
<エラー・メッセージ> JIC や POF をご使用いただくか、下記 KDB を参考に回避することが可能です。 |
FAQ | Nios® II Command shell で JIC (JTAG Indirect Configuration) を書き込む方法を教えてください。 | JIC で書き込む場合、Quartus® Programmer が使用している "quartus_pgm" コマンドにて、Chain Description File(CDF)をコマンドで指定することで書き込み可能です。 |
FAQ | Convert Programming Files の Relative Addressing で HEX の格納アドレスを調整する方法を教えてください。 |
Nios® II SBT の mem_init generate で生成した HEX を Convert Programmnig Files で 登録すると、Platform Desgner の Reset Vector Offset のアドレス値が自動的に反映されます。 基準アドレスよりもマイナス側にオフセットを指定する場合、 例) |
|
1-5. Peripheral IP に関する記事 & FAQ
Peripheral IP に関する記事
|
||
区分 | 名称 | 概要 |
マクニカ記事 | Qsys に用意されている汎用ペリフェラルの紹介 | 最新の Qsys システム統合ツールを開くと非常に多数のペリフェラルがあり、Nios® II 入門者にとってはどのようなペリフェラルが最低限必要で、どのような機能を持っているかを把握しにくい状況となっています。 この資料では、基本的なペリフェラルについて簡単にまとめています。 |
マクニカ記事 | Nios® II - Vectored Interrupt Controller の実装手法 |
この資料は、Vectored Interrupt Controller Core (VIC) を使ったハードウェア、およびソフトウェアを実装する方法を紹介しています。 VIC を使うことによって、より早い応答時間の割り込み制御が実現できるようになります。 |
マクニカ記事 |
Embedded Peripherals IP |
この記事では、Performance Counter Unit Core と Intel® FPGA Interrupt Latency Counter Core を活用して、Nios® II の処理時間を測定するサンプルを紹介します。 それぞれ、システムとは独立してるため、システムへの影響を最小限に測定することができます。 |
マクニカ記事 |
Embedded Peripherals IP |
この記事では、Interval Timer Core の使用方法とサンプル・デザイン、サンプル・ソフトウェアを紹介します。 Interval Timer Core は、Nios® II 、Nios® V 等のプロセッサー・システム用の Timer であり、この IP は Platform Designer 上でパラメーター設定を変更することにより、さまざまな機能を実装した Timer として使用することができます。 |
マクニカ記事 | Nios® II などの Master のアドレス空間を拡張する Address Span Extender の使い方 | Platform Designer における、Maseter のアドレス空間を拡張する、Address Span Extender の使い方を解説しています。Nios® II が Master の場合を例に解説しています。 |
マクニカ記事 | Nios® II System ID Core で ID が一致しない際の確認事項 | このコンテンツでは、System ID Peripheral Core の概要と、ID がうまく認識しない時の回避方法について紹介します。 |
マクニカ記事 | Nios® II はじめてガイド Nios® II ペリフェラル PIO (Parallel I/O) 簡易ユーザ・ガイド |
Nios® II のペリフェラルとしてよく使用される PIO についての簡易ユーザーガイドです。 PIO を入力として使用した場合の割り込み設定例についても記載されています。 割り込についてのソフトウェア・サンプル付きなので参考にしていただけます。 |
マクニカ記事 | Embedded Peripherals IP - PIO Core サンプル |
この記事では、LED や スイッチの 制御に使用できる PIO Core の概要とサンプルについて記載しています。 |
マクニカ記事 | Nios® II はじめてガイド Nios® II PIO を使用した I2C-Bus(2 ワイヤ)マスタの実装 |
この資料では、マイクロ・プロセッサーとデバイスチップとの通信で一般的に使用されている I2C-Bus(2 ワイヤー)通信を、PIO を使用して実現する方法を紹介しています。 |
マクニカ記事 |
Embedded Peripherals IP |
Flash Controller を Nios® II HAL API で制御するサンプル・ソフトウェアを提供しています。 このソフトウェアを使用することで、Protect Sector がかかっていたり、Write Enable を発行していなかったり、WIP チェックを行っていなかったといったような、ソフトウェアの処理が原因による書き込みエラーは発生しにくいですので、Flash ROM にアクセスできるか、全領域に対して Memory Test を行うことができます。 |
マクニカ記事 |
Embedded Peripherals IP |
Generic Serial Flash Interface (GSFI) を Nios® II HAL API を使用せず制御する Memory Test サンプル・ソフトウェアを提供しています。 EPCQ、EPCQA、Micron、Macronix、ISSI の Flash ROM で動作することを確認済みです。(Flash ROM の使用に合わせてカスタマイズが必要です) |
マクニカ記事 |
この記事では、Nios® II から Mailbox Client IP を操作できるサンプルを紹介します。 インテル® Stratix® 10 FPGA やインテル® Agilex™ FPGA には Secure Device Manager(以下、SDM)と呼ばれるハード・コーデットされたモジュールがあり、SDM へアクセスするには Mailbox Client IP が必要となります。 |
|
マクニカ記事 | Nios® II はじめてガイド Nios® II HAL API のソフトウェア・サンプル集(mSGDMA コア) |
Modular Scatter-Gather DMA Core(mSGDMA)の使用方法を解説しています |
マクニカ記事 | Nios® II はじめてガイド Nios® II - UART 活用術 DMA との結合でソフトウェア負荷軽減 |
Nios® II による UART 通信を UART Core を使って行う場合、送受信の処理はソフトウェアで行わなければなりません。しかし、UART 通信が頻繁に行われるようなアプリケーションの場合、この送受信処理の負荷が本来行わなければいけない処理を圧迫したり、受信処理が間に合わず受信データの取りこぼしなどの問題が発生する場合があります。 そこで、送受信処理をハードウェアに実装することで、ソフトウェアによる送受信処理を最小限に抑え、受信データの取りこぼしなどの問題を解決する手段を提案しています。 |
マクニカ記事 | 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 はじめてガイド 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 と同じ機能を実装する方法を紹介しています。 |
Peripheral IP に関する FAQ
|
||
区分 | 名称 | 概要 |
FAQ | Avalon®-ST で DMA データ転送しています。 Nios® II の I/F は Avalon®-MM であるため Avalon®-ST に接続することができず、 DMA のステータスを確認できません。 DMA のステータスを確認する方法はありますか? |
Avalon®-ST でデータ転送を行うペリフェラルには、データ転送用の I/F とは別に、Avalon®-MM の Control Status Register(CSR)が存在しており、こちらでステータスを確認することができます。 |
FAQ | 各種 Flash Controller の種類と違いを教えてください | 下記資料をご参照ください。 「Embedded Peripherals IP - 各種 Flash Controller の比較」 |
FAQ | 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 削除する必要があります)。 詳細に関しましては下記資料をご参照ください。 マクニカ・ホームページ/技術情報: 「Qsys におけるオフチップ・メモリ・インタフェースの接続方法」 添付されている “qsys_mem_if_v14_r2.2__1.pdf” の 9 ページ、「3-5. アドレス線の接続」の項をご参照ください。 |
FAQ | SPI Slave to Avalon Master Bridge Core を使用して外部 CPU から Platform Designer 内部の Slave にアクセスする方法を教えてください。 | 左記の FAQ をご参照ください。 |
FAQ | Platform Designer の Interval Timer コアを Watch Dog Timer として使用する場合、ソフトウェアではどのように処理すべきですか? | Watch Dog Timer のカウントダウンを開始するには、control レジスターの START bit に 1 をライトします。 カウンターをリセットしてリロードさせるためには、いずれかの period レジスターに対して 任意のデータのライトします(値は意味を持ちません)。 |
FAQ | イーサネット接続の参考になるデザインはありますか? |
Design Store で Simple Socket Server Design Example と検索ください。 |
1-6. Platform Designer に関する記事 & FAQ
Platform Designer に関する記事
|
||
区分 | 名称 | 概要 |
マクニカ記事 | Nios® II プロセッサーの ポートの接続について | Nios® II におけるポート接続(バス接続)で使用するインストラクション・マスターおよびデータマスターについて解説しています |
マクニカ記事 | プラットフォーム・デザイナー(旧 Qsys)の未定義領域へのアクセスを防ぐ方法 | Platform Designer で未定義のスレーブ領域にアクセスが発生した場合の挙動を確定させたい場合、Default Slave を使用することが推奨されています。 その Default Slave に関して解説したコンテンツです。 |
マクニカ記事 | Platform Designer における Arbitration の設定方法と優先順位 | Platform Designer における、Arbitration の設定について解説しています。 |
マクニカ記事 | Nios® II などの Master のアドレス空間を拡張する Address Span Extender の使い方 | Platform Designer における、Maseter のアドレス空間を拡張する、Address Span Extender の使い方を解説しています。Nios® II が Master の場合を例に解説しています。 |
マクニカ記事 | MAX® 10 の On-Chip Flash を使用するときの注意点 | MAX® 10 で Nios® II を使用する際の On-Chip Flash での注意点と対処方法について説明しています |
マクニカ記事 | プラットフォーム・デザイナー・プロ でインターフェイスだけのコンポーネントを作成する方法 |
Platform Designer の Component Editor を使用して、Avalon 信号を外部ポートとして出力する方法を Quartus® Prime Pro ベースに記載しています。 |
マクニカ記事 | Component Editor の使い方 ~ Avalon®-MM / ST 編 ~ |
Platform Designer に、ユーザーが自作したカスタム・ロジックを追加する場合に使用する Component Editor を使用して、Avalon® インターフェイスと接続するポートを持ったカスタム・コンポーネントの作成方法を、実際のサンプルをベースにご紹介します。 |
Platform Designer に関する FAQ
|
||
区分 | 名称 | 概要 |
FAQ | Platform Designer を Generate すると Error: No characters converted が発生します。回避方法はありますか? |
現状把握している原因としては、 各種ファイルのパスに日本語やスペースが入っていると発生します。 半角英数字やアンダーバー(_)を使用ください。 |
FAQ | System Console に関する情報を教えてください。 |
<User Guide> Programmable Sulutions : System Console <マクニカコンテンツ> FPGA システム・デバッグ・ツール "System Console" を使ってみよう |
FAQ | 自作 Master から、Slave にアクセスする際に、Arbitration がうまく動作しませんなぜでしょうか。 | 自作のマスターから Arbitration を使用してアクセスする場合、 信号の保持する時間に注意して 自作マスターを作成してください。 ユーザーガイドに参考波形がある通り、Slave から入力される waitrequst 信号のディアサートをもって、Master に権限が渡され、Avalon® 信号の状態が Slave に伝達しますので、最低でも、waitrequest がディアサートされるまで Avalon® 信号を保持し続けるように Master を制御する必要があります。 Intel® Quartus Prime Pro Edition User Guide: Platform Designer |
FAQ | Avalon® と APB を Platform Designer で接続する方法について教えてください。APB Bridge があるのでしょうか。 |
APB を Platform Designer に取り込む方法は、下記に記載されています。 具体的な接続方法としては、 |
FAQ | Avalon® Interface の readwaittime パラメーターと waitrequest 信号を併用して使えますか? | Avalon® の仕様として、readwaittime と waitrequest を併用する事はできません。 |
FAQ | Platform Desinger (旧 Qsys) と Platform Desinger 外部の接続にトランスレーター (translator) IP は使用可能ですか? | 使用できません。 この IP は Qsys がインタコネクトを形成する際に使用されるものであり、ユーザーがインスタンスして使用することはできません。 |
FAQ | Platform Designer に APB Translator Intel® FPGA IP という IP がありますが、これは Avalon® と AXI や APB を Platform Designer 上で接続する際に使用できますか? | いいえ、この IP はツールが内部バス生成時に自動挿入する IP のため、ユーザーがマニュアルで使用することはできません。 |
FAQ | Platform Designer で Generate 時に try "Remove Dangling Connections" というエラーになります。 | Platform Designer で接続やポートを変更した際に、接続情報が残っており、このメッセージが出ることがあります。 System メニュー⇒ Remove Dangling Connections を実行し、再度 Generate を実行してください。 |
FAQ | Quartus® Prime Pro Platform Designer で、Validate System Integrity のボタンの使うタイミングを教えてください。 |
①: [Intel® Quartus Prime Pro Edition User Guide: Platform Designer] 1.12. Validating System Integrity ②: |
FAQ | MAX® 10 において、Floating Point Hardware 2 の Root 設定を有効にして、Configuration Mode を "Single uncompressed image with memory initialization" や "Single compressed image with memory initialization" にした場合、問題なくコンパイルは通りますか? |
"Single uncompressed image with memory initialization" や "Single compressed image with memory initialization" でのみコンパイルに成功します。 |
|
2. Nios® II 関連の YouTube 動画
マクニカ Nios® II 関連トライアルコース動画コンテンツ |
|
インテル® Nios® II 関連動画 |
|
3. Nios® II インテル® ユーザーガイド集
ユーザーガイド
コンテンツ名 | 概要 | |
Nios II Processor Reference Guide | Nios® II 設定(コアの違い、Reset/Exception vector など)を説明した 資料です。 Nios® II プロセッサーのアーキテクチャー、プログラミング・モデル、および命令セットを含む、高レベルの概念的な説明から、低レベルの実装の詳細までの Nios® II プロセッサーについての説明があります |
|
Nios II Software Developer's Handbook | Nios® II プロセッサー用の組み込みソフトウェアの開発に必要な基本情報が記載されています。 Nios® II プロセッサーには、インテル® Quartus® Prime 14.0 バージョンの後に追加された新機能が含まれています。 このハンドブックの各章では、Nios® II ソフトウェア開発環境、Nios® II EDS ツール、およびソフトウェア開発のプロセスについて説明しています。 割り込み/例外のつくりについても紹介しており、例外発生時の割り込みハンドラー登録のやり方へのサンプル or リンクは、「9.6. The Nios II Instruction-Related Exception Handler」 を参照ください |
|
Embedded Design Handbook | Nios® II EDS ツールを効果的に使用する方法を説明し、インテル® が提供するツールを使用して Nios® II プロセッサー・ベースのエンベデッド・システムを開発、デバッグ、最適化するためのデザインスタイルとプラクティスを説明しています 。 Boot に関しても記載されており、複数アプリケーションを選択して Boot する方法(Advanced Boot Copier)についても説明されています |
|
Embedded Peripherals IP User Guide | Nios® II プロセッサーとシームレスに連携する内蔵ペリフェラルを含む、インテル® Quartus® Prime 開発ソフトウェアが提供する IP コアについて説明しています | |
Nios® II and Embedded IP Release Notes | こちらのリリースノートは、Nios® II EDS、 Nios® II プロセッサー IP、およびエンベデッド IP コアのリリースについて記載しています。 | |
Nios II Custom Instruction User Guide | カスタム命令により、特定のアプリケーションのニーズに合わせて Nios® II プロセッサーを調整することができます。 このユーザーガイドでは、Nios® II カスタム・インストラクション機能の詳細な概要を説明しています。 Design Example は、巡回冗長検査(CRC)アルゴリズムを Nios® II カスタム・インストラクションとして実装する方法を示しています |
|
Design Example | ||
Nios II Processor Performance Benchmark | 選定における参考資料(ベンチマーク)です。 Nios® II ソフトプロセッサおよびペリフェラルの一般的な実装におけるパフォーマンスとロジックエレメントの使用法が記載されています |
|
Nios II Flash Programmer User Guide | ダウンロード・ケーブルを介して FPGA 上で実行されている Nios® II システムにファイルの内容を送信し、Nios® II システムに書き込みを指示する Nios® II フラッシュ・プログラマーの概要を説明しています | |
Intel® FPGA Download Cable II User Guide | インテル® FPGA ダウンロード・ケーブル II についての説明資料です。ホスト・コンピューターの USB ポートとプリント回路基板に実装された インテル® FPGA を接続します | |
Avalon® Verificaiton IP Suite User Guide | Avalon® Verification IP Suite について説明しています。 これは、動作をシミュレートし、IP の検証を容易にするための Bus Functional Models (BFMs) を提供します |
|
Nios® II Classic Processor Reference Guide | Nios® II Classic プロセッサーについて、高レベルの概念的説明から低レベルの実装詳細までを説明しています。 このハンドブックの各章では、Nios® II プロセッサーのアーキテクチャー、プログラミング・モデル、および命令セットについて説明しています |
アプリケーション・ノート
コンテンツ名 | 概要 | |
AN 729: Implementing JESD204B IP Core System Reference Design with Nios II Processor | このリファレンス・デザインは、JESD204B トランスポート層(アセンブラーおよび逆アセンブラー)、テストパターン・ジェネレーターおよびチェッカー、コア PLL、SPI マスター、リセット・シーケンサー、さまざまなダイナミック・リコンフィグレーション・コントローラー、および Nios® II を含むシステムの一部として動作する JESD204B IP コアを含みます | |
AN 740: Nios II Flash Accelerator Using MAX 10 | 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 | このリファレンス・デザインは、MAX® 10 FPGA デバイス用の Nios® II ベースシステムに基本的なリモート・コンフィグレーション機能を実装する簡単なアプリケーションを提供します。 MAX® 10 FPGA 開発キットに含まれる UART インターフェイスは、リモート・コンフィグレーション機能を提供するためにアルテラの UART IP コアと一緒に使用されます |
|
Design Example |
ホワイトペーパー
コンテンツ名 | 概要 |
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 | インテル® FPGA の適応性、可変精度デジタル信号処理(DSP)、およびモーター制御設計用の統合システムレベル設計ツールを活用した推奨設計フローについて説明しています。 モーター駆動機器の設計者は、この設計フローのパフォーマンス、統合性、および効率性の利点を活用できます |
無料のオンライン・トレーニング
インテル® では無料のオンライン・トレーニングを用意しております。
下記ページより FITERS に "nios" と入力いただくことで、 Nios® II プロセッサーに関連するトレーニングを検索できますのでご参照ください。
Intel Learning : All Intel Developer Training