読者です 読者をやめる 読者になる 読者になる

FPGAマガジンNo10まとめ

高位合成とは、C→RTLにすること。

問題

合成ツールが吐き出すRTLが間違いないかわからん

並列処理がうまく行えない

複数ブロックに分けるが、調整検証が困難

ツールが高価

Qsysとは何か?IPコア接続ツール?

SDSoc

ボードにあった環境を勝手に作ってくれる。verilogを吐き出すだけじゃない。ソフト側(ドライバー側)も作ってくれる。なので、SDSocはプラットフォームから選ぶところから始まる。OSとかもせんたくできる。

RTLが減ったので、1,アクセラレーションの考え方、2,アーキテクチャのイメージをシンプルにでき、あとは3,C言語でハードウェア化するアルゴリズムをつくれば、簡単にできる。その他はSDSocがアシストしてくれるらしい。

OpenCV Alteraに載ってるやつで、C言語に似た構造でかける。

eXCite C->Verilog

LLVMでも C->Verilogができる。Vivadoとか、OpenCLとかにも使われてる。LegUPって言うコンパイラがC->verilogのやつ。

javaの合成もある。

PSocっていうよくわからんのもある。

 

まとめ

高位合成は単純にC->RTLと考えて良さそう。

結局、ハードウェアは並列処理する必要があるので、その辺のアーキテクチャと、アルゴリズム(パイプライン)とかを設計する必要がある。とりあえずVerilogでできないとだめなきがする。それからCとかでできるようになればよいかと。結局この本の大部分はどこをどうハードウェアにするかが書かれてある感じ。図3の問題点ということから当然か。

ツールは使えるようにしておいたほうがいいかも。SDSocとか。なんかAlteraがあまり出てこないな。ターゲット層が違うのか。

Verilogやりながら引き続き調査する。