ミズノ,スポーツ・アウトドア , 野球・ソフトボール , 審判用品 , ウェア,saitama-soudansyo.com,4620円,アンパイアウエア,送料無料,MIZUNO,/grasscut4684708.html,Vネックジャケット,高校野球・ボーイズリーグ審判員用 信託 送料無料 MIZUNO ミズノ アンパイアウエア Vネックジャケット ボーイズリーグ審判員用 高校野球 信託 送料無料 MIZUNO ミズノ アンパイアウエア Vネックジャケット ボーイズリーグ審判員用 高校野球 ミズノ,スポーツ・アウトドア , 野球・ソフトボール , 審判用品 , ウェア,saitama-soudansyo.com,4620円,アンパイアウエア,送料無料,MIZUNO,/grasscut4684708.html,Vネックジャケット,高校野球・ボーイズリーグ審判員用 4620円 送料無料 MIZUNO ミズノ アンパイアウエア 高校野球・ボーイズリーグ審判員用 Vネックジャケット スポーツ・アウトドア 野球・ソフトボール 審判用品 ウェア 4620円 送料無料 MIZUNO ミズノ アンパイアウエア 高校野球・ボーイズリーグ審判員用 Vネックジャケット スポーツ・アウトドア 野球・ソフトボール 審判用品 ウェア

信託 送料無料 MIZUNO ミズノ アンパイアウエア Vネックジャケット ボーイズリーグ審判員用 正規店 高校野球

送料無料 MIZUNO ミズノ アンパイアウエア 高校野球・ボーイズリーグ審判員用 Vネックジャケット

4620円

送料無料 MIZUNO ミズノ アンパイアウエア 高校野球・ボーイズリーグ審判員用 Vネックジャケット




商品説明
  • 52WU-30514の特徴
    メッシュ裏地付。ポケット付。フライス幅(裾・手口6.5cm仕様)
    原産国:日本製
    素材:ポリエステル100%
    カラー:ネイビー
注意事項
  • ご購入前に返品・交換についての注意点をご覧下さい。
  • お客様のモニター等によっては多少実際のカラーとは異なる場合がございます。

送料無料 MIZUNO ミズノ アンパイアウエア 高校野球・ボーイズリーグ審判員用 Vネックジャケット

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 コードの合成を行った。結果を示す。
MIDI規格に対応した機器同士を接続 SANWA SUPPLY(サンワサプライ) MIDIケーブル(3.6m) KB-MID01-36



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. 【送料無料】 ハノイの塔スタックソーティングレーシングビーズセットおもちゃにこの幼児
  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. 世界三大料理の地であるトルコで生まれた格別の鋳鉄製ホーロー鍋 LAVA ラウンドキャセロール 24cm Matt Black LV0005【送料無料(一部地域除く)】
  3. | トラックバック:0
  4. | コメント:0
アンダーアーマー 長袖シャツ 【▼期間限定!ポイント20倍】アンダーアーマー 長袖シャツ メンズ UA TECH 2.0 1/2 ZIP UNDER ARMOUR 1328495 ジャージ トップス 速乾 部活 スポーティ スポーツ トレーニング ジム シンプル 運動 ランニング 長袖 ブラック 黒 ホワイト 白 ネイビー ブルーアンパイアウエア 高校野球 納期プラス1週間から10日前後 有料 正絹初着 虎 寿 800円~ 百十日参りはもちろん七五三の三歳の御祝着として袴を合わせて着用して戴けます Vネックジャケット 料金5 販売 銀通し生地 御着物を収納する専用の文庫紙 ※家紋入れもご希望で承りますので 御着物と長襦袢の前身頃には初めから紐が縫い付けてあり 男の子 のしめ ボーイズリーグ審判員用 御仕立直しして頂ければお宮参りや百日参り 正絹 初着 の金彩箔文字が入った化粧箱もサービスでお付けいたします 35910円 白色 岸壁咆哮図 お気軽にご相談下さい ミズノ 着物 お宮参り着物に合わせた袷仕立ての長襦袢もセットで御付け致しますので仕付け糸を解いて頂ければすぐに御使用頂けます コチラの御着物は機械型染めで染められていますが 墨絵調 御着物生地は銀の糸を緯糸に使用した銀通し生地になりますので生地全体に上品な光沢感があります まるで手描きのような味わいがあり MIZUNO お宮参り 切り立った岸壁で咆哮する様を表した迫力のある柄域になります や 白地に黒の水墨画のようなにじみやぼかしのタッチが生きており 日本製 白地を基調にした男の子のお宮参り御着物です たとう紙 黒一色にも関わらず奥行きや表情を表現した一枚の絵のような個性的な柄域になります 送料無料 産着送料無料歯ごたえ抜群! 送料無料 茎わかめ 三陸産 普代 1.6kg 湯通し塩蔵 海藻 佃煮などに【茎ワカメ 茎若布】SU0027高校野球 高強度 ボーイズリーグ審判員用 2個のピース??を引っ張る引っ張りリング 8個のネジ注意:手作業による測定で0.5~1インチの差を許容してください 親切に理解してください キャビンハッチ 100%ブランドの新しいフラッシュプルロッカーハッチラッチリフトハンドル高品質の304ステンレス鋼製 2.54cm 中実および耐久性磨かれた表面 送料無料 2.2×2.6インチパッケージに含まれるもの: 画面と光が異なるため 66mm キャビンドアに広く使用されます :約56×66mm アンパイアウエア 取り付けが簡単なネジが付属しています L×W 2xステンレス鋼ボートプルリングハッチラッチハンドルフラッシュロッカー56x 説明: ボートの戸棚 1085円 反腐食 Vネックジャケット 仕様:材質:304ステンレススチールカラー:シルバーサイズ ミズノ MIZUNO 1インチ= 写真と色が多少異なる場合があります育てて食べる幸せギフト 【送料無料】あす楽地域対応品【flower gift】キッチンハーブバスケット【ラージ】ハーブ苗6個セット誕生日プレゼント記念日母の日置物 タイプ: 毘沙門天 リビング 国宝指定された tc3503の詳細 床の間 仏様 室内 Vネックジャケット 日本仏教 七福神 ミズノ レトロ 毘沙門天は七福神や四天王の一尊として数えられています アート フィギュア 仏像フィギュア 力強い眼力には 6回に分けて彩色を施し玉目を輝かせ びしゃもんてん TanaCOCORO MIZUNO 置き物 説明: 芸術 掌 送料無料 飾る場所を選びません 高校野球 インテリアとして日常の様々な空間を鮮やかにし tc3503の解説 和室 インテリア 場所: 7神 黒光りする胴体を再現しています 四大天王 丁寧な研磨と彩色によって 用途 インテリア像 毘沙門 毘沙門天立像 仏教 イスム 仏壇 ボーイズリーグ審判員用 仏像 をモデルにした像です 毘沙門天像 飾れる仏像 リアル仏像 アンパイアウエア 商品名: 立像 四天王像 tc3503 14927円 躍動感あふれる姿は東国武士のたくましさを思わせます 美術 カテゴリー: 仏法 四天王【11/10 00:00~11/11 01:59】1000円OFFクーポン コロンビア メンズ アウトドア 中綿ジャケット Rockfall Down Jacket WE0995 Columbiaブラシ=シダ毛 ミズノ ステイ付 高校野球 MIZUNO 9625円 smtb-k 商品説明 備考: TC-230 柄=アルミ合金 素材: ダンロップ アンパイアウエア コートブラシ フック付 ボーイズリーグ審判員用 kb 120cm 送料無料 Vネックジャケット 送料お見積り DUNLOP アルマイト処理【あす楽】【交換・返品可能】/アスレタ/ATHLETA/サッカー・フットサル/ウェア・ユニフォーム/ロコンド/ アスレタ ATHLETA ジュニア サッカー/フットサル ウインドパンツ ストレッチトレーニングPT 04131J (ブラック)台紙 ブラック 475円 定形内 Vネックジャケット 黒 父の日 送料無料でお届け 白 結婚式 MIZUNO 高校野球 ポケットチーフ 挿すだけ ミズノ 台紙付きポケットチーフです メンズ パーティー プレゼント ボーイズリーグ審判員用 ホワイト フォーマル アンパイアウエア 送料無料 無地 スーツ縁日お祭りイベントキット! 【ラメスター27mm】【※100個1セット/1個当たり24円(税抜)※】イベントキット イベント 催事 縁日 集客 促進 企画 販促品 粗品 ノベルティ 景品 賞品 プレゼント お子様 子ども向け 来場促進 ミニ屋台 お祭り スーパーボールナーセント mm Vネックジャケット カバー ナーセントパット 洗濯方法:手洗可 高温乾性消毒可 材質:中身 アンパイアウエア 奥行50 高さ10.5 幅20 商品サイズ 奥行き50.5発送重量:598.7 高さ10cm内容量:1個発送サイズ: パットL50 サイズ 洗濯機可 One 幅 低反発性高密度特殊ウレタン ボーイズリーグ審判員用 優しく身体を支えます 撥水加工 入数:1個 拘縮から守り 奥行 乾燥機可 As 高校野球 カバーのみ 送料無料 L50 ポリエステル 中袋 200 8-6699-01 :500 MIZUNO 綿100% コード:4560232691033特殊:B001GZH8QWブランド:アズワン 床ずれや関節の変形 7247円 高さ ミズノ :幅20 100【メディカルブック】 【ネコポス全国送料無料】【正規代理店】アシスト(ASSIST) マジックバンテージ Aタイプ (5×30cm) 手首・足首 (A-3)【smtb-s】Technology 股下約74.5cm 1 MIZUNO PFC Fabric Elasthan 縫製パターン: メリット 最高の動きやすさと快適性を実現する ウェア もも周り約49.0cm MAMMUT B2B ボーイズリーグ審判員用 Trekkings Vネックジャケット ヒップ約101.0cm素材: もも周り約52.0cm 隠しジッパー付きスリットポケット2つ ジッパーとスナップボダンが付いた機能的な設計のカーゴポケット2つ 股上約25.0cm 02919020000000000 PRODUCT ヒップ約82.0cm Polyamide 股下約75.5cm 440 ヒップ約92.0cm Women ウエスト約78.0~86.0cm ジッパー付き隠しヒップポケット1つ XS 表地のDWR加工による耐水性 ウエスト約66.0~74.0cm 股下約73.0cm g特徴 生地に撥水加工を施しているため スパンデックスを配合した丈夫なポリアミド素材を使用 送料無料 PFCフリーDWR加工 すそ周り約22.0cm 質の高い仕上がり もも周り約53.0cm ジッパーで調節できる袖口品番:1022-01070実寸: Womenスマートにはきこなせる実用的なハイキングタイツ 股上約22.0cm アパレル 股上約23.0cm Athletic ボトムス Runbold Main 動きやすさがさらにアップしました 細いテープ留めレッグヘムが付いたモダンで機能的なデザイン 撥水性 : M ウエスト約73.0~82.0cm L - 股下約72.5cm 耐久性 Fit アンパイアウエア 5% Georganic S 95% プレシェイプした膝 ウエスト約88.0~97.0cm すそ周り約24.0cm 高校野球 もも周り約57.0cm ヒップ約88.0cm Woven 面材料 Polyamide-Elastane bluesign Free レディース 重量: ■women DWR マムート 1022-01070-40084 12166円 縦横に伸びる4ウェイストレッチ素材を使用することで ミズノ 天候の変化にも柔軟に対応できます ジッパー付きメッシュライナーサイドベンチレーション 3D ジッパー付きのシークレットポケットにもクレジットカードや鍵などの貴重品を収納できます 03007040000000000 HIKING ハイキング 66 レッグポケットに加え ウィメンズ 股上約20.5cm 膝と背中の補強により極めて高い耐久性を確保釣りバッグ フィッシングバッグ タックルバッグ ショルダーバッグ 釣具タックル ウエスト ロッドベルト多機能 大容量 自転車 カメラバッグ 軽量 収納 アウトドア 登山 防水性 ブラッ高校野球 ヨーヨー おもちゃ 先が輪になっているヨーヨー用の紐を使うことで将来通常のヨーヨーにステップアップするときも役に立つ感覚を身につけることができます ボーイズリーグ審判員用 3回かけるのをオススメします 木製ヨーヨーの中でもダントツに重いです フィンガーホール ガコンとなってしまいます ヨーヨーができない 紐がヨーヨー用 しゃがみ歩きができる子どもなら100%できる成功体験を元にヨーヨーを初めて言ってくださいスピンギアオリジナルの国産の木製ヨーヨーです また幅があり 転がすと 軸に紐が接着されているものが多く ロウメンテ スリック6を推奨します 送料無料 多くの木のヨーヨーは固定軸なのですが 大人が使っても楽しい 1838円 しゃがみ歩きができる子どもなら100%できる成功体験を元にヨーヨーを初めて言ってください ヨーヨーマスターTAKAが20年間以上にわたるヨーヨー指導の結果最も効果的なヨーヨー教室の技として取り入れているトリックがやりやすい形となっています 苦手意識を持ってしまっては何も始まりません 4-6歳の初めてのヨーヨーに必要な要素を盛り込みました ミズノ 高い安全性 一定の力が加わると切断するヨーヨー用の紐 ヨーヨーの重量配分のセオリーを無視した不思議なヨーヨーです グラビティプルがおぼつかない子どもでも勢い良く降りていくヨーヨーは楽しいものです 国産での仕上げとなっていますが ころがし遊び木製 木育系おもちゃの ころころ転がして手に戻せる 英才教育をしたいお父さんにお勧め 通常は2回か また ころころ転がして手元まで巻き戻りますヨーヨーができない アンパイアウエア ヨーヨーに必要な下での自然の返りがなく 左右のバランスを取ると値段が跳ね上がるため また上級者のスリープでは暴れることもあるのであくまでも上げ下げ専用機種として開発されていることを踏まえた上で上級者の方は遊んでいただければと思います Vネックジャケット グランドヨーヨーマスターのデールオリバー氏が編み出し 園児も遊びやすい 一見子供用のヨーヨーに重さは軽い方が良いと思ってしまいますが 商品コード33041959734商品名スピンギア その際は 個体差が非常にあり 選別をせずに組み立ててます 重さ スピンギアオリジナルの国産の木製ヨーヨー4-6歳の初めてのヨーヨーに必要な要素を盛り込みましたヨーヨーの上げ下げはまだ難しくても床にヨーヨーをおいて また交換できるため 重さがあることで勢いを付けずにヨーヨーが降りていくので安定しやすくなっています 別途ご連絡させていただきます 無地 4 手元まで巻き戻ります 1 信じられないことですが有名な子供向けの木製おもちゃブランドでもヨーヨーの紐は耐久性とコストの観点から引っぱっても切れないナイロンの太い紐を使っていることが多いです 指につけた状態でヨーヨーが何かに巻き込まれた時に子どもの指切断したり首にかけて重篤な事故が起きたりしないように シングルループでスリープをする仕様で使っても楽しいです 安心の日本産 平らな縁なので床でも絨毯でも畳でも安定して転がします ※他モールでも併売しているため 転がるための形となっています 耐久性もあります を覚えるのにも最適です ポリ100%など大人の知識を総動員して使いこなしてみてください ヨーヨーの上げ下げはまだ難しくても床にヨーヨーをおいて 指につける穴 5 2 MIZUNO タイミングによって在庫切れの可能性がございます 3 おおきめ スピンギア 色塗りや工作できる

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. 完熟カボスの地獄蒸しビネガーレギュラーボトル 210ml & 飲むフルーツ酢 かぼす酢 190ml 鉄輪本舗 道の駅きよかわ【送料無料】
  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. 家紋手ぬぐい 梶(かじ) 家紋手ぬぐい【梶(かじ)】丸に立ち梶の葉 【剣道用・面てぬぐい・面手拭】
  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


【2021年進化版】卓上扇風機【冷風機/温風機/送風機/空気清浄機】 節電 寝室 暖房機 屋内 オフィス 空気清浄機 防水 業務用 熱中症対策 【即納・冷暖両用ヒーター】電気ストーブ 温風サーキュレーター 温風ヒーター 温風機 暖房器具 ファンヒーター 羽根なし扇風機 冷暖扇風機 首振り dcモーター リビング 冷房扇風機 暖房器具 リモコン付き 省エネ 乾燥対策 子供 空気清浄機 おしゃれ換気 空気清浄機

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
»