お約束通りに、11/6にIntel HLS CompilerがQuartus 17.1のリリースに伴い、リリースされました。
ドキュメントは、サポートのページの左のDocumentationをクリックすると出てきます。
とりあえず、下記の4つのドキュメントを読めばいいです。PDF版もあります。
公式にサポートしている動作環境は、Windows 7 SP1, 8, 10の64ビットかLinuxはRed Hat 6.8です。
あたしがいつも使っている Ubuntu 14.04LTSや16.04LTSはサポート外です。
あたしがいつも使っている Ubuntu 14.04LTSや16.04LTSはサポート外です。
Ubuntu 16.04LTSでは、Altera(Intel)のFPGA開発ツール「Quartus Prime」をUbuntuにインストールする
ただし、Intel ModelSimとのC/RTLコシミュレーションはエラーのため実行できません。
(なお、Ubuntu 14.04LTSでは、GCC 4.4.7のパッケージ:gcc-4.4, g++-4.4をインストールして、
CPLUS_INCLUDE_PATHを正しく設定すれば、Intel ModelSimとのコシミュレーションも動きます。
GCC 4.4.7をソースコードからビルドしたら、texinfoを4.xにしないとビルド途中でエラーになります)
ただし、Intel ModelSimとのC/RTLコシミュレーションはエラーのため実行できません。
(なお、Ubuntu 14.04LTSでは、GCC 4.4.7のパッケージ:gcc-4.4, g++-4.4をインストールして、
CPLUS_INCLUDE_PATHを正しく設定すれば、Intel ModelSimとのコシミュレーションも動きます。
GCC 4.4.7をソースコードからビルドしたら、texinfoを4.xにしないとビルド途中でエラーになります)
FPGAの部屋(@marsee101さんのブログ)
intel HLS コンパイラを試してみる
intel HLS コンパイラを試してみる2(counterサンプルが動いた)
intel HLS コンパイラを試してみる3(Quartus Prime)
intel HLS コンパイラを試してみる4(ModelSim)
intel HLS コンパイラを試してみる5( ihc_hls_enqueue() と ihc_hls_component_run_all() )
intel HLS コンパイラを試してみる6(counter.cpp のコードを変更した)
intel HLS コンパイラを試してみる7(image_downsampleを試す1)
intel HLS コンパイラのレポート
intel HLS コンパイラを試してみる8(image_downsampleを試す2)
intel HLS コンパイラを試してみる9(examples\tutorials\interfaces\mm_master_testbench_operators)
intel HLS コンパイラを試してみる10(examples\tutorials\interfaces\mm_master_testbench_operators その2)
intel HLS コンパイラを試してみる11(mm_slave その1)
intel HLS コンパイラを試してみる12(mm_slave その2)
intel HLS コンパイラを試してみる13(mm_slave その3)
intel HLS コンパイラを試してみる14(explicit_streams_buffer その1)
intel HLS の pointer_mm_master を試してみた1
intel HLS コンパイラを試してみる
intel HLS コンパイラを試してみる2(counterサンプルが動いた)
intel HLS コンパイラを試してみる3(Quartus Prime)
intel HLS コンパイラを試してみる4(ModelSim)
intel HLS コンパイラを試してみる5( ihc_hls_enqueue() と ihc_hls_component_run_all() )
intel HLS コンパイラを試してみる6(counter.cpp のコードを変更した)
intel HLS コンパイラを試してみる7(image_downsampleを試す1)
intel HLS コンパイラのレポート
intel HLS コンパイラを試してみる8(image_downsampleを試す2)
intel HLS コンパイラを試してみる9(examples\tutorials\interfaces\mm_master_testbench_operators)
intel HLS コンパイラを試してみる10(examples\tutorials\interfaces\mm_master_testbench_operators その2)
intel HLS コンパイラを試してみる11(mm_slave その1)
intel HLS コンパイラを試してみる12(mm_slave その2)
intel HLS コンパイラを試してみる13(mm_slave その3)
intel HLS コンパイラを試してみる14(explicit_streams_buffer その1)
intel HLS の pointer_mm_master を試してみた1
ちょっとやってみたので、感想を
・自動に生成されるC/RTLコシミュレーションは、ModelSimのみサポート。Intel ModelSimでなくてもOKでしょう。 (お高い、Cadence、Synopsys、AldecでもC/RTLコシミュレーションはサポートしていません) ・自動に生成されるRTL側の環境を単体でModelSimでは使うことはできません。 なぜなら、C側とのコシミュレーションが必要になるからです。 ・C/RTLコシミュレーションでは、C側API経由でModelSimがロードするDPI-Cのライブラリとソケット通信します。 具体的にどうなっているかは、解析が必要です。 ・i++ の引数に、--quartus-compileを指定すると、Quartusがバッチで動いて配置配線までやってくれます。 ・i++ --component で合成する関数を指定できる ・インターフェース合成もある程度あるが、Vivado HLSよりは少ないです。 ・インターフェースとしてサポートしているものは、Avalon MM Master(Stream)とAvalon MM Slaveです。 Slaveインターフェースは、Vivado HLSと同様にレジスタの集まりとして実装できます。 ・SDSoCのようにDMAは勝手に付きません。これは、Vivado HLSと同じ。 ・Vivado HLSとの互換性は全くないので、Vivado HLSのコードをIntel HLS Compilerでやっても使えません。 Intel HLS Compiler用にいろいろを変えたり、pragma入れたりしなければいけません。 C/C++コードでFPGAを設計できますが、 Vivado HLS用のC/C++コードであり、Intel HLS Compiler用のC/C++コードであるのです。 ・生成されるHDLコードは、FPGA SDK for OpenCLで生成されるコード(ライブラリ)を使っています。 ・例題とドキュメントを読めばを見れば、どんなインターフェース合成ができるのかがわかります。 ・ただし、ドキュメントの量は少ないです。
とは言え、Intel HLS Compilerを利用するのに別途ライセンスフィーが要らないのは非常にうれしいです。
Intel SDK for OpenCLも無償になったのですが、Intel HLS Compilerの方が分かりやすいと思います。
Intel SDK for OpenCLも無償になったのですが、Intel HLS Compilerの方が分かりやすいと思います。
追記、
i++のバックエンドが新しくなって、dspbaを使っている。
LLVMは、3.0である
llvm-disコマンドは無いが、別途インストールすれば、使える
引数に -save-tmps を指定すると、中間ファイルを残してくれる。
.bcファイルとかあるので、llvm-disコマンドで内容を確認できる
i++のバックエンドが新しくなって、dspbaを使っている。
LLVMは、3.0である
llvm-disコマンドは無いが、別途インストールすれば、使える
引数に -save-tmps を指定すると、中間ファイルを残してくれる。
.bcファイルとかあるので、llvm-disコマンドで内容を確認できる
訪問者、322