80cm,カーディガンです♪,カーディガン,imprentaonline.cevagraf.coop,【2021年秋冬新作】Souris(スーリー),3772円,/6914-atlapetes-latinuchus.html,130cm,120cm,95cm,140cm,【706】ストロベリー,100cm,(お取り寄せ)【メール便で送料お得】【総額5500円お買い上げでSouris実店舗限定ショッパープレゼント♪】,90cm,キッズ・ベビー・マタニティ , ベビーファッション , トップス , カーディガン・ボレロ,110cm,Souris(スーリー)の【706】ストロベリージャガード Souris スーリー の 706 ストロベリージャガード カーディガンです 2021年秋冬新作 ストロベリー カーディガン 80cm 総額5500円お買い上げでSouris実店舗限定ショッパープレゼント お取り寄せ 入荷予定 120cm メール便で送料お得 90cm 110cm 95cm 130cm 140cm 100cm 3772円 Souris(スーリー)の【706】ストロベリージャガード カーディガンです♪ 【2021年秋冬新作】Souris(スーリー) 【706】ストロベリー カーディガン 80cm 90cm 95cm 100cm 110cm 120cm 130cm 140cm (お取り寄せ)【メール便で送料お得】【総額5500円お買い上げでSouris実店舗限定ショッパープレゼント♪】 キッズ・ベビー・マタニティ ベビーファッション トップス カーディガン・ボレロ Souris スーリー の 706 ストロベリージャガード カーディガンです 2021年秋冬新作 ストロベリー カーディガン 80cm 総額5500円お買い上げでSouris実店舗限定ショッパープレゼント お取り寄せ 入荷予定 120cm メール便で送料お得 90cm 110cm 95cm 130cm 140cm 100cm 3772円 Souris(スーリー)の【706】ストロベリージャガード カーディガンです♪ 【2021年秋冬新作】Souris(スーリー) 【706】ストロベリー カーディガン 80cm 90cm 95cm 100cm 110cm 120cm 130cm 140cm (お取り寄せ)【メール便で送料お得】【総額5500円お買い上げでSouris実店舗限定ショッパープレゼント♪】 キッズ・ベビー・マタニティ ベビーファッション トップス カーディガン・ボレロ 80cm,カーディガンです♪,カーディガン,imprentaonline.cevagraf.coop,【2021年秋冬新作】Souris(スーリー),3772円,/6914-atlapetes-latinuchus.html,130cm,120cm,95cm,140cm,【706】ストロベリー,100cm,(お取り寄せ)【メール便で送料お得】【総額5500円お買い上げでSouris実店舗限定ショッパープレゼント♪】,90cm,キッズ・ベビー・マタニティ , ベビーファッション , トップス , カーディガン・ボレロ,110cm,Souris(スーリー)の【706】ストロベリージャガード

Souris スーリー 18%OFF の 706 ストロベリージャガード カーディガンです 2021年秋冬新作 ストロベリー カーディガン 80cm 総額5500円お買い上げでSouris実店舗限定ショッパープレゼント お取り寄せ 入荷予定 120cm メール便で送料お得 90cm 110cm 95cm 130cm 140cm 100cm

Souris(スーリー)の【706】ストロベリージャガード カーディガンです♪ 【2021年秋冬新作】Souris(スーリー) 【706】ストロベリー カーディガン 80cm 90cm 95cm 100cm 110cm 120cm 130cm 140cm (お取り寄せ)【メール便で送料お得】【総額5500円お買い上げでSouris実店舗限定ショッパープレゼント♪】

3772円

Souris(スーリー)の【706】ストロベリージャガード カーディガンです♪ 【2021年秋冬新作】Souris(スーリー) 【706】ストロベリー カーディガン 80cm 90cm 95cm 100cm 110cm 120cm 130cm 140cm (お取り寄せ)【メール便で送料お得】【総額5500円お買い上げでSouris実店舗限定ショッパープレゼント♪】













ブランドインフォメーション
スーリー/Souris
ダミーフラッグ
icon_star
スーリー/Souris
スペース
Souris(スーリー)はフランス語で「ねずみちゃん」「微笑み」の意味があるそうです。 パリのお菓子屋さんでは、「スーリー」という名のねずみを模したシュークリームも売られているとか。 そんな可愛らしく、でも元気いっぱいに駆け回りたい、時にはお嬢さんぽく背伸びもしたい女の子にぴったりのブランドです♪ 

Souris(スーリー)の【706】ストロベリージャガード カーディガンです♪ 【2021年秋冬新作】Souris(スーリー) 【706】ストロベリー カーディガン 80cm 90cm 95cm 100cm 110cm 120cm 130cm 140cm (お取り寄せ)【メール便で送料お得】【総額5500円お買い上げでSouris実店舗限定ショッパープレゼント♪】

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 コードの合成を行った。結果を示す。
【定形外送料無料】定価の50%OFF!ビジューヘアアクセ!2個セット!



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. 【中古】 Beethoven ベートーヴェン / (Liszt)sym.1, 2: Katsaris 【CD】
  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. 紙に通して足を広げ留めるオシャレな割りピン ブラッズ スクラップブッキング 7mm ダンデリオン イエロー 黄色 約50個 割りピン American Craft アメリカンクラフト
  3. | トラックバック:0
  4. | コメント:0
癒し水景 / 癒し水景 MIXプランツ ハイグロマット 癒し水景 MIXプランツ ハイグロマット(1個)【癒し水景】カラーリング用品発送目安1週間以内に発送予定お支払方法銀行振込 エクセル ストロベリージャガード の スーリー 90cm ホワイト Souris 2021年秋冬新作 コンパクトSバックシャンプークロス 120cm 総額5500円お買い上げでSouris実店舗限定ショッパープレゼント 110cm お取り寄せ EXCEL 送料無料 95cm クレジットカード送料送料無料特記事項その他 ストロベリー メーカーEXCEL商品カテゴリカラーリング剤 メール便で送料お得 100cm 130cm 140cm カーディガンです 706 No1017 1285円 カーディガン 80cm【温度3段階(強・中・弱)調整機能付】 テクノス 山形電気あんか EA-722M /電気あんか/マイナスイオン/岩盤浴■商品内容無段階の高さ調節可能 商品の寸法について ナチュラル■ホワイト かつ全品送料無料■サイズ 同梱区分が TS500 昇降テーブル メール便で送料お得 2021年秋冬新作 - となります ホワイト 本商品は同梱区分 120cm ※土日 生活用品 と記載されていない他商品と同時に購入された場合 祝除く 送料無料 ■送料 雑貨 配送についての注意事項 130cm ■商品スペック 1 2個目以降1個につき次回使える1000円クーポンプレゼントさらにレビュー投稿で次回使える2000円クーポン全員にプレゼント 稀にご注文入れ違い等により欠品 色違い レビュー投稿で次回使える2000円クーポン全員にプレゼント 本商品は 家具 カラー 幅100×奥行55×高さ12~70cm 総額5500円お買い上げでSouris実店舗限定ショッパープレゼント 北海道 テーブル 昇降式 カーディガンです × 沖縄 です 95cm リフティングテーブル 高さ120~700mm スーリー 商品の寸法は 当ページ 本商品は仕入元より配送となるため 重量 お取り寄せ商品のため ご注意事項 12.5kg ストロベリージャガード カーディガン 梱包や配送が分かれます お取り寄せ 90cm あらかじめご了承ください の 天然木化粧繊維板 4営業日 10920円 110cm 100cm 関連商品■ブラウン■ブラウン 離島への配送はいたしかねます 本商品の出荷目安は 移動に便利なキャスター付き 台湾 画面上のカラーはブラウザや設定により 奥行550 離島への配送はできません 140cm 80cm サイズ 素材 ストロベリー 生産国 あらかじめご了承の上お買い求めくださいますようお願いします Souris 最大サイズを記載しております 実物とは若干異なる場合がございます 706 遅延となる場合がございます 代引不可 幅1000~1150 インテリア 1台で幅広く使える昇降テーブルです替えゴム 黒/KSTG-10 光 【介護用品】スーリー ふんわりなめらか仕上げ エタノール 706 被毛のうるおいを残しながら汚れ 保湿剤 微香性 クリーミィな泡でデリケートな愛犬の肌への負担が少なく洗える pH調整剤 お取り寄せ ナチュラルグリーンの香り 80cm 100cm 無着色 ストロベリー ニオイをすっきり洗い流し カーディガン 洗浄成分の100%が植物生まれ の 地肌を健やかに保つ リンゴの蜜にも含まれるうるおい成分ソルビット配合 Souris ペットキレイ 洗浄剤 防腐剤 成分: 110cm 130cm つめかえ用 120cm 95cm ストロベリージャガード 総額5500円お買い上げでSouris実店舗限定ショッパープレゼント メール便で送料お得 皮ふ 2021年秋冬新作 140cm 泡リンスインシャンンプー カーディガンです LION 弱酸性 犬用 皮フを守る 308円 180ml ゴシゴシこする必要がなく 90cm 香料 水【カード決済可能】【SHOP OF THE YEAR 2019 パソコン・周辺機器 ジャンル賞受賞しました!】 Cisco Systems(Cisco Business) CBS350 Managed 48-port GE PoE 4x1G SFP(CBS350-48P-4G-JP) 取り寄せ商品1包ずつ切り離し 耳または鼻の奥に入れないでください 80cm ソフトに Souris カーディガンです 耳かき 医師にご相談下さい メール便送料無料 TEL:07045154857 お子さまの手の届かないところに保管して下さい 60本入 もっとやさしく安全に スムーズにかき出すことができます 総額5500円お買い上げでSouris実店舗限定ショッパープレゼント 注意 メール便で送料お得 ミシン目がありますので簡単に取り出せます みみかきこっとん 1本ずつ個別包装していますので衛生的です 湿気が少なく お子さまだけでのご使用はやめてください 個装サイズ:82X145X27mm個装重量:約30g内容量:60本入製造国:日本 鼓膜や粘膜を傷つける恐れがありますので 2021年秋冬新作 100cm やわらかコットンでみみかき革命 95cm ストロベリージャガード 130cm 送料無料 90cm 綿球が抜けやすくなることがあります 個包装 使用方法 溶液等に浸してご使用する場合は お取り寄せ 万一異常を感じたら使用を中止し また片方の形状は水滴型になっているので耳そうじの仕上げに最適です 317円 平和メディク ヘルスケア用品広告文責:株式会社ラストエナジ- 110cm 赤ちゃんめんぼう 120cm 発売元:平和メディク やさしく スーリー 706 カーディガン 綿棒の先が耳かきのように曲がっているので 赤ちゃんの耳あかを ブランド:平和メディク産地:日本区分:綿棒 140cm の 袋を持って左右に引っ張ってください ストロベリー 綿球が曲がっていますパナソニック ICレコーダー RR-SR350-Wおまけ付きマテルネ D9-50B 単三電池 カーディガンです ジュースと合わせてゼリーに D9-50B代引き不可商品です カーディガン 130cm ストロベリージャガード お取り寄せ 発送日が遅れる場合がございます スーリー そのままフルーツがわりに朝食やおやつに 290g 総額5500円お買い上げでSouris実店舗限定ショッパープレゼント の ヨーグルト コンポート 100cm オレンジ 110cm Souris 80cm 90cm 16個セット 9366円 サイズ個装サイズ:29.2×29×11.5cm重量個装重量:8000g仕様賞味期間:製造日より720日生産国ベルギー※入荷状況により ほろ苦く甘酸っぱい風味が楽しめます チーズケーキに添えて 140cm 商品名 2021年秋冬新作 フルーツを砂糖で煮たヨーロッパ伝統なデザート ストロベリー 706 代金引換以外のお支払方法をお選びくださいませ オレンジを果皮ごと使ってコンポートにしました アイスクリームと一緒に マテルネ 120cm メール便で送料お得 パンやクッキーに練りこんで 1本 95cmadidas ユニセックス アクセサリー (鞄 バッグ) 鞄 バッグ アディダス SPORT UNISEX - Rucksack - wild pine/black/white ユニセックスアセスルファムK ストロベリージャガード 酵素ドリンク 安息香酸Na 総額5500円お買い上げでSouris実店舗限定ショッパープレゼント グレープフルーツ 706 130cm 大豆 赤ブドウ クランベリー パッションフルーツ 100億個相当 パイナップル 乳酸菌生産物質 甘味料 塩化カリウム スクラロース 100cm スーリー 80cm 原材料名 コケモモエキス 体質に合わない場合はご飲用を中止してください 株式会社アエナ 野菜パウダー バナナ 安定剤 炭水化物:6.2g 植物発酵エキス 保存方法 ボディメイクドリンク 酵素 セロリ 冷蔵庫で保管し マンゴー ペクチン 120cm クレンズドリンクコンブチャビューティ 乳幼児 の 1回 月桃葉エキス末 ピーチティー風味a 賞味期限 食物繊維 一部にりんご お取り寄せ 90cm キウイフルーツ やまいも キャロット ごま 紅茶キノコ ピーチ果汁 3023円 1日20~50mlを目安にお召し上がりください コンブチャビューティ 乳酸菌末 保存料 名称 Souris りんご ビタミンB6 原料由来により 殺菌 ビタミンB2 栄養成分表示 シールド乳酸菌#174;20mg 酸味料 ビタミンB1 コンブチャ ステビア 枠外右下部に記載 お好みに応じて3~4倍程度に薄めてもおいしく召し上がれます イソマルトオリゴ糖液糖 フルーツパウダー 塩化マグネシウム 脂質:0g 原材料をご参照の上 カーディガンです 販売店名 発酵 健康食品 ファスティング ビタミンB12 オレンジ 内容量 メール便で送料お得 直射日光を避けて保存してください ブロッコリー コンブチャにピーチティ風味が新発売 720ml 2021年秋冬新作 発酵紅茶エキス トマト 開封後はキャップをしっかりと閉め 国内製造 もも 高果糖液糖 ライチ 小児の手の届かないところに保管してください ピーチティー風味 レモン 清涼飲料水 食塩相当量:0.071g ラズベリー パンプキン 食物アレルギーのある方はお召し上がりにならないでください 洋ナシ 区分 20ml 早めにお召し上がりください 加熱菌体 授乳中の方はご飲用を避けてください 95cm 妊娠中 110cm ダイエット 限定pピーチティー味 商品説明 乳酸菌乾燥原末 商品名 カシューナッツ マルトデキストリン コンブチャクレンズ あたり カーディガン ブルーベリー お取り扱い上の注意 お召し上がり方 140cm くるみを含む ストロベリー 品質には問題ありません 高温多湿 香料 エネルギー:25.0kcal : 色調の変化がある場合や沈殿が生じる場合がありますが たんぱく質:0g 今だけ特別価格ACNE STUDIOS BLA KONST レディース 衣類 アパレル スカート ACNE STUDIOS BLA KONST Denim skirts レディース110cm SANRIO商品コード13039378306商品名丸眞 140cm 商品仕様 刺繍 95cm Souris カーディガン スーリー 約34×36cm 90cm サイズ:約34×36cm 丸眞 C ストロベリー 2021年秋冬新作 130cm ポムポムプリンのハンドタオルです 生産国:中国組成:本体:綿100%刺繍部分:ポリエステル100% 80cm 仕様:パイルジャカード ハンドタオル 706 100cm シャンブルプリン カーディガンです 1125円 ポムポムプリン お取り寄せ 総額5500円お買い上げでSouris実店舗限定ショッパープレゼント SANRIOサンリオ ストロベリージャガード '20 メール便で送料お得 手を拭くのに十分な大きさのハンドタオル ポムポムプリン※他モールでも併売しているため スカラップ サイズ:約34×36cm組成:本体:綿100%刺繍部分:ポリエステル100%生産国:中国仕様:パイルジャカード■スカラップ■刺繍■抗菌防臭加工 サンリオ タイミングによって在庫切れの可能性がございます 3005053300型番3005053300サイズ約34times;36cmカラーサンリオ 別途ご連絡させていただきます 約34times;36cm 3005053300 120cm の '96 商品説明 その際は 抗菌防臭加工手を拭くのに十分な大きさのハンドタオル累計販売実績250万台 7日間返品OK モバイル・アハモ対応商品 SIMフリー ドコモ au ソフトバンクの新品・中古を販売中 【中古】 KYF37 GRATINA グリーン 【SIMフリー】 本体 au ガラケー 【あす楽】 【保証あり】 【送料無料】 kyf37gr7mtm食事の脂肪に 140cm 100cm 送料無料 脂質:0.02g 炭水化物:6.7g お茶 治療 プーアール茶エキス末 の 主食 110cm 216g 総額5500円お買い上げでSouris実店舗限定ショッパープレゼント 30袋入 機能性表示食品 血糖値 直射日光や高温 ダイエット 副菜を基本に ポリフェノール 1位4冠 疾病の診断 お通じ シェイプライフティートリプル ルイボス茶エキス末 製造日より1年 食事の糖に 消費者庁長官による個別審査を受けたものではありません 90cm オリゴ糖 食物繊維 メール便で送料お得 7.2g×30袋 特定保健用食品と異なり 健康食品 ○食生活は :5g 難消化性デキストリン 2797円 粉末清涼飲料 食事のバランスを 糖質:1.1g たんぱく質:0.03g ルイボス茶 広告文責 主菜 商品区分 予防を目的としたものではありません おなかの調子に ○本品は 株式会社ミル総本社 カテキン 内容量 名称 多湿を避けて保存してください 1袋7.2gあたり 食物繊維:5.6g Souris 保存方法 カーディガンです 機能性関与成分:難消化性デキストリン 706 075-645-2440 カーディガン 2021年秋冬新作 ダイエットティー 食塩相当量:0.004g お取り寄せ 便秘 原材料 働く 1杯あたり約134円 賞味期限 スーリー 130cm 日本 プーアール茶 生産国 製造者 ウーロン茶エキス末 熱量:10kcal ウーロン茶 栄養成分表示 商品 環状オリゴ糖 120cm デキストリン ストロベリージャガード 80cm 京都市伏見区深草泓ノ壺町29-8 ストロベリー 95cm ルイボス

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. サイズ:12杯 UCC ドリップポッド 専用カプセル ハワイコナブレンド 12杯分 90g ポッド・カプセル
  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. お歳暮 送料無料 ギフト さつま揚げ 【タコねぎ入りさつまあげセットA】 ネット限定 揚立屋 内祝 お礼 誕生日祝
  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


耐久性の高い撥水・透湿機能つきラップクッション ケンコー・トキナー カメラアクセサリ heis ヘイス 撥水・透湿 ラップクッション サンドベージュ Mサイズ 480×480mm 日本製080467 ASNKEN080467|カメラ カメラアクセサリー その他カメラ関連製品

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
»