View
2
Download
0
Category
Preview:
Citation preview
組み込みシステム基礎~ Quartus 入門~
鳥取大学工学部
菅原一孔
2019/10/1 版
初期設定
22019/10/3
初期設定 ~出力パス,フォントTools → Options
2019/10/3 3
MSゴシック,10points
General -> Fonts
プロジェクトの作成
42019/10/3
保存用のフォルダの作成
5
HALFADDER
エクスプローラでプロジェクト保存用のフォル
ダを作っておく
2019/10/3
Quartus初期画面
新しいプロジェクトの作成
6
File → New Project Wizard
2019/10/3
新しいプロジェクトの作成
7
CycloneII
EP2C5Q208C8
X:¥myVHDL¥HalfAdder
プロジェクト名HalfAdder
2019/10/3
新規VHDLファイルの追加
8
File → New → VHDL File
2019/10/3
プログラム例① HalfAdder
9
library IEEE;use IEEE.STD_LOGIC_1164.ALL;
entity HalfAdder isport(A,B:in std_logic;
S,C:out std_logic);end HalfAdder;
architecture DATAFLOW of HalfAdder isbeginS
VHDLファイルの保存とコンパイル
10
File → Save As...
コンパイル操作とコンパイルレポート
HalfAdder
保存するファイル名と回路名は一致させること
2019/10/3
プロジェクトの保存
11
File → Save Project
2019/10/3
保存したプロジェクトの呼び出し
12
File → Open Project
2019/10/3
ソースファイルの再表示
13
Fileタブ
ファイルをダブルクリック
2019/10/3
シミュレーション
142019/10/3
シミュレーション入力信号の作成
2019/10/3 15
University Program VWF
File->New
シミュレーション信号の選択
2019/10/3 16
Insert → Insert Node or Bus
Node Finder
Pins: all
NodeFinderによる信号の指定
2019/10/3 17
信号の指定
信号パターンの設定
2019/10/3 18
値の指定
シミュレータの選択
2019/10/3 19
Simulation→ Option
ファンクショナルシミュレーションとタイミングシミュレーション
2019/10/3 20
Functional (RTL)シミュレーション• ハードウェアの機能を,レジスタおよび,レジスタ間の論理演算でモデリング
• 論理演算は,論理演算式と条件分岐やループなどの制御文を使って表す
• RTL設計の検証は,クロック・サイクルごとの論理動作をシミュレーションすることで実行
Timing (ゲート・レベル)シミュレーション• ANDやNAND,OR,NOR,NOTなどの論理演算素子と,フリップフロップ(D,SR,JK)などの順序演算素子の組み合わせで,論理回路をモデリング
• 回路の論理動作だけでなく,各素子や配線で生じる遅延も考慮した論理シミュレーションを行い,論理動作と共にタイミングも検証
シミュレーションの実行とその結果の確認
2019/10/3 21
シミュレーション結果により回路の動作の確認
シミュレーションの実行Run Functional Simulation
課題:直接的な記述の FullAdder
2019/10/3 22
A B Ci S Co
0 0 0 0 0
0 0 1
0 1 0
0 1 1 0 1
1 0 0
1 0 1
1 1 0
1 1 1
FullAdderの真理値表
S=
Co=
① 右のFullAdderの真理値表を完成させSとCoをA,B,Ciで表せ
② ①で求めたFullAdderをVHDLで記述せよ
③ ②のFullAdderが正しく動作することをシミュレーションにより確認せよ
シンボルによる回路の入力
232019/10/3
新しいプロジェクトの設定 FullAdder
24
新しいプロジェクトのためのフォルダの準備とVHDLファイルのコピー
新しいプロジェクトへVHDLファイルの登録エクスプローラでFullAdder
フォルダを作成し,HalfAdderフォルダのHalfAdder.vhdファイルをコ
ピーしておく
FullAdder
myVHDL¥FullAdder
HalfAdder.vhd
2019/10/3
HalfAdder (VHDL記述)を回路部品に
25
VHDLファイルで記述した回路の部品化
Files → Create/Update
2019/10/3
Create Symbol Files for Current File
回路図の入力
26
Files → New → Block Diagram/Schematic File
2019/10/3
回路部品の登録と呼び出し
272019/10/3
回路図の描画と保存
28
FullAdder
2019/10/3
FullAdder
292019/10/3
シミュレーション結果
302019/10/3
課題:Adder4
2019/10/3 31
これまでに構成したFullAdderを4つ接続し4ビットの加算器を構成せよ.Schematicな記述とする.
B A
Co
Ci S
A3:0B3:0
S3:0
Co
実機 MU200-EK 上での実行
332019/10/3
初期設定~デバイス~
2019/10/3 34
① Assignments → Device → General
② Device & Pin Options
EP2C5Q208C8
初期設定 ~コンパイル出力ファイル等
35
Raw Binary File [.rbf]
2019/10/3
Programming Files
As input tri-stated
Unused Pins
MU200-EK
36
テンキー
ロータリースイッチ
7Seg LED A~D
FPGA
DIP スイッチ
LED
2019/10/3 EP2C5Q208C8
各スイッチ
372019/10/3
負論理:SWを押すと0,離すと1
7segLEDの構成
382019/10/3
7segLED
392019/10/3
7segLEDとPushSWのピンアサイン
40
A5 76outp[5]
A6 77outp[6]
A7 80outp[7]
A2 72outp[2]
A3 74outp[3]
A4 75outp[4]
A1 70outp[1]
SW4 43inp[3]
SW5 44inp[2]
SW6 45inp[1]
SW7 46inp[0]
2019/10/3
A0 69outp[0]
回路例② 7セグメントデコーダ seg7dec
412019/10/3
42
1.新しいプロジェクト seg7dec の作成2.VHDL により seg7dec を記述3.コンパイル,シミュレーションを実行
2019/10/3
プログラム例 Seg7Dec 1/2
43
--MU200-EK 7segLED test program--pushSW to 7segLED 0-9library ieee;use ieee.std_logic_1164.all;entity Seg7Dec isport(inp:in std_logic_vector(3 downto 0);outp:out std_logic_vector(7 downto 0)
);end Seg7Dec;
2019/10/3
プログラム例 Seg7Dec 2/2
44
architecture RTL of Seg7Dec isbegin process(inp) begin
case inp iswhen "1111" => outp outp outp outp outp outp outp outp outp outp outp
ピンアサイメント seg7dec
45
Assignments → Pins
入出力ピン:inp,outp
2019/10/3
ピンアサイメント
46
入出力ピン一覧
ソースファイルに記述しているピン名が表示されているので,ハードウエア構成に従いピン番号を設定する
2019/10/3
PCからPM_MU200EKへダウンロード
47
FPGA コンフィギュレーションダウンロードボタンFPGA コンフィギュレーションダウンロードボタンをボードに書込みます。
FPGA コンフィギュレーションファイル指定ファイル参照ダイアログを表示し、FPGA コンフィュレーションファイルを指定します。
FPGA コンフィギュレーションファイルはrbf 形式
2019/10/3
注意:ダウンロードできなくなった場合
48
USBケーブルをMU200-EK本体から抜き,再度USBケーブルを接続後,5秒以内に新しいFPGA用のコンフィギュレーションデータをダウンロードする
2019/10/3
49
参考:MMS PM_MU200EK Pin Assign Table
2019/10/3
50
端子名 I/O ピン番号 信号、名称 備考
システム
CLK1 I 23 10MHz 発信器より
CLK2 I 129 10MHz 発信器より
RSTN I 206 RESET信号
CEN I 176 Chip Enable信号 USBマイコンと接続
CS I 175 Chip Select信号 USBマイコンと接続
WEN I 173 Write Enable信号 USBマイコンと接続
SRAMインタフェース
SRAM_WEN O 15 SRAM Write Enable信号 SRAM(IDT71V416(IDT社))と接続
SRAM_CSN O 14 SRAM Chip Select信号 SRAM(IDT71V416(IDT社))と接続
SRAM_OEN O 30 SRAM Output Enable信号 SRAM(IDT71V416(IDT社))と接続
SRAM_A[0] O 197
SRAMアドレス
SRAM(IDT71V416(IDT社))と接続
SRAM_A[1] O 198 SRAM(IDT71V416(IDT社))と接続
SRAM_A[2] O 199 SRAM(IDT71V416(IDT社))と接続
SRAM_A[3] O 200 SRAM(IDT71V416(IDT社))と接続
SRAM_A[4] O 201 SRAM(IDT71V416(IDT社))と接続
SRAM_A[5] O 203 SRAM(IDT71V416(IDT社))と接続
SRAM_A[6] O 205 SRAM(IDT71V416(IDT社))と接続
SRAM_A[7] O 207 SRAM(IDT71V416(IDT社))と接続
SRAM_A[8] O 208 SRAM(IDT71V416(IDT社))と接続
SRAM_A[9] O 1 SRAM(IDT71V416(IDT社))と接続
SRAM_A[10] O 2 SRAM(IDT71V416(IDT社))と接続
SRAM_A[11] O 3 SRAM(IDT71V416(IDT社))と接続
SRAM_A[12] O 4 SRAM(IDT71V416(IDT社))と接続
SRAM_A[13] O 5 SRAM(IDT71V416(IDT社))と接続
SRAM_A[14] O 6 SRAM(IDT71V416(IDT社))と接続
SRAM_A[15] O 8 SRAM(IDT71V416(IDT社))と接続
SRAM_A[16] O 10 SRAM(IDT71V416(IDT社))と接続
SRAM_A[17] O 11 SRAM(IDT71V416(IDT社))と接続
SRAM_A[18] O 12 High Byte Enable SRAM(IDT71V416(IDT社))と接続
SRAM_A[19] O 13 Low Byte Enable SRAM(IDT71V416(IDT社))と接続2019/10/3
51
H8インタフェースCYCLONE_A[0] I/O 185
H8マイコン信号
H8:44番ピン
CYCLONE_A[1] I/O 187 H8:43番ピン
CYCLONE_A[2] I/O 188 H8:42番ピン
CYCLONE_A[3] I/O 189 H8:40番ピン
CYCLONE_A[4] I/O 191 H8:39番ピン
CYCLONE_A[5] I/O 192 H8:38番ピン
CYCLONE_A[6] I/O 193 H8:37番ピン
CYCLONE_A[7] I/O 195 H8:36番ピン
CYCLONE_B[0] O 179
H8マイコン信号(割り込み信号、テンキー用)
H8:51番ピン
CYCLONE_B[1] O 180 H8:52番ピン
CYCLONE_B[2] O 181 H8:53番ピン
CYCLONE_B[3] O 182 H8:54番ピン
USBマイコン(Cypress)インタフェースINIT_DONE I/O 107
コンフィギュレーション信号
USBマイコンと接続
NCONFIG I/O 26 USBマイコンと接続
RDN I 171 USBマイコンと接続
IFCLK I/O 170 USBマイコン用バスクロック USBマイコンと接続
USB_CLK1 I 27 24MHzクロック USBマイコンと接続
USB_CLK2 I 131 24MHzクロック USBマイコンと接続
DCLK I 21
コンフィギュレーション信号
USBマイコンと接続
DATA0 O 20 USBマイコンと接続
CONF_DONE O 123 USBマイコンと接続
NSTATUS I 121 USBマイコンと接続
2019/10/3
52
7セグLED
SEG_A[0]/FPGA_TP69 O,I/O 69
7セグ(D5)or
テストピン
「7セグ」と「テストピン」両方に接続
SEG_A[1]/FPGA_TP70 O,I/O 70
SEG_A[2]/FPGA_TP72 O,I/O 72
SEG_A[3]/FPGA_TP74 O,I/O 74
SEG_A[4]/FPGA_TP75 O,I/O 75
SEG_A[5]/FPGA_TP76 O,I/O 76
SEG_A[6]/FPGA_TP77 O,I/O 77
SEG_A[7]/FPGA_TP80 O,I/O 80
SEG_B[0]/FPGA_TP81 O,I/O 81
7セグ(D6)or
テストピン
SEG_B[1]/FPGA_TP82 O,I/O 82
SEG_B[2]/FPGA_TP84 O,I/O 84
SEG_B[3]/FPGA_TP86 O,I/O 86
SEG_B[4]/FPGA_TP87 O,I/O 87
SEG_B[5]/FPGA_TP88 O,I/O 88
SEG_B[6]/FPGA_TP89 O,I/O 89
SEG_B[7]/FPGA_TP90 O,I/O 90
SEG_C[0]/SRAM_D[0] O,I/O 92
7セグ(D9)or
SRAM
「7セグ」と「SRAM」両方に接続
SEG_C[1]/SRAM_D[1] O,I/O 94
SEG_C[2]/SRAM_D[2] O,I/O 95
SEG_C[3]/SRAM_D[3] O,I/O 96
SEG_C[4]/SRAM_D[4] O,I/O 97
SEG_C[5]/SRAM_D[5] O,I/O 99
SEG_C[6]/SRAM_D[6] O,I/O 101
SEG_C[7]/SRAM_D[7] O,I/O 102
SEG_D[0]/SRAM_D[8] O,I/O 103
7セグ(D14)or
SRAM
SEG_D[1]/SRAM_D[9] O,I/O 104
SEG_D[2]/SRAM_D[10] O,I/O 105
SEG_D[3]/SRAM_D[11] O,I/O 106
SEG_D[4]/SRAM_D[12] O,I/O 110
SEG_D[5]/SRAM_D[13] O,I/O 112
SEG_D[6]/SRAM_D[14] O,I/O 113
SEG_D[7]/SRAM_D[15] O,I/O 114
2019/10/3
7segLED A
53
LED
LED[0] O 47
LED
D7
LED[1] O 48 D8
LED[2] O 56 D10
LED[3] O 57 D11
LED[4] O 58 D12
LED[5] O 59 D13
LED[6] O 60 D15
LED[7] O 61 D16
Push SWインタフェースPSW[0] I 43
Push SW
SW4
PSW[1] I 44 SW5
PSW[2] I 45 SW6
PSW[3] I 46 SW7
DIPSWインタフェースDIPSW[0] I 116
DIP SW
SW3-0
DIPSW[1] I 117 SW3-1
DIPSW[2] I 118 SW3-2
DIPSW[3] I 119 SW3-3
DIPSW[4] I 120 SW3-4
DIPSW[5] I 127 SW3-5
DIPSW[6] I 128 SW3-6
DIPSW[7] I 133 SW3-7
2019/10/3
54
Flash/USBインタフェースFA[0] I 144
Flashアドレス信号or
USBマイコン信号
USBマイコンと接続
FA[1] I 145 USBマイコンと接続
FA[2] I 146 USBマイコンと接続
FA[3] I 147 USBマイコンと接続
FA[4] I 149 USBマイコンと接続
FA[5] I 150 USBマイコンと接続
FA[6] I 151 USBマイコンと接続
FA[7] I 152 USBマイコンと接続
FA[8] I 160 USBマイコンと接続
FA[9] I 161 USBマイコンと接続
FA[10] I 162 USBマイコンと接続
FA[11] I 163 USBマイコンと接続
FA[12] I 164 USBマイコンと接続
FA[13] I 165 USBマイコンと接続
FA[14] I 168 USBマイコンと接続
FA[15] I 169 USBマイコンと接続
FD[0] I/O 134
Flashデータ信号or
USBマイコン信号
USBマイコンと接続
FD[1] I/O 135 USBマイコンと接続
FD[2] I/O 137 USBマイコンと接続
FD[3] I/O 138 USBマイコンと接続
FD[4] I/O 139 USBマイコンと接続
FD[5] I/O 141 USBマイコンと接続
FD[6] I/O 142 USBマイコンと接続
FD[7] I/O 143 USBマイコンと接続
2019/10/3
55
VGA
VGA_R O 31
VGAコネクタ
CN2
VGA_G O 32 CN2
VGA_B O 33 CN2
VGA_H O 34 CN2
VGA_V O 35 CN2
ロータリーSW
RSW[0] I 68
Rotary SW
SW2
RSW[1] I 67 SW2
RSW[2] I 64 SW2
RSW[3] I 63 SW2
テストピンFPGA_TP37 O 37
テストピン
テストピンと接続
FPGA_TP39 O 39 テストピンと接続
FPGA_TP40 O 40 テストピンと接続
FPGA_TP41 O 41 テストピンと接続
RCA
RCA O 36 RCAピンジャック J1
JTAGインタフェースTCK I/O 18
JTAGTDO I/O 16
TMS I/O 17
TDI I/O 19
ブザーインタフェースBZ O 115 ブザー BZ1
2019/10/3
Recommended