[[Synthesijer]] ~
[[DE0-Nano]] ~


#contents

* DE0-Nano/Synthesijer [#c664fa6b]
JavaRock の後継プロジェクトの [[Synthesijer>http://synthesijer.sourceforge.net/]] の synthesijer_samples-20140818 を ~
Terasic 社製 FPGA ボード DE0-Nano 上で動作させる手順について記載します。 ~
JavaRock の後継プロジェクトの [[Synthesijer>http://synthesijer.sourceforge.net/]] の synthesijer-20140818.jar と~
synthesijer_samples-20140818 を使用し Terasic 社製 FPGA ボード DE0-Nano 上で動作させる手順について記載します。 ~
~
本稿の大まかな流れ、Quartus のバージョンなど一部項目については [[DE0-Nano/JavaRock]] と重複しています。~
~
本稿の大まかな流れは以下のとおりです。~
~
- ホストマシン上の構成 ~
Windows PC 上に Virtul Machine(Ubuntu 12.04LTS、64bit版)を作成し作業を行います。 ~
(Ubuntu 12.04LTSのインストールについては本稿では省略します) ~
また Windows、Ubuntu 上で使用しているアプリケーションの概要について記載しています。 ~
~
- Ubuntu の設定とファイル編集 ~
Ubuntu上での開発ツールのインストールや、DE0-Nano を動作させるための ~
変更点などについて記載しています。 ~
~
- DE0-Nano への書き込み ~
Synthesijer のサンプルを DE0-Nano 上で実行する手順について記載してます。 ~
~
** ホストマシン上の構成 [#jd4ef5c5]
本稿のホストマシン上の構成について記載します。 ~
使用する OS と主なアプリケーションは以下のとおりです。 ~
~
また本稿の作業はほぼ Ubuntu 12.04LTS(64bit版)上で行っています。 ~
~
OS: ~
~
- ホストOS: Windows7 (64bit版、以降 Windows と記載します) ~
- ゲスト OS: Ubuntu 12.04LTS(64bit版、以降 Ubuntu と記載します) ~
~

アプリケーション: ~
~
- VMware Player (Windows) ~
- DE0-Nano System Builder (Windows) ~
- Quartus II 12.0sp1 (Ubuntu、以降Quartusと記載します) ~
~

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 の設定とファイル編集 [#j1949d65]
Ubuntu の設定とファイル編集について記載します。~

*** 開発ツールのインストール [#jcddb250]
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 という ~ 
シンボリックリンクを作成します。 ~
また、この状態で 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

*** .bashrc の編集 [#sc32c497]
作業を行いやすくするため java、synthesijer、quartus の PATH を設定します。~
以下の3行を .bashrc の末尾に追加します。 ~

作業を行いやすくするため以下の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


*** udevルールの追加と適用 [#j65bca02]
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



* 参考文献 [#ub40a974]
三好 健文(2013) 『インターフェース ZERO No.4 Hello World から始める FPGA 入門』 CQ出版社 ~
~

* 更新履歴 [#i6694731]
2014/09/09 文言修正 ~
2014/09/04 構成変更のため項目をページに分割 ~
2014/09/02 項目追加(serial_echo(ToUpper),serial_echo(EchoTest)) ~
2014/08/27 項目追加(led) ~
2014/08/27 初稿公開 ~


RIGHT:syariten

BC::labsへの質問は、bc9-dev @ googlegroups.com までお願い致します。
トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   最終更新のRSS