FC2カウンター 30プリウス用 車高調 RS-R Best-i 自動車・オートバイ

30プリウス用 車高調 RS-R Best-i

30プリウス用 車高調 RS-R Best-i

16666円

30プリウス用 車高調 RS-R Best-i

30プリウス用 車高調 RS-R Best-i:イノベーションを受け入れることは、ai、コンピュータービジョン、自然言語処理、機械翻訳などのテクノロジーを含む、過去10年間の成長と顧客ロイヤルティの基礎となっています。 マート,最大54%offクーポン,沸騰ブラドン30プリウス用 車高調 RS-R Best-i
fc2ブログ

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

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。
商品の状態傷や汚れあり
配送料の負担着払い(購入者負担)
配送の方法未定
発送元の地域岐阜県
発送までの日数4~7日で発送







30系プリウス用の車高調です! 品名はRS-R Best-iです 物は写真に写っているもののみになります ご理解の上ご購入下さい 大体ですが、50000キロ程走行しました ご要望あれば写真追加します ※発送にお時間頂きますがご了承ください #30プリウス #ZVW30 #車高調

Vitis HLS 2021.2 で Vitis Vision Library を使用する7(AXI4-Stream 入出力の xf_median_blur 編 3)

Vitis HLS 2021.2 で Vitis Vision Library を使用する6(AXI4-Stream 入出力の xf_median_blur 編 2)”の続き。

Vitis HLS 2021.2 で dilation を実装してみることにしたということで、前回は、Vitis HLS 2021.2 を起動して、xf_median_blur プロジェクトを開いて、 C シミュレーション、C コードの合成、C/RTL 協調シミュレーションを行った。しかし、C/RTL 協調シミュレーション波形は見ることができなかった。今回は、画像サイズを 128 x 128 ピクセルに小さくして、C/RTL 協調シミュレーションを行って、波形を確認した。そして、Export RTL と Implementation を行った。

Vitis_Libraries/vision/data/128x128.png を使用して、xf_median_blur の C/RTL 協調シミュレーションを行った。
Vitis_Vision2_56_220116.png

結果を示す。
Latency は 18193 クロックだった。
128 x 128 = 16384 ピクセルなので、18193 / 16384 ≒ 1.11 クロック / ピクセルだった。
Vitis_Vision2_57_220116.png

今回は、波形を見ることができたので、まずは全体波形から示す。
Vitis_Vision2_58_220116.png

拡大した。
Vitis_Vision2_59_220116.png

p_src_TDATA を見ると、46xxxxxx で下 24 ビットにピクセル・データが入っていそうだ。
p_dst_TDATA も 00xxxxxx で下 24 ビットにピクセル・データが入っていることが分かる。
何処のバイト・フィールドが RGB なのか?は次回検証することにする。

Export RTL を行った。
xf_median_blur/solution1/impl ディレクトリに export.zip が生成された。
Vitis_Vision2_55_220116.png

Implementation を行った。
CP achieved post-implementation が 9.344 ns で危なそうだった。
Vitis_Vision2_60_220116.png
Vitis_Vision2_61_220116.png
Vitis_Vision2_62_220116.png

Vitis HLS メニューから Solution -> Solution Settings... を選択する。
Solution Settings (solution1) ダイアログが開く。
Synthesis を選択し、 Uncertainty を 5 ns にした。
Vitis_Vision2_63_220116.png

これで C コードの合成を行った。
Vitis_Vision2_64_220116.png

Estimated は 5.132 ns になっているが、果たしてどうだろうか?
Implementation を行ったが、以前同様だった。
Vitis_Vision2_65_220116.png

Uncertainty の 5 ns を消して、C コードの合成を行っておいた。結局、元に戻した。
以前の xfOpenCV でも、Uncertainty をいじっても CP achieved post-implementation が改善することは無かった気がする。
  1. 2022年01月18日 03:33 |
  2. Vitis HLS
  3. | トラックバック:0
  4. | コメント:0

Vitis HLS 2021.2 で Vitis Vision Library を使用する6(AXI4-Stream 入出力の xf_median_blur 編 2)

Vitis HLS 2021.2 で Vitis Vision Library を使用する5(AXI4-Stream 入出力の xf_median_blur 編 1)”の続き。

Vitis HLS 2021.2 で dilation を実装してみることにしたということで、前回は、本命の AXI4-Stream 入出力のメディアン・フィルタをやってみようということで、Vitis HLS 2020.2 で xf_median_blur プロジェクトを作成した。今回は、Vitis HLS 2021.2 を起動して、xf_median_blur プロジェクトを開いて、 C シミュレーション、C コードの合成、C/RTL 協調シミュレーションを行った。

Vitis HLS 2021.2 を起動して、、xf_median_blur プロジェクトを開いた。
C シミュレーションを行った。
Vitis_Vision2_43_220116.png

solution1/csim/build ディレクトリに hls.jpg, out_ocv.jpg, diff_img.jpg が生成されている。
hls.jpg を見ると、test2.jpg のノイズが綺麗に除去されていた。メディアン・フィルタのノイズ除去機能が発揮されている。
Vitis_Vision2_45_220116.jpg

Vitis_Vision2_46_220116.jpg

C コードの合成を行って成功した。
Vitis Vision Library L1 で初めて実用的な AXI4-Stream 入出力の IP の C コードの合成が成功した。嬉しい。。。
Vitis_Vision2_47_220116.png
Vitis_Vision2_48_220116.png
Vitis_Vision2_49_220116.png
Vitis_Vision2_50_220116.png
Vitis_Vision2_51_220116.png
Vitis_Vision2_52_220116.png

Latency は 2096432 クロックだった。
画像は最大の 1920 x 1080 = 2073600 ピクセルだから、2096432 / 2073600 ≒ 1.01 クロック/ピクセルだった。

C/RTL 協調シミュレーションを行った。
Co-Simulation Dialog の Input Argument に test2.jpg を指定して、Dump Trace を all にして、C/RTL 協調シミュレーションを行ったが終了しなかった。

そこで、Dump Trace を port にして C/RTL 協調シミュレーションをやり直したが、これも終了しなかった。
Vitis_Vision2_53_220116.png

Dump Trace を none にしたところ、C/RTL 協調シミュレーションが終了した。
結果を示す。
Vitis_Vision2_54_220116.png

Latency は 932817 クロックだった。
シミュレーションでは実際の画像をメディアン・フィルタ処理した時のクロック数なので、画像は 1280 x 720 = 921600 ピクセルとなる。
932817 / 921600 ≒ 1.01 クロック / ピクセルとなった。
  1. 2022年01月16日 05:21 |
  2. Vitis_Vision
  3. | トラックバック:0
  4. | コメント:0

Vitis HLS 2021.2 で Vitis Vision Library を使用する5(AXI4-Stream 入出力の xf_median_blur 編 1)

Vitis HLS 2021.2 で Vitis Vision Library を使用する4(rgbirbayer 編)”の続き。

Vitis HLS 2021.2 で dilation を実装してみることにしたということで、前回は、rgbirbayer をやってみた。これは、AXI4-Stream 入出力で実装されている。dilation 編同様、Vitis HLS 2020.2 でプロジェクトを作成してから Vitis HLS 2021.2 で C コードの合成をやってみた。なお、入力画像が用意できないので、シミュレーションは無しとする。結果は Vitis HLS 2020.2 では C コードの合成が成功したが、Vitis HLS 2021.2 ではエラーになってしまった。今回は、本命の AXI4-Stream 入出力のメディアン・フィルタをやってみよう。

以前、xfOpenCV で AXI4-Stream 版の medianblur をやってみた。”Vivado HLS 2019.2 で xfOpenCV のAXI4-Stream 版 medianblur をやってみる1
Vitis HLS 2020.2 のときに、この xfOpenCV 版をやってみたが、エラーで合成ができなかった。”Vitis Vision Library で AXI4-Stream 入出力の medianblur を実装する1
今回、AXI4-Stream 入出力のサンプルコードの rgbirbayer が公開されていたので、それに合わせて”Vivado HLS 2019.2 で xfOpenCV のAXI4-Stream 版 medianblur をやってみる1”を変更した。
プロジェクトは Vitis HLS 2020.2 で作成し、そのプロジェクトを Vitis HLS 2021.2 で使用することにする。

xf_median_blur.h を示す。

// xf_median_blur.h
// 2020/03/09 by marsee
// xfopencv/examples/medianblur/xf_median_blur_config.h のコードを引用している
// https://github.com/Xilinx/xfopencv/blob/master/examples/medianblur/xf_median_blur_config.h
// xfopencv/examples/medianblur/xf_config_params.h のコードを引用している
// https://github.com/Xilinx/xfopencv/blob/master/examples/medianblur/xf_config_params.h
// 2022/01/10 : for Vitis Vision Library

#ifndef __XF_MEDIAN_BLUR_H__
#define __XF_MEDIAN_BLUR_H__

#include "hls_stream.h"
#include "ap_int.h"
#include "common/xf_common.hpp"
#include "ap_axi_sdata.h"
#include "common/xf_infra.hpp"
#include "common/xf_axi_io.hpp"

#include "imgproc/xf_median_blur.hpp"
//#include "xf_config_params.hpp"

#define NO  1  // Normal Operation
#define RO  0  // Resource Optimized

#define RGB 1
#define GRAY 0

/* Filter window size*/
#define WINDOW_SIZE 3

/*  set the height and weight  */
#define WIDTH  1920
#define HEIGHT 1080

#if NO
#define NPxPC XF_NPPC1
#else
#define NPxPC XF_NPPC8
#endif

#if GRAY
#define TYPE XF_8UC1
#define CHANNELS 1
#define STREAMW 8
#else
#define TYPE XF_8UC3
#define CHANNELS 3
#define STREAMW 32
#endif

typedef hls::stream<ap_axiu<STREAMW,1,1,1> > AXI_STREAM;

#endif


xf_median_blur.cpp を示す。

30プリウス用 車高調 RS-R Best-i


xf_median_blur_tb.cpp を示す。

// xf_median_blur_config_tb.cpp
// 2020/03/08 by marsee

// xfopencv/HLS_Use_Model/Standalone_HLS_AXI_Example/xf_dilation_tb.cpp のコードを引用している
// https://github.com/Xilinx/xfopencv/blob/master/HLS_Use_Model/Standalone_HLS_AXI_Example/xf_dilation_tb.cpp
// xfopencv/examples/medianblur/xf_median_blur_tb.cpp のコードを引用している
// https://github.com/Xilinx/xfopencv/blob/master/examples/medianblur/xf_median_blur_tb.cpp
// 2022/01/10 : for Vitis Vision Library

#include "opencv2/opencv.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgcodecs/imgcodecs.hpp"
#include "xf_median_blur.h"
#include "common/xf_axi.hpp"
#include "common/xf_sw_utils.hpp"

void median_blur_accel_axis(AXI_STREAM& _src, AXI_STREAM& _dst, int img_height, int img_width);

int main(int argc, char** argv)
{

    if(argc != 2)
    {
        fprintf(stderr,"Invalid Number of Arguments!\nUsage:\n");
        fprintf(stderr,"<Executable Name> <input image path> \n");
        return -1;
    }

    cv::Mat out_img,ocv_ref;
    cv::Mat in_img,in_img1,diff;

    // reading in the color image
#if GRAY
    in_img = cv::imread(argv[1], 0);
#else
    in_img = cv::imread(argv[1], 1);
#endif
    if (in_img.data == NULL)
    {
        fprintf(stderr,"Cannot open image at %s\n", argv[1]);
        return 0;
    }
    // create memory for output images
    /*  reading the gray/color image  */
#if GRAY
    ocv_ref.create(in_img.rows,in_img.cols,CV_8UC1);
    out_img.create(in_img.rows,in_img.cols,CV_8UC1);
    diff.create(in_img.rows,in_img.cols,CV_8UC1);
    in_img1.create(in_img.rows,in_img.cols,CV_8UC1);

#else
    ocv_ref.create(in_img.rows,in_img.cols,CV_8UC3);
    out_img.create(in_img.rows,in_img.cols,CV_8UC3);
    diff.create(in_img.rows,in_img.cols,CV_8UC3);
    in_img1.create(in_img.rows,in_img.cols,CV_8UC3);
#endif
    int img_height = in_img.rows;
    int img_width = in_img.cols;

    /////////////////   Opencv  Reference  ////////////////////////
    cv::medianBlur(in_img,ocv_ref,WINDOW_SIZE);
    cv::imwrite("out_ocv.jpg", ocv_ref);

    AXI_STREAM _src,_dst;

    xf::cv::cvMat2AXIvideoxf<NPxPC>(in_img, _src);
    median_blur_accel_axis(_src, _dst, img_height, img_width);
    xf::cv::AXIvideo2cvMatxf<NPxPC>(_dst, in_img1);

    cv::imwrite("hls.jpg", in_img1);
    //////////////////  Compute Absolute Difference ////////////////////

    cv::absdiff(ocv_ref, in_img1, diff);

    float err_per;
    xf::cv::analyzeDiff(diff,0,err_per);
    cv::imwrite("diff_img.jpg",diff);

    in_img.~Mat();
    out_img.~Mat();
    ocv_ref.~Mat();
    in_img.~Mat();
    in_img1.~Mat();
    diff.~Mat();

    if(err_per > 0.0f)
    {
        return 1;
    }

    return 0;
}



Vitis HLS 2020.2 で xf_median_blur プロジェクトを作成した。
Vitis_Vision2_38_220116.png

xf_median_blur ディレクトリに 1280 x 720 ピクセルの test2.jpg 、 xf_median_blur.h, xf_median_blur.cpp, xf_median_blur_tb.cpp をコピーした。
Vitis_Vision2_39_220116.png

test2.jpg を示す。ランダム・ノイズを画像に重畳している。
Vitis_Vision2_45_220116.jpg

Vitis HLS 2021.2 の Project メニューから Project Settings... を選択して、設定を行う。
Project Settings (xf_median_blur) ダイアログが開く。
左のウインドウで Simulation をクリックする。
xf_median_blur_tb.cpp の CFLAGS を設定する。(設定方法は、Edit CFLAGS... ボタンをクリックする)
xf_median_blur_tb.cpp の CFLAGS に

-I/media/masaaki/Ubuntu_Disk/Xilinx_github/Vitis_Libraries/vision/L1/include -std=c++0x -I/usr/local/include

を設定した。

Linker Flags に

-L/usr/local/lib -lopencv_core -lopencv_imgcodecs -lopencv_imgproc

を設定した。
Input Arguments に

/media/masaaki/Ubuntu_Disk/Vitis_HLS/ZYBO_Z7_20/2021.2/xf_median_blur/test2.jpg

を設定した。
Vitis_Vision2_41_220116.png

Project Settings (xf_median_blur) ダイアログの左のウインドウで Synthesis をクリックしxf_median_blur.cpp の CFLAGS を設定する。(設定方法は、Edit CFLAGS... ボタンをクリックする)

-I/media/masaaki/Ubuntu_Disk/Xilinx_github/Vitis_Libraries/vision/L1/include -std=c++0x

を設定した。
Vitis_Vision2_41_220116.png

ZYBO Z7-20 を使用するので、64 ビットアドレスの DMA を禁止して、 32 ビットアドレスの DMA にする。
Vitis HLS の Solution メニューから Solution Settings... を選択する。
Solution Settings (solution1) ダイアログが開く。
config_interface を展開して、m_axi_addr64 の Value のチェックボックスのチェックを外した。
Vitis_Vision2_42_220116.png

これで、Vitis HLS 2020.2 の作業は終了し、次回からは Vitis HLS 2021.2 でプロジェクトを開いて、作業をしていく。
ワンピース防水ステッカー ハルク マーベル キャラクター かっこいい オシャレひつじさん帽子 ハット 毛糸帽子 ベビー 赤ちゃん キッズ 子供チュールスカートリボン付き水着*取り外し可能のスカート付きプラリンピンク2段ピンク新品 ランバン オン ブルー サテン ワイドパンツiPhoneX/XS/11pro 兼用ガラスフィルム ブルーライトカット
レインブーツ ロングブーツ
牛タン入りジャーキーメガ盛り400g
新品即発送♡igor♡TOBBY♡pink
【専用】
ジョンブル 七分丈 Tシャツ
任天堂Switch ジョイコン ネオンレッド 右A
who's who Chico ストレッチデニムサロペット
美品 NINTENDO GAMECUBE (ゲームキューブ)
ガウチョパンツ ワイドパンツハロウィン、アナ雪のエルサ衣装、中学生〜大人MサイズミッドタウンロンハーマンDodobarorロンパースオールインワンユニクロTシャツ新品未使用 キッズサンダル 16㎝ベビーチェアベルト キャリフリー(デニムブルースター✩*)M・A・C スモール アイシャドウ × 4☆新品・未使用☆COACH コーチ 金色ロゴ付き パープル 長財布 ※内側縁:黒
HARUTA ローファー 黒
いぬのきもち2021年3月号
ZARA 厚手シャツ ジャケット
大きいサイズソフトブラ 5XL ボルドー2枚
miki HOUSE(ミキハウス) キッズTシャツ サイズ(100)
KUMONバック
オルビス ネイルカラー
水着 3点セット
  1. 2022年01月15日 05:20 |
  2. Vitis_Vision
  3. | トラックバック:0
  4. | コメント:0

Vitis HLS 2021.2 で Vitis Vision Library を使用する4(rgbirbayer 編)

Vitis HLS 2021.2 で Vitis Vision Library を使用する3(dilation 編 3)”の続き。

Vitis HLS 2021.2 で dilation を実装してみることにしたということで、前回は、dilation の残りの C/RTL 協調シミュレーションと Export RTL , Implementation を行った。今回は、rgbirbayer をやってみたい。これは、AXI4-Stream 入出力で実装されている。dilation 編同様、Vitis HLS 2020.2 でプロジェクトを作成してから Vitis HLS 2021.2 で C コードの合成をやってみた。なお、入力画像が用意できないので、シミュレーションは無しとする。

Vitis HLS 2020.2 で xf_rgbirbayer プロジェクトを作成した。

Vitis_Libraries/vision/L1/examples/rgbirbayer/ の xf_config_params.h, xf_rgbir_accel_axivideo.cpp, xf_rgbir_config_axivideo.h を xf_rgbirbayer ディレクトリにコピーした。
Vitis_Vision2_31_220113.png

Vitis HLS 2020.2 の sources に xf_rgbir_accel_axivideo.cpp を Add Source した。
xf_rgbir_accel_axivideo.cpp は AXI4-Stream 入出力で、AXI4-Stream と xf::cv::Mat 形式を変換するために xf::cv::AXIvideo2xfMat() と xf::cv::xfMat2AXIvideo() の組を使用している。
Vitis_Vision2_32_220113.png

Vitis HLS 2021.2 の Project メニューから Project Settings... を選択して、設定を行う。
Project Settings (xf_rgbirbayer) ダイアログが開く。
左のウインドウで Synthesis をクリックし、xf_rgbir_accel_axivideo.cpp の CFLAGS を設定する。(設定方法は、Edit CFLAGS... ボタンをクリックする)

-I/media/masaaki/Ubuntu_Disk/Xilinx_github/Vitis_Libraries/vision/L1/include -std=c++0x

を設定した。

ZYBO Z7-20 を使用するので、64 ビットアドレスの DMA を禁止して、 32 ビットアドレスの DMA にする。
Vitis HLS の Solution メニューから Solution Settings... を選択する。
Solution Settings (solution1) ダイアログが開く。
config_interface を展開して、m_axi_addr64 の Value のチェックボックスのチェックを外した。

一旦、Vitis HLS 2020.2 で C コードの合成を行った。
Estimated が 9.007 ns で Slack がマイナスになってしまったが、合成することができた。
Vitis_Vision2_34_220114.png
Vitis_Vision2_35_220114.png
Vitis_Vision2_36_220114.png

Vitis HLS 2020.2 を落として、Vitis HLS 2021.2 を起動して、 xf_rgbirbayer プロジェクトを読み込んだ。
C コードの合成を行ったところ、エラーが発生した。
Vitis_Vision2_37_220114.png

エラー内容を示す。

ERROR: [SYNCHK 200-61] /media/masaaki/Ubuntu_Disk/Xilinx_github/Vitis_Libraries/vision/L1/include/common/xf_utility.hpp:66:
unsupported memory access on variable 'tmp_buf' which is (or contains) an array with unknown size at compile time.


Vitis HLS 2021.2 で C コードの合成をすることができなかった。。。
  1. 2022年01月14日 04:32 |
  2. Vitis_Vision
  3. | トラックバック:0
  4. | コメント:0

Vitis HLS 2021.2 で Vitis Vision Library を使用する3(dilation 編 3)

Vitis HLS 2021.2 で Vitis Vision Library を使用する2(dilation 編 2)”の続き。

Vitis HLS 2021.2 で dilation を実装してみることにしたということで、前回は、xf_dilation プロジェクトで C シミュレーション、C コードの合成を行ったが、C コードの合成でエラーになってしまった。しかし、Vitis HLS 2020.2 でプロジェクトを作成してから、そのプロジェクトを Vitis HLS 2021.2 で使用すれば C コードの合成が成功した。今回は、残りの C/RTL 協調シミュレーションと Export RTL , Implementation を行った。

C/RTL 協調シミュレーションを行った。結果を示す。
Vitis_Vision2_20_220113.png
Vitis_Vision2_21_220113.png

Latency は 17834 クロックだった。

C/RTL 協調シミュレーションの波形を示す。
全体波形から。
Vitis_Vision2_27_220113.png
Vitis_Vision2_28_220113.png

拡大する。
Vitis_Vision2_29_220113.png
Vitis_Vision2_30_220113.png

AXI4 Master Read はバーストしているが、AXI4 Master Write はバースト設定にはなっているが、転送間の間が空いている。

Export RTL を行った。
solution1/impl に export.zip が生成された。
Vitis_Vision2_22_220113.png

Implementation を行った。
結果を示す。
Vitis_Vision2_23_220113.png
Vitis_Vision2_24_220113.png
Vitis_Vision2_25_220113.png

Timing Met している。
CP achieved post-implementation は 8.314 ns だった。問題無さそうだ。
  1. 2022年01月13日 05:17 |
  2. Vitis_Vision
  3. | トラックバック:0
  4. | コメント:0

Vitis HLS 2021.2 で Vitis Vision Library を使用する2(dilation 編 2)

Vitis HLS 2021.2 で Vitis Vision Library を使用する1(dilation 編 1)”の続き。

Vitis HLS 2021.2 で dilation を実装してみることにしたということで、前回は、Vitis_Libraries/vision/L1/examples/dilation を Vitis HLS 2021.2 で xf_dilation プロジェクトを作成した。今回は、xf_dilation プロジェクトで C シミュレーション、C コードの合成を行ったが、C コードの合成でエラーになってしまった。
OS は Ubuntu 18.04 LTS を使用している。

xf_dilation プロジェクトで C シミュレーションを行った。
C シミュレーションは成功した。
Vitis_Vision2_6_220112.png

しかし、 dilation/solution1/csim/build ディレクトリの hw_out.jpg を見ると出力がおかしいというのは、前回の”Vitis HLS 2020.2 で Vitis Vision Library を使用する2(dilation 編 2)”と同じ結果だった。
Vitis_Vision2_7_220112.png

C シミュレーションを行ったが、エラーになってしまった。
Vitis_Vision2_8_220112.png

エラー内容は

ERROR: [HLS 207-812] 'common/xf_common.hpp' file not found (xf_dilation/xf_dilation_config.h:22:10)

だった。
Vitis Vision Library L1 の include ディレクトリは指定してあるのだが。。。

なお、Vitis HLS 2021.1 でも xf_dilation プロジェクトを作成して、C コードの合成を行っても同様なエラーが発生した。
Vitis_Vision2_9_220112.png

Vitis HLS 2020.2 で、xf_dilation プロジェクトを作成して、C コードの合成を行うと成功した。
Vitis_Vision2_10_220112.png

それから、不思議なことに、Vitis HLS 2020.2 で xf_dilation_202 プロジェクトを作成し、Vitis HLS 2021.2 で開いて、 C コードの合成を行うと成功した???
Vitis_Vision2_11_220112.png

この結果からすると、Vitis Vision Library L1 を Vitis HLS 2021.X で C コードを合成する時にエラーがでるというバグがあって、それは、プロジェクト作成時に GUI が Synthesis の時の include パスを正常に反映できていないというバグなんじゃないだろうか?

とりあえず Vitis HLS 2021.2 の xf_dilation_202 プロジェクトの合成結果を示す。
Vitis_Vision2_12_220112.png
Vitis_Vision2_13_220112.png
Vitis_Vision2_14_220112.png
Vitis_Vision2_15_220112.png
Vitis_Vision2_16_220112.png
Vitis_Vision2_17_220112.png
Vitis_Vision2_18_220112.png
Vitis_Vision2_19_220112.png
  1. 2022年01月12日 04:40 |
  2. Vitis HLS
  3. | トラックバック:0
  4. | コメント:0

Vitis HLS 2021.2 で Vitis Vision Library を使用する1(dilation 編 1)

Vitis Vision Library を Vitis HLS 2021.2 を使用してやってみることにした。
きっかけは Vitis_Libraries/vision/L1/examples/rgbirbayer/ を見たことだった。この実装は、 AXI4-Stream を使用して実装されている。 Vitis Vision Library で AXI4-Stream が使えるととっても良い。前回 Vitis Vision Library をやった時は AXI4-Stream 入出力にすることができなかった。
また、”XF_8UC4 を使用して median_blur_accel() を実装する”で失敗したが、 XF_8UC4 が Vitis Vision Library で使用できるととっても良い。XF_8UC4 が使用できるようになっていないだろうか?
とりあえず、現状を知るために Vitis HLS 2021.2 で dilation を実装してみることにした。

Vitis Vision Library を使用する時の Vitis HLS 2020.2 の設定方法(dilation 編 1)”を見て、xf_dilation プロジェクトを Vitis HLS 2021.2 で作成しよう。

Vitis HLS 2021.2 で ZYBO Z7-20 用の xf_dilation プロジェクトを作成した。

Vitis Libraries を もう一度、git clone した。
git clone https://github.com/Xilinx/Vitis_Libraries.git

Vitis HLS 2021.2 で xf_dilation プロジェクトを作成した。

Vitis_Libraries/vision/L1/examples/dilation ディレクトリの 3 つのファイル

xf_dilation_accel.cpp
xf_dilation_config.h
xf_dilation_tb.cpp


を Vitis HLS の dilation プロジェクトのディレクトリにコピーした。

Vitis_Libraries/vision/L1/examples/dilation/build ディレクトリの

xf_config_params.h


も Vitis HLS の dilation プロジェクトのディレクトリにコピーした。
Vitis_Vision2_2_220111.png

Vitis HLS の Explorer で Source に xf_dilation_accel.cpp を Test Bench に xf_dilation_tb.cpp を登録した。
Vitis_Vision2_1_220111.png

Vitis HLS 2021.2 の Project メニューから Project Settings... を選択して、設定を行う。
Project Settings (dilation) ダイアログが開く。
左のウインドウで Simulation をクリックする。
xf_dilation_tb.cpp の CFLAGS を設定する。(設定方法は、Edit CFLAGS... ボタンをクリックする)
xf_dilation_tb.cpp の CFLAGS に

-I/media/masaaki/Ubuntu_Disk/Xilinx_github/Vitis_Libraries/vision/L1/include -std=c++0x -I/usr/local/include

を設定した。

Linker Flags に

-L/usr/local/lib -lopencv_core -lopencv_imgcodecs -lopencv_imgproc

を設定した。
Input Arguments に

/media/masaaki/Ubuntu_Disk/Xilinx_github/Vitis_Libraries/vision/data/128x128.png

を指定した。
Vitis_Vision2_3_220111.png

Project Settings (dilation) ダイアログの左のウインドウで Synthesis をクリックし、xf_dilation_accel.cpp の CFLAGS を設定する。(設定方法は、Edit CFLAGS... ボタンをクリックする)

-I/media/masaaki/Ubuntu_Disk/Xilinx_github/Vitis_Libraries/vision/L1/include -std=c++0x

を設定した。
Vitis_Vision2_4_220111.png

最後に ZYBO Z7-20 を使用するので、64 ビットアドレスの DMA を禁止して、 32 ビットアドレスの DMA にする。
Vitis HLS の Solution メニューから Solution Settings... を選択する。
Solution Settings (solution1) ダイアログが開く。
config_interface を展開して、m_axi_addr64 の Value のチェックボックスのチェックを外した。
Vitis_Vision2_5_220111.png
  1. 2022年01月11日 04:53 |
  2. Vitis_Vision
  3. | トラックバック:0
  4. | コメント:0
»

30プリウス用 車高調 RS-R Best-i

30プリウス用 車高調 RS-R Best-i:イノベーションを受け入れることは、ai、コンピュータービジョン、自然言語処理、機械翻訳などのテクノロジーを含む、過去10年間の成長と顧客ロイヤルティの基礎となっています。 マート,最大54%offクーポン,沸騰ブラドン30プリウス用 車高調 RS-R Best-i