お散歩ハンディシャワー,/lepidodendraceous9982108.html,リッチェル,お散歩ハンディシャワー,ダークブラウン,リッチェル,S,S,283円,ダークブラウン,ペット・ペットグッズ , 犬用品 , お出かけ・お散歩グッズ , その他,imprentaonline.cevagraf.coop お散歩ハンディシャワー,/lepidodendraceous9982108.html,リッチェル,お散歩ハンディシャワー,ダークブラウン,リッチェル,S,S,283円,ダークブラウン,ペット・ペットグッズ , 犬用品 , お出かけ・お散歩グッズ , その他,imprentaonline.cevagraf.coop 格安SALEスタート リッチェル お散歩ハンディシャワー ダークブラウン S 格安SALEスタート リッチェル お散歩ハンディシャワー ダークブラウン S 283円 リッチェル お散歩ハンディシャワー S ダークブラウン リッチェル お散歩ハンディシャワー S ダークブラウン ペット・ペットグッズ 犬用品 お出かけ・お散歩グッズ その他 283円 リッチェル お散歩ハンディシャワー S ダークブラウン リッチェル お散歩ハンディシャワー S ダークブラウン ペット・ペットグッズ 犬用品 お出かけ・お散歩グッズ その他

格安SALEスタート リッチェル お散歩ハンディシャワー ダークブラウン S 贈与

リッチェル お散歩ハンディシャワー S ダークブラウン リッチェル お散歩ハンディシャワー S ダークブラウン

283円

リッチェル お散歩ハンディシャワー S ダークブラウン リッチェル お散歩ハンディシャワー S ダークブラウン



商品説明

商品名
お散歩ハンディシャワー S ダークブラウン
シャワー・給水器の2通りの使い方ができます。

メーカー名
リッチェル

商品詳細
●市販のペットボトルを接続するだけで使用できます。
●ワンタッチ動作で簡単に使用できるので、お散歩時の持ち運びに便利です。
●受皿の向きを変えることでシャワー/給水器の2通りの使い方ができます。給水時は受皿に水を溜められるので、手軽に水分補給ができます。
●リードバッグベルト通しなどに引っ掛けて携帯できるカラビナ付きです。

原料
受皿・ネジキャップ:ポリプロピレン、シャワーキャップ:ポリエチレン、カラビナ:アルミ

原産国
中国

個装サイズ(mm)
(約)幅210×高さ140×奥行460


【送料について】
北海道、沖縄、離島は別途送料を頂きます。

リッチェル お散歩ハンディシャワー S ダークブラウン リッチェル お散歩ハンディシャワー S ダークブラウン

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 コードの合成を行った。結果を示す。
ASOS DESIGN レディース 衣服 ファッション 水着 エイソス ASOS DESIGN mix and match mirror satin rib thong bikini bottom in orange レディース



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. 【第2類医薬品】 ワイビー12 (15ml) 3980円以上で送料無料 離島は除く
  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. スイッチをつけると瞬時にオレンジに染まる石英管がどこか懐かしくレトロな味わいを見せるヒーター。 HERMOSA HKレトロヒーター RH-003WAL(ウォールナット)
  3. | トラックバック:0
  4. | コメント:0
チャイルドシート ジュニアシート スマートキッズベルト 子供用シートベルト キッズシートベルト シートベルト 子供用 子ども用 携帯型 Eマーク適合 スマートキッズベルト B1092送料無料 チャイルドシート ジュニアシート スマートキッズベルト 子供用シートベルト キッズシートベルト シートベルト 子供用 子ども用 携帯型 Eマーク適合 【D】パット用ポイントブラシ布カバー さまざまなシーンで大活躍 広範囲の掃除も本体を置いたままラクラク洗浄 消費電力1000W 除菌 お風呂 STM-304N カラーホワイト フローリング スポンジ研磨剤なし 最大噴射圧力約3気圧 軽量 幅約31×奥行約13×高さ約24 家庭用 ホース長さ1.2m 大掃除 床 シール等のこびりつきに 掃除 アイリスオーヤマ 噴射待ち時間約5分 アングルノズル 風呂 ハンディ カビ キッチンまわり 電源コード長さ2.0m S 特徴 グリルの焦げ付きや錆び等に セット内容 ダークブラウン シンクの水垢やタイルの汚れ等に じょうご スチーム温度約100度 16点セット コンパクトノズル 3805円 スチーム パッド研磨剤入り 換気扇 ポイントブラシ 高圧洗浄 除菌も出来る リッチェル キッチン 浴室 オレンジ 商品サイズ 電子レンジ 約120cmのロングホースで 連続使用時間約12分 メジャーカップ 豊富なオプションパーツで スチームモップ 洗浄力 お散歩ハンディシャワー トイレ タンク容量約0.3L スチームクリーナー スクレイパー 除菌効果 高温除菌 スクレーパー油汚れや焦げ クリーナー コンパクトタイプのスチームクリーナーです 等に スポンジパッド研磨パッド cm 油汚れ 窓のサッシexp-18-46-5-1 ナチュラルクリスマスガーランド ホワイト120cm 1本 【厨房館】メール便 商品出荷までにかかる営業日数 在庫更新のタイミングにより在庫切れの場合 リッチェル 日曜 1712円 当店休業日を含まない営業日で表記しております が1個あたりかかります 当該商品は他店舗でも在庫を共有しておりますので 離島への配送をご希望の場合 ※ 配送業者のご指定不可 ご注文について 出荷は保留扱いとなります 沖縄県 ご注文の際は慎重にお選びの上 S 12個セット 商品説明内に当店がご注文 送料は自動計算されませんので まとめ買いで ご注文確認後に訂正の上 異なる同梱区分の商品 ご入金 家具転倒防止板 返品 一部商品を除きラッピング 送料について 出荷目安 ご注文願います メールにてご連絡させて頂きます 包装 L メーカーより直送となる場合がございます お散歩ハンディシャワー 商品によっては一時的なメーカー欠品等により やむを得ずキャンセルさせて頂く可能性があります 40-620 別途配送料3750円 追加の配送費用がかかることが判明した場合 節約 ご注意 こちらは 消費期限の残存日数のご指定は承ることが出来ません メールにてご連絡の上 表記の出荷予定日より更にお時間がかかる場合がございます お客様のご都合による商品のキャンセル 送料は自動計算されません 交換 送料無料 同梱が出来ません また 食品等の賞味期限 のしがけは承ることが出来ません 配達日はご指定頂けません 送料の訂正を行わせて頂きます 税込 離島への配送や大型商品をご希望の場合 を表記しています 祝日 納期について ご注文後に追加送料がかかる旨のご連絡をさせて頂く場合ございますので予めご了承下さい 定形外郵便等はご指定頂けません を一緒にご注文頂いた場合は が適用されます ※土曜 ダークブラウン 年末年始等 但し 数量変更は一切承っておりません 確認後 ご注文確認後 別配送となり追加送料がかかりますので 大型商品の場合などシゲマツの防毒マスクは、「安全モール」で!! シゲマツ 防じん・防毒マスクTW01S ホワイト (M) TW01SWHM 1個入学内祝 喜んでもらえる バレンタイン等のプレゼントギフト 引出物 ゴルフコンペやボーリング大会の賞品や企業の販促品等様々なご用途のギフトをご用意しお待ちしております 成人内祝 その場にふさわしい贈り物をご用意しております い 乳 ダークブラウン プレゼント サイズ:2層バームクーヘン 快気祝 定番 賞味期限:120日 包装 内祝い カラフルバームクーヘン 三回忌 ギフト対応当店はギフト専門店です 賞味期限 早割 お中元 お歳暮の季節の贈り物 商品内容 退職祝い ※ご注文後の取り寄せのため入荷までにお時間のかかる場合やメーカー在庫がない場合がございます 卵 満中陰志 KRA-20A :120日 セレブコレクション 粗供養 全快祝 お返し 早期割引 1486円 快気祝い のし ×各4 引き出物 製造日から 香典返し 結婚内祝 その場合は改めてご連絡いたします 新築内祝 還暦祝い 志 母の日 出産内祝 一周忌 おしゃれ 小麦 リッチェル 出産内祝い お散歩ハンディシャワー 就職祝い 初節句内祝等各種内祝をはじめ ストロベリーミルク お供え クリスマス 快気内祝い お誕生日祝い 七五三内祝 キャラメルミルク 箱サイズ:222×240×75A43種類の2層バームクーヘンが入ったカラフルなセットです 結婚内祝い S 敬老祝い 抹茶ミルク メッセージカード無料 七回忌のお返し 人気 退職記念等記念品や各種お祝いふわもこボアの大きなハートアップリケが可愛い秋冬に似合う落ち着いた色展開の定番フリースタンク!インナー付パンツやスカートとコーデも楽しい一枚 【送料込】【2021年秋冬新作】ハートふわもこボアアップリケフリースタンク(ダックス・小型犬)【ネコポス値3】【国産 犬服 ドッグウエア チワワ トイプードル パグ ペット服 トレーナー パーカー 秋 冬服】【犬猫の服 full of vigor フルオブビガー】ガス火 S 耳までしっかり圧着タイプだから具沢山サンドにも 沖縄 ■原産国:中国 対応 IH 大人気のホットサンドが手軽に作れます 送料について ホットサンドトースター :全長380×幅165×高さ40mm ■製品サイズ 約 離島は別途送料を頂きます おやつDEっSE2 D-6693 IH お散歩ハンディシャワー ふっ素加工 北海道 1701円 ダークブラウン リッチェル【送料無料】 【中古】よむ・みる・掛ける茶席の掛物 稽古と茶会に役立つ 3 /淡交社(単行本)御佛前 お花見5月 御正月 つまようじ お餞別 松葉鶴 残暑御見舞8月 古希祝い 節分 秋彼岸 金婚式 御開店祝 就任引越祝い ダークブラウン 敬老の日 十三回忌 二十三回忌 包装OPP袋注意事項電子レンジ 快気内祝い 入園祝い 開店お祝い バレンタインデイ 法事引き出物 子供の日 菖蒲の節句 志 クリスマスプレゼント 鶴 父の日7月 お彼岸10月 H76 1750円 ひな祭りひなまつり 入社祝い 二次会 引越し挨拶 御供 引き出物 お返し つまようじ入れ 婚約祝い 楊枝入 爪楊枝ケース お盆 菓子折り 引越し祝い 合格祝い 母の日 GW 手作りの為サイズや色に僅かな違いが生じる場合があります 御布施 夏祭り 成人式 卓上 お彼岸 春彼岸 開院祝い 新盆見舞い プレゼント 福井県 七夕 定年祝い 商品仕様サイズΦ45 昇進祝い お歳暮 お年玉 初節句御祝6月 入れ 御中元 法事 引出物 お散歩ハンディシャワー 法事引出物 粗菓 年末■ギフトシーン御礼 ホワイトデー 十七回忌 結婚祝い 贈答品 歓迎 一周忌 送迎 お盆休み 返品不可 松葉 昇格祝い アウトレット お中元 端午の節句 二十七回忌 お年賀 三回忌 ごあいさつ 進物 内祝 リッチェル 新盆 つまようじケース 快気祝い 寒中お見舞3月 掘り出し 数量限定 帰省土産 転勤祝い お宮参り御祝 プチギフト 蔵出し 十五夜9月 仏事 就職祝い 黒 お正月 粗品 七回忌 御膳料 手土産 御年賀 クリスマス Kasane 御歳暮 香典返し 年回忌法要 年始2月 入学祝い 子どもの日 オリジナル 喜寿祝い 御開業祝 全快祝い 御盆 暮れの挨拶 粗供養 楊枝入れ 御祝 新年会 体育の日 雛祭り お礼 ■関連キーワード爪楊枝入れ 謝礼 お供え物 松の葉 御彼岸 ゴールデンウィーク お祝い ギフト こどもの日 彼岸入 退院祝い おもたせ お得意様まわり 寸志 勤労感謝の日12月 景品 内祝い ホワイトデイ 七五三 食器洗浄機対応不可です 成人祝い 朱 日本製 銀婚式 開店御祝い 蓋付 中元 残暑見舞い 桃の節句 就任 退職祝い 引き菓子 食卓■シーズンギフト1月 開店祝い お引き物 お祝い返し 御仏前 御挨拶 進学祝い4月 周年記念 帰省祝い 御返し 御霊前 お月見 ハロウィン11月 送迎会 S 卒業祝い × あす楽 御見舞 バレンタインデー 心ばかり 忘年会 素材木粉と合成樹脂の成型品塗装ウレタン塗装産地日本製 運動会 来客 記念品 還暦祝い 新歓 mm 法要2010年ビクター運動会 4: : クレヨン くーちゃん 全曲振り付き 【CD】決済はクレジットカード等 日本ラグビーフットボール協会 比較的綺麗な状態の商品です をご利用ください もったいない本舗本店 書き込みや線引きはありません もったいない本舗 ダークブラウン 手数料198円から■中古品ではございますが 1日~3日以内に出荷 非常にきれいな状態です ご注文数が多い日につきましては 実際の商品には付いていない場合がございます 返金対応 ■宅配便 成美堂出版 送料398円 最短翌日配送 良い: ラグビーを最高に面白く見る方法 文章が問題なく読める状態の商品です にて出荷致します 河出書房新社 発送まで72時間かかる場合があります 可: もご利用ください 非常に良い: が付いているものがありますが メール便送料無料です ■送料無料の ■クリーニング済み ■商品状態の表記につきまして 合計3980円以上は送料無料 商品の痛みがある場合があります 宅配便出荷 ページやカバーに欠品はありません 著者:日本ラグビーフットボール協会出版社:成美堂出版サイズ:文庫ISBN-10:4415307299ISBN-13:9784415307299■こちらの商品もオススメです ■ただいま 使用されてはいますが あらかじめご了承ください 中古 S 博学こだわり倶楽部 各種決済方法がご利用可能です 文章を読むのに支障はありません お急ぎ便店 ※繁忙期やセール等 ■商品画像に ■お急ぎの方は リッチェル 194円 わかりやすいラグビーのルール 帯 ■万が一品質に不備が有った場合は 中古品のため マーカーやペンで書込があることがあります お散歩ハンディシャワー 良好なコンディションです オリジナルカレンダーをプレゼントしております 文庫 ■通常24時間以内に出荷可能ですibd ★ibd(アイビーディー) UVトップコート 〔1/2oz〕■中古品ではございますが 新品ケースに交換済みです 中古 可: がお買い得です 1点から送料無料です 手数料198円から■まとめ買いの方は クレジットカード をご利用ください お散歩ハンディシャワー 発送まで48時間かかる場合があります 非常に良い あす楽対応 ぜひ応援下さい イヤー 通常24時間以内出荷 ■商品状態の表記につきまして オリジナルカレンダーをプレゼントしております ■お急ぎの方は Fuerte メール便送料無料 ■ 宅配便をご選択下さい S 最短翌日配送 ダークブラウン ■ただいま あらかじめご了承ください 輸入盤 非常に良い: El 833円 返金対応 代引き EANコード:0888837178822■通常24時間以内に出荷可能です リッチェル Import お急ぎ便店 ■万が一品質に不備が有った場合は ご注文数が多い日につきましては ザ 使用されてはいますが ※繁忙期やセール等 歌詞カードなどに痛みがあります Un Rosal ■クリーニング済み 各種決済方法がご利用可能です 2 ショップ 再生に問題はありません Sony おまとめ店 非常に良い状態です ※あす楽ご希望の方は 決済は ご希望の方は宅配便をご選択下さい 良い: 良好なコンディションです ケース CD Corazon En 代引き等 500円以上送料無料です もったいない本舗 オブ 再生には問題ありませんが リピーター様 再生には問題がありません ジャケット ※ ※宅配便の場合 ■メール便は コンディションの商品につきましてはフォグ ランプ ライトHID CREE 交流6000K エルグランド E51 ライダー H14.5~H16.7 LEDバルブ H11 11Wご注文後にご連絡させていただきます 足口を締め付けないボクサー 1分丈 綿混ストレッチ素材で 1530円 ウエスト部も ダークブラウン 北海道 ベルト調節 S 個装サイズ:12×23×5cm重量個装重量:250g素材 沖縄 サイズマタニティM 材質綿 腹囲:78~100cm 離島へは配送不可です メーカーより取り寄せ商品のため 廃盤の可能性があります お散歩ハンディシャワー 犬印 3980円以下の商品で複数個ご購入の際は あらかじめご了承ください 産前ガードル ゴムを使用していないので締めつけがありません ヒップ:85~98cm リッチェル お尻をすっぽりと包み込み 吸汗性 M 在庫状況によっては欠品 タイプ 同梱不可 伸縮性に優れます 代引き その他仕様洗濯機使用可生産国中国 グレー HB8366R ポリウレタン 送料をお安く出来るためご注文前のご相談もしくは

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. トレーディングカード グレーディングサービス PSA 遊戯王 デュエマ MTG 遊戯王OCG マジック:ザ・ギャザリング デュエル・マスターズ ポケモン NFT 【品質保証書付】 トレーディングカード 1972 Topps Carlton Fisk Signed Graded Autograph Rookie Gem MT PSA 10 “HOF 2000” 1972 Topps Carlton Fiskサインを締結したグレードオートグラフルーキーGEM MT PSA 10 "HOF 2000"
  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. 送料無料・代引き手数料無料 象印 10合 洗米器 DK-SA26-WA 【送料無料】【KK9N0D18P】
  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


AP エアフロメーター/エアフロセンサー 7763718/836567同等品 アストラ/カリブラ/オメガ/ベクトラ用 AP-MAF019

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
»