Vengineerの戯言

人生は短いけど、長いです。人生を楽しみましょう!

FPGAプログラミング大全 Xilinx編


コバさんこと、小林優さんの
FPGAプログラミング大全 Xilinx編、584頁の大作。

今回も送られてきましたので、また、また、ありがとうございます。

明日(12/18)の第2回FPGAスタートアップセミナーのLTに登場するようです。

まえがきをツイートしたら、皆さんに反応いただきました。
少々乱暴な言い方をすれば、難しめの本でなければ買う価値はありません。自分のレベルにあった本は、半分は復習なので価値も半分と考えてもいいでしょう。とにかく手を動かして実際にFPGAボードで動かしてみることが大切です。
「FPGAプログラミング大全」「まえがき」より一部抜粋、小林優

さっくと内容を確認しました。
下記のようにXilinxのツールを使って、FPGA部だけでなく、
CPU(MicroBlazeやZynq)を使って、FPGA部と合わせて開発します。

ツールは、Vivado 2016.2。
FPGAボードはArty/Basys3(これは知らなかった)/Zybo。

目次
第1章、無償ツールでここまでできる
ざっくりとツールの説明

第2章、Vivadoの論理合成を試す
第3章、論理シミュレーションによる事前確認
第4章、ロジック・アナライザによる回路デバッグ
FPGAによるハードウェア開発とデバッグ

第5章、ソフトマクロCPU「MicroBlaze
第6章、MicroBlazeに自作IPを接続
ソフトマクロCPU「MicroBlaze」を使ってみる

第7章、ハードマクロCPU内蔵「Zynq」
ハードマクロCPU内蔵「Zynq」を使ってみる
プログラムはstandaloneです。Linuxではありません。
Linuxまでやると、もう一冊本ができてしまいますから。

第8章、AXIバス入門
第9章、グラフィック表示回路の設計
MicroBlazeやZynqでも利用できる内部バスのグラフィック表示回路を設計して、
AXIについて学ぶ

第10章、CPU言語からの高位合成
高位合成ツールのVivado HLSを使ってAXI4-LiteのIP化
(コラムでは、SDSoCの紹介もちょこっと。
Digilent者からはZybo/ZedBoard限定のSDSoCのライセンスを10ドルで売っていると。
FPGAボードを同時購入したときに限る)
C/RTL協調シミュレーションの説明もあります。

Appendix I、開発環境の構築
Appendix II、各FPGAボード利用上の注意点
Appendix III、カイロデータおよびプログラムのROM化


小林 優さんの著書はこれで、6冊目?


FPGA ボードで学ぶ組込みシステム開発入門 (Xilinx編)

FPGA ボードで学ぶ組込みシステム開発入門 (Altera編)
については、
2013年4月15日にブログ(FPGA本、2冊)に書きました。
あれから3年半ですよ。





この本の内容、「3-3、シミュレーションの進んだ使い方」に

3-3-1 配置・配線後のシミュレーション

があります。Twitterでメンションがあったので、そのときの内容のまとめて。

ASIC開発をしていたり、LintやCDC(Clock Domain Check)ができるツールを利用できるのであれば、配置・配線後のシミュレーションは基本的には必要ありません。
でも、この本の読者はLintやCDCを使える環境であるとは限りません。
配置・配線後のシミュレーションの説明があるのだと思います。

そういう意味で、
この本はFPGAを初めて学ぶ(初心者、学生、会社の新人)人達にとっては非常にいい本だと思います。
一方、FPGAやASICの経験者としてのベテランエンジニアにとっては、
各章にある内容が何故そこにあるのか?
何故そのような構成になっているのかを考えてみながら読んでみるのもいいかもしれません。

そして、Zynqのところ(P.329)で、
ZynqではPS(CPU)が主で、PL(FPGA)が従として扱われます。
Zynqに電源およびクロックを供給すると、
最初にPS内のCPUが起動し、それからPL側のFPGA部分をコンフィギュレーションします。
です。

これがZynqが一番いいところであり、これがあるからZynqを使うのですよ。