Home記事一覧フォーラム

FPGA電子工作スーパーキットのMAX10-FB基板を使う



【更新履歴】
2016/11/12 Linux対応ドライバの情報を追記
2016/05/22 新規公開

FPGA電子工作スーパーキット」の付録のMAX10-FB基板を使ってみます。
この本はFPGAボードと書き込み器、開発ツールのDVDが付属していて、内容はボードの組み立て方、ツールの使い方からソフトコアCPUの使い方まで網羅してあり価格も5千円程度とFPGA入門に適しています。
付録ボードはキットであるため、別途部品を購入し、自分でハンダ付けをして組み立てる必要があります。(そのためある程度の電子工作の経験は必要)

開発環境のセットアップ

書き込み器のMAX10-JB基板が現時点でLinux環境では使用できないため、このボードはWindows環境で開発を行います。
【2016/11/12追記】LinuxからMAX10-JB基板を使えるようにするアップデーターが公開されています。一度Windows上のQuartusから書き込んでPICドライバをアップデートすると、以後はLinux上のQuartusから書き込みできるようになります。
詳しくはFPGA電子工作スーパーキット・サポートサイトを参照してください。
ボードの組み立てやQuartusのセットアップについては書籍の標準の方法で行っているものとします。

JDKのインストール

Synthesijerを使えるようにするために、まずJavaの開発環境をインストールします。
以下のサイトからJava SE 8 JDKをダウンロードし、デフォルト設定でインストールします。
http://www.oracle.com/technetwork/java/javase/downloads/index.html

Synthesijerのインストール

コマンドプロンプトを起動し、以下のコマンドを実行します。

ホームディレクトリに移動し、そこにsynthesijerという名前のフォルダを作ります。

cd %HOMEPATH%

mkdir synthesijer

以下のサイトから、

http://synthesijer.github.io/web/dl/index.html

synthesijer_env_20160511.bat
synthesijer_20160511.jar
synthesijer_lib_20160511.zip
synthesijer_extra-libs_20160511.zip
synthesijer_sample_20160511.zip

これらのファイルを C:¥Users¥ユーザー名¥synthesijer (先ほど作ったフォルダ)にダウンロードします。(エクスプローラではC:¥ユーザー¥ユーザー名¥)

zipファイルを右クリック→「すべて展開」します。
フォルダが同じ名前で二重にならないように注意してください。
(普通にデフォルトで展開すると synthesijer¥synthesijer_lib_20160511¥synthesijer_lib_20160511¥ となってしまうため、デフォルトで展開先に表示される一番下のフォルダの部分は削除してください。)

Javaがインストールされているパスを調べます。
通常は C:¥Program Files¥Java¥jdk1.8.x_xx¥bin フォルダ以下にjava.exeなどがインストールされているはずです。
(xxは読み替えてください)

C:¥Users¥ユーザー名¥synthesijer¥ フォルダに
setenv.bat という名前で以下の内容のバッチファイルをテキストエディタで作成します。
ここに先ほど調べたJDKのパスを記述します。(「PATH=」から「;%PATH%」までの間に)

set PATH=C:¥Program Files¥Java¥jdk1.8.x_xx¥bin;%PATH%

%HOMEPATH%¥synthesijer¥synthesijer_env_20160511.bat

これでインストールは完了ですが、開発作業を始める前に毎回、コマンドプロンプトで

%HOMEPATH%¥synthesijer¥setenv.bat

を実行する必要があります。これを実行したコマンドプロンプトからプロジェクトフォルダに「cd」で移動してコンパイルします。(コマンドプロンプトのウィンドウを閉じるとパスや環境変数がクリアされるので再度実行する必要があります。)

ソースコードなどのプロジェクトフォルダはC:ドライブ内に置くことを前提としています。

I/O電圧の設定について

このプロジェクトはボードのI/O電圧を3.3Vに設定することを前提にしています。書籍の標準設定では3.3Vになっています。

MAX10-FB基板用プロジェクト・テンプレート

カウンターの値を使ってLEDを点滅させる簡単なプロジェクトです。

ダウンロード:max10fb_start.zip

実行方法:

max10fb_start.zip を右クリック→「すべて展開」します。

Quartusで「Open Project」:プロジェクトファイル max10fb_start.qpf を開いて「Start Compilation」、「Programmer」で「Start」で転送して実行します。

プロジェクト・テンプレートとしての使い方:
このフォルダを別名でコピーし、top.v を書き換えれば、簡単に新規プロジェクトを作成することができます。
ピンアサインはクロック、リセットボタン、LEDのみ設定しているので他のピンを使う場合は「Pin Planner」で設定してください。

Synthesijerのサンプルプロジェクト

LEDを点滅させるサンプルのSynthesijer版です。

ダウンロード:led_array_example.zip

zipファイルを展開し、コマンドプロンプトでプロジェクトフォルダに移動(cd)した後、

make.bat

を実行します。
上記のとおりにJDK、Synthesijerをセットアップし、setenv.batを実行していれば LEDArrayExample.java ファイルがコンパイルされ、 LEDArrayExample.v などのファイルが出力されます。

この状態で led_array_example¥max10fb¥max10fb_start.qpf をQuartusの「Open Project」で開き、「Start Compilation」、「Programmer」で「Start」で転送して実行します。

参考サイト

FPGA電子工作スーパーキット:書籍情報

別売り部品販売サイト

FPGA電子工作スーパーキット・サポートサイト