• 検索結果がありません。

Nios II 簡易チュートリアル

N/A
N/A
Protected

Academic year: 2021

シェア "Nios II 簡易チュートリアル"

Copied!
21
0
0

読み込み中.... (全文を見る)

全文

(1)

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

(2)

2. 作業

2-1. ハードウェア・プロジェクトの作成 (Quartus II)

① Quartus II を起動し、Quartus II の File メニュー → New Project Wizard をクリックします。

New Project Wizard Introduction ウィンドウが表示されたら、Next を 1 回クリックし、以下の画面で、ワーキング・ディレ クトリ、ハードウェア・デザインのプロジェクト名、ハードウェア・デザインのトップのエンティティ名を入力します。

(3)

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

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

③ Next を 2 回クリックし、Finish でこのウィンドウを閉じます。 ハードウェア・プロジェクトが作成されました。

(4)

2-2. 未使用ピンの属性設定

① Assignments メニュー → Device をクリックし、Device and Pin Options をクリックします。

② Device and Pin Options ウィンドウの Unused Pins タブを開き、Reserve all unused pins: で As input tri-stated を選択し、 OK をクリックします。

(5)

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

(6)

③ SOPC Builder 左枠の Nios II Processor をダブルクリックし Nios II Processor のウィザード内で Nios II コアを選択します。 その後、Reset Vector 、Exception Vector 欄で、onchip_mem を選択し Finish をクリックします。

(7)

④ SOPC Builder 左枠の Peripherals グループ内の Microcontroller Peripherals カテゴリより PIO(Parallel I/O) をダブル クリックします。こちらのウィザードはデフォルトの設定で Finish をクリックします。

(8)

⑤ SOPC Builder 左枠の Interface Protocols グループ内の Serial カテゴリより JTAG UART をダブルクリックします。 こちらのウィザードもデフォルトの設定で Finish をクリックします。

(9)

SOPC Builder より、構成したシステムを確認してください。各コンポーネントの Base アドレスが重なっていなければ、 Generate をクリックし、システムの HDL を生成してください。Base アドレスが重なっている場合には、コンポーネント上 で 右クリックし、Auto-Assign Base Addresses をクリックして、Base アドレスが重ならないようにした状態で Generate を クリックしてください。Generate が終了したら、Exit をクリックしてください。

(10)

2-4. Quartus II にてコンパイル

① 今回はトップのファイルとして回路図(.bdf)ファイルを採用しましたが、当然トップのファイルは HDL で構いません。 Quartus II の File メニューの New をクリックし、New ウィンドウより Block Diagram/Schematic File を選択し OK を クリックします。

② 表示された Block1.bdf ファイル上でダブルクリックします。 Symbol ウィンドウが表示されますので、左側の Project カテゴリ内より SOPC システム・モジュールにつけた名前のコンポーネント(例:sopc_system) をクリックし OK をクリック します。

(11)

③ 先程と同じように、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 のチェックにかけます。

(12)

⑥ ピン・アサインを行います。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 をクリックします。 ハー ドウェアの生成は以上です。

(13)

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

(14)

③ Nios II IDE でソフトウェアのプロジェクトを作成します。

Nios II IDE の File メニュー → New → Project をクリックし、New Project ウィンドウを開きます。New Project ウィンドウで、Nios II C/C++ Application をハイライトした状態で Next をクリックします。

(15)

④ 次のウィンドウで、Name 欄にソフトウェア・プロジェクトにつけたい任意の名前を入力します。その後 SOPC Builder System PTF File 欄に Browse ボタンよりハードウェア・プロジェクト内に存在する.ptf ファイルを選択します。最後に Select Project Template 欄で、Blank Project を選択した状態で Finish をクリックします。

(16)

⑤ Nios II のソフトウェアを記述します。Nios II IDE の File メニュー → New → Source File をクリックし、New Source File ウィンドウの、Source Folder 欄に、Browse ボタンよりソフトウェア・プロジェクトのアプリケーション・プロジェクト (_syslib がついていない方のフォルダ)を選択します。Source File 欄には、任意のソフトウェアのファイル名を 拡張子 .c をつけて入力し、Finish をクリックします。

⑥ Nios II IDE に新規でファイルが用意されたので、そちらにソフトウェアのコードを記述します。以下の記述を行って ください。

(17)

⑦ システムの設定を確認します。_syslib フォルダを右クリックし、Properties をクリックします。プログラム・メモリに、 onchip_mem が設定されていることが確認できます。OK をクリックして閉じます。

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

(18)

2-7. 実行コードをターゲットで実行、デバッグ

① ビルドしたソフトウェアをターゲットのシステムで実行します。Nios II IDE 左枠のアプリケーション・プロジェクトの フォルダ(_syslib がついていない方)をハイライトし、右クリック → Run As → Nios II Hardware をクリックします。

Console ウィンドウに、printf の出力のキャラクタが確認できます。ターゲット上の LED の点灯が確認できます。

② デバッガを起動します。Nios II IDE 左枠のアプリケーション・プロジェクトのフォルダ(_syslib がついていない方)を ハイライトし、右クリック → Debug As → Nios II Hardware をクリックします。

(19)

デバッグ・ウィンドウを開くために以下のウィンドウで、Yes をクリックします。 Nios II IDE のウィンドウがデバッグウィンドウに切り替わり、デバッグが行えるようになりました。 ここで、ソフトウェア・ブレークポイントやステップ実行等が行うことができます。ブレークポイントは、プログラムが表示さ れているウィンドウの左端(グレーの縦のライン部分)をダブルクリックすることにより設定します。ブレークポイントを設 定した箇所にはアイコンが表示されます。(下画面赤枠をご参照ください。)設定を解除する場合は、このブレークポイン トのアイコンをダブルクリックします。

(20)
(21)

横浜本社 〒222-8563 横浜市港区新横浜 1-5-5 マクニカ第二ビル TEL 045-476-2155 FAX 045-476-2156 大阪営業所 弊社より資料を入手されましたお客様におかれましては、下記の使用上の注意を一読いただいた上でご使用ください。 2. 本資料は非売品です。許可無く転売することや無断複製することを禁じます。 3. 本資料は予告なく変更することがあります。 4. 本資料の作成には万全を期していますが、万一ご不明な点や誤り、記載漏れなどお気づきの点がありましたら、弊社までご一報いただければ幸いです。 5. 本資料で取り扱っている回路、技術、プログラムに関して運用した結果の影響については、責任を負いかねますのであらかじめご了承ください。 6. 本資料は製品を利用する際の補助的な資料です。製品をご使用になる場合は、英語版の資料もあわせてご利用ください。

参照

関連したドキュメント

In this note, we review score functions properties and discuss inequalities on the Fisher Information Matrix of a random vector subjected to linear non-invertible transformations..

In this paper we study a Dirichlet problem relative to a linear elliptic equa- tion with lower-order terms, whose ellipticity condition is given in terms of the function ϕ(x)=(2π) − n

ELMAHI, A strongly nonlinear elliptic equation having natural growth terms and L 1 data, Nonlinear Anal. BENKIRANE

Then the family of variational inequalities (VI) is parametrically strongly 0−well-posed (resp. in the generalized sense) if and only if it is parametrically strongly

New families of sharp inequalities between elementary symmetric polynomials are proven.. We estimate σ n−k above and below by the elementary symmetric polynomials σ

DRAGOMIR, On Bessel and Grüss inequalities for orthornormal fam- ilies in inner product spaces, RGMIA Res. DRAGOMIR, A counterpart of Bessel’s inequality in inner prod- uct spaces

Key words: Inequalities, Multidimensional inequalities, Geometric mean inequalities, Hardy type inequalities, Cones in R N , Sharp constantJ. We thank Professor Alexandra ˇCižmešija

A Grüss type inequality for sequences of vectors in inner product spaces which complement a recent result from [6] and applications for differentiable convex functions defined on