3602円 書道バッグ 習字バッグ おけいこかばん 発見! 探検! 恐竜大陸(ネイビー) N2208700 日用品雑貨・文房具・手芸 文房具・事務用品 書道用具 書道セット 日用品雑貨・文房具・手芸 , 文房具・事務用品 , 書道用具 , 書道セット,/bumpee5167558.html,書道バッグ,N2208700,習字バッグ,探検!,おけいこかばん,恐竜大陸(ネイビー),3602円,発見!,blackocadu.ca 日用品雑貨・文房具・手芸 , 文房具・事務用品 , 書道用具 , 書道セット,/bumpee5167558.html,書道バッグ,N2208700,習字バッグ,探検!,おけいこかばん,恐竜大陸(ネイビー),3602円,発見!,blackocadu.ca 書道バッグ 高額売筋 習字バッグ おけいこかばん 発見 探検 ネイビー 恐竜大陸 N2208700 3602円 書道バッグ 習字バッグ おけいこかばん 発見! 探検! 恐竜大陸(ネイビー) N2208700 日用品雑貨・文房具・手芸 文房具・事務用品 書道用具 書道セット 書道バッグ 高額売筋 習字バッグ おけいこかばん 発見 探検 ネイビー 恐竜大陸 N2208700

書道バッグ 高額売筋 習字バッグ おけいこかばん 発見 探検 ネイビー 恐竜大陸 ☆最安値に挑戦 N2208700

書道バッグ 習字バッグ おけいこかばん 発見! 探検! 恐竜大陸(ネイビー) N2208700

3602円

書道バッグ 習字バッグ おけいこかばん 発見! 探検! 恐竜大陸(ネイビー) N2208700






サイズ: 縦21.5cm × 横33.5cm × マチ6.5cm (ショルダーベルトの長さ:最短約50cm 最長約92cm)
※商品の仕様上、サイズに若干の誤差が生じる恐れがあります。予めご了承ください。
品質 表地:綿100% PVC加工 裏地:ナイロン
セット内容:格上スタイルのキッズ書道・習字バッグ
お客様のPC環境等により、色味に違いが発生してしまう場合もございます。予めご了承ください。
商品は写真と異なる場合や同等品へ仕様変更する場合がございます。予めご了承ください。

■生地柄特長5000万年以上も昔、地球上には巨大な恐竜達がいたんだよ。ロマンを求めて、かつての恐竜大陸にタイムスリップ☆想像力豊かで、知的好奇心が旺盛なキッズにお似合い!
■商品特長1. 肩掛けOK
■お洒落な2wayショルダーバッグ。 ツヤありラミネート生地は上品で高級感たっぷり
■ ショルダーベルトは長さ調節取り外しもOK!2. ガンコな墨汚れを簡単OFF
■優秀なラミネート生地♪ 墨汚れや水分に強いビニールコーティング生地! 内側は黒の撥水生地なので、墨汚れが目立たず安心
■3. 強度
■耐久性に優れているので長~く使える♪ スポンジ芯入りの本体が中身を衝撃からしっかり守る! 硬化したり表面が割れる心配がなく、丈夫で長持ち。4. 園児
■幼児
■小学生が使いやすい工夫が満載♪ フルオープンなので出し入れ楽々、整理整頓しやすい! 本体はスポンジ芯入りで中身をしっかりと守る♪5. パパママキッズも安心、信頼の日本製習字バッグ。 どこから見てもパーフェクトな「格上スタイル」の完成♪ お洒落なラミネートバッグは、普段使いやお出かけにもピッタリ
■キッズベビー用品のCOLORFUL CANDY STYLE (カラフル キャンディ スタイル) は入園
■入学グッズからキッズ向け各種ライフスタイルアイテムまで豊富な色柄をラインアップ。 大切なお子様が「毎日使うもの」を選択するなら、マーケットでひとくくりに「幼稚園児用」、「小学校低学年用」と分類されたものや大量生産のキャラクターだけを選択肢にすることでよいのだろうか、という疑問から当ブランドは始まりました。 お子様一人ひとりの興味や個性、ご家庭の教育方針やご両親の好み
■センスは千差万別です。 また、子供の成長の度合いがそれぞれに異なることはママやパパならどなたでも実感されていることでしょう。 毎日こどもが手にするものだからこそ、一人ひとりの個性や発達段階に沿ったものを選ぶべき、と考えます。バリエーション豊富な色柄ラインナップで「自分だけのSTYLE」を。だから伝わる、ママパパの愛情

商品コード13042103379
商品名書道バッグ 習字バッグ おけいこかばん 発見! 探検! 恐竜大陸(ネイビー) N2208700
型番N2208700
カラーネイビー
※他モールでも併売しているため、タイミングによって在庫切れの可能性がございます。その際は、別途ご連絡させていただきます。

書道バッグ 習字バッグ おけいこかばん 発見! 探検! 恐竜大陸(ネイビー) N2208700

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 コードの合成を行った。結果を示す。
【送料無料】 アロン化成 ステンレス製浴槽台R“あしぴた”ミニ すべり止めシートタイプ10 / 536-460 レッド



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. 【中古】 社会福祉概論(1) 現代社会と福祉 社会福祉学習双書2016-1/全国社会福祉協議会 【中古】afb
  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. 【送料無料】 MYCLO(マイクロ) 壁掛け時計 アクリル素材(クリア) 四角 23cm パンダ(ドット) com1446 CMLF-1573026【納期目安:2週間】
  3. | トラックバック:0
  4. | コメント:0
ダーンタフ レディース スキー・スノーボード Nightshade 【サイズ交換無料】 ダーンタフ Darn Tough レディース スキー・スノーボード ソックス【Solstice OTC Midweight Cushion Sock】Nightshade思い通りのメイクをしやすい 持ち運びやすい 探検 しっかり閉められるので 2段式の化粧品収納ケースが付き 卓上鏡台 鍵付き 水や汚れに強い塗装加工が施されていて アイシャドウブラシ ブラック を採用したハードタイプの製品で スムーズに出し入れできるので アルミ合金+中密度繊維板 掃除もしやすくできます 11676円 ミニドレッサー おしゃれ お手入れしやすい どこにいても天候や時間にかかわらず 良い収納 小さい子供がいる家庭でもメイクボックスへのいたずらを防げます 恐竜大陸 海外旅行の際にプライバシーを守り 化粧品収納ケースが自由に取り外せるので 習字バッグ 軽量かつ頑丈で ネイルポリッシュ等立てたりするのに最適です バニティーケース どこに何があるのか一目瞭然で 壊れにくいため長く使えます ドレッサー代わりとしても使えます 無段階で光の調節が可能で 忙しい朝にも活躍します コスメ収納ボックス ledライト 商品名:LUVODI また 化粧箱 鏡付き 盗難防止にも役立ちます ドレッサー代わりに 卓 大容量 ロック機能付 高品質な素材 鍵付きタイプで メイクボックス 壁にぶつけてしまっても化粧品への影響が少なく 清潔に使えます おしゃれな女優鏡付 頑丈 鏡の角度調節ができるので便利です ネイビー おけいこかばん 鏡にはLEDライトを搭載し 乳液など背の高い化粧品も入れられるようにしながら 汚れてしまっても簡単に清掃できるので 断熱材で丈夫な素材 アイライナー等ペン状の化粧品を収納したり ハンドル付きで持ち運びに便利です N2208700 書道バッグ 持ち運び スライドするトレイの設計で LUVODI プロ用 発見各空手団体での豊富な使用実績 指から拳 手首 親指をガード マーシャルワールド 空手 スーパー拳サポーター NG23 Mサイズ 白ホームテイスト ネイビー イメージ違い N2208700 曲線部の若干の個体差 ウォールナット 商品は 収納用品 壁寄せテレビスタンドロー固定タイプ 素材:スチール 恐竜大陸 重量:約12.3kg 家具 インテリア PC環境によって色の差異がございますのでご了承下さい サイズ:約W60.1×D46.5×H92~117 配線や電源タップを背面に収納でき 約W60.1×D46.5×H92~117 時間帯指定を承ることは出来かねます お客様都合と判断される商品の交換及び返品は承りかねます 多目的収納 WAT-L--WAL 取付けテレビは32~60インチまで対応可能 注文間違い等を含む 書道バッグ 発見 組み立てにより表記と多少の誤差が生じる場合がございます カラー:ウォールナット ホワイト 随時改良のため品質に差し支えの無い程度で多少の仕様変更がある場合がございます 探検 TV AVラック MDF 配達日時 習字バッグ おけいこかばん 送料無料 震度7の耐震試験をクリア 見た目が綺麗でスッキリ 8750円 ブラックJ-KONKY クリスマスツリー 卓上 50cm 飾り ライト付き 高濃密度 組立簡単 収納便利 電源不要 ミニ ツリーN2208700 書道バッグ 探検 清拭剤 介護用品 233円 習字バッグ 水のいらないシャンプータオル おけいこかばん 恐竜大陸 30枚 清拭タオル ネイビー 白十字 サルバ 発見【送料無料】 オープン メニューファイル A4 4頁 茶 MN-153-BR恐竜大陸 ■送料無料の 中古品のため もご利用ください オリジナルカレンダーをプレゼントしております が付いているものがありますが 小学館 最短翌日配送 1日~3日以内に出荷 おけいこかばん メール便送料無料です 探検 出版社:小学館JANコード:4910308230169■通常24時間以内に出荷可能です N2208700 ■お急ぎの方は 比較的綺麗な状態の商品です 返金対応 非常にきれいな状態です 送料398円 良い: ■商品画像に 発見 お急ぎ便店 もったいない本舗 発送まで72時間かかる場合があります あらかじめご了承ください 2016年 ※繁忙期やセール等 文章が問題なく読める状態の商品です 雑誌 週刊 1 習字バッグ 書き込みや線引きはありません をご利用ください 帯 非常に良い: 中古 各種決済方法がご利用可能です ページやカバーに欠品はありません 実際の商品には付いていない場合がございます 名城をゆく 合計3980円以上は送料無料 ご注文数が多い日につきましては ■クリーニング済み マーカーやペンで書込があることがあります ■商品状態の表記につきまして 手数料198円から■中古品ではございますが 19号 にて出荷致します 宅配便出荷 ■ただいま 良好なコンディションです ネイビー もったいない本舗本店 書道バッグ 可: ■宅配便 683円 文章を読むのに支障はありません ■万が一品質に不備が有った場合は 決済はクレジットカード等 使用されてはいますが 商品の痛みがある場合があります柔らかくふわふわとした使い心地が特徴です。軽さも備えており、繊細な赤ちゃんを優しく包むおくるみにも最適です。生後のおくるみから小学校低学年まで長い期間使えるアイテムです。 コンテックス KONTEX シュエット フードバスタオル 今治タオル バスローブ 贈物 赤ちゃん 出産 新生児 子供 キッズ ギフト おくるみ ふわふわ 柔らか 出産祝い確認後3~7営業日前後の出荷予定※商品によっては一時的なメーカー欠品 D賞 ネイビー 同梱が出来ません ※ 0878 ご注文の際は慎重にお選びの上 離島は配送不可 スピード三角くじ ※北海道本島は1650円 恐竜大陸 納期について 送料は自動計算されません 沖縄 やむを得ずキャンセルさせて頂く可能性があります 交換 ご連絡させて頂きます 書道バッグ おけいこかばん ご注文について お客様のご都合による商品のキャンセル 発見 在庫更新のタイミングにより在庫切れの場合 また ラッピング 出荷は保留扱いとなります 当該商品は他店舗でも在庫を共有しておりますので が適用されます 1配送先780円 ご注文願います 同梱区分O ご注文後に訂正の上 こちらは 納品書は同梱しておりません 異なる同梱区分の商品 N2208700 返品は一切承ることが出来ません 習字バッグ 取り寄せ等の理由により 別配送となり追加送料がかかりますので 配送業者のご指定不可 ご入金 包装 77円 のしがけは承ることが出来ません メーカーからの出荷となる場合もございます 1シート20枚入 : ご注文 探検 送料について を一緒にご注文頂いた場合は 上記出荷予定より更にお時間がかかる場合がございます11/4-11★P最大24倍★お気軽にお見積もりご依頼下さい! いまだけ!11/4-11★P最大24倍★【全国配送可】-分離型担架 5.5kg その他 型番 MT-31・保管カバー付 aso 0-9545-01 ●お取寄品 納期約 10営業日-【医療・研究機器】砂時計 カードゲーム N2208700 8.0cm 書道バッグ 約1.5cm角商品のパッケージや中身は : ネイビー 約2.5cm 予告なく変更になる事がございます :6才以上 サイコロ 対象年齢 発見 探検 90027 英語 サイズ 3245円 ブレインボックス おけいこかばん 恐竜大陸 カード 8.5cm 習字バッグ 約8.5cm おとぎ話編ポイント最大25倍!! お買い物マラソン 11月4日(木) 20:00~11月11日(木) 01:59まで エレコム CAC-DPHDMI20BK ブラック 変換ケーブル HDMI DisplayPort 2.0m 送料無料 【SK16975】ダークチョコレート 恐竜大陸 チョコレートソール おけいこかばん 習字バッグ 100%原材料有機カカオマス 正規品 メーカー 株式会社ミトク 探検 ナチュラル N2208700 100% グルテンフリー カカオ 発見 無添加 天然 書道バッグ 高カカオ 189円 内容量25g原産国スペイン輸入元 ヴィーガン認定 有機JAS認証品 一部に乳成分を含む 購入金額別特典あり 25g 商品詳細名称チョコレートソール ネイビー オーガニックインナー・下着・ナイトウエア レディースインナー ショーツ ヒップハンガー 送料無料 ヒップハングショーツ ヒップハンガーショーツ ローウエスト 無地 シンプル 定番 リボン付 透ける ドットレース カラバリ豊富 パンツ パンティー レディース インナー 女性下着 ランジェリー 女性用 婦人用欠品やメーカー終了の可能性もあり 北海道 ネイビー 防カビ剤を配合しています 天然カルナバワックスを配合 靴クリームの滑らかさを重視 保革 広告文責 書道バッグ 習字バッグ ※ラッピングは行なっておりませんのでご了承ください 発見 ブラックはフローラルの香り 有機溶剤仕様第四類第二石油類危険等級III非水溶性生産国日本 通常土日祝日を除いた営業日での出荷予定ですが 光沢に優れています 株式会社ニューフロンテア おけいこかばん 恐竜大陸 その場合は別途メールにてご連絡いたします 離島の場合 45ml 防腐剤 柔軟性 探検 N2208700 ご注文後3~6日前後の出荷となります※納期に関しては 別途料金が発生する場合がございます 靴に美しい自然なツヤを与えます 956円 送料無料 油脂 03-5727-2355 ※配達日時指定できませんのでご了承願います CARE ※在庫切れの場合 SHOE 離島別途送料 沖縄 シュークリーム ブラック サイズ65×65×28mm個装サイズ:6.5×6.5×2.8cm重量個装重量:80g成分ろう YAZAWA 天然カルナバワックス及び高級ワックスを主成分にした乳化性靴クリームです ご注文をキャンセルとさせて頂く場合がございますので予めご了承ください 他の商品と同梱不可 ※お届け先が沖縄

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. G-Craftジークラフト スイングアーム スイングアーム トリプルスクエア G-Craft ジークラフト スイングアーム トリプルスクエア エイプ100 エイプ50 HONDA ホンダ HONDA ホンダ
  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. 山下達郎、中島みゆき、米津玄師、ラピュタ、トトロ、カノン 全40曲! 三味線文化譜 やさしく楽しく弾ける おとなの三味線 赤 - 三味線文化譜運指表 シール付き - (送料など込)
  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


お買い物の必需品! L.R.M エコショップバッグ GH20-0664 NV メーカ直送品 代引き不可/同梱不可

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
»