JavaRock の後継プロジェクトの Synthesijer の synthesijer_samples-20140818 を
Terasic 社製 FPGA ボード DE0-Nano 上で動作させる手順について記載します。
本稿の大まかな流れ、Quartus のバージョンなど一部項目については DE0-Nano/JavaRock と重複しています。
本稿の大まかな流れは以下のとおりです。
本稿のホストマシン上の構成について記載します。
使用する OS と主なアプリケーションは以下のとおりです。
また本稿の作業はほぼ Ubuntu 12.04LTS(64bit版)上で行っています。
OS:
VMware Player 上に Ubuntu のイメージを作成します。
ディスク容量は20GBとしています。
DE0-Nano System Builder は Terasic社から提供されている DE0-Nano の qpf(プロジェクトファイル)、
qsf(ピンアサイン等の設定ファイル)を作成するためのアプリケーションです。
また DE0-Nano System Builderは Windows 上でのみ実行可能です。
Quartus は ALTERA 社から提供されている FPGA 、CPLD などのデザイン開発ツールです。
Quartus は Ubuntu 上にインストールします、本稿でのバージョンは12.0sp1を使用しています
これは DE0-Nano/JacaRock で使用しているバージョンとあわせるためです。
Ubuntu の設定とファイル編集について記載します。
Ubuntu 上に Quartus をインストールするために以下の開発ツールを
インストールします。
$ sudo apt-get install build-essential ia32-libs
ia32-libs は Quartus の各バイナリが 32bit版のためインストールしています。
下記 Java SE、Synthesijer、Quartus の配置、インストールは /home/beat ディレクトリで
行っていますが、適宜変更してください。
Synthesijer を動作させるために Java SE 7u67 をインストールします。
Oracle の Web ページから Linux 版の Java SE 7u67 をダウンロードしアーカイブを展開します。
$ tar xvfz jdk-7u67-linux-x64.tar.gz
注:Synthesijer のWeb では Java SE 7 and later と記載がありますが
synthesijer-20140818.jar では Java8 で使用するとアノテーションエラーがでるため
Java SE 7u67 を使用しています。
synthesijer-20140818.jar、synthesijer_samples-20140818.zipを
http://synthesijer.sourceforge.net/ からダウンロードします。
synthesijer_samples-20140818.zip は unzip コマンドで解凍します。
$ unzip synthesijer_samples-20140818.zip
Quartus をインストールします。アーカイブを展開し setup を実行します。
以降 GUI に沿ってインストールを行ってください。
$ tar xvfz 12.0sp1_232_quartus_free_linux.tar.gz $ cd 12.0sp1_232_quartus_free_linux/ $ ./setup
また、この状態で Quartus を起動すると下記のエラーが
表示されますので~/altera/12.0sp1/quartus/ 以下に linux64 という ~
シンボリックリンクを作成します。
$ cd ~/altera/12.0sp1/quartus/ $ ln -s linux linux64
*** The Quartus II software cannot be started because the current platform, 'linux64', does not appear to be installed in: '/home/beat/altera/12.0sp1/quartus'. /home/beat/altera/12.0sp1/quartus/bin/jtagd: 69: exit: Illegal number: -1
作業を行いやすくするため以下の3行を .bashrc の末尾に追加します。
$ vi .bashrc export JAVA_HOME=/home/beat/jdk1.7.0_67 export PATH=$JAVA_HOME/bin:/home/beat/altera/12.0sp1/quartus/bin:$PATH export SYNTHESIJER=/home/beat/synthesijer-20140818.jar
DE0-NanoとUbuntuをUSB接続しプログラミング(イメージの転送)するためのデバイス USB-Blaster を
Ubuntu 上で認識させるため udev (自動的にデバイスファイルの作成や削除を行う仕組み)のルールファイルに
USB-Blaster 用ルールファイル /etc/udev/rule.dにを51-usbblaster.rules を追加します。
また追加のみでは動作しないためルールファイル追加後 udev を再起動します。
$ sudo vi /etc/udev/rules.d/51-usbblaster.rules SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ATTRS{idVendor}=="09fb", ATTRS{idProduct}=="6001", MODE="0666", SYMLINK+="usbblaster/%k"
$ sudo udevadm control --reload-rules
三好 健文(2013) 『インターフェース ZERO No.4 Hello World から始める FPGA 入門』 CQ出版社
2014/09/04 構成変更のため項目をページに分割
2014/09/02 項目追加(serial_echo(ToUpper),serial_echo(EchoTest))
2014/08/27 項目追加(led)
2014/08/27 初稿公開