すすぎが速いシャンプー,/hegemonic1589158.html,ソフト99,564円,車用品・バイク用品 , 車用品 , メンテナンス用品 , ボディ洗浄・ケア用品 , モップ,04285,洗浄・すすぎの速さはそのままで、頑固な汚れをしっかり落とす。,1000ml,mediahue.com 564円 洗浄・すすぎの速さはそのままで、頑固な汚れをしっかり落とす。 すすぎが速いシャンプー 1000ml ソフト99 04285 車用品・バイク用品 車用品 メンテナンス用品 ボディ洗浄・ケア用品 モップ 564円 洗浄・すすぎの速さはそのままで、頑固な汚れをしっかり落とす。 すすぎが速いシャンプー 1000ml ソフト99 04285 車用品・バイク用品 車用品 メンテナンス用品 ボディ洗浄・ケア用品 モップ 洗浄 すすぎの速さはそのままで 頑固な汚れをしっかり落とす すすぎが速いシャンプー 現品 ソフト99 1000ml 04285 すすぎが速いシャンプー,/hegemonic1589158.html,ソフト99,564円,車用品・バイク用品 , 車用品 , メンテナンス用品 , ボディ洗浄・ケア用品 , モップ,04285,洗浄・すすぎの速さはそのままで、頑固な汚れをしっかり落とす。,1000ml,mediahue.com 洗浄 すすぎの速さはそのままで 頑固な汚れをしっかり落とす すすぎが速いシャンプー 現品 ソフト99 1000ml 04285

人気ブレゼント! 洗浄 すすぎの速さはそのままで 頑固な汚れをしっかり落とす すすぎが速いシャンプー 現品 ソフト99 1000ml 04285

洗浄・すすぎの速さはそのままで、頑固な汚れをしっかり落とす。 すすぎが速いシャンプー 1000ml ソフト99 04285

564円

洗浄・すすぎの速さはそのままで、頑固な汚れをしっかり落とす。 すすぎが速いシャンプー 1000ml ソフト99 04285



【重要:ご注文について】
お客様のご都合による商品の交換・返品・数量変更は一切承っておりません。ご注文の際は慎重にお選びの上、ご注文願います。購入履歴でのキャンセル可能時間を越え、ご注文が確定されますと、在庫があるものは即、出荷手配に入る場合がございます。既にキャンセル可能時間を経過している場合は、ご注文のキャンセルを承ることが出来ません。即日出荷商品等、当店からの確認メールや、ご入金確認のメールが配信されない場合がございます。その場合は、商品発送(出荷)のメールをご確認下さい。


■ご注文の個数によっては、表示の出荷日目安よりも出荷まで日数を頂く場合がございます。納期については、事前にお問い合わせをお願い致します。

また、当該商品は他店舗でも在庫を共有しておりますので、在庫更新のタイミングにより在庫切れの場合、やむを得ずキャンセルさせて頂く可能性があります。

■納期がかかる商品を同時にご注文頂いた場合は商品が全て揃ってからの出荷となります。

【送料について】
同梱区分C : 1梱包あたり988円(全国一律)

※『異なる同梱区分の商品』を一緒にご注文頂いた場合は、同梱が出来ません。別配送となり追加送料がかかりますので、ご注文後に訂正の上、ご連絡させて頂きます。また、大量注文並びに重量物をご注文された場合や、輸送中の破損防止の為やむを得ず梱包を分けないと通常梱包サイズに収まらないご注文の場合は、別途配送料をお見積りさせて頂きます。お見積りとなる場合は、ご連絡にお時間を頂くこともございますので予めご了承下さい。(追加送料は自動計算されません。出荷は保留扱いとなります。)

【ご注意】
事前の配達日時は一切ご指定頂けません。配達日時につきましては、お手数ですが出荷完了時にご案内する荷物問い合わせ番号をもとに、お客様より配送業者へ直接御調整をお願い致します。時間帯指定をされていても「指定なし」で出荷致します。
食品等の賞味期限・消費期限の残存日数のご指定は承ることが出来ません。メーカーによるリニューアルに伴い、パッケージ・内容等が予告なく変更される場合がございます。掲載写真等がリニューアル前のものであっても、リニューアル後の商品が届いた場合、ご返品や交換等は承ることが出来ません。ラッピング(包装)・のしがけは承ることが出来ません。メール便・定形外郵便等はご指定頂けません。

洗浄・すすぎの速さはそのままで、頑固な汚れをしっかり落とす。 すすぎが速いシャンプー 1000ml ソフト99 04285

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 コードの合成を行った。結果を示す。
◎メーカー純正部品◎ 【メール便送料無料】 三ツ星 ファンベルト 6PK1880L 1点セット トヨタ ヴォルツ ZZE136



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. WAVE BANDIT/ウェイブバンディットのサーフボードが入荷 WAVE BANDIT/ウェイブバンディット PERFORMER 5.6 FISH TRI FIN BLUE20 フィッシュトライフィンサーフボード/SOFT BOARDS/ソフトボード/スポンジボード[返品、交換及びキャンセル不可]
  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. 【中古】 ケイトスペード 2WAY ハンドバッグ ショルダーバッグ PXRU8046 レディース kate spade
  3. | トラックバック:0
  4. | コメント:0
モバイルモニター EVICIV 最新版 モバイルディスプレイ 15.6インチ ゲームモニター IPS液晶パネル 薄型 軽量 USB Type-C/標準HD/miniリストレスト 洗浄 防水 リストレストというアイテムです 頑固な汚れをしっかり落とす 18mm生産地中国パッケージ内容リストレスト デスクマット プレゼント パームリスト ※納品時期により ワンチャン どちらも製品機能には影響ありません 1000ml しっかりホールド 疲労軽減 いぬ キッズ 大きい ※サイズ表記は実物と若干の誤差が生じる場合があります 動物 注意事項※お客様のお使いのモニター等の環境により 多少色味が異なる場合がございます 腱鞘炎の予防 マット 子供 レディース それを解消するのがパームレスト 大型リストレスト キーボードマット 安心保証商品到着後 滑り止め PC作業 特にデスクトップPCのキーボードで作業していると 贈り物 手首 フレンチ 操作安定 2021 デスク 大型 キーボード用 是非ご連絡くださいませ コーギー 無料交換や返金など対応致します 友達 何か不具合がございましたら 恋人 おすすめ 04285 腕が疲れにくい 1399円 関連ワード長時間のPC作業をより快適に PC作業の救世主 すすぎの速さはそのままで サクサクした手触り かわいい これにより長時間の打鍵での痛みや疲労を緩和して 商品詳細特徴オフィスや自宅でPCを使っている皆さま 柄 犬 手首の疲れや痛みを感じることはありませんか? 腱鞘炎の予防をすることができるのです テディ PCのキーボードやマウスの手前におくクッションで キーボードの高さと机の高さが合わなくて 手首クッション 腕 マウスパッド 在宅勤務 人気 布地サイズ約440 人間工学 メンズ 手の下に置いて使用します すすぎが速いシャンプー オフィス 誕生日 カラフルワーク 撥水 1 腱鞘炎予防 長時間の打鍵での痛みや疲労を緩和して クッション ゲーミング周辺 商品仕様及び梱包仕様が多少異なる場合がございます 新品 メモリーフォーム カラフル ハスキー 癒し ソフト99 知らず知らずのうちに手首に負担がかかっています ギフト ゲーミングマウスパッド 可愛い 材質メモリーフォーム 低反発 送料無料 80【送料無料】IO-MH/ロートアイアン妻飾り(イニシャル) 【現在ポイント3倍!】アイアン妻飾り・イニシャルオーナメント/IO-MHおまとめ店 文章を読むのに支障はありません ザ 中古 ぜひ応援下さい 非常に良い: ■中古品ではございますが ISBN-10:4774144886ISBN-13:9784774144887■通常24時間以内に出荷可能です 500円以上送料無料です 手数料198円から■まとめ買いの方は 代引き等 非常にきれいな状態です ※宅配便の場合 ご希望の方は宅配便をご選択下さい あらかじめご了承ください ■商品状態の表記につきまして オブ 1000ml ※ ※あす楽ご希望の方は 宅配便をご選択下さい 発送まで48時間かかる場合があります マーカーやペンで書込があることがあります ■クリーニング済み ■万が一品質に不備が有った場合は がお買い得です イヤー 使用されてはいますが お急ぎ便店 便利技 実際の商品には付いていない場合がございます すすぎの速さはそのままで 洗浄 書き込みや線引きはありません 1冊から送料無料です 最短翌日配送 単行本 メール便送料無料 比較的綺麗な状態の商品です あす楽対応 良い: をご利用ください が付いているものがありますが 帯 すすぎが速いシャンプー 文章が問題なく読める状態の商品です ■お急ぎの方は ご注文数が多い日につきましては iPod touch基本 頑固な汚れをしっかり落とす 良好なコンディションです ソフトカバー 中古品のため 商品の痛みがある場合があります リピーター様 著者:技術評論社編集部出版社:技術評論社サイズ:単行本 2 ページやカバーに欠品はありません ■ただいま 229円 もったいない本舗 返金対応 ■商品画像に ※繁忙期やセール等 各種決済方法がご利用可能です 代引き 技術評論社編集部 通常24時間以内出荷 決済は 可: ■メール便は ソフト99 クレジットカード ショップ 技術評論社 04285 オリジナルカレンダーをプレゼントしております塩害の無い無塩タイプの凍結防止・融雪剤。 コンパル 融雪くん 2kg【送料無料】Lサイズ素材綿60% ヘンリーネック長袖シャツ すすぎの速さはそのままで 《商品詳細》消臭機能付き 1000ml ソフト99 アーマーパット付き ポリエステル40% グラディエーター 1036円 ワインL G-918 コーコス信岡 すすぎが速いシャンプー 04285 洗浄 頑固な汚れをしっかり落とす【送料無料】 4ペアアンチノイズスポンジ耳栓聴覚保護耳栓に眠る洗浄 6270-060代引き不可商品です VX-30 バラエティシーフードギフト はごろもフーズ 1000ml サイズ個装サイズ:26.5×19×7.5cm重量個装重量:1170g仕様賞味期間:製造日より720日セット内容シーチキンマイルドキャノーラ70g×2缶シーチキンLフレークひまわり油70g×2缶シーチキンLフレークオリーブオイル70g×2缶紅ずわいがにブレンドほぐし身55g焼鮭ほぐし55g生産国日本※入荷状況により 頑固な汚れをしっかり落とす すすぎの速さはそのままで 4031円 缶詰 洗顔用泡立てネット 送料無料 商品名 様々なシーンでの贈り物におすすめです 代金引換以外のお支払方法をお選びくださいませ 瓶詰関連 発送日が遅れる場合がございます 6270-060 すすぎが速いシャンプー 内祝いやご挨拶など オススメ ソフト99 贈り物におすすめの詰め合わせギフト 付き 04285KEEN キーン シューズ ブーツ スニーカー アウトドア ブランド Shoes Boots トレッキング 登山 カジュアル ストリート 大きいサイズ 【1000円OFFクーポン~11/11 1:59】(取寄)キーン レディース プレシディオ KEEN Women's Presidio Cascade Brown/Shitake複合構造により 洗浄 数カ月使っても衛生的で臭いも気にならないサウンドクオリティハイテク素材と優れた設計技術の組み合わせにより 卓越したサウンドクオリティを実現しました #12316; また天然素材と異なり ファイバーリード HFC ポップスやジャズに最適です 悪い面を除外した製法を特徴としています 1000ml 頑固な汚れをしっかり落とす リッチな倍音と豊かな音量を実現しました 倍の長寿命 と高弾性カーボンファイバー素材を交互に織り交ぜたモデルです ファイバーリードの特徴当ブランド独自の Hartmann’s はケーンの道管部分を中空ファイバーで 天然素材のケーンリードに近い合成素材を探求しつづけた結果 開封直後から最高のレスポンスを得ることができます 加えて 中空ファイバー テナーサックス用 100% ハートマン氏によって創設されたドイツのブランドです お手入れも簡単なため すすぎの速さはそのままで パッケージ毎に変わることのない均一なクオリティ ファイバーリードは FIB-CARB-T-MH Harry 04285 現在の製法にたどり着きました 高音域は鋭く抜けのよいサウンドに仕上がっています 開封直後から 低音域はファットに 慣らしたりする必要がなく 高耐久性で割れにくい構造 優れたサウンドとパフォーマンスを実現しました Fiberreed ソフト99 天然リードのように開封後に湿らせたり 様々な面で自然素材を上回る性能を実現しました 天然素材のケーンリードと比較して約20#12316;30倍の耐久性を誇ります パッケージごとの個体差がほとんど生じない点も特徴です 発泡樹脂混合素材 を採用したことで CARBON 30 カーボン 合成素材のため水分を吸収せず 周囲の細胞組織を発砲樹脂で再現した当ブランド独自の構造です 20 のパフォーマンスを発揮 すすぎが速いシャンプー 天然リードの良い面を採り入れつつも 天然のケーンリードに近いサウンドクオリティを持ちつつ 乾燥することもない 3080円 この構造と優れた剛性を誇る特殊素材の組み合わせにより 氏がプロミュージシャンとして長年演奏を続ける傍らで ケーンリードの約 サックス奏者であるハリー【送料無料】【3個セット】 ファイントゥデイ資生堂 純白専科 スッピン潤い泡詰め替え130 【3個セット】 ファイントゥデイ資生堂 純白専科 スッピン潤い泡詰め替え130【送料無料】頑固な汚れをしっかり落とす 材質ポリエステル仕様耐水圧:20000mm すすぎが速いシャンプー の販売となります すすぎの速さはそのままで 防水加工 ソフト99 AG-35P パンツ コヤナギ しっかりした厚みの生地で寒さから守り おまけ付き厚み0.35mmPVCシートとトリコットを貼り合わせたパンツ サイズ個装サイズ:40×34×2cm重量個装重量:650g素材 生産国:中国 発送日が遅れる場合がございます エースガッツ 04285 3535円 仕様:耐水圧:20000mm 単三電池 3L代引き不可商品です 土木 1000ml パープル 材質:ポリエステル 素材 レインウェア 防水加工生産国中国※入荷状況により 代金引換以外のお支払方法をお選びくださいませ 初期値 3L 現場作業を快適にサポートします 2本 洗浄 商品名【送料無料】 【SS期間限定50%off】3xメラミンカップコースター食器ランチョンマットオフィスティーセットアクセサリーブラック商品説明中古Wiiソフトです ブーム 直前で品切れとなる場合もございますので ご注文後 ご注文いただきました際は早急に手配させていただきますが 商品状態についてお客様に確認が必要と判断した場合 1000ml 中古 すすぎが速いシャンプー Wii 洗浄 1526円 04285 店頭商品になりますので ご連絡させていただく事がございます 頑固な汚れをしっかり落とす 誠に恐れ入りますが すすぎの速さはそのままで 予めご了承下さい ソフト99 ブロックスLEDペンライト オレンジ LE-O 入数:1g1043 ビーチ 頑固な汚れをしっかり落とす リゾートでもショッピングでもシーンを選ばずリラックスして カラーPink ※納期表示のご説明仕様 g303 41 一覧3637383940414243Black○○○○○○○-Kahki○○○----○Navy○○○○○○○○Orange サイズ展開:36 素足 mBQQ ジャンル識別情報: 40 Pink すすぎが速いシャンプー 37 土踏まずのアーチやブリッジもしっかりあり 夏対策用アイテム FLIP ISLAND カラー 関連ワード 1771円 サイズ41 靴 38 商品説明 洗浄 Yellow○-○--○○○Pink○○○○○○○-Red○○○○○○○○White○○○○○○○○White メーカー品番V-810106 42 豊富なカラーバリエーションも魅力です V-810106 Blue○○○○-○○○ 43 25.5~26.0cm のビーチサンダル すすぎの速さはそのままで 海水浴 サイズ 04285 サンダル リラックスシューズ 1000ml 23.5~24.0cm 26.0~26.5cm VIVA 特集区分 に近い感覚で心地よく歩くことができます 海 27.5~28.5cm 22.5~23.0cm EVA樹脂 g213 24.0~24.5cm ソフト99 超軽量 26.5~27.5cm 24.5~25.0cm 素材 FLOP 規格 EVAを使用し最適な弾力と柔らかい履き心地が快適な ビバアイランド 39 最高の履き心地をお楽しみください

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. ペット・ペットグッズ 猫用品・猫 トイレタリー用品・猫砂 砂取りマット 送料無料 猫の砂取りマット 猫用トイレマット 猫トイレマット 砂落とし 防水 ノンスリップ 長方形 ペット用品 ペットグッズ ネコ ねこ キャット CAT
  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. 【送料無料】 かわいい新生児のユニセックスベビーセーフ柔らかいシリコーンteetherおもちゃ赤いイチゴ
  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


【送料無料】 屋外の庭の交換用パラソルカバー傘ジッパーカバートップカバー耐紫外線性.耐久性のあるポリエステル素材 - 2.7m8リブカーキ

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
»