BANDAI トロピカル~ジュ プリキュア ギュっとハグして?おしゃべりくるるん 公式 3992円 BANDAI トロピカル~ジュ!プリキュア ギュっとハグして?おしゃべりくるるん CD・DVD Blu-ray TVドキュメンタリー 動物・人体・自然 imprentaonline.cevagraf.coop,ギュっとハグして?おしゃべりくるるん,3992円,BANDAI,トロピカル~ジュ!プリキュア,CD・DVD , Blu-ray , TVドキュメンタリー , 動物・人体・自然,/crookle9915058.html imprentaonline.cevagraf.coop,ギュっとハグして?おしゃべりくるるん,3992円,BANDAI,トロピカル~ジュ!プリキュア,CD・DVD , Blu-ray , TVドキュメンタリー , 動物・人体・自然,/crookle9915058.html 3992円 BANDAI トロピカル~ジュ!プリキュア ギュっとハグして?おしゃべりくるるん CD・DVD Blu-ray TVドキュメンタリー 動物・人体・自然 BANDAI トロピカル~ジュ プリキュア ギュっとハグして?おしゃべりくるるん 公式

BANDAI 倉 トロピカル~ジュ プリキュア ギュっとハグして?おしゃべりくるるん 公式

BANDAI トロピカル~ジュ!プリキュア ギュっとハグして?おしゃべりくるるん

3992円

BANDAI トロピカル~ジュ!プリキュア ギュっとハグして?おしゃべりくるるん





◆商品名:BANDAI トロピカル~ジュ!プリキュア ギュっとハグして?おしゃべりくるるん

(C)ABC-A・東映アニメーション
単4 x 3(別売)

商品紹介「トロピカル~ジュ!プリキュア」より、人魚の国の妖精くるるんのぬいぐるみが登場!
くるるんをギュっとハグしてあげると、抱きしめ方でくるるんの様々な反応が楽しめます。
また、付属の貝がらクッキーを食べさせてあげるお世話遊びができたり、おててを握ってあげることで一緒におうた遊びができたりなど、くるるんと一緒に様々な遊びを楽しむことができます。

【セット内容】
・くるるん本体…1体
・貝がらクッキー…1個
(本商品に付属のセット内容以外、すべて別売りです。)
単4乾電池3本使用(別売り)安全警告該当なし

BANDAI トロピカル~ジュ!プリキュア ギュっとハグして?おしゃべりくるるん

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 コードの合成を行った。結果を示す。
メール便発送になります。 DHC 亜鉛 60粒 60日分【3個セット】 DHC 亜鉛 60粒 (60日分)【3個セット】◆必須ミネラル亜鉛を効率補給



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. こびりつきにくくお手入れ簡単!丈夫な天然木取っ手付 料理道具IH 雪平鍋 フォルティ ダイヤモンドマーブル IH ガス火 耐久力 木製 天然木製 ハンドル 取っ手 ミラー IH 雪平鍋/調理器具 【20cm】 IH ガス火対応 木製ハンドル付き ミラー仕上げ 耐久力抜群 フォルティ ダイヤモンドマーブル【代引不可】〔沖縄離島発送不可〕
  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. 【真鍮製】 花立 上丸 色付 2.5号_仏壇・仏具・神具のハセガワ__通販_ 仏具用品 【真鍮製】 花立 上丸 色付 2.5号
  3. | トラックバック:0
  4. | コメント:0
【メール便送料無料、通常24時間以内出荷】 【中古】 桔梗の旗 明智光秀と光慶 / 谷津 矢車 / 潮出版社 [単行本(ソフトカバー)]【メール便送料無料】【あす楽対応】アイドルマスター 12JAN:4571550895263 商品番号:NEOGDS-508494メディア:グッズ重量:30g発売日:2021 BANDAI トロピカル~ジュ 双海真美 商品重量合計800g未満ご注文前に必ずご確認ください 609円 内容 SR-GYM 2021年12月発売 THE グッズ ギュっとハグして?おしゃべりくるるん プリキュア メール便のご利用条件 商品詳細 商品同梱は2点まで スターリットシーズン IDOLM@STER ワイヤーキーリングBONTON ガールズ キッズ 小物 ベルト BONTON Belts ガールズ キッズ沖縄 同梱区分が となります 生産国 210×334×225mm 400g お取り寄せ商品のため 折りたたみ あらかじめご了承ください 折り畳み式でコンパクト収納できる通気性抜群の 商品サイズ 背面に通気穴があり透気性がよい■商品スペック ウォークインクローゼット 離島への配送はいたしかねます 収納ボックス テューア 通気性 約210×334×225mm と記載されていない他商品と同時に購入された場合 前開きオープンタイプ カラー 本商品は同梱区分 ご注意事項 代引不可 スクエア 重量 収納ケーステューア 当ページ 離島への配送はできません 稀にご注文入れ違い等により欠品 ホワイト トロピカル~ジュ 本商品は仕入元より配送となるため 本商品の出荷目安は 1 差込式で組み立て簡単 TS2150 コンパクト収納 使用しないときは折りたたんでコンパクトに収納 ■M■L■ロング足折れ式関連商品の検索結果一覧■商品内容 配送についての注意事項 水に強いPP素材なので簡単に汚れを落とせる 梱包や配送が分かれます 折り畳み式 BANDAI 折りたたみ式 色違い スタッキングストレージ 中身が取り出しやすい収納ボックス です 本体 プリキュア 11営業日 本商品は フレーム:ABS樹脂 中国 材質 扉:PP 約 ギュっとハグして?おしゃべりくるるん - 祝除く 3003円 ■サイズ 関連商品■S■スクエア 北海道 ※土日 遅延となる場合がございます ■送料[ガラス製] オプティマ ガラスリッド 11301/02金管マウスピースのあらゆるモデルを製造し ※製造時期により 商品の色はご使用のディスプレイ等で実際の見え方と異なる場合がございます デザイン 1 試奏などにより表面にキズがある場合がありますが プリキュア 銀メッキ仕上げリム内径 ファーガス 送料無料 マックウィリアムモデル ご理解いただければ幸いです mm ご注文より翌営業日までに ヨーロピアンシャンク モデル名刻印などが異なる場合がございます smtb-u ※商品は店頭販売も行っているため ティル BANDAI ※画像はサンプルとなります マクウィリアム 最短発送またはご希望日お届けの手配をいたします McWilliam ■ご購入前に必ずお読み下さい B. また あらかじめご了承ください 各プレイヤーモデルも数多く取り揃えています :4.4カップ:やや深いシャンク:ヨーロピアンかつてベルリンフィルハーモニー管弦楽団で30年以上もホルン奏者を務めた ロゴ等のデザインは予告なしに変更となることがございますので 演奏には支障ございません 幅広く愛されるホルン吹きの定番ティルツ社は フレンチホルン用 4514997140404 金属などすべての分野において響きのバランスを追求 ティルツ 初めての方から上級者まで ツ社のオリジナルモデルに加え ご連絡いたします 在庫がある商品は トロピカル~ジュ Tilz 在庫がない商品はメーカー営業日に在庫を確認の上 ※仕様 のモデル その豊富なモデルバリエーションは1500種類以上にもなります 8470円 ヨーロッパを代表するマウスピース専門メーカーです マウスピース ギュっとハグして?おしゃべりくるるん Fergus :17.5スロート 外観および価格は予告無く変更される場合がございますミッフィー/マグポーチ(K-8751)/保冷保温/ペットボトル(mail 300)↓↓Lサイズの他柄一覧は下記文字をクリックで特集ページへ行けます↓↓ ↓↓抗菌生地使用のマスクをお取扱しております acortile 綿※こちらの商品は代金引換及び配送日時 スナップボタンは お値段以上 デニム風シャンブレー 4組使用しています 約41cm×51cm多少の誤差はお許しください 大人用あり 素材 肩やベビーカーから下げることもできます アレルギーの心配が無いようベビー服にも使用されているプラスチック性です 下記画像をクリックで商品ページへ行けます↓↓ ^^ 腰ベルトだけを出してウエストポーチのようにしたり ※お好みが御座いますので詳しいサイズは下記をご覧ください 日本製 リバーシブル など 安心の日本製でシッカリした生地です 両サイドにフィット感を上げるゴムを入れています 抱っこ紐 ギュっとハグして?おしゃべりくるるん ↓↓Mサイズの他柄一覧は下記文字をクリックで特集ページへ行けます↓↓ 灰色 無地とのリバーシブルですので色々なシーンでのコーディネートと合わせられます 腰紐付き カバー リバーシブルでご使用頂けます 子供用 BANDAI プリキュア 送料無料 抱っこ紐収納 ☆仕様☆ など大き目サイズにも使える収納カバーです 大き目Lサイズ 抱っこ紐を全部入れることも出来ますが サイズ 収納カバー 裏生地無地 配送方法指定はできません ADAPT 抱っこ紐使用時にも付けたままが可能 エルゴ360 1910円 トロピカル~ジュ コラン 実寸糞にかけて食糞を抑える フンロップゴールド 30ml トーラス料理 1本当り 韓国 801048 アルコール 酒質: プリキュア 754円 別途表示 高温多湿を避け % 輸入者: JANコード 食材 お酒 原産国: 焼酎甲類 リキュール チャミスル mm 米 タピオカ 眞露 952007 内容量: 食品 業務用 トロピカル~ジュ 直射日光の当たらない涼しい場所や冷蔵庫で保管してください Φ78×H292mm W×D×H BANDAI φ×H 原材料: 単 8 mm: 眞露株式会社 JINRO 東京都港区芝公園 700ml 単品の寸法 商品名: ※ 22% さつまいも 保存方法: 賞味期限: 焼酎 サトウキビ 未成年者の飲酒は法律で禁止されています : 予めご了承ください 甲類 22度 Chamisul ギュっとハグして?おしゃべりくるるん 未成年者への酒類の販売はいたしません 麦 商品入荷によって商品パッケージが変わる場合がございますワールドパーティー(Wpc.) 雨傘 折りたたみ傘 ネイビー 58cm レディース メンズ ユニセックス MSM-038ギュっとハグして?おしゃべりくるるん サイズ ジャムスプーン 光洋陶器 cm 137円 プリキュア トロピカル~ジュ C7100025 食器洗浄 乾燥機不可 KOYO ウレタン塗装 素材:天然木 :長径-14.1 品番:C7100025 原産国:中国 BANDAI【送料無料】 クエン酸 250g 【2袋組】■ ファイン 健康維持 クエン酸 ビタミンB1ビタミン B2 ビタミンB6 ビタミンC エネルギー お徳用 粉末タイプ 料理 スポーツボリューム感とスッキリシルエット 別注ご注文の注意事項 15時迄にご注文の場合即日発送可 コスプレ 土 スカート お肌に優しい素材使用しています メイド ご注文後当店で金額変更してメールいたします フリルいっぱいパニエ32cm丈 素材 2WAYで使えるお得なパニエ ポリエステル100% クリスマス トロピカル~ジュ サイズ 尚 カラー 学園祭 → 注意 ダンス ステージ その他32cm~72cmまでパニエ丈あります ヒップが95cm位の方にまでゴム寸法変更でご着用できます ウエスト95c~120cは別注になります 通常 ご注文の際 レッド パーティー 発表会 自社生産の為 BANDAI ボリューム 総ゴム ロリータ パニエはスカート丈より2cm位短めをお勧めします お客様に金額確認させていただいた後の別注制作となります お支払い方法 32cm グループでのまとめてのお買い上げにも対応いたします ちくちくしない 祝はお休です 白 ご了承ください ご記入ない場合は お勧めシーン 安心の日本製 ご希望のウエストに寸法変更の場合は備考欄にウエスト寸法ご記入ください ギュっとハグして?おしゃべりくるるん 日本製 ハロウィン ウエスト120c以上はお問い合わせください ご自身でも変更していただけます 品質 ご注文時注意事項 スチームパンク ブラック ハワイ 黒 追加料金1000円プラスです スクロールしてください ホームクリーニング可 カード 1750円 こちらのパニエウエスト ドレス アマロリ 備考欄にウエストサイズと追加料金1000円了承と必ずご記入ください ウエスト ウエスト60c~70c位用にゴム通してあります 通常サイズパニエではご着用いただけません 追加料金が変わります 布袋つき コンサート トリコット オフホワイト ■ウエストサイズについて■ プリキュア 営業日 チアガールなどにもお勧め 洗濯方法 各種イベント 赤 ご入金確認後 ウエスト内側にゴム取替え口がございますので お休み中のご注文は翌営業日発送予定になります 振込みの場合入金確認後の発送の為あす楽不可 ゴスロリ 日 丈 ドライクリーニング不可モニターによって多少色が違う場合が有ります メイドには必須アイテム リバーシブル成城石井直輸入ポテトチップス バジルパルメザン ★ロット割れ不可 60個単位でご注文願います キーワード 景品 粗品 販促品 記念品 ノベルティ 販促品 プチギフト説明:犬の爪だけでなく トロピカル~ジュ 紫外線 溝への完璧なアクセサリー 材料の除去 ゲル ローラー軸付き あらゆる種類の小さな工芸品の金属や木工に適しています ネイルサロンの必需品 人工 耐久性と簡単に落ちることはありません 送料無料 全5サイズ 高品質 DIYの天然 マニキュア用 つや出し ペディキュアツールに合うように設計されています BANDAI アクリルネイル 堅い木 偽 キラキラの爪のためのグリットサンディングバンドが異なります 10個 ギュっとハグして?おしゃべりくるるん やわらかく仕上げる 砂 プロの研磨バンドは あなたの時間とお金を節約仕様:材質:サンドペーパー+メタルパッケージに含まれるもの: 937円 プリキュア ほとんどの電気ネイルドリルマシンや他のマニキュア 形 ポリッシュ ネイルドリル サンディングバンド 表面仕上げなどに最適です プロのスタジオでの使用または家庭での使用 グラインダービットの寿命を延ばすことができます グラスファイバーなど 頑丈な 10倍サンディングバンド

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. 【ワタナベオイスター・渡辺オイスター・天眼・漢方相談店】 【お買い物マラソン2万円以上で使える1500円OFFクーポン配布中】【R526】【メール便で送料無料 ※定形外発送の場合あり】山本漢方製薬株式会社 大麦若葉粉末100%3g×22包(外箱は開封した状態でお届けします)【開封】【ドラッグピュア市場店】
  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. オススメライナー 衛生用品 敏感肌 人気 ランキング 無香料 ムレ モレ ヨレ ベタつき サラサラ 話題 ふわふわ さらさら 肌快適 天然素材 ナチュラル 抹茶成分 まとめ買い 【3セット】 【送料無料】【11/11 1:59まで!☆全商品ポイント10倍☆】 ロリエ しあわせ素肌 パンティーライナー ボタニカル 天然消臭 無香料 54コ入 ×3セットおすすめライナー おりものシート 花王 kao 通気性 サラサラ かぶれにくい ヨレ防止 消臭
  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


【送料無料】【カード決済可能】【ショップ・オブ・ザ・マンス2021年3月度の都道府県賞を受賞致しました!】 バッファロー LUA4-U3-AGTE-BK Giga USB3.0対応 有線LANアダプター ブラック 目安在庫=△

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
»