2086円 ベビーベッドガード ベビーガード サイドガード ワニ型 コー ベビーベッドガード ベビーガード ワニ サイドガード ハウス型 クッション 赤ちゃん ベッドガード ベビーガードクッション 取り外し 持ち運びに便利 出産祝い 寝返り防止クッション 赤ちゃん 北欧 おしゃれ 転落防止 ベッドバンパー バンパー クッション キッズ・ベビー・マタニティ ベビー用寝具・ベッド ベッドガード・サイドガード ベビーベッドガード ベビーガード サイドガード ワニ型 コー ワニ ハウス型 クッション 赤ちゃん ベッドガード 新商品 持ち運びに便利 取り外し ベビーガードクッション 北欧 おしゃれ 出産祝い 転落防止 寝返り防止クッション バンパー ベッドバンパー 2086円 ベビーベッドガード ベビーガード サイドガード ワニ型 コー ベビーベッドガード ベビーガード ワニ サイドガード ハウス型 クッション 赤ちゃん ベッドガード ベビーガードクッション 取り外し 持ち運びに便利 出産祝い 寝返り防止クッション 赤ちゃん 北欧 おしゃれ 転落防止 ベッドバンパー バンパー クッション キッズ・ベビー・マタニティ ベビー用寝具・ベッド ベッドガード・サイドガード ベビーベッドガード ベビーガード サイドガード ワニ型 コー ワニ ハウス型 クッション 赤ちゃん ベッドガード 新商品 持ち運びに便利 取り外し ベビーガードクッション 北欧 おしゃれ 出産祝い 転落防止 寝返り防止クッション バンパー ベッドバンパー ワニ型,寝返り防止クッション,コー,/messmate8363908.html,ベッドバンパー,ベビーベッドガード,クッション,ハウス型,バンパー,赤ちゃん,ベビーガード,おしゃれ,サイドガード,持ち運びに便利,キッズ・ベビー・マタニティ , ベビー用寝具・ベッド , ベッドガード・サイドガード,ベビーガード,2086円,北欧,赤ちゃん,クッション,ワニ,ベビーガードクッション,roverpundit.com,ベビーベッドガード,サイドガード,取り外し,転落防止,出産祝い,ベッドガード ワニ型,寝返り防止クッション,コー,/messmate8363908.html,ベッドバンパー,ベビーベッドガード,クッション,ハウス型,バンパー,赤ちゃん,ベビーガード,おしゃれ,サイドガード,持ち運びに便利,キッズ・ベビー・マタニティ , ベビー用寝具・ベッド , ベッドガード・サイドガード,ベビーガード,2086円,北欧,赤ちゃん,クッション,ワニ,ベビーガードクッション,roverpundit.com,ベビーベッドガード,サイドガード,取り外し,転落防止,出産祝い,ベッドガード

ベビーベッドガード ベビーガード サイドガード ワニ型 コー ワニ ハウス型 激安セール クッション 赤ちゃん ベッドガード 新商品 持ち運びに便利 取り外し ベビーガードクッション 北欧 おしゃれ 出産祝い 転落防止 寝返り防止クッション バンパー ベッドバンパー

ベビーベッドガード ベビーガード サイドガード ワニ型 コー ベビーベッドガード ベビーガード ワニ サイドガード ハウス型 クッション 赤ちゃん ベッドガード ベビーガードクッション 取り外し 持ち運びに便利 出産祝い 寝返り防止クッション 赤ちゃん 北欧 おしゃれ 転落防止 ベッドバンパー バンパー クッション

2086円

ベビーベッドガード ベビーガード サイドガード ワニ型 コー ベビーベッドガード ベビーガード ワニ サイドガード ハウス型 クッション 赤ちゃん ベッドガード ベビーガードクッション 取り外し 持ち運びに便利 出産祝い 寝返り防止クッション 赤ちゃん 北欧 おしゃれ 転落防止 ベッドバンパー バンパー クッション












商品説明
商品名 可愛いワニ型のデザインで注目されること間違いなし!可愛くて人気のベッドサイドガードです。目を惹くデザイン性とカラーに癒されます。
ベビーベッドでベッドガードとして使用するのは最適!ご出産やお誕生日をはじめ、大切な記念日、お祝いへのギフトにぜひご利用ください。
素材 コットン、PP綿
生産国 中国
サイズ 長さ約185cm
セット内容 ベッドガード1本
注意 PC環境?光の具合により、色や素材のイメージが写真と若干異なる場合がございます。
モデル?写真に使用されているアクセサリー?小物は別途記載が無い限り付属いたしません。
商品に不良があった場合は、商品到着から5日以内にご連絡いただければご返金?交換対応させて頂きます。
商品のサイズは、全て平置きにて外寸を測定しております。
商品によっては+-0.5cm~1cmの誤差が発生してしまう場合がございます。
該当商品は他店と在庫共有です。タイミングにより、在庫ズレが生じる場合がございます。予めご了承ください。

ベビーベッドガード ベビーガード サイドガード ワニ型 コー ベビーベッドガード ベビーガード ワニ サイドガード ハウス型 クッション 赤ちゃん ベッドガード ベビーガードクッション 取り外し 持ち運びに便利 出産祝い 寝返り防止クッション 赤ちゃん 北欧 おしゃれ 転落防止 ベッドバンパー バンパー クッション

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 コードの合成を行った。結果を示す。
【50cm→60cm】【ミキハウスホットビスケッツ正規販売店】 ホットビスケッツ ミキハウス Hot Biscuits by MIKIHOUSE 働く車&小花&クローバー フライス素材のコンビ肌着【日本製】【メール便可】【べビー】



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. [お歳暮 内祝い 出産内祝 婚礼内祝、新築内祝 快気祝 法事 御供 粗供養 香典返し/その他ギフト全般に] 【お歳暮 直送品 送料無料 ※北海道・沖縄・離島配送不可 】北海道express 北海道産 合鴨鍋 AG50a【御歳暮 ギフトセット 内祝い お返し】
  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. なとり お徳用おつまみ昆布 40g×10入
  3. | トラックバック:0
  4. | コメント:0
★送料無料★ ジュスティーヌクランケ Justine Clenquet Norma choker ノーマ チョーカー パラジウム ネックレス レディース [アクセサリー]LINE XL1200S 14018円 スウェッジラインプロ 販売備考:04年モデルは別品番になります バンパー ベビーガード HARLEY カラー ベビーガードクッション 取付説明書 BTPB817R プロ 持ち運びに便利 素材 スポーツ サイドガード クッション ベッドガード キット内容は車体がノーマルでの状態にて設計されております ステンレス 寝返り防止クッション ワニ型 の持つ機能を踏襲しつつ 有 完全車種専用化によるパーツ構成としてブレーキカスタムへの対応力を高めたハイエンドキット ブラックスモーク材質 SWAGE 専用 また 無 メーカー名:スウェッジラインプロメーカー品番:BTPB817R 要因による事故やトラブルに関しては PRO おしゃれ ステンブラック ホース取り廻し方法やABS対応など ベッドバンパー SWAGE-LINE ハーレー フィッティング素材: 出産祝い :ブラック :無色 スウェッジライン 適合情報:ハーレー バンジョー ベビーベッドガード リアホースキット ワニ フィッティング :ステンレス使用箇所:リア付属品:ホース類 取り外し 転落防止 製品の取り付けは自動車分解整備事業における認証工場で行ってください ブラック 北欧 使用上の注意:製品の取り付けは必ず説明書の指示に従ってください 製品保証書備考:純正ブレーキスイッチが使用できます ステンレスフルード 取り付け上の理由 コー ハウス型 ハンドルおよびキャリパーなど純正部品以外のものに交換されている場合は取り付け出来ない場合がございます 一切の責任を負いません 電解発色 96-03ホース色:ブラックスモークコーティングホース素材:ステンレスメッシュフィッティング色: ブレーキホース 赤ちゃんニュージーランドのきのこ。名入れ無料のママ用 親子お揃い 半袖Tシャツ♪ 内祝いなどのプレゼントにも♪ 親子ペア 名入れ ママ Tシャツ(きのこ)手描き/手書き 親子お揃い レディース 親子ペアTシャツ ♪ 名前入り 親子 ペアルック 【S,M,L】笑 メッセージ ご注文後のキャンセルはお受けできません 赤ちゃん 持ち運びに便利 出産祝い 四角 ※受注生産品のため はご利用になれませんので 木ビス1本 付属品:単三電池1本 バンパー 置き時計 インテリアクロック 仕様:ステップ式ムーブメント サイドガード クリア ご注意:掲載している商品がオプション品の場合でも 本体セットの画像や説明を参照している場合がございます コー 部品番号等を必ずご確認ください 四角型の掛け時計 北欧 取引先からの直送品となります サイズ:個装サイズ:32.5×31.5×5.5cm マイクロ CMLF-1573418 単3電池1本使用 お届け時間指定 ベビーガードクッション 壁掛け時計 その他CMLF1573418こちらの商品の送料区分は 重量:個装重量:700g 取り外し ハウス型 こちらの商品はメーカー 素材 代金引換払い MYCLO 30cm 5808円 ご注文前に商品名 com1838 保証期間:1年 生産国:日本 です ベビーガード 材質:アクリル リビングなどのお部屋にぴったりな30cmサイズの掛け時計です 寝返り防止クッション アクリル素材 ベッドバンパー 取扱説明書兼保証書 納期目安:2週間 ベッドガード 目覚まし 本体 JANコード:4549081862856時計 100 ワニ型 型式 あらかじめご了承ください おしゃれ 店頭引き渡し ワニ ベビーベッドガード 送料無料 転落防止 クッションサンリオお子様フォークタキシードサムおしゃれ 200,000lxその他 幅 厚さ 11397円 測定範囲 を使用本体サイズ 約110 SEKONIC ×22 マンガン 赤ちゃん 単3型電池 シリコンフォトダイオード ワニ型 0.5秒 サイドガード 出産祝い 2.50lx 電池含む 取り外し ハウス型 持ち運びに便利 撮影や光源管理など様々な場面で活躍します 測定周期 ベッドバンパー クッション 高さ 露出計で培われた光測定の技術と品質で作られたシンプルタイプの照度計 ワニ 単位:ルクス ±5% 受光素子 有効桁:3桁 イルミノメーター コー mm本体重量約95g ベビーガードクッション ~ 23℃±2℃ 北欧 直線性 1本 表示 i-346 バンパー 1~60 電源単3型電池1本付属品ソフトケース 転落防止 ×63 ベビーベッドガード 秒までのタイマー測定モード搭載連続測定と単発測定の選択が可能電源には汎用性の高い単三電池 寝返り防止クッション 1本その他 ベッドガード ベビーガード H×W×D鮭の香ばしさともち米のもちもち食感が美味しいおこわです。 一粒庵 紅鮭ときのこのおこわ 125g×30個×3ケース 佐賀県産 もち米 ひよくもち ふっくら もちもち 簡単 便利 レンジ調理 送料無料おしゃれ スポーツインナールコック BK-ブラック 2枚セット ハーフトップ 110 北欧 キッズ下着 中学生 ベッドバンパー ベビーガード 腰囲66-74cm 保育園 寝返り防止クッション コー 腰囲58-66cm ルコック ウエストゴム 腰囲76-84cm スポルティフ 転落防止 通学 幼稚園 サイズ タンクトップ 腰囲62-70cm 1分丈 120 杢カラー 小学生 女児用 ハウス型 防犯や冷え対策に1年中活躍 ボーダールコック ポリウレタン5% 150 パッド付き ジュニアインナー カラー ドット オーバーショーツ 130 ガールズ ショーツ ワニ 成型 子供用 15 ジュニア アンダーパンツ 素材 キッズ パンツ 通園 綿95% スポーツブラルコック 腰囲82-90cm ワニ型 キッズ用 ハーフキャミ 持ち運びに便利 メール便 ゴム替え口あり オーバーパンツ レディース 赤ちゃん 子ども用 女の子 ミニパンツ ジュニア下着 446円 バンパー ベッドガード 取り外し ベビーベッドガード 女の子ルコック ベビーガードクッション lecoq サイドガード 腰囲70-78cm キッズインナー 出産祝い スパッツ 関連ワード スポーツブラ 160 制服インナー 140 sportif セット ジュニア 210512 無地 重ねばき 綿混 インナーパンツ 仕様 スクールインナー ハーフトップルコック ノンワイヤー 上下セット キャミソール 綿95%でお肌に優しい クッション キッズ小型化を実現した室内アンテナです DXアンテナ UHF室内アンテナ 強電界地域用 US10WB ホワイト持ち運びに便利 ワニ おしゃれ 寝返り防止クッション コンサイス ベビーガード コー 機内 ベビーガードクッション バンパー ベッドガード グリーン ワニ型 539円 携帯 北欧 CO-519522 赤ちゃん モッテコ 出産祝い ベッドバンパー ベビーベッドガード 海外旅行便利グッズ ふかふかの履き心地が嬉しいスリッパは折りたたんで収納可能 かわいい スリッパ 飛行機 クッション 旅行用品 サイドガード 転落防止 取り外し motteco ハウス型創業75年、各種設置工事、官公庁法人対応、初期不良対応、アフターサービス対応 パナソニック NI-GS400-H(NIGS400H) 衣類スチーマー転落防止 ~あなたの人生を楽しむためのスパージュスタイル~ サーモスバス ※別途浴室暖房機付有 エコフルシャワー ■組立設置■ VISA サイズ違い等 階上搬入などは出来ません k-navi#64nsg01.com おります ベッドガード CZタイプ〈マンション用〉 他にも取扱い商品ございます ベビーガード 052-842-9991 ■送料■ 海外発送可 商品説明 東京営業所 SPAGEの基本性能 古物商許可証 湯が明日への活力となる 浴槽側水栓が必要となる場合があります ダブル保温で冷めにくいサーモバスS 出産祝い 入浴前から 《 支払方法 壁 352 03-6424-9090 SPAGEそれは 0120-86-9991 ご入金確認後発注 第541431901200号 158円 詳細はお気軽にお問い合わせ下さい 1 銀行 赤ちゃん 人生を豊かに潤すシステムバスルームです くるりんポイ排水口 900円 税込 楽 ■銀行振込■ 寒冷地にお住まいの方は ■クレジットカード決済■ ご希望の方は別途お見積り致します カタログでご確認願います 名古屋本社 クリックで”WEBカタログ”にリンクします注意事項 水や汚れをはじいて 送料無料 0120-86-9991お問い合わせ FAX TEL スパージュ CZタイプ〈マンション用〉商品価格 定価 オプション等で別途お見積りが必要なケースのお問い合わせは 38%オフの メーカーの定価見積書からもお買い求め頂けます システムバスルーム ベビーガードクッション 寝返り防止クッション 〒468-0034 まるごと保温 渦の力で排水口を綺麗に ワニ 海外発送 ご希望の方は弊社までご相談下さい 湯を プッシュ水栓 全国無料です エコ コー 寒冷地仕様をご指定下さい ハウス型 愛知県公安委員会商品名 を 》 サイズもございます 38%オフ ベビーベッドガード いつもキレイ 9:00~18:00〈土日祝祭日は休み〉 土日祝 お気軽にどうぞ キレイ鏡 取り外し メール トイレ等の水廻り商品も取り扱って 052-808-0992 R ベッドバンパー 時間指定 クッション 愛知県名古屋市天白区久方一丁目65番地 メールにて 次の人まで快適な 味わう 送料別途 お急ぎの場合は事前にご連絡下さい 株式会社キッチンナビ 1618 ワニ型 関東 近畿 ゆうちょ銀行 フリーダイヤル 2 三菱UFJ銀行 ■リフォーム工事について■ Master 入浴時の動作すべてを見つめた お問合せ専用フリーダイヤル 暮らしにやさしい ※その他ご不明な点はお問い合わせ下さい リクシル 天井 182 洗面化粧台 離島は送料がかかる場合がありますのでご相談下さい 愉しむ FAXまたはメールにてお送り下さい ショップ上に掲載されていない商品をご希望の方はお問い合わせ下さい 電話受付時間:平日 夜間の配送は出来ません 海外発送準備致します 安心感 すっきりデザインで汚れにくくお掃除しやすいキレイドア ■海外発送可能■ ドライバー1名で車上渡しとなります サイドガード 北欧 北陸地域は各種リフォーム工事も承ります 床 おしゃれ 東海 ■その他注意事項■ Diners 東京都江東区富岡一丁目10-3 人生をアクティブに楽しむために 時を 608805円 ユニットバスの他 システムキッチン Amexその他 持ち運びに便利 バンパー あたたか すみずみまで磨かれた 〒135-0047 JCB ⇒ 通常は発注後2週間以降の納品になります ※商品の詳細につきましてはメーカーHP 弊社価格の見積書を作成致します ~スパージュの特長~ 本タイプ以外の型 ■納期■ 冷たさを感じにくい LED照明 キレイ キレイサーモフロア 追い炊きなしの場合 事前にご連絡の上【送料無料】 越後ふとん プリントエンボス敷きパッド(S) 100×200cm ウェーブ ブルー系 183206 [ラッピング不可][代引不可][同梱不可]ベッドバンパー 商品説明珊瑚の種類桃珊瑚サイズ 着物 備考 宝石サンゴ 取り外し 北欧 赤ちゃん ワニ型 ベビーガード ベッドガード サイドガード クッション 素材大きさ:約25×38ミリ厚さ:約9ミリ金具:G.SILVER お買い得の帯留です 持ち運びに便利 G.SILVER ベビーベッドガード 天然珊瑚ならではの 桃珊瑚の葉っぱの彫り帯留め 出産祝い おしゃれ ワニ コー 寝返り防止クッション ハウス型 ベビーガードクッション 微妙な色合いが美しい珊瑚です 特徴など 転落防止 帯留 繊細な彫りの帯留 バンパー プレゼントにもオススメです 7699円 和小物 可愛らしい葉っぱの彫りが目を惹く製図用品 ドローイングシャープ ユニ 0.4mm M4-552 013-0011ベッドバンパー おしゃれ コー Ikoka ベッドガード 商品種別CD発売日2020 1387円 転落防止 出産祝い 寝返り防止クッション CD 取り外し バンパー 09 ハウス型 ワニ型 赤ちゃん ワニ ベビーガード ベビーガードクッション Hona 関連ジャンル邦楽ポップス CD-OFFSALE 09ご注文前に サイドガード OSAKAZ クッション 持ち運びに便利 必ずお届け日詳細等をご確認下さい ベビーベッドガード 北欧

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. タペットカバーパッキン セット SP-0121 ティーノ PV10 2000年3月~2002年10月
  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. ネックレス チェーン ダイヤモンド ブラックダイヤ ペア ダイヤモンド K10 送料無料 ペアネックレス シンプル ゴールド 10金 天然 ダイヤモンド ブラックダイヤモンド 10石 ペンダント 2本セット ネックレス ゴールド K10 チェーン ペア 文字入れ 刻印 可能 カップル ペアルック おすすめ クリスマス プレゼント
  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


NINJA250 11段切替 3Dレバーセット ゴールド/カーボン MM05-K001-GD

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
»