FPGAボードを触りたい

ブログでやれ

#そうだ!FPGAボードを触ろう
学校で環境全て構築されてる状態でSFL書いて画像処理回路は作った｡
せっかくなので最初からやりたい

#FPGAボード手に入れよう
FPGAボードは市販されてるらしい｡
メーカーはAltera(アルテラ)とXilinx(ザイリンクス)の二強でAlteraの方がポピュラーっぽい
AlteraにはCycloneとかMax10がある何が違うのさ
それを乗っけたボードがあるし,同じ名前なのに新旧あったりわかりづらい｡おまけに高い｡なんだよ4万って｡僕のスマホの3倍の値段じゃん｡助けてドラえもん
教授｢はい,どうぞ｣
![2016-10-17_22h08_01.jpg](https://qiita-image-store.s3.amazonaws.com/0/70435/d09ddbea-dcd8-a789-0383-33b2047683c4.jpeg)
[CX-Card4](http://www.prime-sys.co.jp/products/cxcard4.htm)
やったぜ,おまけに日本のメーカーだ｡取説が日本語なのは疲れなさそうだ｡おまけに｢かんたん回路設計対応｣とか書いてある｡とても嬉しい｡

#FPGA怖い
教授｢適当に扱うと壊れるよ｣
ハンダづけミスったりとか,ネジ落としたりとかですか?
教授｢いやPCから入出力の設定を間違うと本当に壊れるよ｣
え,なにそれこわい｡そしてこのボードの価格は?
教授｢10万｣
それを設定一つミスると
教授｢壊れる｣
FPGA怖い

#開発環境を整える
CX-Card4のサイトを眺める
![2016-10-17_22h10_07.jpg](https://qiita-image-store.s3.amazonaws.com/0/70435/e1a34e69-fd37-085e-f152-7bab1b3c411a.jpeg)
ほーん,なるほどな(わかってない)

![2016-10-17_22h11_51.jpg](https://qiita-image-store.s3.amazonaws.com/0/70435/7954995f-cdec-d21c-e2d4-edfc43f6f0f1.jpeg)
お,RefApp7ってのがいるんやな｡よくわからんけど｡
どこでDLできるんや?(1時間後)
DLリンクないやん,嫌がらせかな｡
おまけにこのサイトTableレイアウトやんけ･･･｡
メール送れば実行ファイルくれるんかな｡いやまてよ?
教授ー,ディスク付属してませんでしたか?
会議中
しゃぁないあとやな｡

![2016-10-17_22h16_01.jpg](https://qiita-image-store.s3.amazonaws.com/0/70435/0b341e17-c685-1922-b228-4d4d6f27a4c6.jpeg)
お,Quartus Prime Lite editionっての使えばいいんやな
プログラミングでいうVisualStudioみたいなもんかね｡
タダだしえぇやん｡DLしよ｡
(垢作れとか住所入力しろとかデカイファイルをダウンロードする専用ツールいれたり,くっそ長いインストールとかがあって)
ようやく完了したわ,起動しよ

#Quartus Prime Liteを起動する
![2016-10-17_22h24_49.jpg](https://qiita-image-store.s3.amazonaws.com/0/70435/6bbcd24e-b9e8-9320-5f92-c6a2845e7124.jpeg)
ありすぎぃ!どれ起動すればええねん｡
とりあえず一番下のQuartus Prime 16.0がそれっぽいので起動する｡

ライセンス認証がどうのとか言われたけど適当にいなす
![2016-10-17_22h29_34.jpg](https://qiita-image-store.s3.amazonaws.com/0/70435/6deee6ca-2083-b344-ff16-673cf11910b0.jpeg)
ボタンありすぎぃ,とりあえずnew projectで
![2016-10-17_22h30_41.jpg](https://qiita-image-store.s3.amazonaws.com/0/70435/2621282f-be44-976c-ebcb-0f6c83291820.jpeg)
へぇ(読んでない)
![2016-10-17_22h32_07.jpg](https://qiita-image-store.s3.amazonaws.com/0/70435/637e804c-4f0f-b786-9b1e-f5fd22578251.jpeg)
プロジェクト名な｡適当に
![2016-10-17_22h32_55.jpg](https://qiita-image-store.s3.amazonaws.com/0/70435/c9088c71-419b-2e7e-7622-85b5fa3f770a.jpeg)
お,テンプレートあるんか｡でも日本メーカーのボードがテンプレートにあるか?ないだろうね｡空プロジェクトで

![2016-10-17_22h34_28.jpg](https://qiita-image-store.s3.amazonaws.com/0/70435/3aec3d8e-cb63-6491-1384-13512d661f71.jpeg)
はいわからん詰み

![2016-10-17_22h35_15.jpg](https://qiita-image-store.s3.amazonaws.com/0/70435/bf156059-a0d9-cc67-5dc4-47d3ef6b326b.jpeg)
あ,Boardタブがある｡ここにCyclone4EつんだCX-Card4があれば

![2016-10-17_22h36_10.jpg](https://qiita-image-store.s3.amazonaws.com/0/70435/200b6dc4-7812-b931-6f35-b688c264c4c5.jpeg)
はい詰み

は～マジ日本のメーカーってこういうときにつらい
付属ディスクにいい感じの何かがあることを祈る

![2016-10-17_23h00_27.jpg](https://qiita-image-store.s3.amazonaws.com/0/70435/1cc2df56-33b1-296a-504d-12e50cb50943.jpeg)
しょうがない,Alteraのサイト眺めるか｡
[｢これを見ればできるFPGA設計無料｣](https://www.altera.co.jp/products/fpga/new-to-fpgas/beginner.html#----------FPGA-------)
完璧やん,みよ!
→リンク切れ(トップページへ飛ばされる)
・ω・うーんこの

#SFL/NSLの歴史?
SFL:NTTが作った世界初のハードウェア記述言語
NSL:SFLを改良したもの,オーバートーン社が管理販売
![2016-10-17_22h51_44.jpg](https://qiita-image-store.s3.amazonaws.com/0/70435/642c57eb-7d9a-59d9-c76f-de6a1a7a3c82.jpeg)
http://www.overtone.co.jp/

#NSL環境を作る
ダウンロードするには個人情報書き込んだらメールでDLリンクが自動返信される方式
![2016-10-17_22h54_45.jpg](https://qiita-image-store.s3.amazonaws.com/0/70435/4a9f413b-4bbe-68f6-76b0-50b52e25d7c0.jpeg)
リンクを全部DLしてzip内startup.batを実行すると
linux仮想環境が起動する,あとすごく親切なチュートリアルがついてる,ソース付きで,初回なんて10行ですよ｡Quartusもこれくらい親切なのだったらいいのに｡そのチュートリアルPDFには清水尚彦著とかいてる｡

#Quartusの本を探す
![2016-10-17_23h04_20.jpg](https://qiita-image-store.s3.amazonaws.com/0/70435/3beef032-7bf7-4d16-c203-ae7fecc7c1c3.jpeg)
(上はリンクではない)
埒が明かないので,本に頼ることにする｡古いのが気になる｡Quartus PrimeではなくIIなのも気になる｡
けど他に良さそうな本が見つからないし,これを読むぜ

図書館→ない｡県立図書館→ない｡市立図書館→ない｡詰み
助けてドラえもん
教授｢注文したで｣
神

注文待ち←いまここ

#暇なので売店の本屋を覗く
![2016-10-17_23h38_33.jpg](https://qiita-image-store.s3.amazonaws.com/0/70435/3fe65052-e6da-6a34-a8a5-f96a8c5ba96f.jpeg)
雑誌が売ってた｡2016年4月発売なのに10月現在までおいてある｡
4500円なんだけど,SRAMや端子,書き込み用ICも別売｡
USBBlasterを持っている上級者は手持ちのパーツをくっつけて,初心者は課金する方式｡
HDMIや音やUSB入出力の別売パーツをつけると2万円になる｡やすいのか高いのかよくわからん｡ディアゴスティーニかな｡
本は立ち読みした｡お金ないので｡そしてざっくりと開発の流れがわかった｡

#便利なサイト
あとで知った｡アルティマ技術データベース(旧EDISON)
http://www.altima.jp/members/p1-literature/1-software/1-altera/1-q2/index.cfm#q2_flow
EDISONから名前を変えたのは,IntelがEDISONというプロセッサ作ってSEO的不利を考慮してかな｡

#今回遭遇した単語
- Altera,Xilinx :FPGA2大メーカ,あくまでFPGA本体のメーカでボードや言語の会社ではない｡intelとamdみたいなものかね
- Quartus Prime Lite: Altera用開発環境無料｡一つ前はQuartusIIというものだった｡
- Model Sim シミュレーションするツール｡波形みれる｡
- NiosII AlteraのFPGA上で作れるCPU｡それラズパイやマイコンでよくね? 専用のCプログラムかけるエディタ付属｡オープンソースなOpenCoreってのもあるってきいた｡あれ,じゃぁ講義で頑張ってCPU作ったのなんだったのさ｡車輪の再発明は学習のために大事
- PinPlanner:Quartusから起動できる｡verilogの合成が完了したら,入出力をFPGAのPinにわりあてるためのツール｡ここをミスると爆発するって本当?
- プログラミング:まずFPGAは揮発性で(初めて知った),電源を落とすと回路が消滅する｡そこでromに回路データをいれて起動と同時にFPGAに取り込むという方式｡このROMに書き込むことをプログラミングという｡
- コンフィギュレーション:回路をFPGAに書き込むこと｡ROM→FPGA,PC→FPGAのどちらの場合も指す｡後者は電源消すと消える｡
- JTAG:FPGAに回路かくための端子?USBブラスターを使うらしい
- SRAM:使い勝手の良いメモリ｡基本的にFPGAにはメモリが内蔵されてないので,このSRAMを外付けして使う｡
- MAX10:ところがどっこいSRAM内蔵したのがこのMAX10｡便利やな｡
- PLL:好きなクロックを作れる素敵な奴｡
- .tcl:よくわかってない,Pin入出力が設定されたファイル?
- .qpf:Quartus用プロジェクトファイル
- .rbf:FPGAに書き込む生データ｡winでいうexeみたいな?
- .ttf:rbfをテキストにしたもの
- .sof:rbf亜種
- .pof:rbf亜種 ROMに書き込むためのファイル
- USBコントローラIC: