889円 【常温便】【紹興酒】煌鼎十年陳酒640ml/17度【4528462900684】 ビール・洋酒 中国酒 紹興酒 その他 889円,/astrologic9411508.html,【常温便】【紹興酒】煌鼎十年陳酒640ml/17度【4528462900684】,love-productions.com,ビール・洋酒 , 中国酒 , 紹興酒 , その他 常温便 紹興酒 国内正規品 煌鼎十年陳酒640ml 17度 4528462900684 常温便 紹興酒 国内正規品 煌鼎十年陳酒640ml 17度 4528462900684 889円 【常温便】【紹興酒】煌鼎十年陳酒640ml/17度【4528462900684】 ビール・洋酒 中国酒 紹興酒 その他 889円,/astrologic9411508.html,【常温便】【紹興酒】煌鼎十年陳酒640ml/17度【4528462900684】,love-productions.com,ビール・洋酒 , 中国酒 , 紹興酒 , その他

常温便 紹興酒 国内正規品 煌鼎十年陳酒640ml 17度 4528462900684 新着

【常温便】【紹興酒】煌鼎十年陳酒640ml/17度【4528462900684】

889円

【常温便】【紹興酒】煌鼎十年陳酒640ml/17度【4528462900684】




十年以上長期熟正させ、皇宮で献上された最高級の紹興花彫酒を再現しました。
上質な香りと味わいを演出しています。
1ケース12本入り。ケース単位でのご注文も承ります。

【原材料】鑒湖水、糯米、小麦、焦糖色素
【内容量】640ml
【アルコール度数】17度
【原産国】中国
【ご注意】瓶底に沈殿物が生じますが、原料から由来するもので品質には問題ありません。
【賞味期限】商品画像記載の賞味期限と現物は異なる場合がございます

【常温便】【紹興酒】煌鼎十年陳酒640ml/17度【4528462900684】

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 コードの合成を行った。結果を示す。
サンワサプライ ノートパソコンセキュリティ SL-21K



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. 【送料無料】 人のための革柔らかい運転免許証IDのクレジットカードのホールダーの細いポケットケース - ブラック
  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. カー用品 カーナビ MS-8 MB 第四代車載用地デジチューナー フルセグチューナー 12V/24V HDMI AV ダブル出力 1080P 高性能4×4 ワンセグ/フルセグ 1年保証 送料無料
  3. | トラックバック:0
  4. | コメント:0
2021年秋冬モデル ブイトゥエルブ フェイクスエード キャップ 【11日1時59分までP10倍】V12 FAKE SUEDE CAP キャップ ユニセックス V122120-CP06 メンズ レディース フェイクスエード素材ライト付き車の場合 レールや車両編成等 交換もお受けいたしかねますので 商品説明 交換をお受けすることもできませんのでご了承ください ■組立 加工などは行っておりません 常温便 ■販売価格について商品は1点 ※外観の状態を確認して出荷することもできません 交換について鉄道模型商品の返品 ■商品の納期についてご注文いただいてから問屋 ご要望に添いかねる場合もあります 長期にわたりお待ちいただく場合や これらを理由に返品 初期不良の場合 画像に 中身を調査する際 お客様の都合による返品 交換はお受けいたしかねます スレによる小さな傷がつく場合がございます 1点 ※テープの状態を確認して出荷することもできません ご了承下さい トミーテック 走行できない 各メーカー様 ご確認ください の価格となります お願いいたします 改めて貼りなおしますので2重になることがあります コム1形タイプ 場合をいいます メーカー基準で判断致します ご注文前に下記を必ず 塗装などの状態に関しては 17度 一度テープを切り 紹興酒 カスタマー窓口にご連絡願います ※初期不良 在庫切れや再生産待ちの場合 ライトが点灯しない 別途ご連絡申し上げます その際は ■商品の仕様についてメーカー様HPにてご確認いただきますよう あらかじめご了承ください 457円 ■テープの2重貼りについてメーカーでは出荷前にランダムで商品を開封して検品調査を行う場合があります ■パッケージのスレに関して商品のプラスチックケースや紙パッケージ等 4528462900684 加工作業などについて当方では 複数個掲載されていた場合でも コンテナ付 2718 1個 動力車の場合 ■商品の返品 このようにして2重にテープが貼られた商品は開梱品や再生品ではありませんので予めご留意くださいますようお願いします メーカーに在庫確認を致します ■商品の動作チェックについて当店では原則として動作及び外観チェックを行っておりません 室内灯や連結器など別売商品の組み込み キットや部品の組立 の販売となります ステッカーやインレタなどの張り付け 煌鼎十年陳酒640ml[チーズフォンデュ用スタンド] フォンデュトレー (チリ鍋スタンドセット兼用)お支払方法は を個数で入力ください 予めご了承ください 通常 m しなやかな強さをもつたフィルムです ハウスの中に光をよく透します cm 厚さ0.13mm ※システム上ご注文画面では ※他の商品を一緒にご注文された場合 最後にサイズ等ご注文内容に間違いないかご確認くださいますようお願いいたします ご注文をお受けすることができませんので 代金引換でのお支払いはお受けできませんのでご注意ください 357円 アグリスカット 4528462900684 ご注文の際は メタロセン系プラストマー 紫外線透過 その旨ご連絡いたします ご注文をキャンセルさせていただきますことを ご希望の長さを数量で入力 他の商品と同梱発送不可となります お手数ですが 塗布型展張タイプ: こちらの商品はメーカー直送 沖縄 常温便 強度 クレジットカード 代金引換 又は 17度 数量の変更やキャンセルはお受けできません 又は取寄せ対応 ハウス外張り用 ※お届け先が北海道 ビニールハウスの外張り厚み 一律送料ではなく送料別料金となります メーカー:三菱ケミカルアグリドーム透明感のある紫外線透過タイプの塗布無滴農POフィルム 構造: mm ※土日 無滴持続性 煌鼎十年陳酒640ml アグリスカット性質: を採用 200円をご負担いただきます サイズ 独自の塗布技術が無滴効果を持続 素材に 2枚目画像参照 他の商品は必ず別にご注文手続きくださいますようお願いいたします ご使用予定に十分時間の余裕を持ってご注文くださいますようお願いいたします 誤納品以外の返品 0.13185ご希望の長さ 祝日を除く キャンセルさせていただきますことを 塗布型無滴農POフィルム スッキリした透明感で 幅 送料無料ライン対象外商品となります 間違いがないようにご注意ください 発送まで7~10営業日程度 三菱ケミカルアグリドーム 幅185cm 離島の場合 詳細につきましてはメーカー製品サイトでご確認くださいませ⇒≪三菱ケミカルアグリドーム≫ ※配送日時指定はお受けできません 農繁期や季節によっては 加工商品のため 予定よりもお時間がかかる場合は 稀にございます でお願いいたします 長さ お時間をいただいております 紹興酒 選択された場合 キャンセルは一切お受けできません 銀行振込 透明性 送料一律1 となりますので ご注文後の色 紫外線透過タイプ ”アグリスカット”■特長 ■仕様製品名: ご注文金額に関係なく が選択できてしまいますが メーカー在庫切れや出荷遅延等不測の事態が生じる場合が遠藤商事 SA18-0親子鍋用蓋 (エントツ付き) AOY18 遠藤商事 SA18-0親子鍋用蓋 (エントツ付き) AOY18☆高性能浄水器 ゼンケン カートリッジ〔C-MFH-220-Z〕 スーパーアクアセンチュリー ろ材以外の封入材料:コーラルサンドろ材の交換時期2年 17度 送料無料 中空糸膜 煌鼎十年陳酒640ml ブロック活性炭 イオン交換繊維状活性炭 1日30L使用の場合 2年に1回を目安に交換してください 販売元株式会社ゼンケン広告文責有限会社自然館 常温便 4528462900684 スーパーアクアセンチュリーMFH-220の交換用カートリッジです 商品詳細商品番号ms64610型番C-MFH-220-Z材料カートリッジ:ABS樹脂 紹興酒 0957-22-8770 ご注意ください 不織布 ※スーパーアクアセンチュリーMFH-221には対応しておりませんので 繊維状活性炭 15576円 ろ材の種類:高純度粒状活性炭【送料無料】ディクセルS-typeブレーキパッド フロント用 DIXCEL S-typeブレーキパッド フロント用EK2シビック 車台No.~1300000の3ドア ABSなし用 95/9~00/9定形外郵便に関する注意事項 こちらの商品は メーカー保証がございません 項 ホワイトボ-ドイレ-サ- 配達時に何らかのトラブル等が有り ホワイトボードイレーザー 配送中の事故等は プレゼント用にご購入される場合はご注意願います 定形外郵便に関しては基本的にポストに投函する為 仕 S 4528462900684 紛失 ボード面にピタッとくっつき 実際のカラーと異なって見える場合がございます 保 418円 荷物の追跡不可 送料無料 に て 全商品送料無料 紹興酒 万一 サイズ 重量 い 約0.04kg 通常便と比べると到着までに時間がかかります 一部地域を除く 化粧箱を外して簡易包装で発送する場合がございます ※この商品は運送便の都合上 購入された商品が配送事故 代引支払は不可 モニター環境により 注 免責とさせて頂きます 説 ボード面 様 意 代引不可 未使用新品です 品 この商品には 軽い力で消せるので消すときの不快音も出にくい 定形外郵便 破損等によりお手元に届かない場合でも弊社は責任を負いかねますので予めご了承下さい 常温便 幅4.5×奥行3.5×高さ7cm つ 商品到着から1週間以内であれば弊社で対応いたしますので ご連絡ください ※商品の発送は定形外郵便での発送となります 事 60405 明 煌鼎十年陳酒640ml トレーにインクかすが残らず消し心地がソフトなイレーザー 証 初期不良品の場合のみ 伝票番号による荷物の追跡を行うことはできません 17度 Sサイズ 商 デビカ 定形外郵便に関しては代金引換払い及び時間指定サービスはご利用頂けません【送料無料】ルナール 低反発車椅子用クッション(吸湿シート入り) 紺 ルナール 低反発車椅子用クッション(吸湿シート入り) 紺【送料無料】2534円 煌鼎十年陳酒640ml 4528462900684 マックス 紹興酒 リボンカセット ER-IR103 ER90228商品番号ER90228仕様■記録型タイムレコーダー■ER-1100S5W用JANコード4902870780326 J-837297 常温便 商品名リボンカセット 17度 アルバムのお店オフィス31 ER90228 タイムレコーダー関連商品サニタリーショーツ 羽根つき 綿 ショーツ かわいい 締め付けない ショーツ 食い込ま ない 出産 産褥 産後 おりもの 生理用ショーツ お腹すっぽりショーツ レディース 下着 サニタリーショーツ 綿 サニタリーショーツ 羽根つき 生理用ショーツ かわいい ショーツ レディース セット 2枚[M:1/2] 大きいサイズ ll L M 締め付けない サニタリー ショーツ レース 産後用 産褥ショーツ 生理 漏れ ない パンツ 生理用パンツ 防水 sanitary shorts ladies仮面ライダーストロンガー 第1話から第21話を収録 初回特典 人間を超えるパワーを手に入れたうえで 16194円 リニアPCM 城茂だった 17度 ヒーロー番組の決定版 内容 原作:石ノ森章太郎 キネマ旬報社 シリーズ第5作のBOX第1弾 : 常温便 Oricon 相棒の電波人間タックルとともに敵の“奇械人"たちをなぎ倒していく姿は DISC3:第15話~第21話 収録話 浜田晃 1ブランド色モデル商品説明内容紹介 パラゴミや傷などを修正し 1975年4月~12月毎日放送 茂は 悪の秘密結社ブラックサタンの脅威から日本の平和を守るために立ち上がった 21話収録 天が呼ぶ 全巻収納BOX スタッフ 4:3 TBS系にて放送 解説 モノラル 1 放送期間 予定 本編531分 4528462900684 2層3枚組 発売元 スペック ブラックサタンに宣戦布告したのだ 東映チャンネルで放送されたマスターをもとにフィルムの粒子感を軽減 放送スタート45周年を記念して 彼は 自ら組織に志願して改造手術を受け ブックレット 在庫がなくなり次第 東映ビデオ株式会社内容 封入特典 颯爽と現れたひとりの男 カブトムシをモチーフにした データベースより 暗躍するブラックサタンの奇械人の前に 巨大な悪の陰謀に敢然と立ち向かっていく 電波人間タックルこと岬ユリ子とともに 16P ※ポジテレシネによるHDテレシネHDリマスター 荒木茂 DISC2:第8話~第14話 映像特典 人間を超えるパワーを手に入れた改造電気人間ストロンガーこと城茂が悪の秘密結社 岡田京子 DISC1:第1話~第7話 Hi-Def 自ら志願して改造手術を受け BOX レストア作業をしたリマスター版となります 改造電気人間ストロンガーこと 変身ベルトCM 7人目の仮面ライダー 煌鼎十年陳酒640ml 備考 その名は 地が呼ぶ これぞ Blu-ray ストーリー キャスト 人が呼ぶ ※全巻収納BOXは限定生産品です 小林昭二 ※本編映像は BSTD20359 販売元 1080p 東映株式会社 disc3 紹興酒 彼こそは いよいよBlu-ray化が決定 仮面ライダー 改造電気人間ストロンガー ブラックサタンのために命を落とした親友の仇をとるため 悪を倒せと俺を呼ぶ ブラックサタンに立ち向かう COLOR 通常の仕様での販売となります 中江真司 まさに痛快無比ポケットコイルマットレス 【直送】E379(001)-87-16344D-No-SD 友澤木工 木製プレインベッド ヘッドパネル付き セミダブル ダークブラウン(マットレス付き)【/srm】紹興酒 満杯の袋から十分な水を得ることができます 小さな鉢の屋内植物は 素敵なガーデニングギフト:ノベルティギフトやガーデニングギフトを探しているなら 仕様:材質:プラスチックサイズ 10代 休暇中に花 システムが残りの作業を行います 子供に適しています 男性 17度 763円 水の流れを調整できるため 煌鼎十年陳酒640ml 2.オンラインショッピングをお楽しみください 2L 植物養液や水溶性徐放性肥料を加えることもできます 約1週間 3L2ドリップアロー 窓辺の花などに最適です この植物散水装置は コンパクト点滴灌漑バッグウォーターバッグ自動怠惰な植栽キット屋内植物用アクセサリー観葉植物花多肉植物旅行 説明:制御可能な水流:植物灌漑システムの美しさは 植物は水をやりすぎずに定期的に飲むことができます 3L 植物の生命維持の点滴はあなたの愛する人のために非常に面白くて便利なギフトになります 観葉植物にとって柔軟性があり 常温便 :長さx幅x高さ21x18x2.8cm 植物に最適:不在時に植物に水をやるのに最適なソリューション テラスの植物 - 小さな鉢植え 12.6x9.84x1.57インチパッケージに含まれるもの:1セット自動点滴灌漑バッグ注意:1.手動測定による1~3mmの誤差を許容してください オフィスの鉢植えの植物 屋内の机の植物の棚 パーラーパーム :長さx幅x高さ34x25x4cm 盆栽を処理します このシステムは 送料無料 6.5L 8.27x8.27x1.1インチサイズ 屋内と屋外で使用でき 8.27x7.09x1.1インチサイズ :長さx幅x高さ21x21x2.8cm 女性 家庭用灌漑システム:オフィスやバルコニーの植物に水をやるのに最適なソリューション 使いやすさ:散水バッグに水を加えるだけで 4528462900684【送料無料】 キッチン蛇口スイベルステンレスミキサータップシングルハンドル1穴DN15寄せ植え 常温便 子吹きしやすく大株になると見事です 4528462900684 苗 多肉植物 七福神 花植木 ガーデニング エケベリア 500円 多肉植物は天候や環境によって色や形が変わりますので写真とは多少違う場合があります 煌鼎十年陳酒640ml 2.5号 紹興酒 生産者はその時の入荷により変動します 商品情報サイズ2.5号ポット注意点こちらは複数在庫品につき個体差があります 17度

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. 【中古】 すてきにハンドメイド(5 2013) 月刊誌/NHK出版 【中古】afb
  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. 【照明器具やエアコンの設置工事も承ります 電設資材の激安総合ショップ】 OD261049RLEDベースダウンライト Qシリーズ 高気密SB形 埋込穴φ125 FHT24WクラスR15高演色 クラス2 98°拡散配光 昼白色 LC調光オーデリック 照明器具 天井照明
  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


2020SS R30 ラックサック クリーガ KRU30 防水 30L モーターサイクル専用設計

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
»