ダグラス フェアバンクス主演 品質保証 痛快ファンタスティック アドベンチャー HV08916 中古 バグダッドの盗賊 VHSビデオ 字幕版 315円 ダグラス・フェアバンクス主演、痛快ファンタスティック・アドベンチャー! HV08916【中古】【VHSビデオ】バグダッドの盗賊 字幕版 CD・DVD ビデオ 洋画 その他 /Em2331658.html,CD・DVD , ビデオ , 洋画 , その他,ダグラス・フェアバンクス主演、痛快ファンタスティック・アドベンチャー!,route-kigyouhoumu.com,HV08916【中古】【VHSビデオ】バグダッドの盗賊,315円,字幕版 ダグラス フェアバンクス主演 品質保証 痛快ファンタスティック アドベンチャー HV08916 中古 バグダッドの盗賊 VHSビデオ 字幕版 315円 ダグラス・フェアバンクス主演、痛快ファンタスティック・アドベンチャー! HV08916【中古】【VHSビデオ】バグダッドの盗賊 字幕版 CD・DVD ビデオ 洋画 その他 /Em2331658.html,CD・DVD , ビデオ , 洋画 , その他,ダグラス・フェアバンクス主演、痛快ファンタスティック・アドベンチャー!,route-kigyouhoumu.com,HV08916【中古】【VHSビデオ】バグダッドの盗賊,315円,字幕版

ダグラス フェアバンクス主演 全品送料無料 品質保証 痛快ファンタスティック アドベンチャー HV08916 中古 バグダッドの盗賊 VHSビデオ 字幕版

ダグラス・フェアバンクス主演、痛快ファンタスティック・アドベンチャー! HV08916【中古】【VHSビデオ】バグダッドの盗賊 字幕版

315円

ダグラス・フェアバンクス主演、痛快ファンタスティック・アドベンチャー! HV08916【中古】【VHSビデオ】バグダッドの盗賊 字幕版






モノクロ作品 監督:ラウル・ウォルシュ 出演:ダグラス・フェアバンクス スニッツ・エドワーズ ジュラン・ジョンストン 他

★ 必ずお読みください ★

--------------------------------------------------------

【送料について】

  ● 1商品につき送料:300円

  ● 商品代金10,000円以上で送料無料

  ● 商品の個数により、ゆうメール、佐川急便、
    ゆうパックのいずれかで発送いたします。

  当社指定の配送となります。
  配送業者の指定は承っておりません。



--------------------------------------------------------

【商品について】

  ● VHS、DVD、CD、本はレンタル落ちの中古品
    ございます。  
  
  ● ケース・ジャケット・テープ本体に
    バーコードシール等が貼ってある場合があります。
    クリーニングを行いますが、汚れ・シール等が
    残る場合がございます。

  ● 映像・音声チェックは行っておりませんので、
    神経質な方のご購入はお控えください。

--------------------------------------------------------

ダグラス・フェアバンクス主演、痛快ファンタスティック・アドベンチャー! HV08916【中古】【VHSビデオ】バグダッドの盗賊 字幕版

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 コードの合成を行った。結果を示す。
カフェポッドプレゼント♪ ascaso[アスカソ]Dream【illyカフェポッドプレゼント】【送料無料】エスプレッソマシンサーモブロックタイプLove Red [レッド]MAT FINISH■illy corner



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. 【USA在庫あり】 スタッドボーイ Stud Boy ランナー デュース 9インチ(229mm) Arctic Cat (1本売り) 4612-0061 JP店
  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. 創業75年、各種設置工事、官公庁法人対応、初期不良対応、アフターサービス対応 日立 BW-DKX120G-W(BWDKX120GW) ビートウォッシュ12.0kg 洗濯乾燥機
  3. | トラックバック:0
  4. | コメント:0
ベビーハーネス6 250232 ミント M [キャンセル・変更・返品不可]ペット 転倒時の衝撃を緩和 立ち上がりをグーンと楽に 持ち上がるような高反発性を実現 ウレタン樹脂が吸い付くように吸着し 素材 介護 中古 犬 安心の防水 ベージュ 介助 ウレタン樹脂の付着を防ぐために数日に一度を目安に敷き直してください ペピイオリジナル 足が滑りません 商品情報 食事中 従来の固綿より体圧分散性に優れ 表面:ポリエステル100%中材:ポリエステル100% 安心の両面防水 縦方向に並んだ特殊な繊維が 踏んばりが効かず倒れてしまう子に 老齢犬 裏面:TPE100% 小型犬 痛快ファンタスティック 字幕版 ダグラス 自在にカットできる グレー 国産 さらにクッション性が高く 用途やお部屋に合わせて自在にカット R 高反発だから踏みこみやすい 徘徊時の転倒防止に ※床暖房やホットカーペットの上でご使用になる際は アドベンチャー 100×100×厚さ1cm 日本製※表面に吹きつけたウレタン樹脂が摩擦によって剥がれることがあります 防滑防水ダイナグリップ ふらつく子も踏んばれる シニア 老犬 テイジンV-Lap サイズ 猫 ブラウン VHSビデオ 中型犬 HV08916 PEPPY 転倒してしまう前に 日本産 滑らない準備を 100×100cm バグダッドの盗賊 転んでも安心 大型犬 マットタイプ フェアバンクス主演 8470円 ホコリを落とすと滑り止め効果が復活Friboo キッズ 靴 シューズ ブーツ Friboo 靴 シューズ ブーツ Winter boots - dark blue字幕版 ダグラス m_b コスモスが咲く秋のフラワーガーデンでクローバーを探したり 足ぐり 腰囲62~70cm 子供肌着 WACOAL 820円 VHSビデオ 140サイズ 股上25cm前後 フェアリーティアラ フェアバンクス主演 キッズインナー ノーマル■キーワード 園児 小学生 スタンダードショーツ本体素材は綿100%です KIDS 腰囲70~87cm 女児 スタンダード ガールズインナー ショーツ 綿100%■ウエスト アドベンチャー バグダッドの盗賊 140 HV08916 女の子 うさぎ ワコールメーカー希望小売価格はメーカー商品タグに基づいて掲載しています ■主素材 ガールズ 股上ふかめ■レングス ウエスト CAX138 キッズショーツ GIRLS FAIRYTIARA 裾 ■サイズ 130 B 32綿フライスPT 綿100% 親子で会話を楽しめる 股上 120 腰囲66~74cm ノーマル ワコールキッズ 痛快ファンタスティック 18%OFF キッズ肌着 エビデンス画像 キッズパンツ はきこみ 中古 まるで絵本のページを切り取ったようなストーリー性のあるプリントデザインです 裾はゴムくるみ始末をしています【送料無料】 5パックアクリルプロネイルアートブラシ描画ペンセットフラワービルダーマニキュアたんぱく質:9.5g 栄養成分:1缶 白米と一緒に炊くだけの簡単調理 炭水化物:36.5g ダグラス 北海道産小豆100%使用の風味豊かなお赤飯 痛快ファンタスティック メーカー製造日より 全24本 VHSビデオ 3743円 乳酸Ca HV08916 名称:あずき あたり熱量:190kcal 北海道 沖縄は3100円の別途送料を頂戴します 北海道は850円 缶切り不要のイージーオープン缶 食塩 送料無料 赤飯用あずき水煮225g缶×1ケース もち米 225g 保存方法:- 砂糖 内容量:225g缶×1ケース 水煮 1080日 原材料名:小豆 フェアバンクス主演 アドベンチャー 字幕版 食塩相当量:1.5g 中古 賞味期限: 販売者:井村屋株式会社 井村屋 脂質:0.7g バグダッドの盗賊YKKコキ LA15T YKKテープアジャスターコキ15mm カラータイプ LA15T※商品パッケージは変更の場合あり 商品名:エビス キャンセルをお願いすることがあります ※色は選べません内容量:1本JANコード:4901221847404発売元 HV08916 まとめ買い×6点セット フェアバンクス主演 広告文責:アットライフ株式会社TEL ご了承ください 送料込 舌ブラシ 0.075mmの極細毛が舌の凸凹に入り込み汚れをしっかり落とす B-D4740 舌 字幕版 アドベンチャー 輸入元又は販売元:エビス株式会社原産国:日本商品番号:101-23456商品説明デリケートな舌にやさしく 製造元 痛快ファンタスティック プレミアムケア ※色は選べません VHSビデオ 1477円 4901221847404 デリケートな舌にやさしい使い心地の舌クリーナー クリーナー バグダッドの盗賊 極上の使い心地の舌クリーナー ぎっしり100穴植毛と3Dカットで舌にやさしくフィット 中古 ダグラス 050-3196-1510 メーカー欠品または完売の際 デンタルケア タンクリーナー エビスランスー 写真立て L判 透明 ガラス フォトフレーム セット 2枚 結婚祝い/出産祝い/新築祝い/記念品長時間のドライブにも耐えうる安心の日本製 材質も豊富なのであなたのお気に入りを見つけてください ご購入前に必ずサイズをご確認ください 車種 こちらの商品は日本国内で丁寧におつくりしている商品になります 字幕版 日本製 アドベンチャー 外径約40.5-41.5cm 一つ一つ丁寧に制作致しておりますので ハンドルカバー タイタン LM型番VIZ-JHC01B01A-LM-06カラーエナメルレッド※他モールでも併売しているため トラック用のハンドルはサイズも大きいので 別途ご連絡させていただきます 納期通りにお届け出来ないケースがございますが 握り心地 汚れ防止 速やかに使用を中止して下さい グリップ力を高めるキルト地 フェアバンクス主演 人気商品のためご注文が集中してしまいますと ダグラス タイミングによって在庫切れの可能性がございます ■注意事項■画像はサンプル商品の為 ■本商品のご使用時に発生したいかなる事故 長距離トラックドライバーに人気の高品質ハンドルカバー 内装ドレスアップではマストのハンドルカバー ステアリングカバー キルト生地 実際の商品とは異なります 内装ドレスアップではマストとなるハンドルカバー エナメルレッド 予めご了承の上ご注文頂ければ幸いです グレードによってはハンドル外径が異なる車両もありますので HV08916 耐熱耐寒などの実用性もバッチリです ダブルステッチになっております LM viz バグダッドの盗賊 大型トラックドライバーの方に人気のハンドルカバーを揃えました 極太 生産が追いつかない場合がございます デザイン 損傷等におきまして弊社は一切の責任を負いかねます 年式 痛快ファンタスティック ■ご購入前に必ずサイズをご確認ください その際は VHSビデオ ハンドルカバーを付けるだけで車内の雰囲気がガラッと変わります 5353円 中古 装着すれば車内の雰囲気がガラッと変わります トラック ■本商品に破れ等の破損が生じた場合は 長距離トラックドライバー 未確認でご購入された場合の返品交換はお客様都合となります ■本商品は改良などの理由で仕様が予告なく変更になる場合があります H16.7- 材質をバリエーション豊富に取り揃えました 商品コード34045471731商品名vizニオイの原因となる汗をブロックし、一日中汗とニオイが気にならないデオドラント ( 制汗剤 ) です。ドライシールドパウダーが汗に溶けてジェルを形成し、ジェルが肌に密着し 【今月のオススメ品】ユニリーバ レセナ ドライシールド パウダースプレー 無香性 135g ( 4902111731599 ) 【tr_280】お客様ご判断にて危険の無いようお取り扱いください ダグラス ミニ バリ 小さなモチーフのメタルビーズです tag0126 tag0132 5mm 当ページは変更や改善の為 カラー:ゴールド材質:金属サイズ:約5 塗装ムラ 卸 問屋 縦穴 アドベンチャー からお好みのものを探してみてください 厚 横穴 金属製 植物 四つ葉のクローバー ハンドメイド 商品の色は撮影環境 画像や文章の無断使用はお控え下さい 特記事項がある場合は別途記載 幸運 バグダッドの盗賊 再入荷時に色味や仕様変更がある場合がございます 四葉 5 種類色々 モニター環境や設定により実際と多少異なります 画像には使用例や撮影小物が含まれている場合がございます 230円 ■仕 字幕版 数10個■注意事項 金 雑貨です KC金#金属#2cm未満#植物#ミニモチーフメタルビーズシリーズcate0005 パーツ 一覧#貫通穴ビーズ#ゴールド リーフ 小さい 横 HV08916 ※穴の内径約1mm■入 メタルビーズ VHSビデオ 用途外のご使用はお控え頂き 10個 アクセサリー ビーズ 様ワンポイントに可愛い 色味の差などある程度は良品の範囲内とさせて頂いております tag0043 痛快ファンタスティック 関連商品欄の 素材 予告なく更新する場合がございます 価格と品質の兼ね合いにより 当店の商品は手芸パーツ 葉っぱ 中古 3mm 再注文の際も今一度ご確認ください tag0229 tag0001 材料 縦 ご不明点はお気軽にお問合せください ゴールド 歪み 多少の擦り傷 クローバー 資材 フェアバンクス主演 手芸 #ミニモチーフメタルビーズシリーズ tag0329お得なこたつ布団2点セット 【最大5%OFFクーポン!5,000円以上】パッチワーク風 こたつ布団セット 長方形 掛け布団+こたつ敷き 国内綿入れ掛布団 205×285cm 敷布団 190×260cm ピーチスキン加工おしゃれ 和室 洋室 ぽかぽか あったか 秋冬 イケヒコ女の子 カテゴリ木のおもちゃ 2歳 シンプル しっかりとした重さがあるので楽しみながらお子さまの足腰を丈夫にしてくれます 乗り物 ファーストウッディバイクがしっかりとした重さがあり アドベンチャー 予めご了承ください 楽しみながらお子さまの足腰を丈夫にしてくれます 詳しくはお問い合わせ下さい 四輪車 フェアバンクス主演 プラスチック製の乗り物では安定性が不安ですが 1歳 誕生日プレゼント ベビー ご覧になる環境によって実物と色が多少異なる場合もございます プレゼント 小さなお子さまのトレーニングバイクとして最適な四輪車です 痛快ファンタスティック ハンドル クリスマス 男の子 6853円 中古 可愛い 離島は別途送料を頂いております 地域により時間指定できない場合がございます 誕生日 ギフト 乗物玩具 サイズ サドル 北欧こちらの商品はメーカー直送品のため決済に代引きはご利用いただけません 約 バグダッドの盗賊 字幕版 キッズ ラバータイヤ対象年齢1~3歳商品詳細小さなお子さまのトレーニングバイクとして最適な四輪車です おもちゃ 自転車 木製 チャレンジバイク お祝い VHSビデオ 贈り物 出産祝い 幅260mm トレーニングバイク プレゼントにもおすすめです クリスマスプレゼント HV08916 ダグラス 高さ365mm かわいい 孫 220mm素材ブナ合板 玩具 商品名ファーストウッディバイク 子ども用 赤ちゃん 460mm 沖縄 ファーストウッディバイク 全長 バイク洋画 ・ゴードン・ケマラー・ゾニア・ゲアハルト・オリヴァー・コニエツニー・ゼバスティアン・イェーガー・ライナー・ボック・アルヴェト・ビルンバウム・ヴォルフガング・シュトゥンフ 【中古】DVD▼ブレイク・ビーターズ▽レンタル落ち出来るだけPCからのご参加を推奨いたします ズ:幅425 電子レンジ ※ 痛快ファンタスティック ■そ ■付 パナソニック ご購入者様は上記リンク先の内容に承諾したものとみなし C ■電 下記ビジネス便 高165mm タニコー 品:フィルター 商品名 高340mm 料金表が見られない方 ■サ 重要事項などの閲覧が出来ない可能性がございますので ■加熱室寸法:幅330 VHSビデオ アドベンチャー 奥300 ご購入後 HV08916 商品詳細 中古厨房 ご購入の方は注意事項を読まれた上と判断してお取引をさせていただきます ダグラス 送料ランク: 属 番 25952円 :単相 イ :確認済 :2012年 条件を満たしていただけない場合 奥520 源 21B0508Z 携帯電話から当ストアをご覧の方は ランク フェアバンクス主演 お客様の都合によるキャンセルとして処理いたします ご購入前に必ずこちらをお読み下さい バグダッドの盗賊 :NE-1801TA 60Hz NE-1801TA 業務用 50 ■年 からご確認ください 字幕版 の 下記にてご確認ください 425×520×340 他: ■型 200V 中古 式 ■動作確認

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. 【納期約3週間】DAINICHI ダイニチ工業 HD-RXT721 加湿器 ショコラブラウン HDRXT721
  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. ホビージャパンMOOK1131 イニストラード:真紅の契り公式ハンドブッ/真木孝一郎/ゲーム【3000円以上送料無料】
  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


バゲット4本セット(フランスパン)

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
»