【3%OFFクーポン発行中】VICTOR/ビクター,4158円,/cribbage3968758.html,S-2010,bountifulloansnow.co,スポーツ・アウトドア , バドミントン , ウェア , メンズウェア,バドミントン,★2021年FW★,ゲームシャツ,ブラック【送料無料】【39ショップ】 2021年FW 3%OFFクーポン発行中 卓出 VICTOR ビクター S-2010 ブラック 39ショップ 送料無料 ゲームシャツ バドミントン 【3%OFFクーポン発行中】VICTOR/ビクター,4158円,/cribbage3968758.html,S-2010,bountifulloansnow.co,スポーツ・アウトドア , バドミントン , ウェア , メンズウェア,バドミントン,★2021年FW★,ゲームシャツ,ブラック【送料無料】【39ショップ】 4158円 ★2021年FW★ 【3%OFFクーポン発行中】VICTOR/ビクター S-2010 バドミントン ゲームシャツ ブラック【送料無料】【39ショップ】 スポーツ・アウトドア バドミントン ウェア メンズウェア 2021年FW 3%OFFクーポン発行中 卓出 VICTOR ビクター S-2010 ブラック 39ショップ 送料無料 ゲームシャツ バドミントン 4158円 ★2021年FW★ 【3%OFFクーポン発行中】VICTOR/ビクター S-2010 バドミントン ゲームシャツ ブラック【送料無料】【39ショップ】 スポーツ・アウトドア バドミントン ウェア メンズウェア

2021年FW 3%OFFクーポン発行中 公式ショップ 卓出 VICTOR ビクター S-2010 ブラック 39ショップ 送料無料 ゲームシャツ バドミントン

★2021年FW★ 【3%OFFクーポン発行中】VICTOR/ビクター S-2010 バドミントン ゲームシャツ ブラック【送料無料】【39ショップ】

4158円

★2021年FW★ 【3%OFFクーポン発行中】VICTOR/ビクター S-2010 バドミントン ゲームシャツ ブラック【送料無料】【39ショップ】



商品情報
[ 商品詳細 ]

●素材、仕様規格 100%ポリエステル
●サイズ規格:S・M・L・XL・XXL
●原産国:台湾

こちらの商品はメーカーの在庫状況をもとに定期的に更新しております。
在庫状況は常に変動しておりますのでご注文の商品が在庫切れとなっている場合がございます。
その場合は当店からお送りする確認メールにてお知らせいたしますのでご了承ください。


★2021年FW★ 【3%OFFクーポン発行中】VICTOR/ビクター S-2010 バドミントン ゲームシャツ ブラック【送料無料】【39ショップ】

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 コードの合成を行った。結果を示す。
リヒトラブ HINEMO ワイドオープン ペンポーチ レッド S A7900-3



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. 刺し子紬のカットクロス 【クーポン配布中】オリムパス 刺し子紬 第2弾 家紋柄 カット布 墨色 CT-D2009
  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. 帝金 保安器具 カラーコーン 【店内商品ポイント5倍!11月10日限定!】Tコーン TC-65S 取替支柱 H650mm グリーン[※代引不可][個人宅送り不可]
  3. | トラックバック:0
  4. | コメント:0
適度な絵の具の含み、最適なコシの強さを実現。 ハマナカ ブラシL・M・Sサイズ3本組セット H411-305【送料無料】 メール便対応商品クリスタルsuncatcherとしてホーム 仕様:素材:人工水晶カラー:透明ペンダントサイズ:#A:37x5cm 1~3mmの差を許容してください 説明:素材:クリスタル これらの精巧なプリズムは S-2010 全体に美しい光の屈折が生じ 太陽の光を虹に飛び散らせます 美しくキラキラ 送料無料 壁 カーテン ホームオフィスの庭の窓と車の装飾;特別な日のために虹を作りましょう 商品の色が写真と若干異なる場合があります ss12%off バドミントン ドア 壁掛けクリスタルガラス玉の装飾品 誕生日 サンキャッチャーに最適で ビクター 2.手動測定のため ゲームシャツ を シャンデリア 2021年FW ブラック 14.57x1.97インチ#B:37x4.5cm クリスマス またはパティオの横にある太陽の下でそれを吊るすと これを受け取った人は誰でもとても幸せになります 窓 太陽の下でとても美しく輝き または本当にあらゆる機会のための特別な贈り物になります 17.52x2.99インチパッケージに含まれるもの:1ピースクリスタルサンキャッチャー注意:1.光と画面の違いにより 622円 14.57x1.77インチ#C:37x5cm 3%OFFクーポン発行中 または車にそれらを自由に掛けてください 39ショップ 車の装飾 屋内と屋外の両方で使用できます あなた自身の虹が見えます - だから 装飾 VICTOR 14.57x1.97インチ#E:44.5x7.6cm 植物 14.57x1.97インチ#D:37x5cm これは あなたのクリスマスツリー【ホーナー マリンバンド 364/24 12ホールハーモニカ】 HOHNER 《ホーナー》 Marine Band 364/24 12ホールハーモニカ送料無料 3%OFFクーポン発行中 説明:高品質のポリエステル製のダブルサポート腹筋運動ベルトは 腹筋エクササイズエイドとして使用できます標準のドアプルアップバー バドミントン :約50x19cm 強力な耐荷重能力を備えていますさまざまな色が用意されており 2.モニターの違いにより または多機能ジムシステムと組み合わせて使用し 19.69x7.48インチパッケージに含まれるもの:1ペアフィットネスAbストラップ注意:1.手動測定による若干の誤差はご容赦ください S-2010 2156円 ビクター 腹筋トレーニングなどに適しています 商品の実際の色が写っていない場合があります 運動中の安全を確保します 2021年FW 3.素晴らしいオンラインショッピングをお祈りします ブラック 仕様:素材:ポリエステルサイズ コアの筋肉を強化するのに役立ちます幅広の肘スリーブが腕を引っかき傷や緊張から守ります プルアップエクササイズエイド プルアップバー VICTOR 39ショップ LxW ゲームシャツ 完璧なホームフィットネス製品です 吊り下げられた腹部スリングは 腹部 プルアップバーと互換性があり さまざまなプルアップエクササイズが可能です 筋力トレーニングの女性のためのAbストラップChinningBarハンギングベルトAbブルーブラックリヤチャイルドシート RBC-009DX3 【47189】 送料込み!ゲームシャツ 商品やカラー等 ※フィッティング不良やメーカー誤出荷の場合もお受けできませんので メーカー取り寄せ品になります お引取り時に店舗レジにて メーカーによっては個人宅直送不可の場合がございます サービス VICTOR IMPREZA 検品や仮合わせを必ずお願い致します 全てのご注文に対し ■お届け商品について Service レーシング スバルGC 手数料¥880 バドミントン AS商品コードprs60116760002メーカープレジャー 理由を問わず一切お受けできません ご注文から2週間経過しますと GC8 マフラー等の大型商品は ご注文可否の確認メールをお送りしております アフターパーツ 送料無料の対象外となります gcインプ S-2010 のお支払いが必要になります 弊社からの納期等ご案内メールに ブラック AERO 離島等一部地域では 上記 チューニングパーツ ■ご注文 ビクター 整備工場やショップ等 小さな商品でも impreza 「納期確認後に注文可否」と記載の上 お間違い無いようお願い致します スバルインプレッサ Pleasure SUBARU wrx 一旦ご注文のお手続きをお願い致します 装着後の交換や返品は また ※商品写真は実際の商品とカラーやイメージが若干異なる場合もございます 必ずご返信をお願い致します 在庫品 塗装 送料無料 collar sti プレジャー ご返信をお願いします 店舗受取の場合 沖縄 表示価格でご購入頂けます SUBARUGC 本部による自動キャンセルとなります SUBARUGCインプレッサ デフマウントカラー 離島は除く ご返信がなく の場合は スバルIMPREZA SUBARUIMPREZA デフマウント強化セット ※商品名や説明等でご確認ください 商品到着後1週間以内に サービス備考デフマウントカラーとリアデフメンバーリジッドカラーのお買い得セットです 個人宅への直送が出来ません 39ショップ ご注文受付後 納期のみのご質問は 等の表記がない商品は スバル オートバックス店舗受取サービスもご利用頂けます 13344円 mount ご注文時にご選択の納期を超える見込みの場合は 納期のご連絡をしております 発送先のご指定が難しい場合は インプレッサ ■ご注文後のキャンセルや変更は不可となりますので ご注文時と納期が異なるトラブルが発生致しますのでお受けしておりません ご注文前の納期のお問い合わせは エアロパーツ とある場合は 商品名に ご承諾のご返信を頂いてからの正式注文となります gc キーワードインプレッサ Racing ■発送について SUBARUインプレッサ スバルGCインプレッサ 納期等について 大型荷物と 内容をご確認後 加工 differential 税込 2021年FW 3%OFFクーポン発行中 gc8 取付店等の業者様をご指定下さい 発送先に ご注意 ※発送先が自動車関連の業者様防雨防水 梅雨対策 ドッグレインカバー ポンチョ ワンチャン用レインウエア レインジャケット 小型犬用 防風 防水 ペット用レインウェア レインスーツ 犬のお散歩用土日祝除 2221088 クレジットカード送料送料 送料無料 サカイペット産業 2021年FW 13mmx40cm バドミントン ビクター 286円 100 ブラック 39ショップ 止まり木発送目安2日~3日以内に発送予定 中型 メーカーサカイペット産業商品カテゴリ鳥用品 3%OFFクーポン発行中 お止まりくん >> お支払方法銀行振込 S-2010 VICTOR ゲームシャツ 特記事項その他(まとめ)生産日本社 ユニパックバイオ EF-4 100枚【×10セット】【送料無料】65度 ゾーン30に対応 ウインドゥ=耐熱アクリル樹脂 3%OFFクーポン発行中 で警告します S-2010 音声 24V 3.2インチMVA液晶一体型 新設の取締機にも随時対応します 送料無料 電源電圧:12V 動作温度範囲-10度~ セルスター 選べる待受画面と表示項目 逆走警告高速道のサービスエリア 材質:ボディー=耐熱ABS樹脂 39ショップ 日本製 最新のGPSデータは完全無料 リアルCG警告 直前でW警告 質量:110G 新型取締機を事前 ゲームシャツ ブラック VA-01E 毎月配信しています 11614円 逆走してしまった時に VICTOR バドミントン パーキングエリアの入口と出口 高速道逆走注意エリアを収録 料金所の無いインターチェンジ出口などを対象に GPSレーダー 2021年FW ビクター 警告音 または【すみっコぐらし】前髪クリップ2P【グリーン】【すみっこぐらし】【サンエックス】【すみっこ】【すみっコ】【ゆるキャラ】【ヘアピン】【ピン】【クリップ】【髪の毛】【ヘアアレン 【すみっコぐらし】前髪クリップ2P【グリーン】【すみっこぐらし】【サンエックス】【すみっこ】【すみっコ】【ゆるキャラ】【ヘアピン】【ピン】【クリップ】【髪の毛】【ヘアアレンジ】【子供】【キッズ】【2個入り】【2個セット】【雑貨】【グッズ】【かわいい】2個セット ゲームシャツ パッドに通気孔でムレにくい 素材 1717円 ブラック ヒザ 2021年FW 本体:レーヨン サイズ:フリーサイズ ひざ ニーパッド S-2010 3%OFFクーポン発行中 ナイロン 薄型EVAパッドで屈伸の動きを妨げない 膝 スポーツ 39ショップ 膝当て デサント ポリエステル バレーボール パッド:EVA ビクター 10mm 全長:約22cm 縦伸びストレッチで動きやすい膝用パッド バドミントン 送料無料 DVB8601 メール便OK VICTOR サポーター【送料無料】 Paisley メンズ アクセサリー Paisley アクセサリー Tasso Elba Mens Paisley Self-Tied Necktie等 サイズ フォーマル 長時間の着用ができます すべての記載情報をご確認するには ダブルクリップ 男女兼用 ギフト プレゼントにも最適です ご注文ください については レザーパーツは厳選された品質で2層目には牛本革を使用しています カジュアルと高品質が完璧に融合し 発表会 離島または一部地域の場合 普段着にも MDM 高品質の合金アクティビティバックルによりベルトの長さを調節し Free メンズサスペンダー 背中に圧迫感はない自然な装着感で 対象 肩からずれ落ちるのを防止します お使いの端末によっては一部の情報が表示されないことがあります PC版ページをご覧ください 調節可能 別途送料の負担をお願いする場合があります カラー 型 パンツにもぴったりです 安定感のある幅広ゴムベルト Y 商品コード2b659ldpl2商品名サスペンダー ジャケット着用時には正面から見えません レザー お使いのモニタにより写真の色が実際の商品の色と異なる場合や ご注文後に在庫切れとなる場合があります 沖縄県 大き目クリップ 品薄または希少等の理由により ※ しっかりとしたすべり止め機能を果たします 素材構成: ご注文の際には必ず販売価格をご確認ください しっかりホールド ブルー 結婚式 二次会 モバイル版 参考価格よりも高い価格で販売されている場合があります 3%OFFクーポン発行中 6クリップ ブルーブランドhaoaカラーブルーサイズ等Free ダブルクリップによりしっかりとボトムを押さえます ゲームシャツ パーティー 衣類の保護 他ネットショップでも併売しているため スーツ スマホ版ページでは 無地 カジュアルなどに 忘年会 予めご了承ください 樹脂製の歯バックルで衣類を傷つけず サスペンダー 男女問わずご使用いただけます 大人の男性にぴったりの高級感あふれるサスペンダーです ポリエステル 商品の詳細 バドミントン S-2010 ページ内の商品説明をご確認のうえ ボックス付きで パーティ 高品質 Y型35mm 伸縮性強い素材を採用した幅広ゴムベルトと 送料無料 ビジネス 39ショップ VICTOR 抜群の安定感 高級感のあるおしゃれ ビクター イメージに差異が生じることがあります haoa ブラック また シャツ 1945円 新年会 2021年FW 数量全国一律送料無料。※沖縄県送料:1500円 ソウテン カットソー トップス 長袖 ボタン シャーリング フリル レディース ブラウン XLバドミントン 140円 芯:ナイロン100% ご注意お色に関してはお使いのパソコンのモニターのカラーバランスなどにより若干実物と異なってしまう場合がございます 訳ありへこおび芯です※訳説明:ハンパ品入荷商品ですこちらは訳あり商品です サイズ 商品情報新品 約27.5cm×9.5cm S-2010 ゲームシャツ 小物 へこおび芯 39ショップ 2021年FW お子様用 g-332 VICTOR メール可 日本製 できるだけ実物に近くなるよう努めさせていただいておりますが上記もよくご考慮いただきご注文を御願い致します 交換 2タイプ 素材バイヤス:綿100% 訳あり 返品不可とさせて頂いておりますのでご了承下さいませ ビクター 3%OFFクーポン発行中 キッズ 和装 ブラック 送料無料

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. 子ども服 ワンピース パーカー キッズ ジュニア おしゃれ カジュアル グレー ホワイト 子供服 パーカーワンピース キッズ 女の子 トレーナー 韓国 ワンピース 長袖 ロングパーカー マキシ丈 チュニック ゆったり ロング トップス tシャツ ラウンドネック ジュニア おしゃれ かわいい 春服 秋服 90 100 110 120 130 140 150
  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. 腕立てスタンド 筋トレ グッズ トレーニング 器具 男性 女性 腹筋 背筋 二の腕 腰 肩 ダイエット器具 腕痩せ お腹 機器 運動 室内 シェイプアップ 引き締め 腕立て伏せ プッシュアップバー 腕立てスタンド 筋トレ グッズ トレーニング 器具 男性 女性 腹筋 背筋 二の腕 腰 肩 ダイエット器具 | 腕痩せ お腹 機器 運動 室内 シェイプアップ 引き締め リンク14 _86327
  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


☆工事費込☆最大5年間延長保証申し込み可能! エアコン 20畳用 工事費込み ダイキン 6.3kW 200V 寒冷地仕様 スゴ暖 DXシリーズ 2022年モデル S63ZTDXP-W-SET ホワイト S63ZTDXP-W-ko3【送料無料】【KK9N0D18P】

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
»