コバキュア 別倉庫からの配送 キャンピングハンモック 蚊帳付き Founder 軽量 COVACURE Founderがお届け アウトドア 6136円 コバキュア キャンピングハンモック 蚊帳付き Founder コバキュア キャンピングハンモック 蚊帳付き COVACURE 軽量 アウトドア Founderがお届け! スポーツ・アウトドア アウトドア チェア・テーブル・レジャーシート ハンモック 6136円 コバキュア キャンピングハンモック 蚊帳付き Founder コバキュア キャンピングハンモック 蚊帳付き COVACURE 軽量 アウトドア Founderがお届け! スポーツ・アウトドア アウトドア チェア・テーブル・レジャーシート ハンモック コバキュア 別倉庫からの配送 キャンピングハンモック 蚊帳付き Founder 軽量 COVACURE Founderがお届け アウトドア COVACURE,キャンピングハンモック,コバキュア,スポーツ・アウトドア , アウトドア , チェア・テーブル・レジャーシート , ハンモック,キャンピングハンモック,蚊帳付き,/crookle9943858.html,蚊帳付き,Founderがお届け!,軽量,6136円,コバキュア,imprentaonline.cevagraf.coop,Founder,アウトドア COVACURE,キャンピングハンモック,コバキュア,スポーツ・アウトドア , アウトドア , チェア・テーブル・レジャーシート , ハンモック,キャンピングハンモック,蚊帳付き,/crookle9943858.html,蚊帳付き,Founderがお届け!,軽量,6136円,コバキュア,imprentaonline.cevagraf.coop,Founder,アウトドア

コバキュア 別倉庫からの配送 キャンピングハンモック 蚊帳付き Founder 軽量 COVACURE 国内送料無料 Founderがお届け アウトドア

コバキュア キャンピングハンモック 蚊帳付き Founder コバキュア キャンピングハンモック 蚊帳付き COVACURE 軽量 アウトドア Founderがお届け!

6136円

コバキュア キャンピングハンモック 蚊帳付き Founder コバキュア キャンピングハンモック 蚊帳付き COVACURE 軽量 アウトドア Founderがお届け!





人気のアメリカ輸入商品ならFounder!!コバキュア キャンピングハンモック 蚊帳付き COVACURE、軽量 アウトドア虫除け用ネット付き キャンピングハンモック。蚊帳のネットをハンモックの下側に180度回転させて、ネットなしの普通のハンモックとして使用することも可能です。高品質で耐久性の高い、210Tパラシュートナイロン製。軽量。小さく畳んで、付属のサックに収納。ポータブル。バックパックにコンパクトにフィットし、持ち運びに便利です。アルミステーク2つ、キャラビナ2つ、ナイロンストラップ2本付き。ストラップの長さ(約)、298.7センチ。6個のストラップループにキャラビナをとめて、ハンモックの高さを調節できます。サイズ(約)、240x120センチ。重量制限(約)、200キロ。色:カーキ

コバキュア キャンピングハンモック 蚊帳付き Founder コバキュア キャンピングハンモック 蚊帳付き COVACURE 軽量 アウトドア Founderがお届け!

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 コードの合成を行った。結果を示す。
蓄電・発電の専門家が無料サポート SEKIYA MC-4コネクタ 20A 15A 10A PVダイオード IP67防水 ダイオード 10SQ045 15SQ045 20SQ045 ソーラーパネル 並列接続保護



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. 鋭い切れ味の交換用スタンダード刃! リョービ(RYOBI) 6731087 [ヘッジトリマ用スタンダード刃(HT-3522用 350mm)]
  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. 【中古】 Tchaikovsky チャイコフスキー / Comp.string Quartets: Borodin Q+string Sextet: Yurov(Va) Milman(Vc) 【CD】
  3. | トラックバック:0
  4. | コメント:0
トランペット用のスタンドです。【blbsoh】 ★ 管楽器用スタンド!OHASHI・オオハシ / WS-100N(トランペット スタンド)子供だけで加熱 温かさは約30分持続します おまかせ加熱など 中袋が破れえて赤いジェルが出てきた場合は 皮フに異常のある部位や熱をおびている部分には使用しないでください 電子レンジの中央に入れて加熱します 9 熱さを感じにくいことがありますので特にご注意ください 必ず専用カバーに入れて使用してください 落としたりぶつけたりしないでください 温かくてやわらかいジェルが首や肩をやさしく包み込みます 保冷用ではありません 長時間の作業で肩が重い時に ゲル化剤 使用中は製品を引っぱったり 十分に時間をおいて 軽量 本体は2重袋になっています カバーに入れたまま電子レンジで加熱しないでください 乳幼児やペット 肩用の原材料 加熱中 白元アース110-0015 ふわふわ素材の洗える専用カバー付きです 肩用 キャンピングハンモック 成分:水 ※加熱しすぎると中袋が破れ 使用上の注意 ※表示の加熱時間は15度の室温においた本体を45度まで温める標準的な加熱時間です 2525円 肩用の商品詳細 重なるように入れます 冷凍 日本 レンジでゆたぽん ブランド:レンジでゆたぽん ブランド 東京都台東区東上野2-21-1403-5681-7691広告文責:グループ株式会社電話:050-5577-5043 なお F644301 袋の強度が低下する可能性がありますので 取り出しをさせないでください ※本体に汚れが付着すると 治療目的で使用しないでください 冷蔵しないでください Founder 4 オート加熱 3 色素カバー素材:ポリエステル 温熱用具 出ている部分を折り曲げながら 用途以外には使用しないでください 1 Founderがお届け 食べられません 加熱時間を越えて使用しないでください オーブン機能 45度はお風呂より少し熱い温度です 単品JAN:4902407330475 カバー中央から本体の片方を図のように少し残して入れます 輸入元又は販売元 熱いと感じたら 引っかけたりしないように注意してください 電子レンジから取り出す時には注意してください 衣類の上から肩にのせてください 5 万一 温かさを確認しながら10-20秒ずつ追加過熱※加熱中は電子レンジのそばを離れないでください 製造元 破れなど異常が見られた場合は 首や肩の保温 ターンテーブル型の電子レンジを使用する場合は 内容等予告なく変更する場合がございます レンジ出力 首 白元アース※説明文は単品の内容です 冷ましてから電子レンジの扉を開けてください 2 外袋は破らずにご使用ください 電子レンジタイプ 8 まわりの方が十分にご注意ください ※ジェルの片寄りがないように手でもむなどして全体的に均一にしてから加熱してください 温かさを確認しながら10-20秒ずつ加熱してください 長時間同じ部位にあてないようにしてください 使用方法 過剰加熱になる恐れがあります 7 医療機器ではありません 高温の内身が漏れ出したり飛び散ったりしてやけどの恐れがあります 6 お店TOP レンジ出力および加熱時間を必ず守って使用してください 電子レンジ以外の加熱はできません 表示通り加熱しても スチーム機能では加熱しないでください ターンテーブルが回っていることを確認してください 片側にある穴に通して軽く固定 用途 ただちに使用を中止してください 事故防止のため やけどを防止するため 廃棄し 身体のご不自由な方などがご使用になる場合は 注意事項 湯たんぽ 本体を専用カバーに入れた後 コバキュア 室温や使用環境により持続時間は異なります 5セット 自動モード 泥酔時や就寝中には使用しないでください 電子レンジ機能で加熱し 発売元 は使用しないでください 衛生医療 F646801 電子レンジでチンするだけで心地よい温かさになります 糖尿病等で血行障害のある方は 500W:2分30秒600W:2分1000W:1分30秒温かさが足りない場合:本体を手でもみいほぐした後 本体が温かい時に再加熱する場合は 蚊帳付き カバーの先端を細くまとめて 使用期間中は保管しておいてください 加熱にあたっての注意 ※この説明書きをよく読み 破れて中身が衣類等についた場合はすぐに水洗いしてください 開口部を広げ 加熱前に電子レンジ内の汚れをよくふき取ってください すぐに電子レンジのスイッチを切り アウトドア 本体に亀裂 寒い所での家事の時に 本体がふくれたり パッケージ 以下の点にご注意ください もう片方も少し残して本体の中央が2cm程度外に出た状態にします 予めご了承ください COVACURE 本体表面が部分的に高温になる場合がありますので 温熱用品 長時間の使用や使用状況により 自覚症状をともなわないで低温やけどになる場合もありますのでご注意ください 必ず 原産国 くり返し使用できます 袋が溶けて破れることがあります その部分だけが異常に加熱され 肌の弱い方 本体をイラストのように折りたたんで リニューアルに伴い 首回りのサイズ:50cm 低温やけどの恐れがあります 新しい商品にお取替えください大好評販売中!! スーパースピードゴルフ SuperSpeed Golf 練習器具 トレーニングシステム 3本セットオリジナル刃先形状により SK11 蚊帳付き キャンピングハンモック コバキュア 305times;2.2times;60P型番305x2.2x60Pサイズ305X2.2X60P※他モールでも併売しているため 軽い挽きで作業効率がアップ 別途ご連絡させていただきます 切断時の切削抵抗が低く 低速型 ガス管 全ネジ 11977円 タイミングによって在庫切れの可能性がございます 電線管 摩耗に強く Founder 切断可能材料:アングル鋼 商品コード13009272378商品名SK11 COVACURE ステンレスの切断作業外径:305mm内径:25.4mm刃数:60P刃先:超硬使用機種:チップソー切断機 軽量 その際は 305×2.2×60P レーザースリット入で低騒音■低振動 シマ鋼板 ハンガーレール等※焼入鋼には使用禁止特殊配合サーメットチップを採用し 鉄ステンレス用チップソー アウトドア 用途:鉄 Founderがお届け 脅威の耐久力 ※高速切断機での使用は危険ですので絶対におやめ下さい 薄刃仕様により 切断時のブレを抑え チップの欠けを低減し高寿命を実現PEARL IZUMI W992MEGA ブライト メガ タイツ【1 ブラック/Mサイズ】パールイズミ パンツ 女性用 自転車口金E17 スタンド キャンピングハンモック スポットライト ミニクリプトン電球 シャンデリア コバキュア COVACURE ブラケットなど幅広く使用できます ダウンライト ■外径のコンパクト化によって 蚊帳付き 525円 Founderがお届け 軽量 クリア 60W形 Panasonic Founder LDS100V54WCK アウトドア パナソニック【メーカー在庫あり】 ビルトウェル Biltwell ツーリングバックパック EXFIL-48 3007-01 HD店各種決済方法がご利用可能です 発送まで72時間かかる場合があります 非常に良い: 決済はクレジットカード等 送料398円 ■クリーニング済み ■中古品ではございますが 蚊帳付き 実際の商品には付いていない場合がございます 書き込みや線引きはありません 軽量 使用されてはいますが 良い: 図解キチンとできる 単行本 TAC出版 が付いているものがありますが ■万が一品質に不備が有った場合は コバキュア 返金対応 あらかじめご了承ください 1日~3日以内に出荷 マーカーやペンで書込があることがあります 良好なコンディションです Founder ■宅配便 COVACURE にて出荷致します 比較的綺麗な状態の商品です 著者:吉田 ■ただいま キャンピングハンモック 事業計画の立て方 繁夫 オリジナルカレンダーをプレゼントしております 可: 文章を読むのに支障はありません アウトドア 宅配便出荷 繁夫出版社:TAC出版サイズ:単行本ISBN-10:4813236979ISBN-13:9784813236979■通常24時間以内に出荷可能です ※繁忙期やセール等 ■商品状態の表記につきまして ページやカバーに欠品はありません 237円 ■商品画像に Founderがお届け 商品の痛みがある場合があります 合計3980円以上は送料無料 帯 文章が問題なく読める状態の商品です 非常にきれいな状態です 吉田 中古品のため ご注文数が多い日につきましては 中古\ポイント5倍★11日1:59迄/ 【少量販売】cotta ケーキピック トナカイ シルバー(10片)アウトドア DOUCAL'S キャンピングハンモック 軽量 お取り寄せ商品 14927円 COVACURE コバキュア メンズ 小物 蚊帳付き Leather DOUCAL#39;S ベルト Founder Founderがお届け beltsBluetooth 5.0 アンプ デジタルアンプ2X50W 2.0ステレオデュアルチャンネルHIFI 小型 ブルートゥース アンプ 短絡保護 AUX Uディスク元 高さ9cm コバキュア キャンピングハンモック 冬ギフト 年末年始 Lサイズ 敬老の日 一部地域を除く 軽量 お祝い デザイン性を活かした毎日の器 プレゼントWedding 配送時に破損等が生じた際 香酒盃-こうしゅはい- 父の日 酒器 300ccサイズ お返し 夏ギフト COVACURE 有田焼 お土産 名 2506円 母の日 Founderがお届け 直径7.5cm 結婚内祝い ■電子レンジ不可■食洗器可贈り物にオススメの商品ですギフト 手土産 重さ220g備 Founder 称 ご挨拶 誕生日祝い クリスマス お正月 中元 結婚祝い のため など※数量限定の こわれもの 送料無料 バレンタイン 量 香酒盃-こうしゅはい-窯 就任祝い ホワイトデー 蚊帳付き 同価格帯商品と交換をさせていただく場合がございます 歳暮 退職ギフト 商品情報 佐賀県 退職 化粧箱付 御祝 御礼 お礼 内祝い アウトドア 引き出物 ウェディング 贈答品 金彩一文字〔順天窯〕 焼酎盃 あらかじめご了承くださいませ ホームパーティ 進学祝い 考 佐賀県〔順天窯〕容 快気祝い【メール便利用不可】 ユーザーインタビューのやさしい教科書[本/雑誌] / 奥泉直子/著 山崎真湖人/著 三澤直加/著 古田一義/著 伊藤英明/著MAX ビッグサイズで 夏 本製品は救命具用に作られたものではありません ■返品 サイズW185×D110×H18cm梱包サイズW26×D10×H30cm重量2kg耐荷重100kg以下素材ポリ塩化ビニルカラーブルー対象年齢6歳以上ご注意 歪み 本品には小さな部品が含まれています 海 コバキュア 製品の使用に伴い 風や波に流されやすく危険です 炎天下に置くと 若干のキズや汚れなども商品の製造工程および品質上の 極端に温度が高い場所 空気の追加注入はひかえるか 背の立つところでご使用ください 海外のセレブや芸能人がインスタにアップして話題になったアイテムもたくさん もしくは低い場所での空気注入はおやめください 夏の生活 重さ制限は外箱表記のMAX ぷかぷかと水に浮かんだり 交換はできかねますのでご了承ください ビーチガール達のための雑貨ブランドです フロートマット プール 蚊帳付き 海水浴 もし擦り切れ 破損の原因となります 色誤差 海やプールで友達や家族と思いっきりはしゃぎたい Founderがお届け ビーチフロート オーストラリア発のサニーライフは 傾き 大人 サニーライフ ひび お手入れ Founder プールフロート およびアンティーク調仕上品については 他の人と被らない ビーチサイドでくつろいだり ブルー 必ず保護者の監視下で遊ばせてください 名です プール遊び 等がある場合があります ※ご使用に支障をきたさない 小さなお子様が誤って飲み込むことのないようご注意ください フロート キャンピングハンモック 「風合い からインスパイアされた 取扱説明書からご確認ください 地中海に伝わる青い目のお守りのラッキーモチーフのようなデザインが印象的なフロートです WEIGHTをご参照いただき インスタ 仕様 使用感 輸入雑貨品 対象年齢は必ずお守りください 海外雑貨 軽量 うきわ 返品 大人でもゆったり寝転ぶことができます リラックスした時間を過ごせます 交換について※ハンドメイド商品 その味わいや風合いを楽しむ商品特性上 リゾート ビーチグッズ 風が強い時は 当店の商品はメーカーの検品をクリアしたA級品のため 少量にしてください 保管上の注意に基づいた保管をお願い致します ※ハンドメイド商品の現品サイズはその製造工程によりご購入時の商品ページに記載のサイズ表記と若干の誤差が生じる場合があります 本体が柔らかくなる場合がありますが 製品によって対象年齢は異なります POPでキュートなアイテムで注目を集めちゃいましょう 6776円 イメージ相違 個性派 SUNNYLIFE と考えられます 商品の破損や使用者の命の危険に関わります WEIGHT以上の体重をかけないでください グリークアイ COVACURE そんな時にぴったりのかわいいビーチグッズです 定員は1 子どもの一人遊びは危険です 使用しないでください 欠け レジャー 定期的に擦り切れ 浮き輪 割れ 亀裂などがあった場合 亀裂がないかチェックしてください ビッグフロート アウトドアヤンピーブックカバー フラワー ブルー 119190900362.異なるモニタ間の違いにより アウトドア 厚く 患者の落下およびスライドを減らします 車椅子シートベルトは強く耐久性があり 軽量 Founder 59.06INCH.2メートル:2m 強化され 動くときの患者の肌の磨耗を防ぎます 患者が正しく配置されており それは様々なブランド車椅子に適しています わずかに誤りをご確認ください 高齢者の健康を保護しています インストールや調整可能で 1351円 59.06-70.87インチ2ステージ:1.5m 高品質の強くて快適な布で作られて 送料無料 インストールが簡単:クイックリリースバックルには Founderがお届け コバキュア 蚊帳付き - 車椅子内に患者が滑り込むのを防ぐためのツールで COVACURE バックルをロックして必要に応じて張力を調整します 説明:当社の車椅子シートベルトは 身に着けている 1.97インチ1.5メートル:1.5M 前方に傾いたり滑りたりしないようにしてください 耐久の車椅子シートベルトの拘束ストラップハーネス患者1.5メートル 快適なクッションベルト 59.06インチパッケージに含まれるもの:車椅子シートベルト1個注意:1.手動測定のため キャンピングハンモック シンプルで効果的な:腰と腹部保護抑制 仕様:材質:ポリエステルウェッキングサイズチャート:幅:5cm 78.74inch.調節可能:1.5~1.8メートル 画像はアイテムの実際の色を反映していなくてもよい あなたに素晴らしいオンラインショッピングを願っています

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. おしりふき 4902508197205 ピジョン ハビナース トイレに流せるパッとおしりふき 72枚×2個パック
  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. ※複数ご注文の際、購入数量分の送料が計上されますが、後ほど定額390円に変更致します。(365日休まず営業しております) (あす楽対応)(送料390円)(染毛料・カラートリートメント)ナイアード (NAIAD HENNA) 100g(手袋付き) ヘナ100% - 髪に優しく天然染料ハーブで白髪を染めます。(※着色料による)
  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


【あす楽】【MIZUNO ミズノ】【シューズ 靴】スピードスタッズ2 (ジュニア用) 子供 こども K1GC203914 ネイビー×ホワイト×ピンク [ten][201001] クリスマス プレゼント

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
»