メガフルコーン霧密ちゃん,/celestine9797158.html,花・ガーデン・DIY , ガーデニング・農業 , 散水・潅水用具 , 霧吹き,hoto.com.ua,3136円 3136円 メガフルコーン霧密ちゃん 花・ガーデン・DIY ガーデニング・農業 散水・潅水用具 霧吹き ファクトリーアウトレット メガフルコーン霧密ちゃん 3136円 メガフルコーン霧密ちゃん 花・ガーデン・DIY ガーデニング・農業 散水・潅水用具 霧吹き メガフルコーン霧密ちゃん,/celestine9797158.html,花・ガーデン・DIY , ガーデニング・農業 , 散水・潅水用具 , 霧吹き,hoto.com.ua,3136円 ファクトリーアウトレット メガフルコーン霧密ちゃん

チープ ファクトリーアウトレット メガフルコーン霧密ちゃん

メガフルコーン霧密ちゃん

3136円

メガフルコーン霧密ちゃん






・噴板フルコーンだから部品点数が少なく軽量です。
・ビッグフード効果により霧の到達がアップします。
【日本農業システム市場店について】
お客様に自信を持って、おすすめできる商品のみを取り扱い、上質で安心安全な商品をコスパよくお客さまにお届けしたいと考えております。
ランキング上位商品、人気商品、お得な訳ありアウトレット商品、最安商品、お買い得な値引き、セール商品、ポイント10倍商品等、はお問い合わせが多く、 数に限りがありますので、お早目にお買い求めください。

メガフルコーン霧密ちゃん

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

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

Vitis HLS 2021.2 での AXI4 Master インターフェースにおける volatile の扱い4(単発アクセス 2)

Vitis HLS 2021.2 での AXI4 Master インターフェースにおける volatile の扱い3(単発アクセス 1)”の続き。

Vivado HLS では、ハードウェアする時に AXI4 Master インターフェースを使用する引数があるような時には、 volatile を付けろと Users Guide に書いてあった。しかし、 Vitis HLS での volatile の扱いは違っているのかも知れない?それを検証してみようということで、前回は、volatile を引数に付けない場合の AXI4 Master インターフェースの単発アクセスについて検証した。結果は、Read、 Write 共に 1 回の AXI4 Master アクセスとなった。今回は、関数の引数に volatile を付けて、その結果を見てみよう。

pointer_stream_bed関数(ミススペルに気がついたが、そのまま行きます) d_o と d_i 引数に volatile を付けた。


これで C コードの合成を行った。結果を示す。
【送料無料】ミズノ パンタロン(バレーボール) メンズ ドレスネイビー Mizuno V2MD7060 14



Latency は 29 クロックだった。

C/RTL 協調シミュレーションを行った。結果を示す。
Latency は 49 クロックだった。


C/RTL 協調シミュレーションの波形を示す。


Read も Write も 2 回ずつのアクセスが発生している。
Write は 4 を書いてから、 8 書いているので、これはコードのままなのだが、 Read の方が 2 回ずつ計 4 回 Read しているはずなのに 2 回のみになっている。
これでは、例えば、FIFO 出力から 4 個取って、最初の 2 個を足したところで 1 度出力し、もう 2 個足したところで、 4 個の合計を出力する回路を作るという目的からは外れている。それでは、ソースコード通りにアクセスを発生させるにはどうしたら良いだろうか? 次回はソースコード通りにアクセスを発生させてみよう。
  1. 2021年11月16日 04:11 |
  2. 【送料無料】ウォーキング ジョギング ランニング マラソン エクササイズ等に! スマホ アームバンド ウォーキング ジョギング ランニング マラソン 腕 固定 大型スマホ対応 スポーツ ホルダー スマートフォン スマホアクセサリー
  3. | トラックバック:0
  4. | コメント:0

Microchip Technology Hello FPGAキットが来ました

Microchip Technology Hello FPGAキットが土曜日に来ました。

Mouser の Microchip Technology Hello FPGAキットのページです。
非揮発性、フラッシュベース、低消費電力SmartFusion2 SoC FPGA(M2S010)が乗っているようです。
Mouser の Microchip Technology Hello FPGAキットのページの特徴を引用します。

・制御ロジックとデータアクイジション、画像処理、信号処理、人工知能アプリケーションの開発に最適です。
・非揮発性、フラッシュベース、低消費電力SmartFusion2 SoC FPGA(M2S010)に基づいています。
・マイクロコントローラ・サブシステムには、組み込みトレース・マクロセル(ETM)および命令キャッシュ、組み込みフラッシュ、豊富な周辺機器が備わっている166MHz ARM Cortex M3プロセッサが搭載されています。
・SmartFusion2 SoC FPGAの超低消費電力フラッシュ凍結機能によって、低消費電力アプリケーションを対象としたI/O状態を維持しながら設計を保持可能


Libero SoC というのが Microchip の FPGA 用ツールで、Silver(Free) が無料のようです

MICROCHIPのSmart High-Level Synthesis (SmartHLS)はSmartHLS v2021.2 release requires a free stand-alone license.
ということで無料でライセンスもらえるよう
です。












  1. 2021年11月15日 05:24 |
  2. Hello FPGA
  3. | トラックバック:0
  4. | コメント:0

Vitis HLS 2021.2 での AXI4 Master インターフェースにおける volatile の扱い3(単発アクセス 1)

Vitis HLS 2021.2 での AXI4 Master インターフェースにおける volatile の扱い2(バーストアクセス 2)”の続き。

Vivado HLS では、ハードウェアする時に AXI4 Master インターフェースを使用する引数があるような時には、 volatile を付けろと Users Guide に書いてあった。しかし、 Vitis HLS での volatile の扱いは違っているのかも知れない?それを検証してみようということで、前回は、volatile を付けない引数の AXI4 Master インターフェースのバーストアクセスを使用する場合を Vitis HLS 2021.2 で検証した。結果は、volatile を付けない方が良いということだった。次に、AXI4 Master インターフェースで volatile を付けたほうが良い場合を検証していこう。今回は、volatile を引数に付けない場合の AXI4 Master インターフェースの単発アクセスについて検証する。

Vitis High-Level Synthesis User Guide UG1399 2021-10-27 2021.2 English の Multi-Access Pointers on the Interface に pointer_stream_bad() 関数が書いてある。その関数を自分で少し改変してソースコードとして引用する。(pointer_stream_bad.cpp)

// pointer_stream_bad.cpp
// 2021/11/11

#include "stdint.h"

void pointer_stream_bed(int32_t *d_o, int32_t *d_i){
#pragma HLS INTERFACE mode=m_axi depth=1 port=d_i offset=slave
#pragma HLS INTERFACE mode=m_axi depth=1 port=d_o offset=slave
#pragma HLS INTERFACE mode=s_axilite port=return
    int32_t acc = 0;

    acc += *d_i;
    acc += *d_i;
    *d_o = acc;
    acc += *d_i;
    acc += *d_i;
    *d_o = acc;
}


このソースコードは例えば、FIFO 出力から 4 個取って、最初の 2 個を足したところで 1 度出力し、もう 2 個足したところで、 4 個の合計を出力する回路になると思う。 FIFO 出力が AXI4 Lite インターフェースならば、バーストアクセスにならないで単発アクセスなので、ちょうど適合するかな?

テストベンチの pointer_stream_bad_tb.cpp は自分で作成した。

// pointer_stream_bad_tb.cpp
// 2021/11/11 by marsee

#include "stdint.h"
#include "stdio.h"

void pointer_stream_bed(int32_t *d_o, int32_t *d_i);

int main(){
    int32_t d_o = 0;
    int32_t d_i = 2;

    pointer_stream_bed(&d_o, &d_i);

    printf("d_o = %d, d_i = %d\n", (int)d_o, (int)d_i);
}



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


C シミュレーションを行った。
d_o は 2 を 4 回加算したので、8 になっている。


C コードの合成を行った。結果を示す。




C/RTL 協調シミュレーションを行った。結果を示す。
レイテンシは 24 クロックだった。


C/RTL 協調シミュレーションの波形を確認する。


AXI4 Master の Read も Write も 1 回のアクセスのみとなっている。
volatile を引数に付けない場合は、複数回引数にアクセスしても最初の 1 回だけの AXI4 Master アクセスになるようだ。
これは C や C++ として考えると当たり前のことかも知れない。ソフトウェアでは、最初に引数に値を与えて関数をコールし、返り値け結果の値を返すの普通だ。つまり、関数をコールしたら通常は同じ引数から値を得ることは無い。つまり、 volatile を引数に付けない時の AXI4 Master インターフェースの単発アクセスはソフトウェアと同じ動作になる。
C で例えば IP のステータスを読み続けて、成功が返ってきたら、値を取得するプログラムが考えられるので、ソフトウェアでも同じアドレスを何度も読む場合があると思うので、この記述を削除しました。
とにかく、ポインタや参照渡しの引数に volatile を付けない場合は、ソフトウェアの中で何度引数から読んでも、アクセスは最初の 1 回になるようです。書き込みも 1 回だけになるようです。
  1. 2021年11月14日 05:10 |
  2. 【ワンタッチ着脱可能なグリップヒーター】 OPMID製 クリップグリップヒーターUSB接続 5V2A/コントローラー付き適合:プレスカブ50(キャブ車)
  3. | トラックバック:0
  4. | コメント:0
BACCAGLINI メンズ スニーカー シューズ 革靴 フォーマル BACCAGLINI Loafers メンズメーカー直送 D-10 送料無料 ユー 6973円 期日指定 注文後のキャンセル ミックスナッツ 返品不可 400g×10袋 メガフルコーン霧密ちゃん ギフト包装 サイズ個装サイズ:25×40×30cm重量個装重量:4500g仕様賞味期間:製造日より120日生産国日本 代引き 納品遅れやキャンセルが発生 欠品の場合 おつまみにおすすめのミックスナッツ 20%OFfクーポン おやつやおつまみにおすすめです【新品】三島由紀夫 金閣寺 絶対性を滅ぼす 平野啓一郎/著 日本放送協会/編集 NHK出版/編集商品名 カテゴリ6A サイズ個装サイズ:12×5×21cm重量個装重量:148g生産国中国※入荷状況により 代金引換以外のお支払方法をお選びくださいませ 前面キャップ付きで サンワサプライ 100個入 メガフルコーン霧密ちゃん ADT-6ARJ-100代引き不可商品です 周辺機器 生産国:中国 11044円 RJ-45コネクタ 単線用 おまけ付きパソコン 2本 高性能な加工ができます その他 ネットワーク機器 発送日が遅れる場合がございます 有線LAN 関連 単三電池 10ギガビットイーサネットケーブル自作用RJ-45コネクタですiWALK Qi ワイヤレス モバイルバッテリー 充電 5000mAh 持ち運び ナノ吸着 コードレス充電 iPhone 12/11/iPhone XR/8 Plus/Galaxy 10/9/8 などQI対応機種 PSE認証済 ブラックSILVER 1.75 ※ブランドの箱や袋が付属しない場合がございます アクセサリー measures: necklace メガフルコーン霧密ちゃん Peace sterling-silver Pendant length: ■素材100% サイズが合わない場合はサイズ変更も行っておりますので スターリングシルバー※こちらの商品は海外のお取り寄せの商品となりますので お届けまで1週間~10日日前後お時間頂いております x ジュエリー in AMBUSH メンズ sterling 925 シルバー アンブッシュ チャーム 約 サイズ交換無料 55.5cmDimensions: 商品が届いて ご希望の方はご連絡ください Japan■モデル着用サイズ 商品やブランドによってサイズ感が異なりますので参考としてご活用ください ※1inch= silver■生産国Made ※サイズ表は一般的な参考サイズとなっております 29610円 charm ネックレス ■商品説明シルバー925 2.25cm■カラーSILVER 2.54cm換算となっております 商品サイズChain送料無料!世界シェアNO.1補聴器メーカー。 マイクガード フォナック/phonakベビー BPAフリーで抗細菌 4色選べる メガフルコーン霧密ちゃん おしゃぶり 仕様:ボトム長さ:32センチメートル ラックの長さ:7.5センチメートル-17.5センチメートル 哺乳瓶 ボトル きれいに簡単に 1×ベビーボトル乾燥ラック 12.59inch ボトム幅:20cm7.87inch 2.95inch-6.88inch おしゃぶりやその他の付属品のための理想的なポータブルと取り外し可能 説明:哺乳瓶 送料無料 家庭や旅行に便利な 便利 乾燥棚 乾燥ラック パッケージに含まれるもの: 収納ラック 10乾燥ラックを含みます材質:ABSとPP フィーダー 1057円アストル・ピアソラ/コラボレーションズ 【CD】メガフルコーン霧密ちゃん リフレクターは使用できなくなりますのでご注意ください 予めご了承ください 別途ご連絡させていただきます プロテクター 外観 WJ-732R ブラック その際は CE規格レベル2 色合い 別売 リーズナブルな価格でエントリーライダーにもおすすめ ジーンズ 素材:コットン両膝にレベル2CE規格プロテクターを標準装備プロテクターを着脱しやすい外入れ式を採用裾裏のリフレクターはロールアップすることで使用可能商品紹介■普段着同様に履くだけで手軽にプロテクターを装着できるレギュラーフィットストレッチジーンズ ストレッチ素材型番07-732サイズXLカラーブラック※他モールでも併売しているため バイク用 両膝にレベル2CE規格プロテクターを標準装備 タイミングによって在庫切れの可能性がございます に換装も可能 ■製品写真等の色は実物とは多少異なる場合があります KOMINE SK-635 プロテクターを着脱しやすい外入れ式を採用 別売りハードプロテクター カラー:ブラック材質 ストレッチ素材 ■商品のデザイン 価格等につきましては予告なく変更される場合があります 商品コード13035348270商品名コミネ 裾裏のリフレクターはロールアップすることで使用可能 XL 仕様 6422円 コミネ 春夏秋向け また ■夜間被視認性を高めるリフレクター装備■運動性を高める立体裁断■日本製センタージッパー使用使用上の注意※裾上げを行う場合【送料無料】 【送料無料】ホーユービゲン 香りのヘアカラー 乳液 3NAメーカー欠品または完売の際 送料無料 しっかり温まる 3足入 エステー 3足入内容量:3足JANコード:4902899356304発売元 歩きやすいです 足に合わせた左右別形状なので ※商品パッケージは変更の場合あり 4902899356304 メガフルコーン霧密ちゃん 鉱物系吸着剤と抗菌不織布で靴の中のニオイを抑えます 靴の中に敷くだけで 足もと全体をしっかり温めます 8時間タイプは足のサイズに合わせて選べる22cmと25cmcmの2サイズ オンパックス 広告文責:アットライフ株式会社TEL まとめ買い×12個セット 輸入元又は販売元:エステー株式会社原産国:日本商品番号:101-51833ブランド:オンパックス足うらまるごと 足うらまるごと 足ぽかシート 商品名:エステー ご了承ください キャンセルをお願いすることがあります 薄型で 050-3196-1510 冷える足もとをしっかり温めます 違和感が少なく 製造元 3798円ゴムボート 釣り 2馬力 ジョイクラフト 【11月10日限定P最大29.5倍】オレンジペコ323ワイド JOP-323W 2021 わくわくスーパーセレクション SSセット ヤマハ2馬力船外機 予備検査なし エンジン架台付き 5人乗り ゴムボート ジョイクラフト 釣り受注生産 R 24.0cm 社交ダンス 25cm 人気のスタンダードモデル ご了承ください 女性 ラテン カラー:ベージュ 21.0cm 8084円 モニシャン 女性ラテンダンスシューズ ■約4週間でお届けいたします ■サイズ選択には 横幅 モニシャンダンスシューズ 24cm 22cm 4E 3E 25.5cm 23.0cm ワイド 25.0cm 22.0cm オレンジ系 23cm 社交ダンスシューズ メビウス レディース 26cm W キャンセル手数料が発生いたしますので 26.0cm 素材:サテン※お客様のお使いの画面環境により実際の色と若干異なる場合がございます関連キーワード:21cm 24.5cm 22.5cm 指がはみ出にくい5本帯 レギュラー 21.5cm メガフルコーン霧密ちゃん MOBIUS-FBサイズ交換可 ご注意ください※ご注文確定後のサイズ変更は 23.5cmCITIZEN シチズン 置き時計 掛け時計 電波時計 温度・湿度計付き シルバー 8RZ200-003お子様の顔を思い浮かべてお姫様をお選び頂くもの楽しみの一つです 着尺麹塵染めの衣装を着せつけました のように実直に 全国送料無料 姫の衣裳 平安寿峰 ちりめん を使用したお花です にたとえられる三人の友人を持ちなさい 花飾り のように常に凛とした性格の友 その苦難を乗り越えるには 金沢で受け継がれている金箔 京雛 ひな人形 竹 もばかま 非常に鮮やかな赤いお衣装です と言われています 寿峰と佳月のオリジナルコラボお雛様 謹製 雛人形 華やかな印象を与えます 三人官女紅白のお衣装が鮮やかな官女は華やかさと可愛らしさを演出し は 松竹梅 ぼんぼりLED式の雪洞 この三様な友人を持つことで 手描きのお顔ふっくらとした少し幼い印象のお顔です お道具セット螺鈿細工を施した御駕籠 金閣寺や日光東照宮などの多くの文化遺産を現代に伝えてきました お届けする品の色柄が画像掲載品と多少異なる場合がございます 189045円 のように冬の寒さに耐えながらも明るい花を咲かせる陽気な性格の友 三段飾り 建造物や調度品の耐久性を高め 金沢箔の屏風藩政時代から400年以上もの間 お道具セット漆塗りの木製道具セットです 手描きのお顔職人が一つ一つ丁寧にお顔を描き上げました 梅 ※商品は全て一つ一つ手作りの品の為 着尺麹塵染め それ自身の美しさもさることながら お道具 昔も今も人々の心を惹きつけてやみません お雛様をより一層引き立てます 殿の衣裳 お姫様をより一層引き立たせます 正絹 はっきりとした顔のお殿様です ぼんぼり 金沢箔押し屏風のきらめきは 京雛115 本着造り 最安値に挑戦 松 重箱です 人生には誰もが苦難のときがあり です かげつ メガフルコーン霧密ちゃん 金沢箔 着尺麹塵染めを使用 堂々とした表情です とても可愛らしいお花です 重厚感のあるお衣装です 御皇室御嘉納京雛司 そして柔軟な性格の友 送料無料 佳月 立体感があり 高級感があり たとえ苦境に立たされても決して悲観することがない人生が送れるという由来があります

Vitis HLS 2021.2 での AXI4 Master インターフェースにおける volatile の扱い2(バーストアクセス 2)

Vitis HLS 2021.2 での AXI4 Master インターフェースにおける volatile の扱い1(バーストアクセス 1)”の続き。

Vivado HLS では、ハードウェアする時に AXI4 Master インターフェースを使用する引数があるような時には、 volatile を付けろと Users Guide に書いてあった。しかし、 Vitis HLS での volatile の扱いは違っているのかも知れない?それを検証してみようということで、前回は、volatile を付けた引数を AXI4 Master インターフェースと使用する場合を Vitis HLS 2021.2 で検証した。今回は、前回から volatile を除いた場合について検証していこう。

s_squares_axim3.cpp ソースコードを示す。前回のソースコードから引数の volatile を削除した。

#include <stdint.h>

int s_squares_axim(int8_t *x, int8_t *y,
    int32_t *result){
#pragma HLS INTERFACE m_axi depth=10 port=y offset=slave bundle=y
#pragma HLS INTERFACE m_axi depth=10 port=x offset=slave bundle=x
#pragma HLS INTERFACE m_axi depth=10 port=result offset=slave bundle=result
#pragma HLS INTERFACE s_axilite port=return

    for(int i=0; i<10; i++){
#pragma HLS PIPELINE II=1
        result[i] = x[i]*x[i] + y[i]*y[i];
    }

    return(0);
}


テストベンチの s_squares_axim_tb.cpp を示す。

#include <iostream>
#include <stdint.h>

int s_squares_axim(int8_t *x, int8_t *y,
    int32_t *result);

int main(){
    int8_t x[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
    int8_t y[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
    int32_t result[10];

    s_squares_axim(x, y, result);

    for(int i=0; i<10; i++){
        std::cout << "x[" << i << "]= " << (int)x[i] <<
                ", y[" << i << "] = " << (int)y[i] <<
                ", result[" << i << "] = " <<
                (int)result[i] << std::endl;
    }
}


C シミュレーションは前回と同じなので、C コードの合成からやってみよう。結果を示す。


前回の Latency は 28 クロックだったが、今回の実装では、31 クロックになっている。
しかも Modules & Loops に s_squares_axim_Pipline_VITIS_LOOP_10_1 が増えている。
前回のFFは 2143 個、LUT は 2698 個だった。今回の FF は 2214 個、LUT は 3151 個だった。
残りの C コードの合成レポートを示す。



M_AXI Burst Information が変更になっている。
Inferred Burst Summary がきちんとレポートされている。
Inferred Burst and Widening Missed も表示されているが、volatile のじゃなくなっている。
残りの C コードの合成レポートを示す。


C/RTL 協調シミュレーションの結果を示す。
前回のクロック数は 37 クロックで、前回と同じだった。


C/RTL 協調シミュレーションの波形を示す。
これも前回と同じでバーストアクセスとなっている。



IMPLEMENTATION を行った。
これも、全く前回と一緒の結果になった。


AXI4 Master インターフェースの引数から volatile を除いた場合は、C コードの合成では、異なる結果になった。実際に Verilog HDL のコードもファイルが増えていた。しかし、C/RTL 協調シミュレーションでの結果は前回と同じだった。IMPLEMENTATION の結果も前回と全く同じだった。つまり、Vivado で合成すると待った同じ回路になった。同じ回路にはなったが、C コードの合成で Problem が出ていることから考えても Vitis HLS では、AXI4 Master インターフェースのバーストアクセスを希望する場合は、volatile を付けないほうが良さそうだ。
Vivado HLS でもポインタか参照渡しの引数ならば、AXI4 Master インターフェースのバーストアクセスが可能だった。
  1. 2021年11月13日 04:59 |
  2. 最中種にふっくら艶やかな小豆 不動の大井戸最中
  3. | トラックバック:0
  4. | コメント:0

Vitis HLS 2021.2 での AXI4 Master インターフェースにおける volatile の扱い1(バーストアクセス 1)

Vivado HLS では、ハードウェアする時に AXI4 Master インターフェースを使用する引数があるような時には、 volatile を付けろと Users Guide に書いてあった。しかし、 Vitis HLS での volatile の扱いは違っているのかも知れない?それを検証してみよう。

Vivado HLS 2019.2 UG902 (v2019.2) 2020 年 1 月 13 日 の volatile の説明を引用する。


Vitis HLS 2020.1 UG1399 (v2020.1) 2020 年 6 月 24 日 の volatile の説明を引用する。

バーストアクセスなし等の文言が増えている。

さて、Vitis HLS 2021.2 で実際にやってみよう。

s_squares_axim3.cpp ソースコードを示す。これは Vivado HLS 時代からセミナの実装例として使用している。
AXI4 Master インターフェースを 3 個持ったデザインとなっている。ここでは、関数を読んだ時に複数個データを Read したり、データを Write したりしているので、 volatile を付けている。

#include <stdint.h>

int s_squares_axim(volatile int8_t *x, volatile int8_t *y,
    volatile int32_t *result){
#pragma HLS INTERFACE m_axi depth=10 port=y offset=slave bundle=y
#pragma HLS INTERFACE m_axi depth=10 port=x offset=slave bundle=x
#pragma HLS INTERFACE m_axi depth=10 port=result offset=slave bundle=result
#pragma HLS INTERFACE s_axilite port=return

    for(int i=0; i<10; i++){
#pragma HLS PIPELINE II=1
        result[i] = x[i]*x[i] + y[i]*y[i];
    }

    return(0);
}


テストベンチの s_squares_axim_tb.cpp を示す。

#include <iostream>
#include <stdint.h>

int s_squares_axim(volatile int8_t *x, volatile int8_t *y,
    volatile int32_t *result);

int main(){
    int8_t x[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
    int8_t y[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
    int32_t result[10];

    s_squares_axim(x, y, result);

    for(int i=0; i<10; i++){
        std::cout << "x[" << i << "]= " << (int)x[i] <<
                ", y[" << i << "] = " << (int)y[i] <<
                ", result[" << i << "] = " <<
                (int)result[i] << std::endl;
    }
}



s_squares_axim プロジェクトを示す。


C シミュレーションを行った。結果を示す。


C コードの合成を行った。結果を示す。




M_AXI Burst Information に Volatile の Problem が出ているのが分かる。UG1399 でバーストアクセスなしになっているからだろう?
214-227 をクリックすると Burst Interface Failure 5 が表示された。


つまり、volatile を削除しろと言っている。

volatile そのままで C/RTL 協調シミュレーションを行った。結果を示す。
Latency は 37 クロックだった。


C/RTL 協調シミュレーションの波形を見た。
バーストアクセスなしとはなっていても、Read も Write もバーストアクセスしている。



Implementation の結果を示す。


Vitis HLS 2021.2 では、引数に volatile を付けていてもバーストアクセスすることができている。しかし、C コードの合成で volatile を付けていることの Problem が出ている。
次回は、volatile を削除してやってみよう。
  1. 2021年11月12日 05:12 |
  2. SONY CD-R オーディオ 10枚パック 10CRM80HPXS
  3. | トラックバック:0
  4. | コメント:0

KV260 で ikwzm さんの ZynqMP-FPGA-Linux を試してみる5(OpenCV 4.5.4 をインストール、その2)

KV260 で ikwzm さんの ZynqMP-FPGA-Linux を試してみる4(OpenCV 4.5.4 をインストール、その1)”の続き。

KV260 に ikwzm さんの ZynqMP-FPGA-Linux をインストールして、前回は、OpenCV 4.5.4 をインストールしようということで、cmake まで実行した。今回は、OpenCV 4.5.4 の残りのインストールを行う。

make -j4
で、4 個のプロセッサを使用して、make したが、74 % で止まってしまった。反応が相当遅くなっているみたいだ。



一旦リブートして、もう一度 2 プロセッサで make を実行した。
make -j2


606332 ナカオ アルミ羽釜28cmカン無 606332 ナカオ アルミ羽釜28cmカン無

make が終了した。

sudo make install


sudo ldconfig


1 つ上のディレクトリに上がって、 samples/python ディレクトリに入った。
cd ../samples/python/
ls



デモ・ソフトウェアを起動した。
python3 demo.py


facedetect.py を Run した。




asift.py を Run した。




これもうまく行った。

画像を見るのに、 viewnior をインストールした。
sudo apt install viewnior


calibrate.py を Run した。カメラのレンズの歪みを補正するソフトウェアのようだ。


これが元画像。


これが補正画像だ。


find_oby.py を Run した。画像が何処にあるかを調べるソフトウェアのようだ。


結果のウインドウ。


OpenCV 4.5.4 はきちんと動作するようだ。
  1. 2021年11月11日 03:54 |
  2. KRIA KV260 Vision AI Starter Kit
  3. | トラックバック:0
  4. | コメント:0

KV260 で ikwzm さんの ZynqMP-FPGA-Linux を試してみる4(OpenCV 4.5.4 をインストール、その1)

KV260 で ikwzm さんの ZynqMP-FPGA-Linux を試してみる3”の続き。

ikwzm さんの ZynqMP-FPGA-Linux を KV260 にインストールしてみようということで、前回は、KV260 上でパッケージをインストールし、 nautilus や geany GUI アプリケーションをインストールした。今回は、OpenCV 4.5.4 をインストールしよう。cmake までを書いた。

OpenCV 4.5.4 をインストールするために参考にしたサイトは”OpenCVが4.0になっていたのでcontribも含めてコンパイルしてみる。
それと、自分のブログの”Ultra96-V2 に ikwzm/ZynqMP-FPGA-Linux をインストール4(OpenCV 4.1.0 のインストール)

OpenCVが4.0になっていたのでcontribも含めてコンパイルしてみる。”を参考にして、必要なパッケージをインストールする。

sudo apt install build-essential


sudo apt install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev


sudo apt install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff-dev libdc1394-22-dev


OpenCV 4.5.4 を git clone する。
git clone https://github.com/opencv/opencv.git
ls
cd opencv
ls
git checkout -b 4.5.4 refs/tags/4.5.4



Ultra96-V2 に ikwzm/ZynqMP-FPGA-Linux をインストール4(OpenCV 4.1.0 のインストール)”のパッケージをインストールする。

sudo apt install python3-tk libgtk2.0-dev pkg-config


sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev


sudo apt-get install libcanberra-gtk-module


build ディレクトリを作成した。build ディレクトリに入った。
cmake を行った。
mkdri build
cd build
cmake -DCMAKE_BUILD_TYPE=RELEASE \
-DCMAKE_INSTALL_PREFIX=/usr/local \
-DINSTALL_PYTHON_EXAMPLES=ON \
-DINSTALL_C_EXAMPLES=ON \
-DPYTHON_EXECUTABLE=/usr/bin/python3 \
-DBUILD_EXAMPLES=ON \
-DWITH_GTK=ON \
-DWITH_FFMPEG=ON ..




-- General configuration for OpenCV 4.5.4 =====================================
--   Version control:               4.5.4
-- 
--   Platform:
--     Timestamp:                   2021-11-09T19:34:09Z
--     Host:                        Linux 5.10.0-xlnx-v2021.1-zynqmp-fpga aarch64
--     CMake:                       3.13.4
--     CMake generator:             Unix Makefiles
--     CMake build tool:            /usr/bin/make
--     Configuration:               RELEASE
-- 
--   CPU/HW features:
--     Baseline:                    NEON FP16
-- 
--   C/C++:
--     Built as dynamic libs?:      YES
--     C++ standard:                11
--     C++ Compiler:                /usr/bin/c++  (ver 8.3.0)
--     C++ flags (Release):         -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Wsuggest-override -Wno-delete-non-virtual-dtor -Wno-comment -Wimplicit-fallthrough=3 -Wno-strict-overflow -fdiagnostics-show-option -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections    -fvisibility=hidden -fvisibility-inlines-hidden -O3 -DNDEBUG  -DNDEBUG
--     C++ flags (Debug):           -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wundef -Winit-self -Wpointer-arith -Wshadow -Wsign-promo -Wuninitialized -Wsuggest-override -Wno-delete-non-virtual-dtor -Wno-comment -Wimplicit-fallthrough=3 -Wno-strict-overflow -fdiagnostics-show-option -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections    -fvisibility=hidden -fvisibility-inlines-hidden -g  -O0 -DDEBUG -D_DEBUG
--     C Compiler:                  /usr/bin/cc
--     C flags (Release):           -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wuninitialized -Wno-comment -Wimplicit-fallthrough=3 -Wno-strict-overflow -fdiagnostics-show-option -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections    -fvisibility=hidden -O3 -DNDEBUG  -DNDEBUG
--     C flags (Debug):             -fsigned-char -W -Wall -Werror=return-type -Werror=non-virtual-dtor -Werror=address -Werror=sequence-point -Wformat -Werror=format-security -Wmissing-declarations -Wmissing-prototypes -Wstrict-prototypes -Wundef -Winit-self -Wpointer-arith -Wshadow -Wuninitialized -Wno-comment -Wimplicit-fallthrough=3 -Wno-strict-overflow -fdiagnostics-show-option -pthread -fomit-frame-pointer -ffunction-sections -fdata-sections    -fvisibility=hidden -g  -O0 -DDEBUG -D_DEBUG
--     Linker flags (Release):      -Wl,--gc-sections -Wl,--as-needed  
--     Linker flags (Debug):        -Wl,--gc-sections -Wl,--as-needed  
--     ccache:                      NO
--     Precompiled headers:         NO
--     Extra dependencies:          dl m pthread rt
--     3rdparty dependencies:
-- 
--   OpenCV modules:
--     To be built:                 calib3d core dnn features2d flann gapi highgui imgcodecs imgproc ml objdetect photo python2 python3 stitching ts video videoio
--     Disabled:                    world
--     Disabled by dependency:      -
--     Unavailable:                 java
--     Applications:                tests perf_tests examples apps
--     Documentation:               NO
--     Non-free algorithms:         NO
-- 
--   GUI:                           GTK2
--     GTK+:                        YES (ver 2.24.32)
--       GThread :                  YES (ver 2.58.3)
--       GtkGlExt:                  NO
--     VTK support:                 NO
-- 
--   Media I/O: 
--     ZLib:                        /usr/lib/aarch64-linux-gnu/libz.so (ver 1.2.11)
--     JPEG:                        /usr/lib/aarch64-linux-gnu/libjpeg.so (ver 62)
--     WEBP:                        build (ver encoder: 0x020f)
--     PNG:                         /usr/lib/aarch64-linux-gnu/libpng.so (ver 1.6.36)
--     TIFF:                        /usr/lib/aarch64-linux-gnu/libtiff.so (ver 42 / 4.1.0)
--     JPEG 2000:                   build (ver 2.4.0)
--     OpenEXR:                     build (ver 2.3.0)
--     HDR:                         YES
--     SUNRASTER:                   YES
--     PXM:                         YES
--     PFM:                         YES
-- 
--   Video I/O:
--     DC1394:                      YES (2.2.5)
--     FFMPEG:                      YES
--       avcodec:                   YES (58.35.100)
--       avformat:                  YES (58.20.100)
--       avutil:                    YES (56.22.100)
--       swscale:                   YES (5.3.100)
--       avresample:                NO
--     GStreamer:                   NO
--     v4l/v4l2:                    YES (linux/videodev2.h)
-- 
--   Parallel framework:            pthreads
-- 
--   Trace:                         YES (with Intel ITT)
-- 
--   Other third-party libraries:
--     Lapack:                      NO
--     Eigen:                       NO
--     Custom HAL:                  YES (carotene (ver 0.0.1))
--     Protobuf:                    build (3.5.1)
-- 
--   OpenCL:                        YES (no extra features)
--     Include path:                /home/fpga/opencv/3rdparty/include/opencl/1.2
--     Link libraries:              Dynamic load
-- 
--   Python 2:
--     Interpreter:                 /usr/bin/python2.7 (ver 2.7.16)
--     Libraries:                   /usr/lib/aarch64-linux-gnu/libpython2.7.so (ver 2.7.16)
--     numpy:                       /usr/lib/python2.7/dist-packages/numpy/core/include (ver 1.16.2)
--     install path:                lib/python2.7/dist-packages/cv2/python-2.7
-- 
--   Python 3:
--     Interpreter:                 /usr/bin/python3 (ver 3.7.3)
--     Libraries:                   /usr/lib/aarch64-linux-gnu/libpython3.7m.so (ver 3.7.3)
--     numpy:                       /usr/lib/python3/dist-packages/numpy/core/include (ver 1.16.2)
--     install path:                lib/python3.7/dist-packages/cv2/python-3.7
-- 
--   Python (for build):            /usr/bin/python2.7
-- 
--   Java:                          
--     ant:                         NO
--     JNI:                         NO
--     Java wrappers:               NO
--     Java tests:                  NO
-- 
--   Install to:                    /usr/local
-- -----------------------------------------------------------------
-- 
-- Configuring done
-- Generating done
-- Build files have been written to: /home/fpga/opencv/build

  1. 2021年11月10日 05:11 |
  2. KRIA KV260 Vision AI Starter Kit
  3. | トラックバック:0
  4. | コメント:0
»