TANG PriMERで始める FPGA & Verilog入門【第2版】
- Digital1,300 JPY
『TANG PriMERで始める FPGA & Verilog入門 ー AI時代の高速,並列計算デバイスへの第一歩 ー 【第2版】』 中華FPGA「TANG PriMER」を使ってFPGAとVerilogに入門する本です。 第2版での主な変更点 - サンプルコードを大幅に見直し変更しました。 - 新たに文法(function文)の説明を追加しました。 - 初版より新しいバージョンの開発環境の説明に変更しました。 技術書典 応援祭(技術書典8)新刊です。 技術書典9にて【第2版】をリリースしました。
まえがき
最近はAIが大流行しています. 「AI」と一言でまとめてしまうと漠然とした概念の様に感じられますので,AIを支えている技術について少し掘り下げていくと「ディープラーニング」や「機械学習」といったワードが出てきます. ここでさらに掘り下げてみます.ディープラーニングや機械学習は,コンピュータのリソースを使って多くの計算をさせるため,より早く大量の計算をするためには計算機(ハードウェア)の性能が重要になってきます. ここで,GPUやFPGA,ASICといったワードが出てきます. GPUはプロセッサであり,FPGA,ASICはロジックデバイスです. GPUにせよ,FPGA,ASICにせよ,これらのハードウェアは計算のリソースとして使用されます. GPUは仮想通貨のマイニングがブームになった時に,計算用途のGPUボードが話題になりました. 秋葉原では中古ボードがたくさん出回っていたようで,後からHDMIコネクタをはんだ付けしてグラフィックボードとして使う話題なんかも見られて楽しそうでした. GPUはNVIDIAのものが有名で,AI開発のために開発ボードも続々販売されています. 一方,FPGAやASICの方はGPUに比べるとあまり話題が盛り上がっていない様に感じられるかもしれません. しかしFPGAやASICの方が消費電力や計算速度の面でGPUよりも優れているとされており, 並列処理にも大きな強みがあります. また,IoTやクラウド技術が進むに連れ,「エッジコンピューティング」という概念も出てきました. これは大量の計算処理を全てクラウド側で行うのではなく,末端側でも計算処理を行って負荷分散することでクラウド側やネットワークの負荷を減らし,全体としてデータの最適化を行おうとする考え方です. このエッジコンピューティングにおいて,端末で計算処理を行う役割としてFPGAが注目されています. この様に注目されることが増えてきたロジックデバイスですが,その入門のハードルが少々高い様に筆者には感じられます. ASICに至っては個人レベルの範疇を大きく超えています. このため,個人レベルで扱うロジックデバイスは現実的にはFPGAをターゲットにすることになりますが,電子工作やマイコンの入門として話題に上がるArduinoやRaspberry Piに比べると,その入門のハードルは高いことだと思います. その理由として,FPGAボードはマイコンボードに比べて価格が高い傾向にあったり,ホビー界隈ではマイコンに比べると人気が無い故に情報が少なく取っ付きづらかったり,様々な理由がハードルになっていると考えています. 特に,FPGAをちょっと試してみたい気持ちで書店に並んでいるFPGAの入門書を手に取ったとしても,そこで紹介されたターゲット評価ボードの価格を見て「おっと…」となり,財布の神様と相談した結果ボードの購入を見送るパターンが多いのではないでしょうか(筆者の想像です). しかし,最近になってSipeedから小型のFPGAボードが販売されました.それが「TANG PriMER FPGA Dev. Board」です. 価格は2,500円程度と低価格であり,FPGAとボード自体もシンプルな構成で,Arduino UNOの様にボード1つでプログラムの書き込みも行えます. 特に価格の面で入門のターゲットとして嬉しいボードです. 筆者がこのボードを手に入れた当初は日本で取り扱っているお店は少なく,数少ない取扱店であったスイッチサイエンスにて購入しました. しかし最近になって秋月電子通商にも入荷されたことを確認しましたので,ますます入手しやすくなってきていると思います. 本書では,この「TANG PriMER FPGA Dev. Board」をターゲットに,TANG PriMER固有の開発環境の構築の仕方から,他のFPGAにも使える汎用の開発言語Verilog HDLの基礎についてご紹介したいと思います. このボードでハードウェア的に不足することが出てきたら,大手メーカーのFPGAボードにステップアップしていくと良いと思います. その際には,本書でご紹介するVerilogの知識を活かせることと思います. 本書を通して是非FPGAを体験してみてください.
その他
●本書の対象者 * FPGAを体験したい方 * TANG PriMERを使ってみたい方 * FPGAを動かしながらVerilog HDLを学びたい方 ●本書で得られること * 「Sipeed TANG PriMER FPGA Dev. Board」や,その開発環境の使い方の知識 * Verilog HDLの基礎知識 ●必須となる前提知識 * 2進数の知識 * ブール代数の知識 ●あれば良い前提知識 * 論理回路の知識 * C言語の知識や経験