2010年代以降に大容量化、開発環境の使いやすさが向上したことでハードウェアエンジニアだけでなく、ソフトウェアエンジニアにも注目されるようになった『FPGA』。
そのため、新しく学び始める人も多いのではないでしょうか?
一方で、いざ勉強してみようとしても、ソフトウェア分野のプログラミングとは異なり、ネットには基礎知識やノウハウ情報が少ないです。
「FPGA設計者の分母が少ない」、「設計についてハードウェアに依存する部分が多い」、「ソフトウェア分野ほどのノウハウ蓄積の文化がない」などが理由なのかな?と考えています。
「まず何をすればいいのかわからない!」
これからFPGAの設計を始める方に向けて、私が考える「これからFPGAの設計を始める初心者がやるべきこと3選」を述べていきたいと思います。
本記事で説明すること
本記事で説明することは以下の通りです。
- マクニカのブログを使ったVHDL/Verilogの基礎演習
- 書籍「FPGAの原理と構成」で基礎知識の勉強
- RTL設計スタイルガイドの確認
VHDL/verilogの基礎演習
まずは動くものを作らないとつまらないし、やる気も起きません。
VHDL / Verilogとは、デジタル回路設計用のハードウェア記述言語です。
FPGAを設計する上で欠かせないコーディングの取っ掛かりとして、マクニカの公開している初心者向けの記事の活用をおすすめします!
「マクニカ」とは、FPGAのベンダーであるIntelの代理店 株式会社マクニカを指しています。
マクニカは、FPGAのトラブルシューティングをはじめ、初心者向けの記事やFPGAにかかわる基礎技術の解説など、FPGA設計者に嬉しい技術情報を発信しています。
その公開している記事の中で、VHDL/Verilog初心者に向けた演習が以下のリンクで公開されています。ご自身が使う予定の言語をご参照ください。
■VHDL
■Verilog-HDL
こちらの内容はマクニカのワークショップで開催されていた内容を公開している記事になります。
私は久々にFPGA設計のセミナーを受ける前にこちらのVHDLの記事を参考に復習しました。
リンク先に飛ぶと「マテリアル」の項目にテキストがあり、無料で登録不要でダウンロードできます。
テキストのスライドに沿って、基礎を学び、要所要所で演習を行う内容になっています。
基礎の基礎はお金を出さずに学べます!マクニカに感謝ですね!
上記の演習には、IntelのVHDL/Verilog-HDLのシミュレーションツール「Model-sim」または「Questa」のインストールが必要になります。
Model-simについては、「Quartus prime lite edition」についてくるので無償で使用できます。
導入手順は以下のFPGAボードを使った学習の記事で解説しています。
また、「Questa」はModel-simの後継ソフトで、シミュレーション速度も速くなっています。
こちらは要登録ですが無償版もあるので、これから勉強する方はこちらに慣れておいた方が良いのかなと思います!
導入手順についてはマクニカの記事で紹介されています。
また、上記のコーディング基礎の学習が終わったら、テストベンチ(テスト用コード)に関する記事も確認するといいと思います!
書籍「FPGAの原理と構成」で基礎知識の勉強
コーディングの勉強だけでも動くものは作れますが、非効率な回路になってしまったり、設計者のコードレビューに耐えられる設計はできません。
FPGAの仕組みや特徴を解説する書籍は少ないのですが、その中でも良書として取り上げられることの多い「FPGAの原理と構成」(オーム社)を読んでみることをおすすめします!
FPGAの専門用語を網羅的に学び、FPGAの構成要素(ロジック・配線・スイッチ・IO)がどんな動作をするからプログラマブルなのかがわかります。
FPGAの内部をイメージできるようになることで、より無駄のない記述ができるようになると思います!
書評記事も書いていますので参考にしてください!
「RTL設計スタイルガイド」の確認
ソフトウェアのプログラミングでは、読みやすいコード、バグが少なくなるコーディングをするためのノウハウを解説した書籍(リーダブルコード(オライリージャパン)等)が多数出版されています。
それらの本も参考になるのですが、VHDL / Verilog-HDLはあくまで「ハードウェア記述言語」
バグは出なくても、記述の仕方次第で回路が余分に大きくなりリソースを食いつぶす非効率な設計になる恐れがあります。
VHDL / Verilog-HDLにもコーディングルールをまとめた書籍があり、そのルールに沿った記述をしていくことが求められます。
私はVHDLを扱っていますので「LSI設計の基本 RTL設計スタイルガイドVHDL編(エッチ・ディー・ラボ)」を設計の度に読んでいます。
コーディングのルールと、「どうしてそのような記述をしないといけないのか」、「ルールを守らないとどうなるのか」を見開き1ページ程度にまとめて解説しています。
この本を読み込めば、ソフトのプログラミング言語とは異なり、ハードウェア記述言語で気を付けないといけない特有の内容について理解が進むと思います!
※上記リンクの書籍は絶版した同名の培風館出版の書籍を㈱エッチ・ディー・ラボが再販しているものになります。オリジナルは値段が跳ね上がっておりますので、入手の際は再販版をおすすめします。。。
まとめ
コーディングの勉強、原理の勉強、記述スタイルの勉強の3つを紹介しました。
私が一から勉強し始めるなら、まずはこの3つに取り組むとFPGA設計に取り掛かれると考えています。
特に、マクニカの情報にはいつも助けられております!
ソフトウェアと比較した時の技術情報の少なさに負けず、FPGA設計を身につけていきましょう!!!
FPGAボードを使った学習についても以下の記事で紹介しています。参考になれば嬉しいです!
それでは!
コメント