1. はじめに
HLS (High Level Synthesis) コンパイラーはコマンドラインで実行するツール (CUI) になっており、コマンドラインベースでの作業に不慣れなユーザーには取っ付き難い一面があります。
このコンテンツでは、Linux 版の HLS コンパイラーを対象に、コーディングからコンパイルまでの作業を Eclipse の GUI 上で操作可能にする方法を紹介します。
確認に使用した環境
- HLS コンパイラー ver.19.3
- Quartus® Prime 開発ソフトウェア・プロ・エディション ver.19.3
- Linux ディストリビューション : Red Hat Enterprise Linux workstation release 6.10 (Santiago)
- Eclipse のバージョン : Mars.2 Release (4.5.2)
2. 事前準備
ここで紹介する方法は、Nios® II SBT で使用する Eclipse 環境をそのまま使用します。
既に Nios® II SBT 環境をセットアップ済みの場合は追加の作業は必要ありません。
Nios® II SBT 環境のセットアップが未だの場合は、Windows 版の記事にはなりますが、以下のコンテンツを参考に Eclipse のインストールを行ってください。
- Quartus® Prime Pro ver 19.1 で Nios® II SBT / SoC EDS を使用する際のインストール手順
- Quartus® Prime Pro Edition 19.1 で Nios® II Software Build Tools / SoC Embedded Development Suite を使用する際のインストール手順
3. Eclipse での実行
3-1. GUI 起動前の初期設定
まず、HLS を実行するための環境変数を設定するために用意されたスクリプトを実行します。
$ source <TOOL INSTALL FOLDER>/hls/init_hls.shこれにより、i++ コマンドが使用できるようになります。
3-2. GUI の起動
次に、Eclipse を起動します。
以下のように nios2 command shell を実行し、その後 eclipse-nios2 を実行します。
$ eclipse-nios2 &Eclipse が起動し、ワークスペースを指定する GUI が表示されるので、事前に決めておいたデイレクトリーを指定します。
すると、実際の Eclipse が起動します。
3-3. プロジェクトの作成
ベースとなるプロジェクトをインポートします。
File メニュー → Import... → General → Existing Projects into Workspace を選択してください。
ここでは例として、ツールをインストールした際に用意されているサンプルを使用します。
<TOOL INSTALL FOLDER>\hls\examples\counter
"Browse" で上記ディレクトリーを選択し、このサンプルをワークスペース下にコピーするために "Copy projects workspace" にチェックを入れます。
以下のように、Eclipse にプロジェクトがインポートされました。
3-4. ソースコードの編集
左の Project Explorer で編集するコードをダブルクリックすると、エディターが起動します。
そこでソースコードの編集を行うことができます。
3-5. プロジェクトのコンパイル
サンプルの makefile には、ソフトウェア実行のエミュレーション、ハードウェア実行のコシミュレーション用のターゲットがあります。このターゲットを選択することで、それぞれのコンパイルを実行します。
プロジェクトを右クリックし、Make Targets → Build をクリックします。
そうすると、ターゲットを選択する画面が表示されます。
こちらのターゲットは Makefile に記載されているものが表示されていて、今回のサンプルでは以下のようになっています。
- test-x86-64:エミュレーション
- test-fpga:コシミュレーション
エミュレーションは実際に HDL IP を生成せずに機能確認をするもので、コシミュレーションは生成された HDL IP を実行し、性能的な面も確認できます。
今回は、コシミュレーションを実行してみます。
test-fpga を選択し、Build をクリックするとコシミュレーション・フローが実行され、終了すると以下のように実行可能ファイル (test-fpga) と test-fpga.prj 以下にレポートやコンポーネント・ファイルなどが生成されます。
このように、Eclipse を使用して HLS コンパイラーが使用できるようになりました。
その他、i++ へ付加するオプションを変更して実行したい場合は、Makefile を変更するか Makefile にターゲットを追加するなどで対応ができますので、色々試してみて下さい。
4. 生成したコンポーネントの実行
先ほど生成された実行可能ファイルを実行すると、以下のように結果が出力されることが確認できます。
5. その他参考資料