nios ii 簡易チュートリアル - fpga/cpld情報サイト … ii 簡易チュートリアル...

21
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

Upload: ngodung

Post on 07-Apr-2018

227 views

Category:

Documents


3 download

TRANSCRIPT

Page 1: Nios II 簡易チュートリアル - FPGA/CPLD情報サイト … II 簡易チュートリアル ver. 7.1 2007 年 10月 Page 2 of 21 Altima Corporation 2. 作業 2-1. ハードウェア・プロジェクトの作成

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. ハードウェア・プロジェクトの作成

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. ハードウェア・プロジェクトの作成

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. ハードウェア・プロジェクトの作成

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. ハードウェア・プロジェクトの作成

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. ハードウェア・プロジェクトの作成

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. ハードウェア・プロジェクトの作成

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. ハードウェア・プロジェクトの作成

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. ハードウェア・プロジェクトの作成

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. ハードウェア・プロジェクトの作成

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. ハードウェア・プロジェクトの作成

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. ハードウェア・プロジェクトの作成

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. ハードウェア・プロジェクトの作成

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. ハードウェア・プロジェクトの作成

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. ハードウェア・プロジェクトの作成

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. ハードウェア・プロジェクトの作成

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. ハードウェア・プロジェクトの作成

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. ハードウェア・プロジェクトの作成

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. ハードウェア・プロジェクトの作成

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. ハードウェア・プロジェクトの作成

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. ハードウェア・プロジェクトの作成

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. 本資料は製品を利用する際の補助的な資料です。製品をご使用になる場合は、英語版の資料もあわせてご利用ください。