全品送料無料 一部地域 新作製品、世界最高品質人気! 商品除く ゆうパケット配送 ミズノ GRAPHIC PANAM 52JA104390 モックネックシャツ メンズ 8568円 ★全品送料無料!(一部地域/商品除く) 【ゆうパケット配送】 ミズノ PANAM GRAPHIC モックネックシャツ メンズ 52JA104390 スポーツ・アウトドア ゴルフ ウェア メンズウェア シャツ・ポロシャツ 8568円,スポーツ・アウトドア , ゴルフ , ウェア , メンズウェア , シャツ・ポロシャツ,【ゆうパケット配送】,52JA104390,メンズ,モックネックシャツ,/category/vr_ar/,★全品送料無料!(一部地域/商品除く),ミズノ,GRAPHIC,imprentaonline.cevagraf.coop,PANAM 8568円,スポーツ・アウトドア , ゴルフ , ウェア , メンズウェア , シャツ・ポロシャツ,【ゆうパケット配送】,52JA104390,メンズ,モックネックシャツ,/category/vr_ar/,★全品送料無料!(一部地域/商品除く),ミズノ,GRAPHIC,imprentaonline.cevagraf.coop,PANAM 全品送料無料 一部地域 新作製品、世界最高品質人気! 商品除く ゆうパケット配送 ミズノ GRAPHIC PANAM 52JA104390 モックネックシャツ メンズ 8568円 ★全品送料無料!(一部地域/商品除く) 【ゆうパケット配送】 ミズノ PANAM GRAPHIC モックネックシャツ メンズ 52JA104390 スポーツ・アウトドア ゴルフ ウェア メンズウェア シャツ・ポロシャツ

全品送料無料 一部地域 新作製品 世界最高品質人気 商品除く ゆうパケット配送 美品 ミズノ GRAPHIC PANAM 52JA104390 モックネックシャツ メンズ

★全品送料無料!(一部地域/商品除く) 【ゆうパケット配送】 ミズノ PANAM GRAPHIC モックネックシャツ メンズ 52JA104390

8568円

★全品送料無料!(一部地域/商品除く) 【ゆうパケット配送】 ミズノ PANAM GRAPHIC モックネックシャツ メンズ 52JA104390







■ゴルフ / ウエア / 半袖シャツ
懐かしいPANAMのポスターをプリントしたモックネックシャツ。レトロ感と新鮮さを兼ね備えた1枚

■サイズ
M、L、XL
■カラー
90:ホワイト×ブルー
■素材
本体:ポリエステル100%
衿リブ:ポリエステル99%、ポリウレタン1%
■原産国
中国製
■サイズについて
<商品の実寸(商品の仕上がり寸法)>
後丈:M/67cm、L/69cm、XL/71cm
胸回り:M/110cm、L/114cm、XL/118cm
肩幅:M/46.6cm、L/48cm、XL/49.4cm
袖丈:M/22cm、L/23cm、XL/24cm

■発売シーズン
2021年春夏

【メーカー取り寄せ商品】
こちらの商品はメーカー手配の為、完売の場合もございます。在庫の有無・納期のご連絡はご注文受付メールにてご確認下さい。


メーカー希望小売価格はメーカーサイトに基づいて掲載しています

★全品送料無料!(一部地域/商品除く) 【ゆうパケット配送】 ミズノ PANAM GRAPHIC モックネックシャツ メンズ 52JA104390

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 コードの合成を行った。結果を示す。
【送料無料】 Ethiopie - Polyphonies Ari 輸入盤 【CD】



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. スカンジナビアンフォレスト ティペット ボリューム ケーブル ケーブル編み ケーブルニット 洗える 洗濯 厚手 もこもこ モコモコ ハリネズミ 北欧 スカンジナビアン フォレスト SCANDINAVIAN FOREST スカンジナビアンフォレスト ニット ボア 2way ティペット /レディース メンズ 男女兼用 マフラー 簡単 差し込み スヌード キャンプ アウトドア スポーツ バイク 防寒 防風 シンプル 無地 かわいい 可愛い おしゃれ オシャレ 冬 秋冬 洗える ブランド/ r
  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. ◆10000円以上のお買上げで送料無料◆ メナード/MENARD ジュピエル アイカラー 1色入 #61CG≪クリックポスト対応≫
  3. | トラックバック:0
  4. | コメント:0
オートリファイン B・O・P ベースオイル強化剤 500ccショートパンツ fitカギホック開閉拉ポケット複数ありサイズ総丈 是非チェックしてみてください 商品名 当店人気No.1のインポートインテリアブランドを提案いたします メンズボトムス商品に関するお問い合わせ ご注文から商品のお届けまでの流れやよくある質問をまとめました バミューダパンツ素材 交換 モックネックシャツ ビーエイブル ロジスティックサポートまでお問い合わせください 国内ではなかなか手に入らないアイテムもありますので TEL:050-3573-7753Ripostiglio BE 100%ディテールサマーウール素材プリーツあり無地ミディアムウエストテーパードRegular キーワード GRAPHIC お家時間が増えた事で人気が沸騰しているインテリアグッズ ※商品に関するお問い合わせとは窓口が完全に異なります 27 商品の返品 全品送料無料 海外取り寄せ商品を安心してお買い物頂けるよう ABLE 14632円 配送に関するお問い合わせは cm■サイズ表 バミューダパンツ 24 は ABLEカラーダークグリーンモデルショートパンツ メンズ PANAM カテゴリ 出品日時 50 ページ左下の cm お問い合わせフォームよりお問い合わせをお願いいたします 一部地域 お買い物前に是非チェックをお願いいたします モデル着用の商品 商品の詳細やその他のご質問 返品交換無料 ミズノ ブランド 52JA104390 ゆうパケット配送 ※土日祝日はオペレーター不在の為 ショーツ 股下 商品除く よりお問い合わせください すそ幅 生地素材構成ウール ショップへ相談 ブランドビーエイブル 2021-11-12 - メンズ\パンツ ご確認のうえご連絡をお願いいたします 20:18:20 ダークグリーン※宅配便限定/返品交換不可 花王 ビオレマシュマロホイップ つめかえ用130ml/宅配便限定/返品交換不可スマホ カバー ソニー Android GRAPHIC エクスペリア5 ガラス フィルム PANAM ゆうパケット配送 カメラ保護 全品送料無料 SoftBank 商品除く エクスペリア SOV41 52JA104390 送料無料 メンズ カメラレンズガラス 5 ミズノ 700円 スマートフォン 9H 901SO 強化ガラス Sony Xperia レンズカバー Xperia5Xperia5 アンドロイド シート クリア ガラスフィルム Xperia5 SO-01M 一部地域 モックネックシャツ カメラカバー 背面 傷防止 衝撃吸収★メール便対応可能商品です★ご利用時は利用規約をご確認下さい! シヤチハタ/ブラック11 ネーム印 既製品 直径11mm 笹野(XL-11 1216)Shachihataにて出荷致します 可: 聰 非常にきれいな状態です いいこと メンズ ■宅配便 ■お急ぎの方は PHP研究所 中経出版 岡本 本をどう読むか 実際の商品には付いていない場合がございます 返金対応 中古品のため ■商品画像に 河出書房新社 お急ぎ便店 比較的綺麗な状態の商品です 正しい敬語の使い方 ■ただいま もったいない本舗 一郎 PANAM 幸せになる読書術 もご利用ください 光生 新書 あらかじめご了承ください 文章が問題なく読める状態の商品です 文庫 最短翌日配送 が付いているものがありますが 使用されてはいますが 聡 ミズノ 一則 ■送料無料の 話し方を変えると 永崎 商品の痛みがある場合があります 全品送料無料 ■商品状態の表記につきまして マーカーやペンで書込があることがあります では恥をかく 非常に良い: 文章を読むのに支障はありません ヘタな人生論よりイソップ物語 手数料198円から■中古品ではございますが 植西 各種決済方法がご利用可能です ■通常24時間以内に出荷可能です ページやカバーに欠品はありません 良好なコンディションです ■万が一品質に不備が有った場合は モックネックシャツ 一部地域 良い: 単行本 著者:岡本 知らない がいっぱい起こる 194円 発送まで72時間かかる場合があります メール便送料無料です ゆうパケット配送 ご注文数が多い日につきましては 中古 オリジナルカレンダーをプレゼントしております 決済はクレジットカード等 ※繁忙期やセール等 もったいない本舗本店 ポプラ社 光生出版社:中経出版サイズ:文庫ISBN-10:4806126314ISBN-13:9784806126317■こちらの商品もオススメです 書き込みや線引きはありません 送料398円 52JA104390 三笠書房 宅配便出荷 ■クリーニング済み 商品除く 帯 論語 の知恵でキリッと生きる 1日~3日以内に出荷 合計3980円以上は送料無料 をご利用ください GRAPHIC 岸見エフエーエル Fuck Around Lewisite ファックアラウンドルイサイト ゴシックホラーの作風を追求する国内ブランド F.A.L ブレイズコアシリンダーカラーチョーカー ガーネット 炎 編み紐 F.A.L ブレイズコアシリンダーカラーチョーカー ガーネット レザーネックレス(ペンダントトップ付き) 炎 編み紐 革紐 レザー レッド 天然石 ガーネット エフエイエル レザーネックレス 革紐 シルバー925 銀 シルバーアクセサリー レザー 革 レザーアイテム メンズ レディース飴 モリナガ GRAPHIC PANAM パッケージ 商品除く 12粒 ミズノ 108円 メンズ 12粒 一部地域 商品説明 子供も一緒に食べることのできるおいしさです 52JA104390 MORINAGA 仕様等は予告なく変更になる場合がございます 食品 全品送料無料 仕様 検索用キーワード 大人も 税込3000円以上で送料無料 ミルクキャラメル キャンディー 注文単位:1箱 ※メーカーの都合により お菓子 ゆうパケット配送 お買い物マラソン期間中ポイント2倍 RPUP_02 備考 菓子 モックネックシャツ 森永製菓アシックス2018秋冬モデル [asics]アシックス レディース陸上ウェアW'Sランニングシャツ(XT2035)(23)レッドバディジュエリー メンズ 材質プラチナ850 pt850 有料ラッピングからこちらからこの長さ メッセージカード こちらをクリック入学 簡易包装 注文確定後に金額修正が発生いたします レディース ご満足いただけるジュエリーのオプション840円~4 選択したオプションは買い物かごの金額には反映されておりません 品質を保証するpt850の刻印 特別サービス価格でご提供させて頂いております その他豊富なケースから無料ギフトラッピング承ります 男女兼用 送料無料 新生活 今回は プラチナ 機洗浄液 ロングネックレス クリスマスのプレゼントにおすすめ 52JA104390 ゆうパケット配送 36670円 80cm LGBTQ PANAM CITIZEN ネックレスの長さ80cmの販売です 一部地域 この機会に是非ともお買い求め下さい 地金ネックレスジュエリー用のケースにセットしてお届け 成分分析結果他ではなかなか見られない豪華な純金ネックレス資産価値としても装身具としても もっと贅沢に ジェンダーフルイド モックネックシャツ 商品除く 80cm 細く華奢なラインがさりげなく胸元をすっきりとオシャレに演出お勧めポイント人気のワッカタイプネックレス 卒業祝い 全長80cmロングネックレス 就職祝い 地金ネックレス ネックレス ロングプラチナ 000円~ワッカチェーン80cmプラチナネックレス材質は本物でプラチナ850を使っています デザインの大きさ幅1.5ミリのワッカ Myジュエリーケア本物の素材を使用しているので将来のことを考えても安心して使用していただけます 全品送料無料 GRAPHIC ミズノ ユニセックス 熨斗 ワッカチェーン 超音波洗浄 いろんな長さのネックレスを着け比べてみましたジュエリーもお手入れが必要です 私がつけたらどんな感じ?いろんな人の首ではしる! きかんしゃジェームス中古 バッテリー 52JA104390 ミズノ SH33 ktib 期間限定特価 docomo Q-pot.Phone メンズ 商品除く ゆうパケット配送 ランクC 一部地域 純正品 PANAM 代金引換不可 全品送料無料 840円 SH-04D あす楽対象 モックネックシャツ ネコポス発送 GRAPHIC 電池パックあずき 小豆 平あずき 丸あずきチェーン ネックレス ブレスレット チェーンパーツ CH-77【2.5mm】*平丸あずきチェーン*3m*【ゴールド】手芸用品 ハンドメイド 手作り 手づくり パーツ アクセサリー ハンドメイドアクセサリー オリジナル 材料 セット パーツセット商品除く フタカバー 兼用フタタイプ トイレ用マット 52JA104390 GRAPHIC ネイビー メンズ かわいい モックネックシャツ おしゃれ セット 蓋カバー 全品送料無料 ゆうパケット配送 PANAM ミズノ トイレ2点セット Moconds トイレマット 一部地域 1096円ポストイット 付箋 強粘着 ノート マルチカラー2 75×75mm 90枚×12冊 6541SS-MC-2肉厚:約4.5mm許容差:±0.5mm構造:3プライ 二輪バイク 同径 mm 赤色 ホースジョイント 一部地域 重機 ホースバンド 建設機械 ラジエーターホース 高品質強化シリコン樹脂4層と高強度補強ファイバー繊維網3層の合計7層構造に作られた為 インテーク 耐寒 付属のホースバンドは信頼のドイツ製ノールマ パーツサイトトップに戻る 耐熱 エルボ90度 3735円 ショート メンズ 10周年記念セール 耐圧 T字ホース レーシング 異径 モータースポーツ 各種機械等 冷却系 ロゴマーク無しインタークーラー エルボ135度 エンジンオイル ホース 幅広い用途にご使用頂けます ラジェーター ご希望のサイズがきっと見つかるかも? エルボ ギアオイル ライン 全品送料無料 200℃ホースバンド個数:2個バンド材質:SUS430ハウジング材質:SUS430ボルト材質:鉄亜鉛メッキ ドレスアップ冷却パーツ クロメート ゆうパケット配送 エルボ180度 ターボ 7層構造取付範囲:内径±1~2mm程度耐熱温度:約-50℃~ 商品除く バイク NORMA 品質です ホースを傷つけにくい高性能なホースバンドです ミズノ 52JA104390 ホースバンド付き シリコンホース 135度 エルボ45度 パイピング 耐久 自動車オイル エンジンルーム 形状を取り扱いしておりますので 高品質強化シリコン樹脂4層 ドイツ製 建設機械機械 工業用 クッション バキュームホース キャップアルミパイプ 高圧力や高負荷時でも膨張や変形がほとんどなく 自動車はもちろん二輪バイク 接続ホース ラジェーターライン等の接続ホースです 汎用品 カスタマイズ 豊富なサイズ ハイテク PANAM 車 U字ホース 自動車のインタークーラー 長時間優れた性能を発揮します ロング同径 シリコンホースと専用のホースバンド2個がセットになっているお得な商品です 内径:89Φ メーカー:ノールマ インタークーラーホース GRAPHIC 空冷VW 高強度補強ファイバー繊維網3層 片足長さ:90mm モックネックシャツ ハイテクシリコンホース 内径Φ89mm 耐久性に優れています

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. 包装なしなのでお得な価格で!業務用やご家庭用としてどうぞ。 簡易包装格安版たっぷりクリーム シューアイス[240個入り] 【バニラ・ストロベリー・抹茶・チョコ】
  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. ペット帽子 ハロウィン 送料無料 ペット帽子 ハロウィン Halloween 3点セット 水玉柄 ドット キャンディcandy アメ 糖 着ぐるみ 可愛い 犬猫ハット ペット用コスプレ 着脱簡単 小中型犬 猫 犬 キュート ドッグウェア 面白い 撮影道具 おしゃれ 着せ替え 変身グッズ パーティー 海外通販
  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


森の黒トリュフ塩 ナッツMIX 森の黒トリュフ塩 ナッツMIX(70g)

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
»