Transcript
Page 1: Verilog-HDL Tutorial (15) hardware

1

Verilog-HDL 講習会DE0編(15-1) 組込みプロセッサNiosIIの使い方

ハードウェア編 5, August, 2013 鹿児島大学 中原 啓貴

Page 2: Verilog-HDL Tutorial (15) hardware

【準備】Altera University Program Installer for Quartus II 13.0 をインストール

2

http://www.altera.com/education/univ/software/upds/unv-upds.html から Version 13.0 用のUniversity Program Installer をダウンロード・インストール

Page 3: Verilog-HDL Tutorial (15) hardware

3

•  ピン配置が面倒くさいので、デフォルトのプロジェクトを読み込みましょう! (DE0に限った事ではないが、Terasic製品はサンプルCD-ROMの プロジェクトを改変するのが楽でお勧め)

DE0付属のCD-ROM ”Demonstrations”内の "DE0_Top"フォルダの ファイル全てを C:¥verilog¥DE0_tutorial_15_Hello_NiosII¥ 内にコピー

Page 4: Verilog-HDL Tutorial (15) hardware

DE0_TOP.qpfをダブルクリックしてQuartus IIを起動

4

Pin Plannerを開いてみると ピン配置が終わっている!

Page 5: Verilog-HDL Tutorial (15) hardware

5

Quartus IIの Toolsから Qsysをクリックして Qsysを起動する

Page 6: Verilog-HDL Tutorial (15) hardware

Qsysとは •  Altera社が提供しているシステム統合ツール •  こんな複雑なシステムを簡単に作れる!

6

Avalon バス

Nios II/e JTAG UART

SDRAM Controller

UART Serial Timer GPIO GPIO

Clock (50MHz)

Reset

Page 7: Verilog-HDL Tutorial (15) hardware

University Programが インストールされているかチェック

7

Page 8: Verilog-HDL Tutorial (15) hardware

はじめに行う作業 •  Avalonバスに部品(ペリフェラル)を取り付ける

8

Avalon バス

Clock (50MHz)

Reset

Page 9: Verilog-HDL Tutorial (15) hardware

9

Embedded Processorsから

Nios II Processorを選択

Addをクリック

Page 10: Verilog-HDL Tutorial (15) hardware

10

Nios II/eを選択して Finishをクリック Nios II/eは無償(フリー)で使える プロセッサです

Page 11: Verilog-HDL Tutorial (15) hardware

Nios II/eが追加されます

11

Page 12: Verilog-HDL Tutorial (15) hardware

つまり •  この状態になった! •  スレーブのペリフェラルを取り付けていこう

12

Avalon バス

Nios II/e JTAG UART

Clock (50MHz)

Reset

Page 13: Verilog-HDL Tutorial (15) hardware

13

Interface Protocols から

Serialを選択

Addをクリック

JTAG UARTを選択

デフォルトの設定の まま FInish

Page 14: Verilog-HDL Tutorial (15) hardware

14

Addをクリック

UART RS232 Serial Port を選択

ボーレート設定後, FInish

ボーレート(bps)を9600 に設定

Page 15: Verilog-HDL Tutorial (15) hardware

15

Memories and Memory Controllers から External Memory Interfaces を選択

16ビット に設定

Addをクリック

SDRAM Interfacesから SDRAM Controllerを選択

DE0ボードと 同じになっているか 確認

設定後, FInish

Page 16: Verilog-HDL Tutorial (15) hardware

SDRAMコントローラの名前を変更

16

追加した SDRAM Controllerの 名前(new_sdram_controller)を 右クリックして Rename を選択

sdramに変更

Page 17: Verilog-HDL Tutorial (15) hardware

17

Peripherals から Debug and Performance を選択

Performance Counter Unit を選択

Addをクリック

デフォルトの設定の まま FInish

Page 18: Verilog-HDL Tutorial (15) hardware

18

デフォルトの設定の まま FInish

Peripherals から

Microcontroller Peripherals の Interval Timer を選択

Addをクリック

Page 19: Verilog-HDL Tutorial (15) hardware

19

Microcontroller Peripherals の PIO Parallel IO を選択

Addをクリック

32ビットに 設定

Outputに 設定

設定後, FInish

Page 20: Verilog-HDL Tutorial (15) hardware

20

SDRAMコントローラと 同じく, 名前を変更. 今回は GPIO32_OUTと しましょう

Page 21: Verilog-HDL Tutorial (15) hardware

21

Microcontroller Peripherals の PIO Parallel IO を選択

Addをクリック

32ビットに 設定

Inputに 設定

設定後, FInish

Page 22: Verilog-HDL Tutorial (15) hardware

22

今回は GPIO32_INと Renameする

Page 23: Verilog-HDL Tutorial (15) hardware

23

University Programの Clock Signals for DE-series Board Peripheralsを選択

Addをクリック 設定後, FInish

DE0を 選択

Video のチェックを 外す!!

Page 24: Verilog-HDL Tutorial (15) hardware

24

今回は clocksと Renameする

Page 25: Verilog-HDL Tutorial (15) hardware

25

クリック

次に, 各ペリフェラルを Avalon バスを介して接続します. この設定はよく間違えやすいので 慎重に確認しながら行って下さい. まずは, DE0ボードのクロック (50MHz) を先程生成した University Programコアの Clock生成ペリフェラル (PLLを用いている) に接続しましょう. 他のペリフェラルはクロック生成 ペリフェラルから生成するクロックを 使います.

Page 26: Verilog-HDL Tutorial (15) hardware

26

クロック生成ペリフェラルから 生成するクロックを残りのペリフェラルの clkに接続します.

クリック

Page 27: Verilog-HDL Tutorial (15) hardware

27

リセット信号を供給します. リセットを制御するのは DE0ボードの押しボタン (BUTTON)と JTAG UARTデバッガ (DE0に接続している USB経由で制御するPC上のプログラム) なので, バス上で共有します.

Page 28: Verilog-HDL Tutorial (15) hardware

28

Nios II(マスター)からのデータ信号を スレーブ・ペリフェラルに接続します.

Page 29: Verilog-HDL Tutorial (15) hardware

29

Nios II(マスター)からの 命令 (instruction)信号を スレーブ・ペリフェラルである SDRAMコントローラだけに接続します.

Page 30: Verilog-HDL Tutorial (15) hardware

30

ダブルクリックして uart_0と入力

設計したシステムを Quartus II上の Verilog-HDLで編集しますので, Verilog-HDLファイルへ出力する ように設定します. この設定を行うのは, 外部のハードウェアやボードの信号線と接続しているペリフェラルだけです.

UART RS232

Page 31: Verilog-HDL Tutorial (15) hardware

31

SDRAMコントローラは sdram_wire

GPIO32_OUTは gpio32_out (小文字に強制変換される)

GPIO32_INは gpio32_in

Clock生成ペリフェラルは sdram_clk に設定

Page 32: Verilog-HDL Tutorial (15) hardware

割り込み番号の設定も行う (後日説明します)

32

ダブルクリックすると 入力できる

jtag_uart_0は 5 に設定

uart_0は 8 に設定

timer_0は 6 に設定

Page 33: Verilog-HDL Tutorial (15) hardware

Nios II/e はメモリマップドIOなのでベースアドレスを自動設定します

33

Page 34: Verilog-HDL Tutorial (15) hardware

34

ベースアドレスが 設定されるので 確認する

Page 35: Verilog-HDL Tutorial (15) hardware

Nios II/eにメモリの番地を教えましょう

35

nios2_qsys_0を ダブルクリック

Reset Vectorで Reset vector memoryを sdram.s1 に設定

Page 36: Verilog-HDL Tutorial (15) hardware

36

同様に, Exception Vector もsdram.s1 に設定

Page 37: Verilog-HDL Tutorial (15) hardware

これで設定は終わりです. お疲れ様でした.

37 全ての設定が終わると, MessagesのErrorとWarning が消える (ErrorとWarningがなくならないと, 正しく動作しない)

Page 38: Verilog-HDL Tutorial (15) hardware

設計したシステム(のVerilog-HDL等)を生成します

38

Generationタブをクリック

Generate をクリック

Page 39: Verilog-HDL Tutorial (15) hardware

初めての設計時は Qsysファイルを保存します

39

Save をクリック

Hello_NiosII_system

ファイル名を入力して 保存をクリック

Page 40: Verilog-HDL Tutorial (15) hardware

Generate Completed が 表示されれば終了です

40

Close をクリック

Page 41: Verilog-HDL Tutorial (15) hardware

41

HDL Examples をクリック

Copy をクリック

今から Quartus II上で ハードウェア生成を 行います. まずは, Qsysの テンプレートを コピーしましょう. 終わったら, Quartus IIに 戻って下さい. (Qsysを閉じてもかまいません)

Page 42: Verilog-HDL Tutorial (15) hardware

42

Quartus II上で開いている DE0_TOP.v にコピペして, 信号線を入力

Page 43: Verilog-HDL Tutorial (15) hardware

先程Qsysで保存した設定ファイル (.qsys)をQuartus IIに読み込みます

43

Project naviagtor で DE0_TOPを 右クリック

Settings ... をクリック

Page 44: Verilog-HDL Tutorial (15) hardware

44

Categoryで で Filesを選択 クリック

先程作成した Qsys設定ファイル (Hello_NiosII_system.qsys)を 選択

開くをクリック

Page 45: Verilog-HDL Tutorial (15) hardware

45

Add Allを クリック

OKをクリック

Page 46: Verilog-HDL Tutorial (15) hardware

コンパイルを行う

46

「保存アイコン」を クリックして保存

「コンパイルアイコン」を クリックして コンパイルを行う

コンパイル後、このウインドウが 表示されればOK

Page 47: Verilog-HDL Tutorial (15) hardware

今回は結構リソースを食います

47

Page 48: Verilog-HDL Tutorial (15) hardware

Programmer経由で FPGAをプログラム

48

Page 49: Verilog-HDL Tutorial (15) hardware

次行ってみよう! •  次は Nios II EDS を使ったソフトウェア設計をしましょう

49


Recommended