Altera QuarusII による FPGA の開発手順
舞鶴高専 電子制御

2004/08/06
町田秀和 mail: machida@maizuru-ct.ac.jp

Altera QuarutsII による FPGA の開発手順
舞鶴工業高等専門学校 電子制御工学科 町田秀和
Altera 社の QuatusII は同社の FPGA 用の強力な EDA(Electronics Design Automation)ツールである。環境設定、回路/プログラムの記述、回路合成、ピンアサイン、シミュレーション、プログラミング(FPGA への書き込み)までを、一貫して実行することができる。
QuartusII はフリー版(インターネットでの登録だけは必要)が存在するので、①FPGA 評価ボード、②ダウンロードケーブル、③電源、さえあれば即座にディジタルシステムの試作(プロトタイピング)ができる。別紙にフリー版のライセンシングのあらましを示す(簡単である)。フリー版の URL アドレスは以下の通りである。
http://www.altera.co.jp/support/software/download/altera̲design/quartus̲we/dnl‑quartus̲we.jsp

この開発手順の説明では、半加算器を部品とした全加算器を開発する。ターゲットは、
デバイスファミリ MAX7000S の EPM7128SLC84‑15 である。このチップは 84 ピン PLCC タイプでソケットを用いて簡単に実装することができ、また EEP‑ROM タイプの CPLD であるので電源を切っても回路情報が失われず、かつ大変高速であるが、回路規模はあまり大きくない(もっと大規模にするには SRAM タイの FLEX や Cyclone シリーズがよいが、外付け EEP‑ROMが必要である)。2004/7 現時点では¥1,650 程度で入手できる。
なお、MAX7000 シリーズはフリー版に対応しており、即座に評価できる。付録 A に示す、簡単に自作できる①FPGA 評価ボード、付録 B に簡単に自作できる②ダウンロードケーブルを用いれば、即座に評価することができる。
なお、ダウンロードケーブル（ByteBlaster/MV）のドライバのインストールについては、
次の Altera 社の代理店のホームページに詳しい(少々変則的だが難しくはない)
http://altimanet.com/pdf/altera/tool/driver̲bb̲v20.pdf(なお、ドライバ自体は QurtausII のインストール先の c:¥quartus¥drivers¥win2000にある。(Windows2000/XP)の場合)【目次】
1. QuartusII の起動…2

8. ピンアサイン

2. プロジェクトの作成…3

9. プログラミング(ダウンロード) …26

3. 半加算器(部品)の回路図作図 …8
4. 全加算器(全体)の回路図作図 …125. コンパイル…15
6. テスト用波形ファイルの作成 …16
7. シミュレーション…21…23

付録 A. MAX7128S 評価ボードの自作…27

付録 B. ﾊﾞｲﾄﾌﾞﾗｽﾀ・ｹｰﾌﾞﾙの自作…29

1

Altera QuarusII による FPGA の開発手順
舞鶴高専 電子制御

2004/08/06
町田秀和 mail: machida@maizuru-ct.ac.jp

１． QuartusII の起動

デスクトップの QuartusII 4.0 のアイコンをダブルクリックする。Alteraの Web サイトに接続し、アップデートなどのサービスを受けるなら、はい(Y)をクリックする。インターネットに接続していなければ、いいえ(N)をクリックする。

起動後の QuartusII の画面は下のとおりである。

2

Altera QuarusII による FPGA の開発手順
舞鶴高専 電子制御

2004/08/06
町田秀和 mail: machida@maizuru-ct.ac.jp

2.プロジェクトの作成
QuartusII では、回路の開発には必ずプロジェクトを作成しなければならない。

File → New Project Wizard を選ぶ。

【Project Wizard 0 ページめ】 Wizard の説明画面、Next で次に進む。

3

Altera QuarusII による FPGA の開発手順
舞鶴高専 電子制御

2004/08/06
町田秀和 mail: machida@maizuru-ct.ac.jp【Project Wizard 1 ページめ】 作業ディレクトリ、トップレベル名を指定し次に進む。

作業ディレクトリが存在していなければ「作りますか？」と聞かれるので、はい(Y)とする。

コメント：もし既存の作業ディレクトリを指定すると(一向に問題ない)、ダイアログボックスで、「既存のディレクトリです新たに作りますか」と聞いてくるので、(N)をクリックする。

4

Altera QuarusII による FPGA の開発手順
舞鶴高専 電子制御

2004/08/06
町田秀和 mail: machida@maizuru-ct.ac.jp【Project Wizard 2 ページめ】 外部ツール/ファイルの設定。何も指定せず次に進む。

【Project Wizard 3 ページめ】 他社製ツールを使うか聞かれる。何も指定せず次に進む。

5

Altera QuarusII による FPGA の開発手順
舞鶴高専 電子制御

2004/08/06
町田秀和 mail: machida@maizuru-ct.ac.jp【Project Wizard 4 ページめ】 デバイスファミリの指定 MAX7000S を選び次に進む。

【Project Wizard 5 ページめ】 デバイスの指定 MAX7128SLC84-15 を選び次に進む。

6

Altera QuarusII による FPGA の開発手順
舞鶴高専 電子制御

2004/08/06
町田秀和 mail: machida@maizuru-ct.ac.jp【Project Wizard 6 ページめ】 確認画面、よければ次に進む。

7

Altera QuarusII による FPGA の開発手順
舞鶴高専 電子制御

2004/08/06
町田秀和 mail: machida@maizuru-ct.ac.jp

３. 半加算器(部品)の回路図エディタでの作図
この開発手順の説明では、半加算器を部品とした全加算器を開発する。
ここでは、まず半加算器を回路図で作成する。もちろん、VHDL 言語でも同様に行える。

【回路図エディタの起動】 File → New を選ぶ。
ブロック図/回路図エディタ (Block Diagram/Schematic File)を選び、OK をクリック

コメント：もちろん、システム全体を VHDL 言語で記述することもできるが、回路図も混在することができる。回路図は信号の流れを視覚的に把握しやすいので、特に全体のブロック線図を示すのに適している。

8

Altera QuarusII による FPGA の開発手順
舞鶴高専 電子制御

2004/08/06
町田秀和 mail: machida@maizuru-ct.ac.jp【部品の配置】 まず入力端子を配置する。回路図エディタ内の任意の場所で、左ダブルクリ
ックし、Symbol ダイアログで、 c:/quartus/libraries/の左の「+」 を左クリックし、以下同様にその中の primitive の pin の中の input を選び OK をクリックする。そして、回路図エディ
タ内の配置したい場所で左クリックする。

同様にして、primitive の pin から output、primitive の logic から AND2 と XOR を下図のように配置する。なお、複数配置したい場合は、 ctrl-C,ctrl-V でコピペする。

9Altera QuarusII による FPGA の開発手順
舞鶴高専 電子制御

2004/08/06
町田秀和 mail: machida@maizuru-ct.ac.jp【配線】下図のように配線する。キーポイントは、部品(ピン、ゲート)の端子のちょうど上でクリックして配線を引き出すことである(MAX+PLUS2 よりも少しデリケートである。)な
お、配線は一回しか直角に曲げられないので、二回以上直角に曲げるには、二回に分けて配線する。また、線の途中からは線を引き出すことはできない。

【端子名の入力】 pin name を左ダブルクリックして黒色に反転し名前を付ける。(下図の黒色に反転している端子は「s」を入力する)【回路図の保存】フロッピのボタンを押しセーブする。
ファイル名はここでは「halfadder.bdf」とする。(拡張子は自動的に付けられる)

10

Altera QuarusII による FPGA の開発手順
舞鶴高専 電子制御

2004/08/06
町田秀和 mail: machida@maizuru-ct.ac.jp【部品化(シンボル化)】するには、File → Create Update → Create Symbol Files for current
files とする。回路図エディタの任意の場所で左クリックすればでる Symbol ダイアログのProjects 以下にシンボルができる。

11

Altera QuarusII による FPGA の開発手順
舞鶴高専 電子制御

2004/08/06
町田秀和 mail: machida@maizuru-ct.ac.jp

シンボルが作成できたとのダイアログが出るので、OK をクリックする。

４． 全加算器(全体)の回路図エディタでの作図【回路図エディタの起動】 File → New を選ぶ。
ブロック図/回路図エディタ (Block Diagram/Schematic File)を選び、OK をクリック【既存シンボルの配置】 作成しておいた半加算器のシンボルを配置する。回路図エディタ内

12

Altera QuarusII による FPGA の開発手順
舞鶴高専 電子制御

2004/08/06
町田秀和 mail: machida@maizuru-ct.ac.jpの任意の場所で、左ダブルクリックし、Symbol ダイアログで、Project の左の「＋」をクリックすると halfadder が現れるので選択して、OK をクリックする。

【各部品の配置と名前づけ】 下の図のように各部品を配置し、端子に名前をつける。

13

Altera QuarusII による FPGA の開発手順
舞鶴高専 電子制御

2004/08/06
町田秀和 mail: machida@maizuru-ct.ac.jp【回路図の保存】フロッピのボタンを押しセーブする。

この回路図は一番トップレベルであるので、ファイル名はプロジェクト名(4 ページ)と同じにしなければならないので、ここでは「fulladder.bdf」とする。(拡張子は自動的に付けられる)

14

Altera QuarusII による FPGA の開発手順
舞鶴高専 電子制御

2004/08/06
町田秀和 mail: machida@maizuru-ct.ac.jp

５. コンパイル
紫色の右向き三角のボタンをクリックし、コンパイルする。

問題なくコンパイルできれば、下の「コンパイルに成功しました」とのダイアログがでるので、OK をクリックする。

15

Altera QuarusII による FPGA の開発手順
舞鶴高専 電子制御

2004/08/06
町田秀和 mail: machida@maizuru-ct.ac.jp

６. テスト用波形ファイルの作成【波形エディタの起動】 File→New のダイアログから Vector Waveform File を選ぶ。

【入出力端子情報の読み込み】
Wave form エディタの Name 欄を右クリックし、Insert Node or Bus をクリックする。

16

Altera QuarusII による FPGA の開発手順
舞鶴高専 電子制御

2004/08/06
町田秀和 mail: machida@maizuru-ct.ac.jp

Node or Bus ダイアログで Node Finder ボタンをクリックする。

Node Finder ダイアログで Filter が「Pins all」であるのを確認し、し、ボタンを押して ピン情報を読み込み、OK をクリックする。

17

ボタンをクリックAltera QuarusII による FPGA の開発手順
舞鶴高専 電子制御

2004/08/06
町田秀和 mail: machida@maizuru-ct.ac.jp

下の Inseet Node or Bus のダイアログでるので、確認し OK をクリックする。

【入出端子へのテスト波形の設定】
入力端子の a,b,ci のピン名の左の、クロック入力のボタンシンボルを左クリックし、で、ピン A では、Period 20nsec としクロックを入力する。
ピン B では、Period 40nsec としクロックを入力する。
ピン CI では、Period 80nsec としクロックを入力する。
Period の設定は次ページのダイアログで直接キー入力する。

18

Altera QuarusII による FPGA の開発手順
舞鶴高専 電子制御

クロック入力2004/08/06
町田秀和 mail: machida@maizuru-ct.ac.jpのダイアログ：Period(周期)などを直接キー入力する。

全ての入力端子 a,b,ci にクロックを設定すると、下図のようになる。
このように、倍々の Period でクロックを設定すると全ての組み合わせを設定できる。

19

Altera QuarusII による FPGA の開発手順
舞鶴高専 電子制御

2004/08/06
町田秀和 mail: machida@maizuru-ct.ac.jp【波形図の保存】フロッピのボタンをクリックしセーブする。

波形図名は自動的に「fulladder」となっているので(拡張子は自動的に付けられる)、そのまま保存ボタンをクリックしセーブする。

20

Altera QuarusII による FPGA の開発手順
舞鶴高専 電子制御

７. シミュレーション

2004/08/06
町田秀和 mail: machida@maizuru-ct.ac.jp

Tools→Simulator を選択し起動する。

下の Simulator Tool ダイアログで、まずSimulation mode を Functional に設定し、ボタンをクリックして、ネット情報を抽出する。抽出に成功すれば、下のダイアログが出るので OKをクリックする。

21

Altera QuarusII による FPGA の開発手順
舞鶴高専 電子制御

2004/08/06
町田秀和 mail: machida@maizuru-ct.ac.jp【シミュレーションの実行】 Simulator Tool ダイアログのボタンをクリックして実行する。「成功しました」のダイアログが出るので OK をクリックする。

【シミュレーション結果の確認】

ボタンをクリックし結果を確認する。

22

Altera QuarusII による FPGA の開発手順
舞鶴高専 電子制御

2004/08/06
町田秀和 mail: machida@maizuru-ct.ac.jp

８．ピンアサイン

メニューAssignment→Assignment Editor を選び、下の Assignment Editor のックしピンを選択状態にする。

23

ボタンをクリAltera QuarusII による FPGA の開発手順
舞鶴高専 電子制御

2004/08/06
町田秀和 mail: machida@maizuru-ct.ac.jp【ピンアサイン】 To の下の<<new>>をクリックしてピン名、Location の下の<<new>>をクリックしてピン番号を、下のように選ぶ。
なお、入力ピンは評価ボードのバイナリ(ロータル)スイッチ、出力は I/O(の LED)である。

表 1 試作 FPGA 評価ボードの外部接続用ピンアサイン
ピン

名称

ピン

名称ピン

名称

1GND

8I/O5815I/O67 22

I/O76

2I/O55 9I/O61

16I/O68 23

Vcc

3GND

10I/O60

17I/O69 24

I/O75

4I/O54 11

I/O63

18

I/O70 25

Vcc

5I/O52 12

I/O64

19

I/O73 26

I/O79

6I/O56 13

I/O65

20I/O74

7I/O57 14

Vcc

21

I/O77

表 2 バイナリロータリスイッチ

ピン番号SW 桁

上位 H

下位 L

14049

24151

43945

83744

ピン

【ピンアサイン・データのセーブ】 フロッピボタンをクリックする。
(名前は指定しなくて良い)24

名称

Altera QuarusII による FPGA の開発手順
舞鶴高専 電子制御【再コンパイル】

2004/08/06
町田秀和 mail: machida@maizuru-ct.ac.jp

ボタンをクリックし、再コンパイルする。「コンパイルに成功しました」とのダイアログがでるので OK をクリックする。

これにより、FPGA(CPLD)に書き込むためのファイル(fulladder.pof)が作成される。

25

Altera QuarusII による FPGA の開発手順
舞鶴高専 電子制御

2004/08/06
町田秀和 mail: machida@maizuru-ct.ac.jp

９．プログラミング(ダウンロード)

メニュー Tools→Programmer を選ぶ。
バイトブラスタケーブルで、パソコンにプリンタポートと FPGA 評価ボードを接続し、FPGA 評価ボードに電源を入れる。
下の Programmer ダイアログの Mode をJTAG に設定し、 Program/Configure にチェックして、をクリックすれば書き込みが実行される！！
あとは、目視、オシロ、ロジアナなどで動作確認をする。

26

Altera QuarusII による FPGA の開発手順
舞鶴高専 電子制御

2004/08/06
町田秀和 mail: machida@maizuru-ct.ac.jp

付録 A. MAX7128S 評価ボードの自作
簡単に自作することのできる MAX7128S 評価ボードのプリントパターンを示す。入出力のピンアサインは 24 ページの表 1,表 2 のとおりである。 なお、MAX7000 シリーズの詳細情報は Altera のホームページ http://www.altera.com から得られたい。

27

Altera QuarusII による FPGA の開発手順
舞鶴高専 電子制御

2004/08/06
町田秀和 mail: machida@maizuru-ct.ac.jp

表 3. FPGA 評価ボード部品表
品名個数

品名

個数

プリント基板

1ヘッダピン 2 列 10pin

1

PLCC 84pin ソケット

1

ヘッダピン 2 列 26pin

1DIP 14pin ソケット

1

水晶発振モジュール1

アレー抵抗 103×82

抵抗 470Ω

1

バイナリスイッチ

2LED 緑1

表4MAX7128S ピンアサイン表ピン

名称

ピン

名称

ピン

名称ピン

名称

ピン

名称

1

GCLR

21

I/O

41

I/O

61

I/O

81

I/O

2

OE2/GCLK222I/O

42

GND

62

TCK

82

GND

3Vcc

23

TMS

43

Vcc

63

I/O

83

GCLK14I/O

24

I/O

44

I/O

64

I/O

84

OE15I/O

25I/O

45

I/O

65

I/O

6I/O

26

Vcc

46

I/O

66

Vcc

7

GND

27

I/O

47

GND

67

I/O

8

I/O

28

I/O

48

I/O

68

I/O

9I/O

29

I/O

49

I/O

69

I/O

10

I/O

30

I/O

50

I/O

70

I/O

11

I/O

31

I/O

51

I/O

71

TDO

12I/O

32

GND

52

I/O

72

GND

13Vcc

33

I/O

53

Vcc

73

I/O

14

TDI

34

I/O

54

I/O

74

I/O

15

I/O35

I/O

55

I/O

75

I/O

16

I/O

36

I/O

56

I/O

76

I/O

17I/O

37

I/O

57

I/O

77

I/O

18

I/O

38

Vcc

58

I/O

78

Vcc

19

GND

39

I/O

59

GND

79

I/O

20

I/O

40

I/O

60

I/O

80

I/O

28

Altera QuarusII による FPGA の開発手順
舞鶴高専 電子制御

2004/08/06
町田秀和 mail: machida@maizuru-ct.ac.jp

付録 B. ﾊﾞｲﾄﾌﾞﾗｽﾀ・ｹｰﾌﾞﾙの自作
Altera 社から公開されている図 1 りダウンロードケーブル(バイトブラスタ)は簡単に自作できる。

図 1 バイトブラスタ回路図(抵抗は全て 33Ω)

図 2 バイトブラスタ・メールヘッダ・コネクタ

29

Altera QuarusII による FPGA の開発手順
舞鶴高専 電子制御

表5Pin

2004/08/06
町田秀和 mail: machida@maizuru-ct.ac.jp

バイトブラスタ・メールヘッダ・コネクタ信号

Signal Name

Description

PinSignal Name

Description

1TCK

Clock

6-

No Connecnt

2GND

Signal GND

7-

No Connecnt

3TCO

Data from device

8-

No Connecnt

4VCC

Power supply

9TDI

Data to device

5TMS

Control

10GND

Signal GND

図 3 バイトブラスタ基板実体配線図30