Verilog-HDL Tutorial (15) hardware

Post on 18-Jul-2015

129 views 7 download

Transcript of Verilog-HDL Tutorial (15) hardware

1

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

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

【準備】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 をダウンロード・インストール

3

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

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

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

4

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

5

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

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

6

Avalon バス

Nios II/e JTAG UART

SDRAM Controller

UART Serial Timer GPIO GPIO

Clock (50MHz)

Reset

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

7

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

8

Avalon バス

Clock (50MHz)

Reset

9

Embedded Processorsから

Nios II Processorを選択

Addをクリック

10

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

Nios II/eが追加されます

11

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

12

Avalon バス

Nios II/e JTAG UART

Clock (50MHz)

Reset

13

Interface Protocols から

Serialを選択

Addをクリック

JTAG UARTを選択

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

14

Addをクリック

UART RS232 Serial Port を選択

ボーレート設定後, FInish

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

15

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

16ビット に設定

Addをクリック

SDRAM Interfacesから SDRAM Controllerを選択

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

設定後, FInish

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

16

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

sdramに変更

17

Peripherals から Debug and Performance を選択

Performance Counter Unit を選択

Addをクリック

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

18

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

Peripherals から

Microcontroller Peripherals の Interval Timer を選択

Addをクリック

19

Microcontroller Peripherals の PIO Parallel IO を選択

Addをクリック

32ビットに 設定

Outputに 設定

設定後, FInish

20

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

21

Microcontroller Peripherals の PIO Parallel IO を選択

Addをクリック

32ビットに 設定

Inputに 設定

設定後, FInish

22

今回は GPIO32_INと Renameする

23

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

Addをクリック 設定後, FInish

DE0を 選択

Video のチェックを 外す!!

24

今回は clocksと Renameする

25

クリック

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

26

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

クリック

27

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

28

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

29

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

30

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

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

UART RS232

31

SDRAMコントローラは sdram_wire

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

GPIO32_INは gpio32_in

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

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

32

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

jtag_uart_0は 5 に設定

uart_0は 8 に設定

timer_0は 6 に設定

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

33

34

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

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

35

nios2_qsys_0を ダブルクリック

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

36

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

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

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

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

38

Generationタブをクリック

Generate をクリック

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

39

Save をクリック

Hello_NiosII_system

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

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

40

Close をクリック

41

HDL Examples をクリック

Copy をクリック

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

42

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

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

43

Project naviagtor で DE0_TOPを 右クリック

Settings ... をクリック

44

Categoryで で Filesを選択 クリック

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

開くをクリック

45

Add Allを クリック

OKをクリック

コンパイルを行う

46

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

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

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

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

47

Programmer経由で FPGAをプログラム

48

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

49