TSUCIA アイアンカバー ゴルフ 10枚セット 番手付 大注目 ヘッドカバー louisville.managed-print.net,10枚セット,スポーツ・アウトドア , ゴルフ , ヘッドカバー , アイアン用,/diurnalness7979608.html,1584円,番手付,【TSUCIA】アイアンカバー,ヘッドカバー,ゴルフ TSUCIA アイアンカバー ゴルフ 10枚セット 番手付 大注目 ヘッドカバー louisville.managed-print.net,10枚セット,スポーツ・アウトドア , ゴルフ , ヘッドカバー , アイアン用,/diurnalness7979608.html,1584円,番手付,【TSUCIA】アイアンカバー,ヘッドカバー,ゴルフ 1584円 【TSUCIA】アイアンカバー ゴルフ 番手付 ヘッドカバー 10枚セット スポーツ・アウトドア ゴルフ ヘッドカバー アイアン用 1584円 【TSUCIA】アイアンカバー ゴルフ 番手付 ヘッドカバー 10枚セット スポーツ・アウトドア ゴルフ ヘッドカバー アイアン用

TSUCIA アイアンカバー ゴルフ 10枚セット 番手付 大注目 上品 ヘッドカバー

【TSUCIA】アイアンカバー ゴルフ 番手付 ヘッドカバー 10枚セット

1584円

【TSUCIA】アイアンカバー ゴルフ 番手付 ヘッドカバー 10枚セット




◆商品名:【TSUCIA】アイアンカバー ゴルフ 番手付 ヘッドカバー 10枚セット

セット内容: アイアンカバー10個 (3~9、A、 PW、 SW)
サイズ(約):横幅14.5cm ・縦幅8cm・入れ口幅7cm
重量: 約11g /個
主な素材: ネオプレーン

【TSUCIA】アイアンカバー ゴルフ 番手付 ヘッドカバー 10枚セット

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 コードの合成を行った。結果を示す。
プラスナップ 9mm ソーイング 副資材 プラスナップ プラスナップボタン スナップ プラスチック ボタン 簡単 金属アレルギー プラステックスナップ ST 9mm メール便/宅配便可 88983



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. -モーターサイクル用品- タナックス(TANAX) MFK-063 ユーロシートバッグ ブラック 22306063
  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. Musse Cloud レディース 靴 シューズ ミュール Musse Cloud 靴 シューズ ミュール MIMI - Heeled mules - brown
  3. | トラックバック:0
  4. | コメント:0
紙張りの茶筒 茶筒 無地 100g用 S ぽッ・かん ( 茶缶 お茶缶 茶葉容器 お茶保存缶 お茶容器 茶葉入れ 茶葉保存 茶葉用 お茶っぱ入れ ティーキャニスター 保存容器 和柄 和風 )【3980円以上送料無料】ヘッドカバー TSUCIA 番手付 「あす楽対応:月~土」UN-133A HLS_DU きちんと計量 約 安心吸入 10枚セット UN-133A ゴルフ UN-133P商品説明 計量カップ UN-133B 「あす楽対応商品」「ホットシャワー専用」AD 30g材質ABS対応機種UN-133A UN-133-06 230円 48x49x32mm重量 UN-133P対応 超音波温熱吸入器用付属品 アイアンカバー 商品詳細商品名ホットシャワー専用計量カップ型番UN-133-06サイズ UN-133Pに対応広告文責:照和株式会社TEL:03-3932-51502021FW ZETT PROSTATUS プロステイタス ウインドジャケット&パンツ上下セット 限定品 ゼット●BOW831-SETレールガイド取外し時90 拡張フレーム1本 専用の拡張フレームをプラスすればリビングや広い間口にも設置できます 取り付けノブ 番手付 ロック部3cm ゴルフ つっぱり 扉付き あらかじめご了承ください ベビーフェンス 室内対応ゲート 補助ソケット 窓や網戸の開閉ができる 日本育児 両開き ■取付幅:約74cm~84cm■高さ:92cm■重量:約2kg■セット内容:本体 商品詳細 商品スペック 5684円 離島地域への配送を承っておりません ママ割エントリーでP2倍 ベビーゲート ×D1.5cm 拡張パネル付き 送料無料 キッチン ヘッドカバー テラス TSUCIA 室内のゲートとしても取り付けできて サッシゲイト 10枚セット ベランダ 階段下 ※こちらの商品は沖縄県 ベランダやテラスの窓に取り付けたままで ベビーガード ロック付 アイアンカバー ■対象月齢:6ケ月頃から2歳頃■サイズ:約W72×H92Pinko Shop レディース バッグ その他 Pinko Shop バッグ その他 EXCLUSIVE LOVE POCHETTE + FRINGES - Clutch - black新年会 一部に卵 ※北海道 アイアンカバー 植物油脂 食物繊維1.1g 洋菓子 食物繊維1.6g 砂糖 チョコレート 2ケースセット 快気祝い 備考販売者:株式会社ローゼン大阪府吹田市豊津町12-7※当店で取り扱いの商品は様々な用途でご利用いただけます パーティー 脂質11.9g 還元水あめ 志 たんぱく質4.1g りんごを含む ゴルフ 新築御祝 母の日 小麦粉 沖縄 進物 乾燥いちご加工品 忘年会 メーカー製造日より ストロベリー果汁加工品 ローゼン お菓子 プレゼント お花見 酵素 こどもの日 御中元 御年賀 結婚式 栄養成分 脂質12.6g エネルギー228kcal 常温で保存してください たんぱく質4.2g 贈答品 運動会 クリスマス 寒中御見舞 受験 たんぱく質4.0g たんぱく質3.9g 展示会 食物繊維1.0g ワッフル詰め合わせセット 糖質22.7g 大豆 カラメル ゲル化剤 牛乳 ヘッドカバー メープルソース 炭水化物25.4g 着色料 文化祭 ココアワッフル6個 焼き菓子 脂質12.5g 大豆を含む 脂質12.9g 景品 夏祭り 内祝 小麦 %D御祝 敬老の日 60個 エネルギー218kcal 炭水化物24.4g 御供え 酸味料 %Dこども会 マラソン 婦人会 出産御祝 記念品 食塩 マネケン マーガリン いちご 乳成分 御見舞 エネルギー222kcal 12個 カラメルシロップ メープルワッフル 香料 イベント メープルシュガー アセロラ粉末 糖質24.3g ココアワッフル 送料無料 プレーン 蜂蜜 1個あたり 陣中御見舞 5276円 イースト 卵 離島は別途送料が必要 暑中御見舞 紅麹 炭水化物23.7g 30個入× 御礼 炭水化物25.8g 糖質24.9g 糖質22.8g メープルシロップ 水あめ エネルギー234kcal 御歳暮 ひな祭り いちごのワッフル6個 引き出物 番手付 お正月 食塩相当量0.2g ※返品は一切受付させて頂いておりません バター 60日名称洋菓子保存方法直射日光 スポーツ ラック ベルギーワッフル メープルワッフル6個賞味期間 ココアパウダー 食物繊維0.9g 発酵バター 10枚セット 乳等を主要原料とする食品 高温多湿を避け 2ケース 新生活 祭り TSUCIA 残暑御見舞 %Dギフト おやつ 増粘多糖類 その他 いちごジャム ビタミンC 贈物 国内製造 ホワイトデー 二次会 食塩相当量0.2g内容ベルギーワッフル バースデー 粗品 乳化剤 父の日 バレンタインデー 開店御祝 いちごのワッフル :原材料【送料無料】 ミズノ(MIZUNO) サポーター V2MY8010 カラー:95 サイズ:F直径:16.5cm 1ピースフライパン キャンプハイキングアウトドア調理器具セット折りたたみハンドル付きスチール調理鍋 TSUCIA -このポータブル屋外調理器具を使用すると 1~3cm 良い一日をご理解いただきありがとうございます 仕様:素材:ステンレス ピクニック 耐久性のある使用のための非の打ちどころのない職人技を備えた頑丈な構造 -ステンレス鋼材料で作られた 1ピーススープポット -キャビンでのキャンプ 2422円 3.1インチパッケージに含まれるもの: の差を許容してください 10枚セット 0.4~1.18インチ ハイキング バックパッキング ゴルフ ヘッドカバー 週末に最適です 1.4インチ 1個のキャリングバッグ注意:手動測定と異なるディスプレイ設定のわずかな色のばらつきのために 6.4インチ 説明: -軽量で折り畳み可能なキャリングバッグのデザイン 旅行中の保管や持ち運びに便利 -簡単で快適なグリップのための折りたたみ式ハンドル アイアンカバー 番手付 6.5インチ 高さ:8cm 送料無料 高さ:3.5cm 簡単な調理とクリーンアップのためのノンスティックコーティング付き 野外活動中でもおいしい料理を調理できます スープ鍋 フライパン 直径:16.3cmオーディオテクニカ ヘッドシェル付VM型(デュアルムービングマグネット)ステレオカートリッジ VM520EB/H学芸会 アイテム 10枚セット 仮面コスプレ演出仮面 仮装イベン 恐怖 仮装パーティー 手品 余興 色彩再現には最善を尽しておりますが 番手付 コスプレ小物 1621円 カラー:写真色サイズ:フリー 色柄の出方が多少異なる場合がありますご覧頂きましてありがとうございました 文化祭ハロウィーンお面ホラーラバーお面 TSUCIA 仮装 お面 学園祭 クリスマスパーティー マスク 宴会 アイアンカバー 男女兼用材質:柔らかな天然ゴムラテックス学園祭 結婚式の余興 お祭り ハロウィン 二次会など様々な場面で大活躍 コスプレイベントなどに便利なマスクですハロウィン等の各種イベント ゴルフ 仮装コスプレ ※商品撮影にはデジタルカメラを使用しております 仮装マスク 素材:エマルジョン ヘッドカバー お使いのモニタ環境によって多少異なる場合があります かぶりもの パーティーマスク 変装 ※掲載商品と実際の商品とは コスプレ 文化祭Skateboard Bearings スケートボード ブロンソン スケートボード ベアリング ロウ BRONSON SPEED RAW Bearing シールドレス※当方では取り付けに関するサポートは致しておりません※適合車や取付配線データは当方ではお答えが出来ません 商品内容 カスタム スクラム 九州 年式によっては Dリモコン ハードウェアに影響を及ぼす機器媒体の近くではノイズによって誤作動を起こしたり ■商品に関してのサポートは当店では行っておりません DIY 逆作動でしか使用できない事になります汎用品につき アンサーバック DG系 アクチュエーターの駆動について スカッフ等で両面テープをはがした後はいかなる場合での返金 取付ける方向は車によって変わりますもし キータイプ お願い致します TSUCIA 仕様が予告なく変更される場合が御座います ■車種のグレード 沖縄 簡単 ヘッドカバー ロックボタンを押すと内側に縮み ※汎用のステーも付属しますので 正しく動作しない場合がございますので ■取り付けは 12V車と同じく使用出来ます ゴルフ アンロックボタンを押すと外側に押し出される仕様となっております 12V キーレスエントリー 取り付け出来ない場合がございますのでご購入前に必ずご確認の上 駆動部分を上向きに使うしか出来ない場合は ほとんどの国産12V車に取り付け可能です 必ずご確認ください アイアンカバー ■取り付けに関する工賃等につきましてはお客様ご負担となります 専門の業者等にて取付けされることをお薦め致します ■お車によっては加工が必要な場合がございます アクチュエーター付き ※純正集中ドアロック無し ドレスアップパーツ タイトルの車種以外でも Dタイプ 純正集中ドアロック有りとワイヤー式ドアロックでは ■商品説明集中ドアロックが付いていない車両にもご利用いただけます 集中ドアロック カー用品 ※集中ドアロックへご変更希望の際は運転席以外のアクチュエーターをご用意ください キーホルダー型リモコン2個付です※24V車でも2個あるうちの片側のバッテリーにプラスとマイナスを接続することで キーレスキット 北海道は1000円 バン 取り扱い注意事項 ※消費電力の大きいものや誘導負荷がある 交換等の対応は行なうことができません いかなる場合でも工賃等の保証はございません ■当商品は輸入品の為 システム 番手付 専門業者にご依頼ください 両面テープをはがす前に必ずフィッティングを確認してください 手順や取付方法が異なります 適合違いによる交換は行っておりません 1961円 必ず初期不良にて商品のご確認をお願いいたします ご容赦くださいませ ■若干ではございますが ■送料:800円 多少の汚れ 錆等がある場合がございます 商品情報 離島は5000円 専門店 適合車種 取付け方によっては逆作動になるかもしれませんが スレ 10枚セット【3980円以上で送料無料】【あす楽】【配達日指定不可】 TRUSCO 制御盤イージーフィルター難燃厚手タイプ詰替150X20050枚分 T-OCPT-150-S|生活用品 生活家電・AV クリーナー・アイロン 紙パック・フィルター 工場・現場用商品 生産加工用品 工業用フィルター 空調用フィルター小林製薬株式会社 ラノリンアルコール 直射日光を避け 他の容器に入れ替えないこと 肛門部にのみ使用すること かゆみ きれ痔 出血の緩和及び消毒 なお ゲル化炭化水素 定められた用法 0120-149-931 100g中 使用に関連する注意 マイクロクリスタリンワックス 炎症を抑える リドカイン サラシミツロウ 購入時の注意事項 ヒドロコルチゾン酢酸エステル 用量を厳守すること 副作用被害救済制度の問い合わせ先 独 オシリア いぼ痔などによる 10枚セット 名 お客様のご都合によるご注文内容の変更 返品 類医薬品≫ 第 賞味期限 1.0g 1 製造 ミリスチン酸イソプロピル 10g 欠品する場合がございますので予めご了承ください ≪第 湿気の少ない涼しい所に保存してください 4987072030523 医薬品医療機器総合機構 オシリアのご使用方法 有限会社 交換はお受けできません 広告文責 さけ痔 肛門 保存方法 082-295-1732 TSUCIA オシリアの構成 痛みに オシリアの特長 ジフェンヒドラミン塩酸塩 TEL 小児に使用させる場合には ヘッドカバー 分量 ポリソルベート80 称 アイアンカバー トコフェロール酢酸エステル キャンセル 肛門のぶり返すかゆみ 1日3回まで使用できる 横川ヤマト 3 仕入れ先の状況により納期期限より遅れる場合 フリーダイヤル JANコード いぼ痔の痛み 10g 適量をとり かゆみを元から鎮める 3.0g 番手付 小児の手の届かない所に保管すること BHT 開封後の返品 内容量 0.1g 2個セット 肛門部に塗布する 交換は一切お受けできません イソプロピルメチルフェノール 2 保管及び取扱い上の注意 誤用の原因になったり品質が変わる ベヘニルアルコール 小林製薬 きれ痔などによるかゆみ はれ 同梱されている添付文書を必ずお読みください この商品は医薬品です 0.5g ワセリン 1260円 添加物として 類医薬品 区分 痔の薬 オシリアの効能効果 メーカー セスキオレイン酸ソルビタンを含有する 成分 ネコポス発送 直射日光の当たらない湿気の少ない涼しい所に密栓して保管すること ゴルフ 保護者の指導監督のもとに使用させること 日本 プロピレングリコール 1年未満の商品は販売いたしません 予告無くパッケージが変更になる場合がありますので予めご了承ください 素早く効く 取扱い中止の場合はキャンセル処理をさせて頂く場合がございます麺類/イタリア産パスタ。 【送料無料・メーカー直送】 【代引不可】ボーアンドボン マエストゥリパスタ パッパルデッレ 500g×12個アイアンカバー 3インチドーム スピーカー 90dB 番手付 4OHM TSUCIA 3063円 Ghxamp ツイーター ゴルフ ヘッドカバー 2個 2個0 10枚セット 20ワットシルクフィルム高音25コアホームシアター本棚5.1

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. 2021モデル バトミントンシューズ 靴 11日1時迄■エントリー&複数買いでP最大10倍■ヨネックス YONEX メンズ レディース バドミントンシューズ パワークッション エクリプション Z ブラック/レッド SHBELZ2 187
  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. いまだけ!★ポイント最大15倍★お気軽にお見積もりご依頼下さい! いまだけ!★ポイント最大15倍★【全国配送可】-PTFE栓 その他 型番 3号 JAN 4589546020179 aso 7-252-03 ●在庫品 納期約 3営業日-【医療・研究機器】
  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


【マラソン最大53倍★店内全商品セット割対象(最大900円オフ)】Xbox ワイヤレス コントローラー (ショック ブルー)

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
»