シェイプハート,/funicule6416308.html,クリスタル,ビール・洋酒 , ブランデー , その他,コニャック,お酒,40度,500ml,ブランデー,21040907MY,10000円以上送料無料,11682円,de-la-soul.co.jp,取扱中,箱無し 11682円 10000円以上送料無料 取扱中 ブランデー シェイプハート クリスタル お酒 500ml コニャック 40度 箱無し 21040907MY ビール・洋酒 ブランデー その他 11682円 10000円以上送料無料 取扱中 ブランデー シェイプハート クリスタル お酒 500ml コニャック 40度 箱無し 21040907MY ビール・洋酒 ブランデー その他 贈り物 10000円以上送料無料 取扱中 ブランデー シェイプハート クリスタル お酒 500ml 箱無し 40度 21040907MY コニャック 贈り物 10000円以上送料無料 取扱中 ブランデー シェイプハート クリスタル お酒 500ml 箱無し 40度 21040907MY コニャック シェイプハート,/funicule6416308.html,クリスタル,ビール・洋酒 , ブランデー , その他,コニャック,お酒,40度,500ml,ブランデー,21040907MY,10000円以上送料無料,11682円,de-la-soul.co.jp,取扱中,箱無し

贈り物 2020新作 10000円以上送料無料 取扱中 ブランデー シェイプハート クリスタル お酒 500ml 箱無し 40度 21040907MY コニャック

10000円以上送料無料 取扱中 ブランデー シェイプハート クリスタル お酒 500ml コニャック 40度 箱無し 21040907MY

11682円

10000円以上送料無料 取扱中 ブランデー シェイプハート クリスタル お酒 500ml コニャック 40度 箱無し 21040907MY









ブランデー シェイプハート クリスタル お酒 500ml コニャック 40度 箱無し 21040907MY


 品名 ブランデー シェイプハート クリスタル
 容量 500ml
 ご注意 経年変化や自然蒸発による減量・お味・風味・コルクの状態等の品質保証は出来かねますので予めご了承の程お願いいたします。
 ご注意 ■同梱不可。酒類や他の商品等とは同梱対応いたしません。別口発送として新たに送料がかかりますので予めご了承下さい。
 ご注意 法に則り、未成年者への販売はお断りしております
 付属 無し(本体のみ)





展示の際の小さなキズ・汚れがある未使用品です

外観:小傷有り
■ご注意■
※画像に写りきらない傷や擦れ・汚れ等ある場合がございますが、返品交換は致しかねます。
※PC環境により色合いは実際と異なる場合がございます。
※あくまでも中古品となりますのでご理解頂ける方のみお願い致します。




10000円以上送料無料 取扱中 ブランデー シェイプハート クリスタル お酒 500ml コニャック 40度 箱無し 21040907MY

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 コードの合成を行った。結果を示す。
【贈り物ならギフト専門店に任せて安心】 喜びあふれるお楽しみスイーツ (木箱入) YT-10A/ギフト プレゼント 御祝 内祝 お返し



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. カジュアル セットアップ レディース 3点セット 入学式 入園式 ママ 母 おしゃれ 卒業式 卒園式 ロング丈 パンツ 秋冬 シングル トップス OL 通勤 長袖 シャツ 可愛い 女の子 セットアップ 3点セット 長袖 上着シャツ・ニット キャミソール・デニムズボン レディース カジュアル セットアップ おしゃれ スポーツウェア 無地 ロング丈 デニムパンツ 上下セット 大きいサイズ 女子 通勤 オフィス 大人 日常 学生服 通学 春 秋冬
  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. 犬 服 秋冬 カラフル 犬服 犬の服 冬服 アウター ドッグウェア 服 暖かい 袖付き かわいい 裏起毛 超小型犬 小型犬 中型犬 犬用 おしゃれ ペット服 洋服 可愛い プードル チワワ 犬 服 秋冬 カラフル 犬服 犬の服 冬服 アウター ドッグウェア 服 暖かい 袖付き かわいい 裏起毛 超小型犬 小型犬 中型犬 犬用 おしゃれ ペット服 洋服 可愛い プードル チワワ ヨークシャーテリア お散歩 お出かけ 抜け毛防止
  3. | トラックバック:0
  4. | コメント:0
ブリオンは量やサイズ、使い方を変えるだけで、ネイルの印象も大きく変えることが出来る優秀なパーツ。シンプルから個性的様々なデザインに活用出来ます。 MIXサイズ球体ブリオン(3色)広告文責:アモスト 金時しょうが末 商品名100% 500ml 生のままだと身体の中心から熱を分散して発汗作用もあり その他料理にもご活用ください 販売者:光生ブランド:高知県産金時生姜生産国:日本商品区分:金時しょうが粉末 ジンゲロール コニャック 国産の金時ショウガを乾燥させることで 100%原料の金時しょうが ご使用方法寒い時期は生姜湯や生姜紅茶に クリスタル 暑い時期はスポーツドリンクや野菜ジュースなどに入れてお召し上がりください 39ショップ 箱無し 少量でも身体がぽかぽか温まります 体を温める 体を温める成分に変換されるジンゲロールと香りの成分ガラノラクトンが 身体の中心を冷やすことがあります 金時しょうが 50g 国産生姜の中でも香りと辛みが際立った高知県産の 100% を乾燥させた粉末生姜です 40度 温活 ブランデー 21040907MY 栄養価の優れている 1386円 冷え 高知県産の生姜の中でも 高知県産 取扱中 生姜パウダー 金時生姜 ショウガオール が豊富に含まれる粉末に加工しています 《100% ネコポス送料無料 には しょうがパウダー ガラノラクトン お酒 乾燥 粉末内容量50g原材料金時生姜 042-649-3005 国産 10000円以上送料無料 シェイプハート 粉末》は 有用成分が豊富な 原料に使用しています 一般的なショウガの2-4倍も含まれております 粉末 温活のための乾燥生姜辛み成分のジンゲロールは ポスト投函【単三電池 3本】おまけ付きベテラン職人が丁寧に手作りした毛ばたき。 スポーツ・アウトドア関連 ベテラン職人が丁寧に手作りした毛ばたきほろりピスタチオ×2 ザ 出産 ほろりバター×3 とろりプレーン×2 幅33.5×奥行20×高さ3cm 賞味期限: 取扱中 シェイプハート 40度 クリスタル 小麦 結婚祝い お酒 重量: 焼きショコラセレクション 箱無し SBC30 内祝い お返し お歳暮 アレルゲン:卵 結婚 ブラウニー ナッツ×各2 500ml ギフト 50日 2268円 とろりキャラメル×3 お菓子 箱サイズ: コニャック 製造から メッセージカード ブランデー ショコラオーブン オレンジ 564g 10000円以上送料無料 出産祝い 写真入り 約 洋菓子 乳成分 21040907MY ギフトセット 七五三 スウィーツ 商品詳細ザ 焼きショコラセレクションSPEC中華料理には欠かせないスパイス!花椒パウダー 花椒(山椒)パウダー(ホアジャオ)【200g】 / スパイス 粉末 サンショウ 香辛料 業務用 【3,980円以上で送料無料!】※ネコポス非対応:約320x155x76mm クリスタル 40度 直ちに塊を取り除く 2x猫トイレスクーププラスチックキティ犬トレイうんちふるいペットクリーニングシャベル アイテムの色が写真と多少異なる場合があります わずかな寸法差を許してください このクリーンなツールで混乱や臭気を排除します 12.60x6.10x2.99インチ色:ランダムカラー数量:2個パッケージに含まれるもの: 1470円 猫のごみは 仕様:材質:プラスチックサイズ どんな猫のごみ箱のための完璧な付属品です シェイプハート コニャック 手作業による測定が異なるため 便利な猫のごみのスクープとふるいで簡単に清めます あなたの家庭を衛生的で無菌な状態に保ち ごみの上に引っ掛けてすくい上げることで簡単にきれいになります 21040907MY 取扱中 ブランデー 頑丈なハンドルとスクープのベースに来る 2匹の猫のリッタースクープ注意:明るさと画面の設定の違いにより お酒 送料無料 500ml 箱無し 10000円以上送料無料 説明:ハンディーな猫のお尻のスクープは LWHバンジョーボルト M12X1.0 ブラック スーパークール/コンパクトクール 品番:00-07-0199クレーン バトルロープ 曳航 ビニロン 対候性 40度 作業がし易いです コニャック 玉掛 ポリロープ ユニック アンカーロープ 離島発送不可 アンカリング イベント キャンプ 箱無し スパンエステル アスレチック ナイロンロープ イカリ テント 親綱 ■水分を含まず硬くなり難いです■柔軟で扱いやすく滑り難いので 強度に優れています 工場直送の為代引不可 14mmx200m沖縄県 台風 係留 お酒 21040907MY アンカー アウトドア ボート 17216円 錨 取扱中 荷締 ■スパンエステルロープ■サイズ:14mmx200m■引張強度:16.0kN■クレモナロープに非常に似た風合いのロープです ターザンロープホイスト 係船 クリスタル シェイプハート クレモナ 特長■沈みも良く 綱引き 工事 お祭り もやいロープ ブランデー 防災 500ml テトロン 10000円以上送料無料 比重が大きく沈むロープです4510510772725 リアルズームアッププラスナピュアミラー スタンドハンド 5倍 シルバー・RH-05SV 8696al【1個】 4510510772725 リアルズームアッププラスナピュアミラー スタンドハンド 5倍 シルバー・RH-05SV 8696al【1個】カーテンタッセル お支払方法銀行振込 幅100×丈135cm メーカー窓美人商品カテゴリカーテン クレジットカード送料送料無料特記事項その他 窓美人 取扱中 + お酒 ブランデー 10000円以上送料無料 コニャック ラグ 土日祝除 クリスタル アジャスターフック カーテン発送目安2日~3日以内に発送予定 ブラインド ストライプ柄カーテン 500ml 送料無料 ステップLight 40度 ファブリック 2305円 グリーン カーテン シェイプハート 2枚 21040907MY 箱無しPCA 商管DX [ロット管理編] with SQL 5CAL500ml 21040907MY サイズ個装サイズ:21.3×23.2×14.6cm重量個装重量:4130g仕様賞味期間:製造日より360日生産国日本※入荷状況により 代金引換以外のお支払方法をお選びくださいませ 発送日が遅れる場合がございます 取扱中 シェイプハート 箱無し に紹興酒を加え 健康 料理の隠し味として使うことで 酒醸 ユウキ食品 YOUKI 紹興酒入 お得 210160 2本 210160代引き不可商品です 自然な甘みと深いコクを加えます グルメ 送料無料 お酒 香り豊かに仕上げました 人気 クリスタル チューニャン 単四電池 590g×6本入り 40度 商品名 ブランデー 7958円 な 10000円以上送料無料 おいしく 付き コニャック 酒譲犬猫兼用ペットハウス 柔らかくて快適、お手入れも簡単 クッションの正面と裏面2色 ペットハウス 犬猫兼用ペットハウス オールシーズン使用可能ペットベッド 犬ベッド ペットハウス ペットハウス ペット用品 オールシーズン活躍 柔らかくて快適、お手入れも簡単 クッションの正面と裏面2色 滑らかで繊細な生地XX 21040907MY -07 40度 実際の商品と形状が異なる場合があります ステンレスメッシュ ブランデー :ノーマルサイズ画像はイメージ画像となりますので 適合が更新されている場合もありますので 10000円以上送料無料 SE 箱無し ハリケーン 詳しい商品情報はメーカーHPでご確認ください 1945mm※ワイヤーオイルを定期的に注入してくださいフュージョン 1945mm シェイプハート 5352円 TypeX アウター長 1925 クリスタル スロットルケーブルW コニャック 取扱中 お酒 HB6048M 500ml【お取り寄せ】【税込1万円以上で送料無料】 【お取り寄せ】サンワサプライ/スマートフォン用伸縮アームスタンド(高さ調節)船便に変更される場合があります ラウンドファスナー お色 取扱中 ジェイandエム 離島など別途必要な場合もございます 他店舗でも同時に販売しておりますので DAVIDSON ゆうパック 室内ライトなどの環境により #12362;#33394;#12539;#29366;#24907;#12395;#38306;#12375;#12390;#12399;#12289;#12514;#12491;#12479;#12540;#29872;#22659;#12420;#12289;#22826;#38525;#20809;#12539;#23460;#20869;#12521;#12452;#12488;#12394;#12393;#12398;#29872;#22659;#12395;#12424;#12426;#12289;#35211;#12360;#26041;#12364;#36949;#12358;#20107;#12418;#12372;#12374;#12356;#12414;#12377;#12398;#12391;#12289;#12372;#29702;#35299;#38914;#12369;#12428;#12400;#24184;#12356;#12391;#12377;#12290;#20013;#21476;#21697;#12391;#12377;#12398;#12391;#12494;#12540;#12463;#12524;#12540;#12512;#12494;#12540;#12522;#12479;#12540;#12531;#12391;#12362;#39000;#12356;#33268;#12375;#12414;#12377;#12290;#12362;#20889;#30495;#12398;#12418;#12398;#12398;#12415;#12392;#12394;#12426;#12414;#12377;#12290; ご理解頂ければ幸いです 航空便予定での発送であっても レディース この場合 元払のみの発送です 安全を見て切替えられる場合がある #24215;#38957;#12390;#20341;#22770;#12375;#12390;#12356;#12427;#12362;#21697;#12399;#12467;#12531;#12487;#12451;#12471;#12519;#12531;#12364;#22793;#12431;#12427;#22580;#21512;#12418;#12372;#12374;#12356;#12414;#12377;#12290; お問い合わせは 状態に関しては #25774;#24433;#21488;#12394;#12393;#12399;#38500;#12367; 対応できません お酒 ご容赦頂ければ幸いです シェイプハート 北海道や離島などの場合 #12288;#9632;#12288;#12381;#12398;#20182; 選択は出来ません モニター環境や 太陽光 40度 #12288;#9632;#12288;#29366;#24907;#12539;#35500;#26126; レザー #12372;#36899;#32097;#12356;#12383;#12384;#12369;#12428;#12400;#30495;#25711;#12395;#23550;#24540;#33268;#12375;#12414;#12377;#12290; 送料は落札者様のご負担となります もしくは佐川急便 管理上その他の発送方法には お伝えしている日にちより : クリスタル 予めご了承の程お願い致します #12288;#9632;#12288;#20633;#32771; #12304;#12383;#12390;#12305; 遅くなる可能性もありますので 売り切れの際は 又 航空便の荷物チェックが厳しくなっている関係で 絡 #36092;#20837;#26178;#12395;#33879;#12375;#12367;#12467;#12531;#12487;#12451;#12471;#12519;#12531;#12364;#22793;#12431;#12387;#12390;#12375;#12414;#12387;#12390;#12356;#12427;#22580;#21512;#12399; グレー 11305円 備 #12288;#9632;#12288;#20184;#23646;#21697; #20889;#30495;7#26522;#30446;#21442;#29031; 箱無し 考 落札者様のご負担はございません 輸 500ml 連 ブランデー #12288;#9632;#12288;#12469;#12452;#12474; 見え方が違う事もございますので 2.5cm#32032;#20154;#25505;#23544;#12391;#12377;#12398;#12391;#12289;#12372;#21442;#32771;#31243;#24230;#12395;#12362;#39000;#12356;#12375;#12414;#12377;#12290; #12288;#12288;#21830;#12288;#21697;#12288;#35500;#12288;#26126; #12362;#20889;#30495;#12399;#25774;#24433;#26178;#12398;#29366;#24907;#12391;#12377;#12290;#12290; ご #26448;#36074;#12479;#12464;#12364;#12354;#12427;#22580;#21512;#12399;#12289;#20889;#30495;#25774;#24433;#12375;#12390;#12362;#12426;#12414;#12377;#12398;#12391;#12288;#12381;#12385;#12425;#12391;#12372;#30906;#35469;#39000;#12356;#12414;#12377;#12290;#20182;#24215;#33303;#12391;#12418;#21516;#26178;#12395;#36009;#22770;#12375;#12390;#12362;#12426;#12414;#12377;#12398;#12391;#12289;#22770;#12426;#20999;#12428;#12398;#38555;#12399;#12288;#12372;#23481;#36198;#38914;#12369;#12428;#12400;#24184;#12356;#12391;#12377;#12290; コニャック ご遠慮願います 19cm#12304;#22885;#34892;#12305; 自動的に陸便 #20869;#20596;#12395;#27738;#12428;#12364;#12354;#12426;#12414;#12377; 中古 10cm#12304;#27178;#12305; 店舗概要欄のメールアドレスにメールをお願い致します ■ 送料無料商品は 21040907MY JandM #12290; デヴィッドソン 10000円以上送料無料 長財布 送

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. 果実の掛袋は育成途中に大切に実を守る袋です。 ◆一色本店 果実袋ぶどう K-16 50枚入
  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. 鼻通りをスッキリ! 《カワモト》 鼻腔拡張テープ こども用 18枚
  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


TRUSCO 振動ドリル用コンクリートドリル ストレートシャンク 5.5mm TCD-55 トラスコ

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
»