![Page 1: Nios II 簡易チュートリアル - FPGA/CPLD情報サイト … II 簡易チュートリアル ver. 7.1 2007 年 10月 Page 2 of 21 Altima Corporation 2. 作業 2-1. ハードウェア・プロジェクトの作成](https://reader030.vdocuments.pub/reader030/viewer/2022012917/5ac8df497f8b9a7d548cb4aa/html5/thumbnails/1.jpg)
Page 1 of 21 Altima Corporation
Nios II 簡易チュートリアル
Ver. 7.1 2007年 10月
1. はじめに
この資料は、Nios® II の簡易チュートリアルです。シンプルなハードウェア・ソフトウェアを使用し、動作確認を行うまでの最低限
必要となる開発フローをご理解いただけます。ハードウェアの構成は、Nios II コア、JTAG UART、オンチップメモリ、LED 用の
8 ビット出力用の PIO コンポーネントのみです。ソフトウェアは、LED を点滅させるだけの、非常にシンプルな記述です。チュート
リアルのフローを以下に示します。
<フロー>
① Quartus® II の起動
② SOPC Builder にて、Nios II システムの構築、生成
③ Quartus II にてハードウェアデザインのコンパイル
④ ターゲット・ボードへ .sof ファイルをダウンロード
⑤ Nios II IDE にて、ソフトウェア・プロジェクトの作成
⑥ ソフトウェア・ソースファイルを新規で作成し、記述
⑦ ソフトウェア・ソースファイルのビルド
⑧ 生成されたソフトウェアの実行ファイルをターゲット上で実行
⑨ デバッガを起動し、デバッグ
この資料では、Stratix® II 2S60 RoHS 対応エディションを使用します。他の Nios II 評価ボードを使用する場合は、
Quartus II にて設定するデバイス型名の選択、ピン配置、未使用ピンの処理等をそれぞれのボードの仕様にあわせて行って
ください。各ボードの仕様の情報はアルテラのホームページより、取得いただけます。
(http://www.altera.com/literature/lit-nio2.jsp)
.elf
ソフトウェア・実行コード生成
.sof
ハードウェア・ファイル生成
システムの HDL 生成 SOPC Builder
Quartus II NiosII IDE
FPGA
![Page 2: Nios II 簡易チュートリアル - FPGA/CPLD情報サイト … II 簡易チュートリアル ver. 7.1 2007 年 10月 Page 2 of 21 Altima Corporation 2. 作業 2-1. ハードウェア・プロジェクトの作成](https://reader030.vdocuments.pub/reader030/viewer/2022012917/5ac8df497f8b9a7d548cb4aa/html5/thumbnails/2.jpg)
Nios II 簡易チュートリアル
ver. 7.1 2007年 10月 Page 2 of 21 Altima Corporation
2. 作業
2-1. ハードウェア・プロジェクトの作成 (Quartus II)
① Quartus II を起動し、Quartus II の File メニュー → New Project Wizard をクリックします。
New Project Wizard Introduction ウィンドウが表示されたら、Next を 1 回クリックし、以下の画面で、ワーキング・ディレ
クトリ、ハードウェア・デザインのプロジェクト名、ハードウェア・デザインのトップのエンティティ名を入力します。
![Page 3: Nios II 簡易チュートリアル - FPGA/CPLD情報サイト … II 簡易チュートリアル ver. 7.1 2007 年 10月 Page 2 of 21 Altima Corporation 2. 作業 2-1. ハードウェア・プロジェクトの作成](https://reader030.vdocuments.pub/reader030/viewer/2022012917/5ac8df497f8b9a7d548cb4aa/html5/thumbnails/3.jpg)
Nios II 簡易チュートリアル
ver. 7.1 2007年 10月 Page 3 of 21 Altima Corporation
② Next を 2 回クリックし、以下の画面で、ターゲット・デバイスの選択をします。
ここでは、Family で Stratix II を選択し、Available devices中の EP2S60F672C3 を選択します。
③ Next を 2 回クリックし、Finish でこのウィンドウを閉じます。
ハードウェア・プロジェクトが作成されました。
![Page 4: Nios II 簡易チュートリアル - FPGA/CPLD情報サイト … II 簡易チュートリアル ver. 7.1 2007 年 10月 Page 2 of 21 Altima Corporation 2. 作業 2-1. ハードウェア・プロジェクトの作成](https://reader030.vdocuments.pub/reader030/viewer/2022012917/5ac8df497f8b9a7d548cb4aa/html5/thumbnails/4.jpg)
Nios II 簡易チュートリアル
ver. 7.1 2007年 10月 Page 4 of 21 Altima Corporation
2-2. 未使用ピンの属性設定
① Assignments メニュー → Device をクリックし、Device and Pin Options をクリックします。
② Device and Pin Options ウィンドウの Unused Pins タブを開き、Reserve all unused pins: で As input tri-stated を選択し、
OK をクリックします。
![Page 5: Nios II 簡易チュートリアル - FPGA/CPLD情報サイト … II 簡易チュートリアル ver. 7.1 2007 年 10月 Page 2 of 21 Altima Corporation 2. 作業 2-1. ハードウェア・プロジェクトの作成](https://reader030.vdocuments.pub/reader030/viewer/2022012917/5ac8df497f8b9a7d548cb4aa/html5/thumbnails/5.jpg)
Nios II 簡易チュートリアル
ver. 7.1 2007年 10月 Page 5 of 21 Altima Corporation
2-3. SOPC Builder にてシステムを構成し、HDL を生成
① Quartus II の Tools メニュー → SOPC Builder をクリックし、SOPC Builder を開きます。
Create New System のウィンドウの System Name 欄に SOPC Builder で生成するシステム名を入力し、Target HDL
より Verilog もしくは VHDL を選択し、SOPC Builder より生成させる HDL を選択します。
② SOPC Builder 左枠のMemories and Memory Controllers グループ内のOn-Chip カテゴリより、On-Chip Memory (RAM
or ROM) をダブルクリックします。
On-Chip Memory (RAM or ROM) ウィンドウ内のメモリの Block type 欄で M4K を選択し、Total memory size を
64 K Bytes に設定し Finish をクリックします。
![Page 6: Nios II 簡易チュートリアル - FPGA/CPLD情報サイト … II 簡易チュートリアル ver. 7.1 2007 年 10月 Page 2 of 21 Altima Corporation 2. 作業 2-1. ハードウェア・プロジェクトの作成](https://reader030.vdocuments.pub/reader030/viewer/2022012917/5ac8df497f8b9a7d548cb4aa/html5/thumbnails/6.jpg)
Nios II 簡易チュートリアル
ver. 7.1 2007年 10月 Page 6 of 21 Altima Corporation
③ SOPC Builder 左枠の Nios II Processorをダブルクリックし Nios II Processor のウィザード内で Nios II コアを選択します。
その後、Reset Vector 、Exception Vector 欄で、onchip_mem を選択し Finish をクリックします。
![Page 7: Nios II 簡易チュートリアル - FPGA/CPLD情報サイト … II 簡易チュートリアル ver. 7.1 2007 年 10月 Page 2 of 21 Altima Corporation 2. 作業 2-1. ハードウェア・プロジェクトの作成](https://reader030.vdocuments.pub/reader030/viewer/2022012917/5ac8df497f8b9a7d548cb4aa/html5/thumbnails/7.jpg)
Nios II 簡易チュートリアル
ver. 7.1 2007年 10月 Page 7 of 21 Altima Corporation
④ SOPC Builder 左枠の Peripherals グループ内の Microcontroller Peripherals カテゴリより PIO(Parallel I/O) をダブル
クリックします。こちらのウィザードはデフォルトの設定で Finish をクリックします。
![Page 8: Nios II 簡易チュートリアル - FPGA/CPLD情報サイト … II 簡易チュートリアル ver. 7.1 2007 年 10月 Page 2 of 21 Altima Corporation 2. 作業 2-1. ハードウェア・プロジェクトの作成](https://reader030.vdocuments.pub/reader030/viewer/2022012917/5ac8df497f8b9a7d548cb4aa/html5/thumbnails/8.jpg)
Nios II 簡易チュートリアル
ver. 7.1 2007年 10月 Page 8 of 21 Altima Corporation
⑤ SOPC Builder 左枠の Interface Protocols グループ内の Serial カテゴリより JTAG UART をダブルクリックします。
こちらのウィザードもデフォルトの設定で Finish をクリックします。
![Page 9: Nios II 簡易チュートリアル - FPGA/CPLD情報サイト … II 簡易チュートリアル ver. 7.1 2007 年 10月 Page 2 of 21 Altima Corporation 2. 作業 2-1. ハードウェア・プロジェクトの作成](https://reader030.vdocuments.pub/reader030/viewer/2022012917/5ac8df497f8b9a7d548cb4aa/html5/thumbnails/9.jpg)
Nios II 簡易チュートリアル
ver. 7.1 2007年 10月 Page 9 of 21 Altima Corporation
⑥ SOPC Builder より、構成したシステムを確認してください。各コンポーネントの Base アドレスが重なっていなければ、
Generate をクリックし、システムの HDL を生成してください。Base アドレスが重なっている場合には、コンポーネント上
で 右クリックし、Auto-Assign Base Addresses をクリックして、Base アドレスが重ならないようにした状態で Generate を
クリックしてください。Generate が終了したら、Exit をクリックしてください。
![Page 10: Nios II 簡易チュートリアル - FPGA/CPLD情報サイト … II 簡易チュートリアル ver. 7.1 2007 年 10月 Page 2 of 21 Altima Corporation 2. 作業 2-1. ハードウェア・プロジェクトの作成](https://reader030.vdocuments.pub/reader030/viewer/2022012917/5ac8df497f8b9a7d548cb4aa/html5/thumbnails/10.jpg)
Nios II 簡易チュートリアル
ver. 7.1 2007年 10月 Page 10 of 21 Altima Corporation
2-4. Quartus II にてコンパイル
① 今回はトップのファイルとして回路図(.bdf)ファイルを採用しましたが、当然トップのファイルは HDL で構いません。
Quartus II の File メニューの New をクリックし、New ウィンドウより Block Diagram/Schematic File を選択し OK を
クリックします。
② 表示された Block1.bdf ファイル上でダブルクリックします。 Symbol ウィンドウが表示されますので、左側の Project
カテゴリ内より SOPC システム・モジュールにつけた名前のコンポーネント(例:sopc_system) をクリックし OK をクリック
します。
![Page 11: Nios II 簡易チュートリアル - FPGA/CPLD情報サイト … II 簡易チュートリアル ver. 7.1 2007 年 10月 Page 2 of 21 Altima Corporation 2. 作業 2-1. ハードウェア・プロジェクトの作成](https://reader030.vdocuments.pub/reader030/viewer/2022012917/5ac8df497f8b9a7d548cb4aa/html5/thumbnails/11.jpg)
Nios II 簡易チュートリアル
ver. 7.1 2007年 10月 Page 11 of 21 Altima Corporation
③ 先程と同じように、Block1.bdf ファイル上でダブルクリックします。Symbol ウィンドウが表示されますので、その Name
欄で input と入力しOK をクリックします。入力ピンのシンボルが用意されるので、SOPC Builder のシンボルに接続しま
す。clk、reset_n にそれぞれ、入力ピンのシンボルを接続します。同じように、Name 欄に output と入力することで、出力
ピンのシンボルが用意されます。さらに同じように、Name 欄に not と入力することでインバータのシンボルが用意される
ので、led のノードに接続しその外側へ出力ピンのシンボルを接続します。それぞれのシンボルはダブルクリックすること
で名前の変更ができます。各シンボルの名前を次の画面の様に、clk、reset_n、led_pio[7..0] としてください。
④ File メニュー → Save As よりトップの .bdf ファイルの保存をします。
⑤ トップのデザインを Quartus II のチェックにかけます。
Quartus II の Processing メニュー → Start Analysis & Elaboration をクリックします。
![Page 12: Nios II 簡易チュートリアル - FPGA/CPLD情報サイト … II 簡易チュートリアル ver. 7.1 2007 年 10月 Page 2 of 21 Altima Corporation 2. 作業 2-1. ハードウェア・プロジェクトの作成](https://reader030.vdocuments.pub/reader030/viewer/2022012917/5ac8df497f8b9a7d548cb4aa/html5/thumbnails/12.jpg)
Nios II 簡易チュートリアル
ver. 7.1 2007年 10月 Page 12 of 21 Altima Corporation
⑥ ピン・アサインを行います。Quartus II の Assignments メニューの Pins をクリックします。Pin Planner が表示されるので、
次の表に対応するようにピン・アサインを行ってください。Stratix II 2S60 RoHS 対応エディション以外のボードを使用
する場合は、ご使用のボード仕様を確認後、ピン配置の設定をしてください。
clk B13
led_pio[7] V17
led_pio[6] AD18
led_pio[5] AB17
led_pio[4] V16
led_pio[3] AA17
led_pio[2] AD17
led_pio[1] V14
led_pio[0] W15
reset_n AA15
Location 欄へカーソルを持っていき、ピン・アサインを行いたい番号を入力、もしくはプルダウン・メニューより選択して
ください。
⑦ Quartus II にてトップのデザインをコンパイルします。Processing メニュー → Start Compilation をクリックします。
ハー ドウェアの生成は以上です。
![Page 13: Nios II 簡易チュートリアル - FPGA/CPLD情報サイト … II 簡易チュートリアル ver. 7.1 2007 年 10月 Page 2 of 21 Altima Corporation 2. 作業 2-1. ハードウェア・プロジェクトの作成](https://reader030.vdocuments.pub/reader030/viewer/2022012917/5ac8df497f8b9a7d548cb4aa/html5/thumbnails/13.jpg)
Nios II 簡易チュートリアル
ver. 7.1 2007年 10月 Page 13 of 21 Altima Corporation
2-5. システムを FPGA へダウンロード
USB-BlasterTM を接続し、ボードに電源を供給した後、Quartus II の Programmer より.sof ファイルを FPGA にダウン
ロードします。Tools メニューより Programmer をクリックします。すでに目的の .sof ファイルが選択されているので、
Program/Configure のチェックを入れて Start をクリックします。
2-6. Nios II IDE でソフトウェア・プロジェクトの作成
① Windows® のスタートメニューより Nios II IDE を開きます。
② Nios II IDE のワークスペースを設定します。Quartus II の現在のプロジェクトが存在しているワーキング・ディレクトリ
内に任意の名前で新たにフォルダを作成します。(例:workspace) Nios II IDE の File メニュー の Switch
Workspace をクリックし、Browse ボタンより作成したフォルダを選択し OK を押します。そうすると、Nios II IDE は
再び立ち上がり、Welcome ページを表示します。Welcome ページは、右上のWorkbench をクリックし閉じます。
![Page 14: Nios II 簡易チュートリアル - FPGA/CPLD情報サイト … II 簡易チュートリアル ver. 7.1 2007 年 10月 Page 2 of 21 Altima Corporation 2. 作業 2-1. ハードウェア・プロジェクトの作成](https://reader030.vdocuments.pub/reader030/viewer/2022012917/5ac8df497f8b9a7d548cb4aa/html5/thumbnails/14.jpg)
Nios II 簡易チュートリアル
ver. 7.1 2007年 10月 Page 14 of 21 Altima Corporation
③ Nios II IDE でソフトウェアのプロジェクトを作成します。
Nios II IDE の File メニュー → New → Project をクリックし、New Project ウィンドウを開きます。New Project
ウィンドウで、Nios II C/C++ Application をハイライトした状態で Next をクリックします。
![Page 15: Nios II 簡易チュートリアル - FPGA/CPLD情報サイト … II 簡易チュートリアル ver. 7.1 2007 年 10月 Page 2 of 21 Altima Corporation 2. 作業 2-1. ハードウェア・プロジェクトの作成](https://reader030.vdocuments.pub/reader030/viewer/2022012917/5ac8df497f8b9a7d548cb4aa/html5/thumbnails/15.jpg)
Nios II 簡易チュートリアル
ver. 7.1 2007年 10月 Page 15 of 21 Altima Corporation
④ 次のウィンドウで、Name 欄にソフトウェア・プロジェクトにつけたい任意の名前を入力します。その後 SOPC Builder
System PTF File 欄に Browse ボタンよりハードウェア・プロジェクト内に存在する.ptf ファイルを選択します。最後に
Select Project Template 欄で、Blank Project を選択した状態で Finish をクリックします。
![Page 16: Nios II 簡易チュートリアル - FPGA/CPLD情報サイト … II 簡易チュートリアル ver. 7.1 2007 年 10月 Page 2 of 21 Altima Corporation 2. 作業 2-1. ハードウェア・プロジェクトの作成](https://reader030.vdocuments.pub/reader030/viewer/2022012917/5ac8df497f8b9a7d548cb4aa/html5/thumbnails/16.jpg)
Nios II 簡易チュートリアル
ver. 7.1 2007年 10月 Page 16 of 21 Altima Corporation
⑤ Nios II のソフトウェアを記述します。Nios II IDE の File メニュー → New → Source File をクリックし、New Source
File ウィンドウの、Source Folder 欄に、Browse ボタンよりソフトウェア・プロジェクトのアプリケーション・プロジェクト
(_syslib がついていない方のフォルダ)を選択します。Source File 欄には、任意のソフトウェアのファイル名を
拡張子 .c をつけて入力し、Finish をクリックします。
⑥ Nios II IDE に新規でファイルが用意されたので、そちらにソフトウェアのコードを記述します。以下の記述を行って
ください。
![Page 17: Nios II 簡易チュートリアル - FPGA/CPLD情報サイト … II 簡易チュートリアル ver. 7.1 2007 年 10月 Page 2 of 21 Altima Corporation 2. 作業 2-1. ハードウェア・プロジェクトの作成](https://reader030.vdocuments.pub/reader030/viewer/2022012917/5ac8df497f8b9a7d548cb4aa/html5/thumbnails/17.jpg)
Nios II 簡易チュートリアル
ver. 7.1 2007年 10月 Page 17 of 21 Altima Corporation
⑦ システムの設定を確認します。_syslib フォルダを右クリックし、Properties をクリックします。プログラム・メモリに、
onchip_mem が設定されていることが確認できます。OK をクリックして閉じます。
⑧ ソフトウェアをビルドします。Nios II IDE 左枠のアプリケーション・プロジェクトのフォルダ(_syslib がついていない方)
をハイライトし、右クリック → Build Project をクリックします。
![Page 18: Nios II 簡易チュートリアル - FPGA/CPLD情報サイト … II 簡易チュートリアル ver. 7.1 2007 年 10月 Page 2 of 21 Altima Corporation 2. 作業 2-1. ハードウェア・プロジェクトの作成](https://reader030.vdocuments.pub/reader030/viewer/2022012917/5ac8df497f8b9a7d548cb4aa/html5/thumbnails/18.jpg)
Nios II 簡易チュートリアル
ver. 7.1 2007年 10月 Page 18 of 21 Altima Corporation
2-7. 実行コードをターゲットで実行、デバッグ
① ビルドしたソフトウェアをターゲットのシステムで実行します。Nios II IDE 左枠のアプリケーション・プロジェクトの
フォルダ(_syslib がついていない方)をハイライトし、右クリック → Run As → Nios II Hardware をクリックします。
Console ウィンドウに、printf の出力のキャラクタが確認できます。ターゲット上の LED の点灯が確認できます。
② デバッガを起動します。Nios II IDE 左枠のアプリケーション・プロジェクトのフォルダ(_syslib がついていない方)を
ハイライトし、右クリック → Debug As → Nios II Hardware をクリックします。
![Page 19: Nios II 簡易チュートリアル - FPGA/CPLD情報サイト … II 簡易チュートリアル ver. 7.1 2007 年 10月 Page 2 of 21 Altima Corporation 2. 作業 2-1. ハードウェア・プロジェクトの作成](https://reader030.vdocuments.pub/reader030/viewer/2022012917/5ac8df497f8b9a7d548cb4aa/html5/thumbnails/19.jpg)
Nios II 簡易チュートリアル
ver. 7.1 2007年 10月 Page 19 of 21 Altima Corporation
デバッグ・ウィンドウを開くために以下のウィンドウで、Yes をクリックします。
Nios II IDE のウィンドウがデバッグウィンドウに切り替わり、デバッグが行えるようになりました。
ここで、ソフトウェア・ブレークポイントやステップ実行等が行うことができます。ブレークポイントは、プログラムが表示さ
れているウィンドウの左端(グレーの縦のライン部分)をダブルクリックすることにより設定します。ブレークポイントを設
定した箇所にはアイコンが表示されます。(下画面赤枠をご参照ください。)設定を解除する場合は、このブレークポイン
トのアイコンをダブルクリックします。
![Page 20: Nios II 簡易チュートリアル - FPGA/CPLD情報サイト … II 簡易チュートリアル ver. 7.1 2007 年 10月 Page 2 of 21 Altima Corporation 2. 作業 2-1. ハードウェア・プロジェクトの作成](https://reader030.vdocuments.pub/reader030/viewer/2022012917/5ac8df497f8b9a7d548cb4aa/html5/thumbnails/20.jpg)
Nios II 簡易チュートリアル
ver. 7.1 2007年 10月 Page 20 of 21 Altima Corporation
デバッガのアイコンの情報は以下になります。
![Page 21: Nios II 簡易チュートリアル - FPGA/CPLD情報サイト … II 簡易チュートリアル ver. 7.1 2007 年 10月 Page 2 of 21 Altima Corporation 2. 作業 2-1. ハードウェア・プロジェクトの作成](https://reader030.vdocuments.pub/reader030/viewer/2022012917/5ac8df497f8b9a7d548cb4aa/html5/thumbnails/21.jpg)
Nios II 簡易チュートリアル
ver. 7.1 2007年 10月 Page 21 of 21 Altima Corporation
横浜本社
〒222-8563 横浜市港区新横浜 1-5-5 マクニカ第二ビル TEL 045-476-2155 FAX 045-476-2156
大阪営業所
〒532-0011 大阪市淀川区西中島 6-1-3 アストロ新大阪第二ビル 7階 TEL 06-6307-7670 FAX 06-6307-7671
名古屋営業所
〒460-0003 名古屋市中区錦 1-6-5 名古屋錦シティビル 7階 TEL 052-202-1024 FAX 052-202-1025
宇都宮営業所
〒321-0953 宇都宮市東宿郷 4-2-24 センターズビル 7階 TEL 028-637-4488 FAX 028-637-4489
弊社より資料を入手されましたお客様におかれましては、下記の使用上の注意を一読いただいた上でご使用ください。
2. 本資料は非売品です。許可無く転売することや無断複製することを禁じます。
3. 本資料は予告なく変更することがあります。
4. 本資料の作成には万全を期していますが、万一ご不明な点や誤り、記載漏れなどお気づきの点がありましたら、弊社までご一報いただければ幸いです。
5. 本資料で取り扱っている回路、技術、プログラムに関して運用した結果の影響については、責任を負いかねますのであらかじめご了承ください。
6. 本資料は製品を利用する際の補助的な資料です。製品をご使用になる場合は、英語版の資料もあわせてご利用ください。