FC2カウンター ノーズワックススティック 50本鼻毛脱毛ワックス ブラジリアンワックス 基礎化粧品

ノーズワックススティック 50本鼻毛脱毛ワックス ブラジリアンワックス

ノーズワックススティック 50本鼻毛脱毛ワックス ブラジリアンワックス

350円

ノーズワックススティック 50本鼻毛脱毛ワックス ブラジリアンワックス

ノーズワックススティック 50本鼻毛脱毛ワックス ブラジリアンワックス:私たちのファクトリーは、最高品質の有名ブランドの電子機器を非常に低価格で提供してきました。 激安挑戦中,【激安セール】,新しいノーズワックススティック 50本鼻毛脱毛ワックス ブラジリアンワックス
fc2ブログ

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

FPGAの部屋

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




お買い求めいただく前にプロフをお読みください。 複数商品をご購入する場合、必ず購入前にコメントをお願いします! *値下げ不可* 商品名:鼻毛ワックス脱毛専用スティック 鼻毛ワックス脱毛専用スティックです。 先端はワックスが絡みやすいスクリュー形状になっています。 また、ストッパーがついているので、鼻の奥にスパチュラが入り込まないような仕様になっています。 *こちらはスティック単品のみになります。 ワックス、説明書などついておりません。* *画像通りの梱包を発送致します!* *見本は50本の包装見本です。* 10本 300円 20本 480円 50本 700円 100本 1200円 500本 4840円 1000本 7680円 ご希望本数がございましたら、コメントをお願いします! ワックス単品、シリコンカップ単品もご用意できております。 ワックスとまとめて購入する際、 スティックの金額: 50本以下の場合、1本 14円 50本以上の場合、1本 12円 100本以上の場合、1本 10円 鼻毛脱毛用ワックス、シリコンカップの取り扱いもございます。 カップ1個 10円 ワックス金額: 100g 560円 150g 830円 200g 900円 300g 1200円 400g 1750円 500g 1980円 1kg 3600円 5kg 12800円 まとめてご購入希望の場合、コメントお願いします。 説明書は付いておりません。 注:無許可で当方の商品の画像や商品説明内容を無断使用されることが発見したら即通報致します。 #ブラジリアンワックス #脱毛ワックス #粒ワックス #鼻毛ワックス #ハードワックス #ノーズワックス #サボテン 詰替用 代用品 代替品 #ズポーンZUPP〜N 詰替用 代用品 代替品 #ゴッソ gosso 詰替用 代用品 代替品 #REPICAワックス #メンズゴリラ #除毛剤 #除毛 #脱毛 #美容 #ボディケア #サロン専用

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 に

-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 でプロジェクトを開いて、作業をしていく。
羊毛フェルト うさぎ クリーナー マスコットナンバー1028★別冊付録 EURO出場24カ国 選手名鑑付!【最終値下げ】ゼナック ブラッカート B65フィネスユニクロ キャミソール タンクトップ サイズ130WEGO 財布【値下げしました】GTRACING ゲーミングチェア【送料無料】アフロ田中 ブルーレイUOTANI SPⅡ ハイパワーコイルセット
生地 はぎれ レトロフラワー☆
僕のヒーローアカデミア すまっしゅ!! 1〜5
お値下げ!キャロウェイゴルフのダウンジャケット☆
0302.キュートマリーピンクコーデュロイサスペンダースカート13〜14歳
髪飾り 成人式 和装 ちりめん
ル クルーゼ ハートココット皿×1個 ココット皿×10個
【CD】ANNE-LIE RYDÉ/PRIME DONNAI(211122)
ラジカセ カセットテープ カセットデッキ AIWA CR-W37
トトロのコインケースです。です。アルカリ乾電池 単1形2本パック【5個セット】送料無料 絶版本 入手困難 男闘呼組 写真集 ジャニーズラック様専用 クシタニ(KUSHITANI) メッシュジャケット Mイタリア製 ジャケット ウールン商会 KUTAHYA和装用バッグチノパンスーパードラゴンボールヒーローズ 人造人間17号 UM9-053
プラダ キーホルダー チャーム
レーベル ポップR P60とP65
飾り物
✨闇でも見える!LED4連ダイヤルロック 住宅セキュリティ 倉庫 南京錠
MA-1 ブルゾン ジャケット UNIQLO
シュシュ すとぷり
メンズ チノパン サイズL
大樹王 ギガンディダノス A
  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
»

ノーズワックススティック 50本鼻毛脱毛ワックス ブラジリアンワックス

ノーズワックススティック 50本鼻毛脱毛ワックス ブラジリアンワックス:私たちのファクトリーは、最高品質の有名ブランドの電子機器を非常に低価格で提供してきました。 激安挑戦中,【激安セール】,新しいノーズワックススティック 50本鼻毛脱毛ワックス ブラジリアンワックス