FC2カウンター FPGAの部屋 RapidWright
FC2ブログ

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

RapidWright をやってみる3(いろいろやってみたが休止)

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 があった。
RapidWright_18_200520.png

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

自分で見つけてきたサンプルコードで確かめてみたのだが、 package で CLASSPATH 環境変数からのパスを設定できるようだ。何分にも java 知らないので間違っているかもしれないが。。。
DeviceBrowser を実行した時も com/trolltech/qt/gui/QmainWindow クラスが無いと言われていたが、もしかして、 com/trolltech/qt という java のファイルが根本的に足りないんじゃないのだろうか?

ググると、 GitHub の qtjambi/qtjambiqtjambi/src/java/qtjambi/com/trolltech/qt/ にファイルがあることが分かった。
qtjambi/qtjambi を git clone して、 qtjambi/src/java/qtjambi/com/trolltech/ ディレクトリ以下を rapidwright/com 以下にコピーした。
そして、gradle でコンパイルした。
gradle build -p $RAPIDWRIGHT_PATH
ところ、エラーが頻発した。
RapidWright_21_200520.png

そこで、とりあえず core 、 gui ディレクトリしか要らないので、後は削除して、
RapidWright_22_200520.png

gradle build -p $RAPIDWRIGHT_PATH
してみたところ、PASS したので、早速
java com.xilinx.rapidwright.device.browser.DeviceBrowser
したところ、同じエラーになった。
RapidWright_23_200520.png
RapidWright_24_200520.png

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

これ以上無理なので、大変残念だが、RapidWright は休止することにした。
  1. 2020年05月20日 05:23 |
  2. RapidWright
  3. | トラックバック:0
  4. | コメント:0

RapidWright をやってみる2(インストール)

RapidWright をやってみる1”の続き。

前回は、RapidWright は、最新のザイリンクスFPGAおよびSoCデザインのネットリストおよび実装操作を可能にするオープンソースのJavaフレームワークということで、RapidWright をやってみることにした。今回は、RapidWright のインストールを試みる。

インストールには Automatic InstallManual 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_6_200518.png

RapidWright 2019.2.1-beta Release ページから rapidwright_data.zip と rapidwright_jars.zip を releases ディレクトリにダウンロードした。
RapidWright_7_200518.png

RapidWright_8_200518.png

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

ホームディレクトリの .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 ~/.bashrc

RapidWright Eclipse SetupSetup Eclipse with Existing Repo を参考に Eclipse をインストールしてみた。

oxygen2 の Linux 64 ビット版をダウンロードして展開した。
RapidWright_10_200518.png

RapidWright_11_200518.png

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

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

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

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

gradle でコンパイルした。
gradle build -p $RAPIDWRIGHT_PATH
RapidWright_16_200519.png
RapidWright_17_200519.png

ビルドは成功したようだ。
しかし
java com.xilinx.rapidwright.device.browser.DeviceBrowser
が動作しない。
しかし、パスも指定しないでこのコマンドで動作するのだろうか? java の学習が必要なようだ。
  1. 2020年05月19日 05:08 |
  2. RapidWright
  3. | トラックバック:0
  4. | コメント:0

RapidWright をやってみる1

Xilinx の GitHub に RapidWright があったので、やってみよう。

RapidWright は、最新のザイリンクスFPGAおよびSoCデザインのネットリストおよび実装操作を可能にするオープンソースのJavaフレームワークです。

だそうです。(RapidWright DocumentationIntroduction の記述の Google 翻訳を引用)
RapidWright は、Xilinx Research Labs のオープンソース・プロジェクトで Xilinx 社の正式な製品ではないそうだ。(Xilinx って、そういうのが多いですね。とっても良く、嬉しいことだと思う)
また、RapidWright の専用ページがある。

RapidWright Publications の FPGA 2019 の ”Build Your Own Domain-specific Solutions with RapidWright ”のスライドの 11 枚目がとっても衝撃的だったので、引用する。
RapidWright_1_200518.jpg

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

RapidWright_3_200518.jpg

このように RapidWright はVivado のデザインの動作周波数やラインタイムの短縮を行う効果があるようだ。
その後のスライドでもデバックのためにILA を入れる時の時間も大幅に短縮されているようだ。

RapidWright DocumentationGetting StartedQuick 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([])
を入力した。
RapidWright_4_200518.png

GUI が表示された。
RapidWright_5_200518.png
  1. 2020年05月18日 04:52 |
  2. RapidWright
  3. | トラックバック:0
  4. | コメント:0