”
RapidWright をやってみる2(インストール)”の続き。
前回は、RapidWright のインストールを試みたが、
java com.xilinx.rapidwright.device.browser.DeviceBrowser が動作しなかった。今回は、そのトラブルシュートをしてみたが、なかなか大変そうなので、大変残念だが、RapidWright は休止することにした。
まずは、Java が分からないので com.xilinx.rapidwright.device.browser.DeviceBrowser の解析からやってみた。
これって . で接続されているけどディレクトリと同じじゃないのか?ということで、ディレクトリを下がっていくと、RapidWright/src/com/xilinx/rapidwright/device/browser/DeviceBrowser.java があった。

DeviceBrowser.java のコードを一部引用する。

自分で見つけてきたサンプルコードで確かめてみたのだが、 package で CLASSPATH 環境変数からのパスを設定できるようだ。何分にも java 知らないので間違っているかもしれないが。。。
DeviceBrowser を実行した時も com/trolltech/qt/gui/QmainWindow クラスが無いと言われていたが、もしかして、 com/trolltech/qt という java のファイルが根本的に足りないんじゃないのだろうか?
ググると、 GitHub の
qtjambi/qtjambi の
qtjambi/src/java/qtjambi/com/trolltech/qt/ にファイルがあることが分かった。
qtjambi/qtjambi を git clone して、 qtjambi/src/java/qtjambi/com/trolltech/ ディレクトリ以下を rapidwright/com 以下にコピーした。
そして、gradle でコンパイルした。
gradle build -p $RAPIDWRIGHT_PATHところ、エラーが頻発した。

そこで、とりあえず core 、 gui ディレクトリしか要らないので、後は削除して、
gradle build -p $RAPIDWRIGHT_PATHしてみたところ、PASS したので、早速
java com.xilinx.rapidwright.device.browser.DeviceBrowserしたところ、同じエラーになった。


RapidWright/src/com/trolltech/qt/gui ディレクトリを見たところ、com/trolltech/qt/gui/QmainWindow が無いして、ファイルを全部確かめてみても QmainWindow クラスが無かった。

これ以上無理なので、大変残念だが、RapidWright は休止することにした。
- 2020年05月20日 05:23 |
- RapidWright
-
| トラックバック:0
-
| コメント:0
”
RapidWright をやってみる1”の続き。
前回は、RapidWright は、最新のザイリンクスFPGAおよびSoCデザインのネットリストおよび実装操作を可能にするオープンソースのJavaフレームワークということで、RapidWright をやってみることにした。今回は、RapidWright のインストールを試みる。
インストールには
Automatic Install と
Manual Install があるのだが、一度
Automatic Install をやってみて、訳が分からなかったので、
Manual Install をやってみようと思う。なお、java がよく分かっていなので、失敗している。アドバイスがあったらコメント欄で教えてください。よろしくお願いします。
さて、
Manual Install に沿ってインストールしてみよう。
RapidWright の Github を git clone して、 releases ディレクトリを作成した。
git clone https://github.com/Xilinx/RapidWright.git
cd RapidWright/
mkdir releases
cd releases
RapidWright 2019.2.1-beta Release ページから rapidwright_data.zip と rapidwright_jars.zip を releases ディレクトリにダウンロードした。


rapidwright_data.zip と rapidwright_jars.zip を、 git clone した /media/masaaki/Ubuntu_Disk/Xilinx_github/RapidWright/RapidWright ディレクトリに展開した。

ホームディレクトリの .bashrc に 環境変数の RAPIDWRIGHT_PATH と CLASSPATH を追加した。
export RAPIDWRIGHT_PATH=/media/masaaki/Ubuntu_Disk/Xilinx_github/RapidWright/RapidWright
export CLASSPATH=$RAPIDWRIGHT_PATH/bin:$(echo $RAPIDWRIGHT_PATH/jars/*.jar | tr ' ' ':')
source ~/.bashrcRapidWright Eclipse Setup の
Setup Eclipse with Existing Repo を参考に Eclipse をインストールしてみた。
oxygen2 の Linux 64 ビット版をダウンロードして展開した。


eclipse ディレクトリの eclipse をダブルクリックして起動した。

workspace を聞かれるので、RapidWright リポジトリのトップを指定した。

するとエラーが発生して、eclipse の GUI が上がらなかった。

eclipse はとりあえず諦めて、
Manual Install の 6. の gradle でコンパイルすることにした。
gradle を apt でインストールした。
sudo apt install gradlegradle でコンパイルした。
gradle build -p $RAPIDWRIGHT_PATH

ビルドは成功したようだ。
しかし
java com.xilinx.rapidwright.device.browser.DeviceBrowserが動作しない。
しかし、パスも指定しないでこのコマンドで動作するのだろうか? java の学習が必要なようだ。
- 2020年05月19日 05:08 |
- RapidWright
-
| トラックバック:0
-
| コメント:0
Xilinx の GitHub に RapidWright があったので、やってみよう。
RapidWright は、最新のザイリンクスFPGAおよびSoCデザインのネットリストおよび実装操作を可能にするオープンソースのJavaフレームワークです。
だそうです。(
RapidWright Documentation の
Introduction の記述の Google 翻訳を引用)
RapidWright は、Xilinx Research Labs のオープンソース・プロジェクトで Xilinx 社の正式な製品ではないそうだ。(Xilinx って、そういうのが多いですね。とっても良く、嬉しいことだと思う)
また、
RapidWright の専用ページがある。
RapidWright Publications の FPGA 2019 の ”
Build Your Own Domain-specific Solutions with RapidWright ”の
スライドの 11 枚目がとっても衝撃的だったので、引用する。

17 ページ、18 ページも引用する。


このように RapidWright はVivado のデザインの動作周波数やラインタイムの短縮を行う効果があるようだ。
その後のスライドでもデバックのためにILA を入れる時の時間も大幅に短縮されているようだ。
RapidWright Documentation の
Getting Started の
Quick Start をやってみよう。
まずは java はインストール済みだと思うので、 java のバージョンを確認する。
java --version を実行した時のメッセージを示す。
openjdk 11.0.7 2020-04-14
OpenJDK Runtime Environment (build 11.0.7+10-post-Ubuntu-2ubuntu218.04)
OpenJDK 64-Bit Server VM (build 11.0.7+10-post-Ubuntu-2ubuntu218.04, mixed mode, sharing)
大丈夫そうだ。
RapidWright 2019.2.1-beta Release ページから
rapidwright-2019.2.1-standalone-lin64.jar をダウンロードした。
java -jar rapidwright-2019.2.1-standalone-lin64.jarで起動した。
起動して、 >>> プロンプトがでたら
DeviceBrowser.main([])を入力した。

GUI が表示された。
- 2020年05月18日 04:52 |
- RapidWright
-
| トラックバック:0
-
| コメント:0