「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のセットアップについては書籍の標準の方法で行っているものとします。
Synthesijerを使えるようにするために、まずJavaの開発環境をインストールします。
以下のサイトからJava SE 8 JDKをダウンロードし、デフォルト設定でインストールします。
http://www.oracle.com/technetwork/java/javase/downloads/index.html
コマンドプロンプトを起動し、以下のコマンドを実行します。
ホームディレクトリに移動し、そこに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%」までの間に)
このプロジェクトはボードのI/O電圧を3.3Vに設定することを前提にしています。書籍の標準設定では3.3Vになっています。
カウンターの値を使ってLEDを点滅させる簡単なプロジェクトです。
ダウンロード:max10fb_start.zip
実行方法:
max10fb_start.zip を右クリック→「すべて展開」します。
Quartusで「Open Project」:プロジェクトファイル max10fb_start.qpf を開いて「Start Compilation」、「Programmer」で「Start」で転送して実行します。
プロジェクト・テンプレートとしての使い方:
このフォルダを別名でコピーし、top.v を書き換えれば、簡単に新規プロジェクトを作成することができます。
ピンアサインはクロック、リセットボタン、LEDのみ設定しているので他のピンを使う場合は「Pin Planner」で設定してください。
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」で転送して実行します。