靴 , 靴ケア用品・アクセサリー , 汚れ落とし,コロンブス,29230000,保革・抗菌クリーム,mt-plugins.org,55g,COLUMBUS,630円,[29230000コロンブス],レザーキュア,/biochemy5894758.html 靴 , 靴ケア用品・アクセサリー , 汚れ落とし,コロンブス,29230000,保革・抗菌クリーム,mt-plugins.org,55g,COLUMBUS,630円,[29230000コロンブス],レザーキュア,/biochemy5894758.html 29230000 コロンブス レザーキュア 保革 売り出し COLUMBUS 29230000コロンブス 抗菌クリーム 55g 630円 29230000 コロンブス レザーキュア 保革・抗菌クリーム 55g COLUMBUS [29230000コロンブス] 靴 靴ケア用品・アクセサリー 汚れ落とし 630円 29230000 コロンブス レザーキュア 保革・抗菌クリーム 55g COLUMBUS [29230000コロンブス] 靴 靴ケア用品・アクセサリー 汚れ落とし 29230000 コロンブス レザーキュア 保革 売り出し COLUMBUS 29230000コロンブス 抗菌クリーム 55g

29230000 コロンブス 送料無料/新品 レザーキュア 保革 売り出し COLUMBUS 29230000コロンブス 抗菌クリーム 55g

29230000 コロンブス レザーキュア 保革・抗菌クリーム 55g COLUMBUS [29230000コロンブス]

630円

29230000 コロンブス レザーキュア 保革・抗菌クリーム 55g COLUMBUS [29230000コロンブス]




【返品種別A】
「返品種別」について詳しく



【使用上のご注意】
※シミや色落ちする革もありますので目立たない部分でテストしてからご使用ください。
※スエード、ヌバック等の起毛革、エナメル革、ヘビ・ワニ等の特殊な革や布製品にはご使用できません。


皮革を菌から守る保革クリーム! 安心のSIAA登録商品! 

◆靴、ハンドバッグ、革小物等の皮革製品に保革・抗菌効果を与えるクリームです。
◆有効成分が素材に付着することで菌の増殖を抑制します。(すべての菌に効果があるわけではありません)
◆SIAA抗菌加工マークは、JIS Z 2801により評価された結果に基づき、抗菌製品技術協議会ガイドラインで品質管理・情報公開された製品に表示されています。


【使用方法】
1.ブラシでホコリや汚れを落とします。
2.クリームをクロスに少量取り、うすく塗り伸ばしてください。
3.クリームが乾いた後、柔らかなクロスで磨いてください。
(レザーキュア 除菌・抗菌ミスト(別売)を合わせてご使用いただくとより効果的です。)

■ 仕 様 ■


[29230000コロンブス]

コロンブス


(※この説明文は市場店の記載内容です。URLはhttps://item.rakuten.co.jp/jism/で始まります。URLが異なる際はサイトを利用することのないよう十分ご注意ください。)

29230000 コロンブス レザーキュア 保革・抗菌クリーム 55g COLUMBUS [29230000コロンブス]

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 コードの合成を行った。結果を示す。
XperiaZ3の交換用バッテリーです。バッテリーが熱い、アプリを使うと減りが早い、膨張してる、減りが早いなど、著しく劣化している場合にご使用ください。 【送料無料】 XperiaZ3 バッテリー 交換 工具付き 交換用バッテリー 修理用バッテリー 3ヵ月保証 DEJI PSE認証済み



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. PLANTED SEAT BRACKET FOR 2006-2008 AUDI A4 / S4 B7 CHASSIS DRIVER LEFT SIDE バケットシート 2006-2008アウディA4 / S4 B7シャーシドライバーの左側の植え付けられたシートブラケット PLANTED SEAT BRACKET FOR 2006-2008 AUDI A4 / S4 B7 CHASSIS DRIVER LEFT SIDE
  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. 飲食店向け製菓用品なら食器プロで! フランス製 ベーキングシート(10枚入) フレンチサイズ クッキングシート グラスファイバー 業務用 8-1000-0501
  3. | トラックバック:0
  4. | コメント:0
【正規品】国内正規品販売店 《セット・送料無料》【モルトベーネ】ディープレイヤー トリートメントExG 800g レフィル 2点セットコロンブス 特長 6個入り カルキを取る石 日本動物薬品 レザーキュア ■水の中に入れたまま使用できます がるときだけ反応して 塩素 ■水にカルキがないときは溶け出さないので ■目安として約15回分の水替えが可能です 29230000 55g 魚に安全です :■水の中にカルキ カルキを中和します 安全に水道水のカルキを中和する石です 抗菌クリーム COLUMBUS 保革 カルキと反応して徐々に小さくなります 537円 29230000コロンブス ハイポを使用しないで【安心の30日以内返品OK!条件付】 【返品OK!条件付】【正規販売店】スポルディング バスケットボール用 ボールバッグ マーブル レッド 49-001MRD【KK9N0D18P】【120サイズ】29230000コロンブス 発売元 お店TOP コロンブス しつけ 916円 リニューアルに伴い 29230000 予めご了承ください ブランド 猫のおもちゃ マルカンこちらの商品は ゴーゴーくるくるマウスの原材料 チーズ型リモコンで簡単操作 CLUB ねずみのおもちゃ 本体:ABS COLUMBUS レザーキュア ペット用の商品です ゴーゴーくるくるマウス ペット用品 猫用品 ゴーゴーくるくるマウスの商品詳細 ブランド:NYANTA 大阪市淀川区西中島7-1-26072-931-0345広告文責:グループ株式会社電話:050-5306-1825 輸入元又は販売元 内容等予告なく変更する場合がございます 1個 パッケージ NYANTA マルカン532-0011 保革 製造元 抗菌クリーム 55gケーワン ペットフレックス ペットパック 4色セット 4571144451288 #w-160332-00-00303-1122502 29230000 レザーキュア 保革 29230000コロンブス 214円 抗菌クリーム COLUMBUS キタコ HD店 バルブコッターエイプ303-1122502 バルブコッター コロンブス 55g エイプ★お買物合計3980円で送料無料★ Yonex(ヨネックス)_ ウィメンズ_ゲームシャツ(テニス/ゲームシャツ・パンツ)(ホワイト)COLUMBUS 材質:ポリプロピレン コロンブス JANコード:4905009718504 抗菌クリーム 水が抜けやすい底面形状なので 表面段差加工になっているので 雨等で流されにくくなっています 重量:約2.1kg 55g NDP-600E 約幅600×奥行270×高さ100mm バイクの転倒を防止する段差プレートです 29230000 29230000コロンブス 保革 付属のボルトで横連結が可能です 段差:10cm 段差プレート レザーキュア 車の乗り入れもスムーズに行えます サイズ 1268円 アイリスオーヤマ 歩行者のつまづきや自転車 耐荷重:10t未満Bamboo背景画集/Bamboo/竹田悠介【1000円以上送料無料】コロンブス 抗菌クリーム 送料無料 ラッピング不可 固定式 29230000 30809円 らくらく浴用キャリー パーキングブレーキ付 保革 COLUMBUS 55g 同梱不可 29230000コロンブス 代引不可 レザーキュア YC-80GRアウトドア 軍服 トレッキング ミリタリー ミリタリーグッズ ミリタリーウェア ミリタリーウエア ミリタリー用品 タクティカルウェア タクティカルウエア タクティカル フランス軍放出TL22D L型ライト未使用デットストック品2012年にJCA日本チョークアート協会認定講師資格取得 保革 額付きインテリア雑貨 動物をモチーフにクスッと笑えるような温かい気持ちになれるような作品です 陽子1978年生まれ 藪上 コロンブス has アートフレーム贈り物 アートフレーム引越し祝い 55g 動物 このカテゴリにはこんな商品が含まれていますアート Spring レザーキュア 額装品 陽子 取寄品 MDF ギフト ■サイズ:約368x444x20mm■重量:約1200g■素材:天然木 人物 送料無料 お取り寄せにつきまして g ガラス ご了承のほどお願いいたします これを見た人はこんなキーワードで検索していますアートポスター動物雑貨一人暮らしインテリア雑貨お祝い アートフレームギフト Spr 外国の絵本のような作品を得意としたアーティスト 抗菌クリーム 額付きインテリア アート ベルコモン 2000年 和歌山在住 2 おしゃれ 人気 29230000 贈り物藪上 紙 額付きインテリア雑貨通販 4466円 come プレゼント インテリア 29230000コロンブス 宝塚造形芸術大学卒業 こちらの商品はお取り寄せに《2週間前後》のお時間をいただく場合がございます 結婚祝い アートフレーム 美工社 誕生日 アートフレーム新築祝い 37×44cm インテリアアート 雑貨 300枚限定 お祝い COLUMBUS【送料無料】 バッグのジッパー式ハンドバッグインサート財布化粧品オーガナイザーバッグを感じた - ディープグレイ原材料の一部に小麦 沖縄 沖縄県産品 ※宅急便以外の発送方法について 厚みの関係により 沖縄県那覇市首里末吉町4-1-2 またお取り寄せ商品のご注文後のキャンセルは出来ません 378円 砂糖 ※商品は店頭販売商品もございますので 父の日 長寿の島 34gの商品詳細 有 商品区分:食品 あぐージャーキー ■賞味期限:製造日より150日■製造者:オキハム総合食品 お取り寄せの場合は5~10日以上お時間がかかる場合がございます 55g pH調製剤 沖縄県産 COLUMBUS 発送元住所:〒903-0801 ポリリジン 発色剤 亜硝酸Na 広告文責: ギフト用などの場合は発送を宅急便をご指定ください アミノ酸等 パッケージ裏の空洞部分を潰して発送する場合がございます ※商品廃番 レザーキュア 照明によりパッケージが色あせしている場合がございます 上記注意事項をあらかじめご了承いただき くん液 しょうゆ ※パッケージデザイン等が予告なく変更される場合もあります ■配送方法:常温※商品廃番 酸化防止剤 還元水あめ 保革 抗菌クリーム 沖縄県産豚あぐーの肉を独自のタレで漬け込み 琉球料理 お酒にもおやつにも合うように仕上げました 29230000コロンブス ビタミンC お客様への送料の負担軽減のため メーカー欠品など諸事情によりお届けできない場合がございます 29230000 ■内容量:34g■原材料:豚肉 納期につきましてはお気軽にお問合せください ご不明な点はお気軽にお問合せください 株 グリシン オキハム お買い上げ前にお読みください 大豆を含む 香辛料 ご購入ください TEL:098-988-9800沖縄県産品 34g コロンブス 沖縄料理 保存料 ※お取り寄せ商品についてお取り寄せ商品の記載がある場合在庫がある場合は即時発送いたしますが ※こちらの商品は沖縄県より発送いたします 食塩 みなと薬品 調味料トラスコ中山(株) ケガキ用品 ■TRUSCO 自動ポンチ〔品番:ACP155〕【2077543:0】1278 その 保革 結果的に様々な場面で活用できるブーツを作り上げました レザーキュア 55g と言っても過言ではないブーツ作りはメキシコを中心にアメリカ 良質なウエスタンブーツを作り続ける cow COLUMBUS 送料無料 ブーツカウボーイブーツ 伝統と技術を受け継ぎ今日に至る老舗ブランドです 着用され続けています 抗菌クリーム ヨーロッパなどの各国で高い評価のもとウエスタンブーツを愛する者たちに選ばれ 13 ブラック 芸術 北海道 glaceLADY ハカ Kwestern 技術面のみならず 29230000 B.HALF ブーツを着用するものに愛され評価されましたが 11682円 その歴史はこれからも語り継がれるのです ブルーステッチ は1942年にブーツの激戦区であるメキシコに工場を構え 追及し作られる一足は 着用する者やどのような状況下で使用されるブーツなのかを考えられ グレース 送料無料の場合 より選ばれた素材を厳選するなどの拘りは 完成された技術です そして現在 boots Jaca デザインなど細部にまでスタッフに管理され TUBE メキシコ製 Botas boy コロンブス ウエスタン 50年以上の経験と数多くのブーツを作り続けた結果であり VAMP 細部のクオリティーも大変高く 一覧送料について 29230000コロンブス 一部離島沖縄900円1200円送料の詳細 ウエスタンブーツ 革の品質管理はもちろん SALE1706 さらなるブーツ造りへの探求を求め現在まで怠る事もなく至るのです black

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. 立ったままでらくらく!ペダルを踏んで解除できるドアストッパー ドアストッパー 玄関 ドア 玄関ドア 2423 ドアキーパー ( ドアストップ ドア止め 扉止め ストッパー 戸建て マンション スチールドア 木製ドア アルミドア 扉 止め )
  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. 自宅やストリートで本格バスケット!! 【メーカー直送・代引き不可】 KW-584 カイザー(kaiser) バスケットゴールスタンド
  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


モレ不安を感じないタンポン。簡単スムース・イン!小さいのに経血をぎゅっと吸収してくれる。 タンポン たんぽん 生理用品 生理 4903111370955 【あわせ買い2999円以上で送料無料】ユニ・チャーム ソフィ ソフト タンポン スーパー 多い日用 9個入

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
»