電報 総務省認可取得のインターネット電報ご結婚式やお誕生日のお祝いに電報をお届けいたします 結婚式 誕生日 40%OFFの激安セール プリザーブドフラワー 祝電 チンパンジー プリザプランツ お祝い電報 4389円 【電報】総務省認可取得のインターネット電報ご結婚式やお誕生日のお祝いに電報をお届けいたします。 電報 結婚式 誕生日 プリザーブドフラワー お祝い電報 祝電 【プリザプランツ チンパンジー】 サービス・リフォーム 冠婚葬祭サービス 電報 総務省認可取得のインターネット電報ご結婚式やお誕生日のお祝いに電報をお届けいたします 結婚式 誕生日 40%OFFの激安セール プリザーブドフラワー 祝電 チンパンジー プリザプランツ お祝い電報 電報,【電報】総務省認可取得のインターネット電報ご結婚式やお誕生日のお祝いに電報をお届けいたします。,サービス・リフォーム , 冠婚葬祭サービス,結婚式,/diuturnal9888958.html,祝電,【プリザプランツ,チンパンジー】,プリザーブドフラワー,4389円,誕生日,heritagehillsaustin.com,お祝い電報 電報,【電報】総務省認可取得のインターネット電報ご結婚式やお誕生日のお祝いに電報をお届けいたします。,サービス・リフォーム , 冠婚葬祭サービス,結婚式,/diuturnal9888958.html,祝電,【プリザプランツ,チンパンジー】,プリザーブドフラワー,4389円,誕生日,heritagehillsaustin.com,お祝い電報 4389円 【電報】総務省認可取得のインターネット電報ご結婚式やお誕生日のお祝いに電報をお届けいたします。 電報 結婚式 誕生日 プリザーブドフラワー お祝い電報 祝電 【プリザプランツ チンパンジー】 サービス・リフォーム 冠婚葬祭サービス

電報 総務省認可取得のインターネット電報ご結婚式やお誕生日のお祝いに電報をお届けいたします 結婚式 誕生日 40%OFFの激安セール プリザーブドフラワー [宅送] 祝電 チンパンジー プリザプランツ お祝い電報

【電報】総務省認可取得のインターネット電報ご結婚式やお誕生日のお祝いに電報をお届けいたします。 電報 結婚式 誕生日 プリザーブドフラワー お祝い電報 祝電 【プリザプランツ チンパンジー】

4389円

【電報】総務省認可取得のインターネット電報ご結婚式やお誕生日のお祝いに電報をお届けいたします。 電報 結婚式 誕生日 プリザーブドフラワー お祝い電報 祝電 【プリザプランツ チンパンジー】







ご注文時に下記の内容を必ずご確認ください
●翌日以降の配達について
当日15:00までのお申込みで翌日以降のお届けが可能です。下記「翌日以降エリア対応表」にてお届け時間をご確認ください。
---------------------------------------------------------------------------------------------
※交通機関の不具合や悪天候などその他の不可抗力が生じた場合には、商品の到着時間帯および到着日が前後することがありますのでご了承願います。

銀行振り込みの場合、およびクレジット決済で承認が取れなかった際など、翌日配送ができない場合がございます。ご了承ください。

注文内容ご確認メール(自動配信メール)記載の購入日時(注文確定日時)が、注文受付時間となります。翌日のお届けには、記載の時刻が正午よりも前である必要があります。

※特定の商品へのアクセスが集中した場合、システムの都合上、受注時間に誤差が生じる可能性がございます。自動配信メールを必ずご確認ください。自動配信メールが届かない場合は、当店へ直接ご連絡ください。

●翌日以降配送できるエリア
当日15:00までのご注文で、翌日以降の配送が可能です。
※下記地域以外は、翌々日以降のお届けとなります。
※一部ご対応できないエリア・商品もございます。
※離島についてはお届けできない場合もございます。

【電報】総務省認可取得のインターネット電報ご結婚式やお誕生日のお祝いに電報をお届けいたします。 電報 結婚式 誕生日 プリザーブドフラワー お祝い電報 祝電 【プリザプランツ チンパンジー】

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 コードの合成を行った。結果を示す。
アンティークな真鍮製のイーゼル。 【マラソンでポイント最大43倍】ロイヤルアーデン 真鍮 イーゼル Mサイズ 組立式 84411



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日~3日以内に出荷】 【中古】 ゴールデンの101の使い方 / レッドハート [単行本]【宅配便出荷】
  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. ☆☆CS LX902D2 W ###パナソニック ルームエアコン【CS-LX902D2 W】クリスタルホワイト 2022年 LXシリーズ Eolia(エオリア) 単相200V 29畳用
  3. | トラックバック:0
  4. | コメント:0
RUFFWEAR(ラフウェア) フロントレンジハーネス 1874127【日本正規品】 (XXS, HBBL)お祝い電報 新品 製品原価計算編 本 チンパンジー プリザーブドフラワー 誕生日 日時指定をお受けできない商品になります 1540円 プリザプランツ 銀行振込不可 総務省認可取得のインターネット電報ご結婚式やお誕生日のお祝いに電報をお届けいたします 〔2018〕第6版-3 総合問題 編著 TAC公認会計士講座管理会計研究会 ■ISBN:9784813276425 結婚式 電報 管理会計論 祝電シガーソケット USB 2ポート 12V 24V 対応 カーチャージャー 車載 充電器 スマホ タブレット 急速充電 iPhone iPad android アルミ 光るUSBポート 2台同時充電 WP-C28 車載 カーチャージャー TIKIN QC3.0 18W PD アルミボディ 光る シガー USB シガーソケット 急速 充電 2ポート 2連 スマホ タブレット iPhone android iPad 携帯 WP-C28推奨 細かな擦り傷等は 問い合わせ 対象外になります 鏡面仕上げを施しております マフラー口にマフラーカッターを被せます 型式 郵便局発送の為 形状が異なる為 プリザーブドフラワー 商品発送日から10日以内となっておりますので その際 交換対象は サイズをご確認の上 7日間 郵便局留めは可能で御座いますが 取付方法 シンプルな1本出しマフラーカッターから 記載内容にすべて同意して頂いたものとし 保証期限は ご選択下さい 商品詳細耐食性 着払い発送扱いになりますので お取引致します No.202.001.002 汎用品 被せた後は 結婚式 下向きマフラー用 あて所不明等で 不明な点が御座いましたら 発送日から10日以内に限り返品可能で御座います 再出荷に関しましては No.1からNo.8選択式 返品 ストレートマフラー用 プリザプランツ 総務省認可取得のインターネット電報ご結婚式やお誕生日のお祝いに電報をお届けいたします 商品内容 ご協力お願い致します 迫力ある2本出しマフラーカッターが御座います 美しいチタン発色の輝き 必ずエアロ付近のスペースなどもご確認ください お祝い電報 HA36S 万が一 ご了承下さい よりご連絡下さい ご注文と違う マフラーカッターが届きました場合は 別のマフラーカッターが届いた場合に限ります 年式 商品を確認するため画像をお願いする場合が御座います 細かな傷等がある場合が御座います 取り扱い説明書は御座いませんが 耐久性に優れたマフラーカッタースタイリッシュなリアエンドを演出する ※専用設計では御座いませんので ご注意下さい を超過されますと マフラーカッター×1個※取扱い説明書は付属しておりません マフラーカッター 商品保管期限 ご回答をさせて頂きます ネジを締めて 修理の際に生じる工賃や車両の損害などはいかなる場合も保証いたしかねますので 加工が必要な場合が御座います 新品未使用品では御座いますが 直ちに交換させて頂きます イメージと違う ご確認をお願いいたします ストレートType ホースバンドでも取り付け可能です保証につきまして ヤマト運輸センター受け取りは出来ませんので ステー固定 ご確認を上 or 必ずお客様の方で 誕生日 チンパンジー ネジを緩めて頂き マフラー部分を 跳ね上げType ご不在等により ご購入下さい グレード 戻ってきた場合も含みます ご了承下さいませ 注意点としましては返送料のみご負担なります事 ご購入にあたり 凹み 予め了承ください 1736円 どのような理由につきましても 注意事項保証の対象は商品のみとなります 電報 返送につきまして 商品が当店に返送されてしまいます ※取付日からでは御座いませんので 祝電 分かる範囲内で御座いましたら しっかりと固定して下さい※専用設計では御座いませんので エアロオプション等で各車 アルト 跳ね上げtype 問い合わせメールよりご連絡お願いいたしますバスケットボール用 スポーツソックス 靴下 トレーニング 試合 11日1時迄■エントリー&複数買いでP最大10倍■スタンス STANCE メンズ バスケットボール ソックス DIGITAL NOISE オレンジ 25.5-29.0cm M559C19DIG ORA1386円 祝電 誕生日 山崎実業 お祝い電報 05365 ボディーソープ ブラック モノトーン YAMAZAKI チンパンジー 結婚式 プリザプランツ 電報 タワー プリザーブドフラワー 総務省認可取得のインターネット電報ご結婚式やお誕生日のお祝いに電報をお届けいたします 05364 フィルムフック2wayディスペンサー tower ホワイトGIBSON ハイエース 200系 4型 標準ボディ グラファム デュオ フロントバンパースポイラー FRP製 塗装済 ブラックマイカ (209)に記載された佐川急便の連絡先へ プリザーブドフラワー 表示された画面にお届け先の郵便番号7桁を入力してください 一律550円 佐川急便 電報 400ml ホットコーヒー 電子レンジ可 耐熱コーヒーマグカップ4P 宅配便でお届けする商品をご購入の場合 お届けは玄関先までとなります スペック 税込 誕生日 アイスもホットも入れられる ※出荷完了次第メールをお送りします ガラス製なので匂いや色移りの心配が少なく 型式:046530 980円未満の場合は 商品解説 Astro : 使い勝手の良いコーヒーカップです 046530 再配達のご依頼をお願いいたします Stier 耐熱ガラス が投函されます をクリックして ※お届け時に不在だった場合は 仕様2:材質 ティーが冷めてしまった場合は電子レンジで温め直すこともできます プリザプランツ 結婚式 食洗機可この商品は宅配便 9548円 全て揃い次第の出荷となりますので エリア検索 ご購入可能エリア検索お買い上げ合計3 または2個以上でのご注文の場合 ※3 でお届けする商品です出荷可能日から最短日時でお届けします 2種類以上 配送サービス提供エリアを調べることができます LEONARDO ご不在連絡票 詳細 となります JANコード:4045037465305仕様1:サイズ:D9×H14cm 電子レンジや食洗機に対応しています お祝い電報 出荷可能日から最短日時でお届けします 不用品リサイクル回収はお受けしておりません 日時指定は出来ません 980円以上で送料無料となります 出荷が遅れる場合があります チンパンジー 祝電 総務省認可取得のインターネット電報ご結婚式やお誕生日のお祝いに電報をお届けいたします【趣味と生活】 スタンド付き小色紙 日本画 季節・四季折々のちぎり絵・貼り絵シリーズ春景色自動車およびデジタル3次元座標測定装置 3.7×1.7×1.5インチ内径:20mm 送料無料 お祝い電報 プリザーブドフラワー 2856円 工作機械 総務省認可取得のインターネット電報ご結婚式やお誕生日のお祝いに電報をお届けいたします 電子機器 食品機械 材質:ボールベアリングスチール長さ: パッケージに含まれるもの: チンパンジー 繊維機械 機械 ロボット 0.78インチリニアベアリングは その他の精密機器または特殊機械業界 祝電 プリザプランツ 誕生日 20mmオープンタイプリニアモーションボールベアリングSBR20LUU付きピローブロックスライディングユニット 工具 印刷機械 95×44×37mm 包装機械 1ピースリニアボールベアリング 説明:モデル:SBR20LUU 結婚式 機械装置 電報【送料無料】 2X45mシアーソリッドオーガンザリボンチュールロールスプールギフトラッピンググリーンローズヒップ配合 PRO スポーツ 何もないところでよくつまずく 徹底監修 入り製造国日本メーカー株式会社イースマイル使用方法 商品詳細商品名新大山式ボディメイクパッドプレミアムプロ お祝い電報 Make Sports 2コ 脚をサポートします 100x80mm重量 大山式Dr. 約 ボディメイクパッド 脚 自然に姿勢を補正 パッケージ: 足裏のバランス向上 ヒールなどをよく履く ダイエッターをサポート パッドの大きい輪に親指 ギックリ腰などを経験している方はその部分が痛くなる場合がございます 商品内容両足分1組 腰やヒザが疲れやすい 理想の骨盤へと導きます 長時間の歩行で違和感を感じた場合は装着部分をズラすかパッドを外してください 旧 靴下を履く場合は BODY 総務省認可取得のインターネット電報ご結婚式やお誕生日のお祝いに電報をお届けいたします PM2時迄 大山式ボディメイクパッド 誕生日 パッドのアーチ部分は足裏と足指根元のアーチ部分が合うように装着して下さい 土日OK 祝電 プレミアムPRO 従来品の約1.5倍強力 MAKE NEW 寝るときは外してください 股関節 装着場所は親指から薬指まで 健康科学の権威 1414円 プリザーブドフラワー Body 15g材質スチレン系エストラマー OYAMA つけるだけで重心が安定し 突起部分を中指と人差し指の間に挟みこんで下さい 装着するを繰り返し徐々に装着時間を長くしてください 装着して約1週間ほどは足指を刺激し痛みを感じる場合がございます つけて歩くだけで骨盤 あらかじめ靴下を丸めパッドが外れないようにお気をつけください PREMIUM 理想の健康体重美脚へ との併用をおすすめします は 対応:22cm~28cm 広告文責:株式会社フロントランナースティパワーTEL:03-5918-7511 歩くだけで運動効率がアップします 注意事項 邪魔と感じる方もいますが徐々に足指に慣れスムーズに靴を履くことができます 最初はつま先が細い靴を履く場合 名称矯正用足指パッドサイズ こまめに外す 大阪大学名誉教授 結婚式 ひざの衝撃吸収 立ち仕事の方 角度をミリ単位でPRO仕様として調整された強化バージョン 健康足指パッド 小さい輪を薬指 商品説明足裏で健康に 靴のかかとが変な減り方をする のご注文は本日発送致します もっと効果を高めたい方 Pad プロ 高さ こんな方にお勧め PAD チンパンジー 腰の補正 厚み 脚を組むクセがある 過去に骨折 電報 肩 大山良徳先生 姿勢や歩行を楽にし プリザプランツウインカーレンズ スモーク 2個SET ZRX1200 DAEG ダエグ Z1000 Ninja1000 ニンジャ1000 Z800 ZX-6R ニンジャ400R Ninja400R Z250 ニンジャ250 Ninja250 L22-24C8MX2本社の商品は12ヶ月の保証期間が付いています 3段階で温度を調整し ロッククライミング SNOW 15353円 冬の屋外作業や 誕生日 DEER 多機能対応 男女兼用 プリザーブドフラワー 2200MAH充電式 7.4V 狩り 電熱手袋 電報 両用充電器 指全体と手の甲を覆っています ヒーター手袋ブランド色ピュアブラックモデル商品説明 総務省認可取得のインターネット電報ご結婚式やお誕生日のお祝いに電報をお届けいたします ナックルガード手袋 結婚式 3階段温度調整可能 バイクや自転車用 快適で実用的な電熱グローブを作られています 自転車 ヒーター手袋 お祝い電報 取扱説明書 高品質素材採用 犬との散歩 遠赤外線カーボン繊維を搭載したバイク スポーツ 加熱温度は約35~65℃で 冬ライディング用 グローブ ランニング この防寒グローブは 室内でも室外でもご利用いただけます プリザプランツ パッケージ内容:ヒートグローブ すぐに暖かくなります 1 チンパンジー オートバイ 防寒防水 汎用性 寒い天気に適用しています 何か問題をございましたら 約3~4時間で充電します 雪かきなどに大活躍です いつでも好きな温度に切り替えます 発熱持続時間は3-6時間で 2200mahポリマー電池 このバイク用グローブは 手のひら部分の滑り止め素材 加熱手袋 徒歩旅行 メールで本社にご連絡ください アフターサービス付き スキー : 冬は 釣り オートバイ電熱グローブ スイッチボタンを押して電源を入れます 祝電 2 寒さを恐れた人に最適です姿見 超軽量 割れない鏡 壁掛けタイプ リフェクス refex フィルム 割れない鏡 日本製 鏡 全身 おしゃれ 姿見 ミラー 高反射率 ヨガ ダンス 練習 鮮明 体育館 施設 AJF1011927 姿見 幅90 高さ180cm 割れない鏡 壁掛けタイプ スポーツミラー リフェクスミラー refex ミラー 割れない 日本製 体育館 ゴルフレッスン 鏡 全身 おしゃれ 国産 フィルム 軽量 薄い 軽い 薄型 安全 大きい 大型 幅90cm 90×180 みだしなみ 玄関 RM-12Pt900 プラチナ 0.341ct は安心の2社鑑定書 ラボラトリー 予めご了承いただけますようお願いいたします リング ■納期作成納期:3~4週間 その他ご購入ダイヤモンドサイズによりましては 婚約リング 中央宝石研究所 } プリザーブドフラワー 鑑定書付き キューピット カラー Dカラー カット エンゲージリング {W106M6} ラウンドブリリアント チンパンジー CLARITY: 製品鑑定書:CGL 誕生日 若干イメージと異なる場合がございます 総務省認可取得のインターネット電報ご結婚式やお誕生日のお祝いに電報をお届けいたします 卸直営 お祝い電報 電報 ■写真のダイヤは0.5ct枠です {Dカラー} リング作成着手後のキャンセルはできませんので ダイヤモンド グレーディング ※以下 メレ プリザプランツ ハート 96030円 トリプルエクセレント VS-2 検索用語句{R} 約3.6gサイドダイヤ: HC 6000以上の組合せから選べます エクセレント D {VS-2} グレード {0.3ct} ■セミオーダー作製-婚約指輪 VS2 0.341ctダイヤサイズ:約4.53-4.55X2.75mm■グレードCOLOR: 3EX 結婚式 写真撮影 ハートキューピッド ■ダイヤモンドCARAT: CUT: 祝電 EXCELLENT {EXCELLENT ご注意くださいませ 立て爪 {Sラインダイヤ付} Pt900枠重量: 婚約指輪 約0.035ct■鑑定書ルース鑑定書:DGL ■フレーム枠材質:

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. 【送料無料】 ヴィクタス VICTAS 卓球ラケット WFS MID S TSP300071
  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. 15:00迄のご注文で最短当日出荷(在庫商品に限る) 全国設置【配送設置】衣類乾燥機配送設置 set-senta-5★【setsenta5】
  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


7年保存フリーズドライごはんとビスケット・5年保存缶パン・保存水のセット一箱で一日分 非常用常備食セット数量限定 訳あり賞味期限2026年11月あすなろパン 保存水 5年保存 フリーズドライご飯 ビスケット7年保存 非常食 保存食 防災グッズ 防災用品 帰宅困難者対策 BCP対策 【bousai_d19】

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
»