FC2カウンター 320.デニムリメイク❤︎牛柄ショルダー ポーチ 小物

320.デニムリメイク❤︎牛柄ショルダー ポーチ

320.デニムリメイク❤︎牛柄ショルダー ポーチ

1250円

320.デニムリメイク❤︎牛柄ショルダー ポーチ

320.デニムリメイク❤︎牛柄ショルダー ポーチ:イノベーションを受け入れることは、ai、コンピュータービジョン、自然言語処理、機械翻訳などのテクノロジーを含む、過去10年間の成長と顧客ロイヤルティの基礎となっています。 【sale/81%off】,魅力的な価格,販売実績no.1320.デニムリメイク❤︎牛柄ショルダー ポーチ
fc2ブログ

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

FPGAの部屋

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。
商品の状態新品、未使用
配送料の負担送料込み(出品者負担)
配送の方法ゆうゆうメルカリ便
発送元の地域千葉県
発送までの日数2~3日で発送









コメント無し購入OKです◡̈ ※こちらは調整可能ショルダー紐込みの価格になっています。変更がある場合は必ず購入前にコメント下さい 牛柄追加◡̈♥︎※以前と少し違います 後ろ用のポケット不足のため、ポケット無しデザインはスエード紐を盛る事にしました┏○)) 牛柄に良く合っていて可愛いですよ(*'∀'人)♥︎ 今回、内布は派手に❤︎ツートンです♪ size 約25.5×約16 マチ約5センチ 裏地 ターコイズ紫のツートン パッチワーク、ドット、アニマル柄追加していきます♪ ピアスやクラッチバッグなども出品中なので、是非他の商品もご覧下さい◡̈⃝︎⋆︎* お気持ちですが、まとめ割引きもあります❤︎※紐対象外 定期的にフォロワー様割引きを開催していますので、良かったらフォローして下さい❤︎ ポーチ、ハワイアンポーチ、リメイクの簡単検索↓ #yan_Hawaiian ※デニムは携帯や光の加減で色味が変わります。なるべく実際のカラーに近づけていますが、多少の色味の違いはご了承ください。 ※美品の古着を使用しています。1〜2回洗濯しています。 #デニムリメイク #デニム #リメイク #リメイクポーチ #古着 #古着リメイク#西海岸 #アメリカン #ショルダー #韓国ファッション #牛柄 #cow #モノトーン

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 を示す。

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

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

#include "xf_median_blur.h"

void median_blur_accel_axis(AXI_STREAM& _src, AXI_STREAM& _dst, int img_height, int img_width){
#pragma HLS INTERFACE mode=s_axilite port=img_width
#pragma HLS INTERFACE mode=s_axilite port=img_height
#pragma HLS INTERFACE mode=s_axilite port=return
#pragma HLS INTERFACE mode=axis register_mode=both port=_src register
#pragma HLS INTERFACE mode=axis register_mode=both port=_dst register

    xf::cv::Mat<TYPE, HEIGHT, WIDTH, NPxPC> img_in(img_height, img_width);
    xf::cv::Mat<TYPE, HEIGHT, WIDTH, NPxPC> img_out(img_height, img_width);

#pragma HLS DATAFLOW

    xf::cv::AXIvideo2xfMat(_src, img_in);

    xf::cv::medianBlur <WINDOW_SIZE, XF_BORDER_REPLICATE, TYPE, HEIGHT, WIDTH,  NPxPC> (img_in, img_out);

    xf::cv::xfMat2AXIvideo(img_out, _dst);
}


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 に

320.デニムリメイク❤︎牛柄ショルダー ポーチ

を設定した。
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 でプロジェクトを開いて、作業をしていく。
レリアン NEMIKA 11 ベルト ガウチョパンツ ワイドパンツ《極希少》La Grande Rue 1970/Henry Lamarcheジャケット McGREGOR(あらみん専用)サントリーローヤル12年 リザーブ10年ニッカウィスキー 箱付き一様専用 Kyoji Maruyama ミリタリージャケット rabbit毛皮鬼滅の刃 デコフレアクリルキーホルダー 煉獄 杏寿郎エイデンアンドアネイ ダブルガーゼケット 美品プチバトー長袖ボーダーカットソー
a.v.v. フレアスカート(ミモレ丈)
明治時代頃 時代物 古瀬戸 古美濃 御深井系 呉須 【葵紋】茶碗 茶道具 徳川葵
POLO RALPH LAUREN トラックジャケット POLO SUISSE
ROYAL MINT チャールズ ダイアナ妃御成婚記念 銀貨
【値下げ】BURBERRY LONDON コート
時空の庭園 4枚
★19.0㎝★あったか〜い【すみっコぐらし】ボア付きクロッグサンダル サックス
GAPタンクトップ
【入手困難】90s アディダス 企業ロゴ 3ストライプ トラックジャケット XL旦那はんと痴話喧嘩 笠井あゆみ イラストカードブックマキアージュ パーフェクトマルチベース BB ライト 30g高級感 ゴールド ピアス 韓国ヤンボーマーボー ストラップメンズトップス減農薬 令和三年幻のハツシモ 新米、五分つき!!10k g。一品限定。最終販売!安くします
小分けインク TonoLims 27色
ぎんぎつね 16 イラストカード
ネイル ハートホログラム ライトピンク
新品 高級 豪華 ピンクサファイア ダイヤモンドk18wgリング
【きらら様専用】ブリヂストン JGR ハイブリッドアイアン 純正シャフト
カーディガン
マスキングテープ まとめ売り
Bibiy. "B" mod girl sunglasses
  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 に

320.デニムリメイク❤︎牛柄ショルダー ポーチ

を設定した。
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
»

320.デニムリメイク❤︎牛柄ショルダー ポーチ

320.デニムリメイク❤︎牛柄ショルダー ポーチ:イノベーションを受け入れることは、ai、コンピュータービジョン、自然言語処理、機械翻訳などのテクノロジーを含む、過去10年間の成長と顧客ロイヤルティの基礎となっています。 【sale/81%off】,魅力的な価格,販売実績no.1320.デニムリメイク❤︎牛柄ショルダー ポーチ