Nios II 簡易チュートリアル - FPGA/CPLD情報サイト … II 簡易チュートリアル...

Preview:

Citation preview

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

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 回クリックし、以下の画面で、ワーキング・ディレ

クトリ、ハードウェア・デザインのプロジェクト名、ハードウェア・デザインのトップのエンティティ名を入力します。

Nios II 簡易チュートリアル

ver. 7.1 2007年 10月 Page 3 of 21 Altima Corporation

② Next を 2 回クリックし、以下の画面で、ターゲット・デバイスの選択をします。

ここでは、Family で Stratix II を選択し、Available devices中の EP2S60F672C3 を選択します。

③ Next を 2 回クリックし、Finish でこのウィンドウを閉じます。

ハードウェア・プロジェクトが作成されました。

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 をクリックします。

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 をクリックします。

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 をクリックします。

Nios II 簡易チュートリアル

ver. 7.1 2007年 10月 Page 7 of 21 Altima Corporation

④ SOPC Builder 左枠の Peripherals グループ内の Microcontroller Peripherals カテゴリより PIO(Parallel I/O) をダブル

クリックします。こちらのウィザードはデフォルトの設定で Finish をクリックします。

Nios II 簡易チュートリアル

ver. 7.1 2007年 10月 Page 8 of 21 Altima Corporation

⑤ SOPC Builder 左枠の Interface Protocols グループ内の Serial カテゴリより JTAG UART をダブルクリックします。

こちらのウィザードもデフォルトの設定で Finish をクリックします。

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 をクリックしてください。

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 をクリック

します。

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 をクリックします。

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 をクリックします。

ハー ドウェアの生成は以上です。

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 をクリックし閉じます。

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 をクリックします。

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 をクリックします。

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 に新規でファイルが用意されたので、そちらにソフトウェアのコードを記述します。以下の記述を行って

ください。

Nios II 簡易チュートリアル

ver. 7.1 2007年 10月 Page 17 of 21 Altima Corporation

⑦ システムの設定を確認します。_syslib フォルダを右クリックし、Properties をクリックします。プログラム・メモリに、

onchip_mem が設定されていることが確認できます。OK をクリックして閉じます。

⑧ ソフトウェアをビルドします。Nios II IDE 左枠のアプリケーション・プロジェクトのフォルダ(_syslib がついていない方)

をハイライトし、右クリック → Build Project をクリックします。

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 をクリックします。

Nios II 簡易チュートリアル

ver. 7.1 2007年 10月 Page 19 of 21 Altima Corporation

デバッグ・ウィンドウを開くために以下のウィンドウで、Yes をクリックします。

Nios II IDE のウィンドウがデバッグウィンドウに切り替わり、デバッグが行えるようになりました。

ここで、ソフトウェア・ブレークポイントやステップ実行等が行うことができます。ブレークポイントは、プログラムが表示さ

れているウィンドウの左端(グレーの縦のライン部分)をダブルクリックすることにより設定します。ブレークポイントを設

定した箇所にはアイコンが表示されます。(下画面赤枠をご参照ください。)設定を解除する場合は、このブレークポイン

トのアイコンをダブルクリックします。

Nios II 簡易チュートリアル

ver. 7.1 2007年 10月 Page 20 of 21 Altima Corporation

デバッガのアイコンの情報は以下になります。

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

Recommended