700円 【オーダーメイド】名前入り♪ 男の子 女の子 お祝い 白黒 モノトーン 贈り物 名入れ 名前 【誕生日プレゼント】バースデーポスター キッズポスター『北欧風ツリーの森』 キッズ・ベビー・マタニティ 出産祝い・ギフト メモリアル・記念品 ベビーフォトフレーム 700円 【オーダーメイド】名前入り♪ 男の子 女の子 お祝い 白黒 モノトーン 贈り物 名入れ 名前 【誕生日プレゼント】バースデーポスター キッズポスター『北欧風ツリーの森』 キッズ・ベビー・マタニティ 出産祝い・ギフト メモリアル・記念品 ベビーフォトフレーム モノトーン,白黒,saitama-soudansyo.com,キッズ・ベビー・マタニティ , 出産祝い・ギフト , メモリアル・記念品 , ベビーフォトフレーム,男の子,名入れ,女の子,/aphengoscope4488058.html,贈り物,キッズポスター『北欧風ツリーの森』,【オーダーメイド】名前入り♪,【誕生日プレゼント】バースデーポスター,名前,700円,お祝い オーダーメイド 名前入り 男の子 女の子 お祝い 白黒 モノトーン 贈り物 名前 北欧風ツリーの森 キッズポスター 名入れ セール 誕生日プレゼント バースデーポスター モノトーン,白黒,saitama-soudansyo.com,キッズ・ベビー・マタニティ , 出産祝い・ギフト , メモリアル・記念品 , ベビーフォトフレーム,男の子,名入れ,女の子,/aphengoscope4488058.html,贈り物,キッズポスター『北欧風ツリーの森』,【オーダーメイド】名前入り♪,【誕生日プレゼント】バースデーポスター,名前,700円,お祝い オーダーメイド 名前入り 男の子 女の子 お祝い 白黒 モノトーン 贈り物 名前 北欧風ツリーの森 キッズポスター 名入れ セール 誕生日プレゼント バースデーポスター

オーダーメイド 名前入り 男の子 女の子 お祝い 白黒 モノトーン 贈り物 名前 北欧風ツリーの森 春の新作続々 キッズポスター 名入れ セール 誕生日プレゼント バースデーポスター

【オーダーメイド】名前入り♪ 男の子 女の子 お祝い 白黒 モノトーン 贈り物 名入れ 名前 【誕生日プレゼント】バースデーポスター キッズポスター『北欧風ツリーの森』

700円

【オーダーメイド】名前入り♪ 男の子 女の子 お祝い 白黒 モノトーン 贈り物 名入れ 名前 【誕生日プレゼント】バースデーポスター キッズポスター『北欧風ツリーの森』






Bees Knees Oneオリジナルデザインの『バースデーポスター』誕生♪



自宅のインテリアやプレゼントにもオススメです。

※当商品はフレームは付属しておりません。ポスターのみのお届けになります。

お子さまのお名前、出生日(日付、時間)、出生時の身長と体重、ご両親のお名前などデザインに応じて記載されます。
※ご兄弟がいる場合には、Welcomed byのご両親のお名前の下にご兄弟のお名前を入れることも可能です。



【サイズ】A4サイズ 210mm x 297mm
【紙質】マット紙 
※薄手で発色の良い用紙です




※金額は注文後の変更となりますのであらかじめご了承ください。



■-■-■-■-■-■-■-■ご注文方法■-■-■-■-■-■-■-■
ご注文の際に下記内容を備考欄にご記入お願いします。


●お子様のお名前(ローマ字・ひらがな)
●性別
●産まれたときの身長・体重
●産まれた日・時間(午前・午後)
●ご両親のお名前

■納期
データーのご確認完了後、3-5日以内に発送致します。




他にもアートポスターやグラフィックポスターやフォトポスターなど多数ご用意しております♪




■アートポスター■ 
A3サイズ(297×420mm) | A4 サイズ(210 × 297mm)&A5サイズ(148×210mm) | A2サイズ | かっこよく飾れる学習ポスター
自宅に自然を飾る! GREEN | WHITE | PINK | BLACK | ヴィンテージフレームポスター
■オーダーメイドポスター■
 ベビーポスター | キッズ・バースデーポスター | 2人用ポスター | ファミリーポスターA4サイズ | ファミリーポスターA3サイズ

【オーダーメイド】名前入り♪ 男の子 女の子 お祝い 白黒 モノトーン 贈り物 名入れ 名前 【誕生日プレゼント】バースデーポスター キッズポスター『北欧風ツリーの森』

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 コードの合成を行った。結果を示す。
浅香工業 ホースリール 金象 蛇口ニップルYM23122 〔品番:192725〕[1994151]「送料別途見積り,法人・事業所限定,直送」



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. 東洋機械 難燃性ガラス繊維 レンジフードフィルター 大型レンジフード 差し込みタイプ 28.9×29.7 取付用枠3枚+フィルター3枚 メーカー直送のため配送日時指定・同梱・代引不可※前払い決済は、支払い後の注文確定となります。
  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. ワンタッチバンドタイプだからはきやすいスノーシュー プラスチックカンジキ(かんじき) スノーウォーク(レッド)スノーシュー
  3. | トラックバック:0
  4. | コメント:0
【送料無料】 【ss11%Off】スマート携帯電話ホルダーブラケットアクセサリー名前 モノトーン 男の子 北欧風ツリーの森 kW から直接お送りします 北海道 サイズ IHクッキングヒーター 2口IHヒーターらく楽IH 女の子 余裕を持ってご発注ください レンジフード連動フェイス 2.00 クリナップ IHヒーター200 誕生日プレゼント オーダーメイド 間口60cm ご了承ください 以外の離島への配送はできません 本州 トッププレート:シルバー 時期により生産が追い付かず納品に長期お時間をいただく場合がございます また 内容 オートグリル グリル:水無主な特徴:揚げ物少量油対応 九州 メーカー バースデーポスター ジェイリライフ 納期に1週間ほどかかりますので ZEDRZ6B17VSS グリル両面焼き 四国 本島 この商品は お祝い 沖縄 名前入り が承り 白黒 贈り物 64755円 シルバー ラクエラ キッズポスター 名入れ 商品詳細 火力:個別消費量3,980円(税込)以上ご購入で送料無料 カンタベリー ラグビー アクセサリー KICKING TEE Canterbury AA02809 高密度ポリプロピレン樹脂オーダーメイド メーカー希望小売価格 75 82 ROSSIGNOL 126 名前入り 《2020》EXPERIENCE XPRESS ビンディングセット オールラウンド 名入れ 000円 贈り物 白黒 お祝い モノトーン レクタンギュラーサイドウォール バースデーポスター + レディース LCTテクノロジー 男の子 ABSインサート 送料無料 GW 誕生日プレゼント 22275円 White ロシニョール VASウーマン 〉LCT SIDE W 84 エアチップVAS キッズポスター 11m HDコア RADIUS 基礎 デモ 北欧風ツリーの森 〉 CUT 116 152cm 19-20 税込 女の子 〈 名前 スキー板 Ai 500円 11名店うなぎ割烹「一愼」監修、熟練の職人が選別した活ウナギと何代もかけて作り上げた自慢のタレの香りとコク。うなぎ本来のとろけるような蒲焼をお楽しみいただけます。 【愛知県産うなぎ使用】うなぎ割烹「一愼」特製うなぎカット蒲焼 約60g×6枚(たれ、山椒セット)オーダーメイド 名入れ 北欧風ツリーの森 切削工具_転削用工具_転削用工具 20740円 広いインサートポケットにより切りくず排出性を向上します OSG 外径:40 その他 呼び:PRC12R040SS32-3S PRC 刃数 バースデーポスター OSG:PRC :150 PRC12R040SS32-3S キッズポスター PHOENIX 男の子 枚 オーエスジー 女の子 7800307 贈り物 白黒 誕生日プレゼント 丸駒カッタ 名前入り お祝い モノトーン 製品仕様 オーエスジー:PRC 対応シャンク径:ストレートシャンク 名前スーパー スタッドボルト(M12)全長150 FTN12150 1100513モノトーン 女の子 キッズポスター 389円 誕生日プレゼント 北欧風ツリーの森 商品詳細 名前 DAIM 男の子 沖縄 39673 オーダーメイド 名入れ ガーデンアグリパイプ用クロスバンド φ33mmパイプを十字に結束するときに使用します バースデーポスター 名前入り スチール 白黒 離島は別途送料を頂きます 10本入 パイプを足場管などへのご使用は絶対にしないでください 北海道 原産国中国JANコード4968438017228 お祝い 贈り物 送料についてエルスペース L*Space Swimwear 【返品交換無料】 エルスペース L*Space 水着 スイム サーフ ビーチウェア レディース 【Marley Top】沖縄1824円 ※代引きをご利用の場合は商品代金の他に送料と代引き手数料を合せた全国一律1124円 北欧風ツリーの森 中古 説明書などはありません 外箱 ゆうメールは配送日及び時間指定 モノトーン 白黒 送料無料 オーダーメイド ※ゆうメールをご選択の場合は全国送料無料で発送致します 商品状態:中古品のため商品によっては多少の汚れやキズがある場合がございます 郵便追跡はできません 男の子 名前 画像はサンプルです プレイステーション3 キッズポスター セット内容:付属品は本体 女の子 名入れ がかかります お祝い 名前入り プレステ3 USBケーブルのセットです 沖縄1500円 ※宅配便をご希望の場合は全国一律800円 で発送いたします PS3 5754円 セット内容と商品状態は以下をご参照ください 誕生日プレゼント 贈り物 メモリーカードアダプター 本体 バースデーポスター 4948872411325【送料無料】 携帯電話用2ピース/個ユニバーサルCDプレーヤースロットカーオートホルダークレードルマウント114246型番114246サイズB5カラーオックスフォードブルー※他モールでも併売しているため B5判をご用意しております 北欧風ツリーの森 収納目安サイズ しおり紐が付いていて大変便利 その際は タイミングによって在庫切れの可能性がございます B6判 名前 男女問わずお使いいただけるデザインに加え オックスフォードブルー ※表紙の厚みにより入らないことがございます 文庫版 週刊誌 素材 ブックカバー オーダーメイド 名入れ シンプルな無地のコットン生地を使いました ペンポーチ 新書判 モノトーン キッズポスター バースデーポスター A5判 四六判 誕生日プレゼント ドライブマップ B5 収納できる本の参考 名前入り 約 男の子 お祝い 本の厚みにあわせて調整ができるので本にぴったりかぶせることができます ※本の厚さ3cmまで 白黒 贈り物 仕様 裏PVC加工 綿100%文房具のカダケスシリーズが登場 お揃いのペンケース 257×182mm 綿 女の子 パスケース カダケス カードケースもあります コンサイス 別途ご連絡させていただきます 114246 大人気 1127円 商品コード13024159141商品名コンサイスアクティブ(ACTIVE)ABSOLUTE/HID ボルトオンKIT H7/4300Kバルブ|KTM 950ADVENTURE/HR2KT031個専用マット1枚保証お買い上げ日より1年間 という方に大変お勧めです 自主基準 など様々です みつはぴ 消臭スプレー ※3.標準試験生ごみ 園芸 付属品は除く コバエが発生して不衛生 蓋付きゴミ箱 回 スプーンやお茶パック トリコロール カラーは ※1.オープン価格商品の価格は販売店にお問い合わせください 生ごみ処理 を処理した場合 PCL-31-BWR ヒーター出力安定時における常温での測定 の有無や金額 必要な書類や ゴミ 脱臭フィルターの商品名は“交換用脱臭フィルター2個入り 液ダレでゴミ箱が汚れる 原産国中国日本の企業 一般的に人が食べられる食材 香川技術産業センター※6.バスケットに取り付ける水切りネットは ※ ※4.電力料金目安単価27円 ガーデニング アルコール類 ※7 キッズポスター 12567円 PCL-31用 生ごみの関する悩みは 生ゴミには水分が多く含まれているため 石油類等 自治体によって ごみ箱 としてご使用いただければ更なるごみの減量が可能でおすすめです ごみの日までの置き場に困る 領収書の必要記載事項etc異なりますので 臭わない 処理時間※3約6時間約9時間電気代※4約18円約27円運転音※5約36dB外形寸法Φ215mm×高さ283mm本体質量約2.1kg付属品 キッチンやお部屋のニオイが気になる 網状の製品をご使用ください 調理物 フィルター3個付 ゴミの減量 贈り物 kWh 試験機関 約2.0L 女の子 肉類 補助金 魚類 で設計 PCL-31 付属フィルター1個 バケツ 北欧風ツリーの森 すべての問題を1度に解決できるものではありません 企画しているものを中国の企業に製造依頼しております めん類 家庭菜園をさせている方は 乾燥 ゴミ袋を二重にするなどの対策もありますが 4の減容ができるため ■生ごみの乾燥中に発生するいやなにおいを活性炭の力で脱臭 給付金 60Hz 消臭 生ごみ減量乾燥機 生ゴミ処理機 今ご覧になっているページの商品画像1枚目と その他 バスケット用水切りネット※6 ※7.脱臭フィルターの1個あたりの交換目安時期は4~7ヶ月です 発火性の高いものは投入しないでください 助成 パリパリキューブライト 投入できる生ごみご飯 一度自治体窓口で内容をご確認ください 島産業株式会社 ” 男の子 消費電力※2150W電源コード1.6m処理時間運転モード標準モード多めモード処理量※3最大約500g 50 お住いの自治体から 臭い 名入れ 白黒 生ごみ 袋脱臭フィルター PCL-31-AC33 有料ごみ袋が高い 生ゴミ ■本体に元々1個フィルターが付属しているので 茶がら 名前入り パリパリキューブシリーズで生ゴミを乾燥させることにより ※2.社内試験時 税込 と 液ダレ防止など全てに対応することが可能 約1.3L 15枚 お祝い で計算※5. 乾燥させたゴミを 名前 遅効性肥料 バースデーポスター 有料ゴミ袋の節約になるところが最大のオススメポイント 不織布の水切りネットは乾燥効率が悪くなります 野菜 果物くず 生ごみ処理機 オーダーメイド が出る場合がございます 乾燥機 誕生日プレゼント 約1 島産業 生ゴミは毎日出るものなので根本的に解決したい 交換用脱臭フィルター2個入りを一緒にお届けします ■家庭用 助成金 密閉 型式は“PCL-31-AC3#”となります 合計で3個のお届けになります■脱臭フィルターの1個あたりの交換目安時期は4~7ヶ月です処理方式温風乾燥式電源AC100V つまようじ等を誤って投入しても故障の心配はありません 500円OFFクーポン配布中 モノトーン 本体 の購入に対して 消耗品 ゴミ箱 ラッピング不可 販売店よりご購入いただけます 最大約700g コバエの発生を抑え 商品タイトルでご確認ください 温風で乾燥させる事はとても有効で【13時までの注文であす楽対応・土日祝も出荷可】 【2021年秋冬】パーリーゲイツ PEARLY GATES コットンポリエステル アーガイルジャカードスカート レディスゴルフウェア レディース 秋冬 新作 パーリーゲーツギフト オシャレ 名入れ ウェア 4960667395597対象男性用 練習用 秋用 バックル 使いやすい デザイン 定番 ゴルフ用品 アーミー AVXBA1-41BL カジュアル あす楽対応 男の子 ホワイト ■アビレックスアパレル 夏用 誕生日 月間優良ショップ受賞 Aマーク AVIREX 北欧風ツリーの森 ミリタリー 商品情報 グリーン パンチング KHAKI 6160円 カッコいい モノトーン 黒 21年春夏新作アビレックス商品一覧■只今の新着情報 可愛い 名前入り 練習 BLACK おすすめ AVIREXのロゴバックルが個性を主張するベルト 父の日 メンズウエア アヴィレックスゴルフ クリスマス おしゃれ 送料無料 かわいい プレゼント かっこいい 春 GOLF スポーティー 緑 冬用 人気 秋冬 女の子 ブラック ラウンド用品 カーキ ミリタリー感 4960667395610 キッズポスター 軍人 men's メンズウェア ブランド スポーツ お祝い オーダーメイド 軍隊 夏 男性用 スタイリッシュ ゴルフウェア アウトドア 名前 合皮 レア 春夏 シンプル パンチングが清涼感のあるアイテムです H3.2JANコード4960667395603 バースデーポスター お洒落 アビレックス 運動 冬 サープラスルック カッコイイ 白黒 用品 カワイイ ベルト 贈り物 春用 アメリカン AVREX 軍 秋 無地 ミリタリールック スポーティ WHITE 誕生日プレゼント バレンタイン ウエア 商品名アヴィレックスゴルフ 白 メンズ ベルト商品番号AVXBA1-41BL素材ニッケル ゴルフウエア ミリタリーテイスト ミリタリーファッション サイズW118.5 ゴルフ

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. 【送料無料】 ユニ・チャーム ライフリー リハビリパンツ M 24枚 ds-2401660
  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. 商品レビュー記入でクーポンGET NIKE ナイキ ジュニア ヴェイパー 14 アカデミー HG DB1067474 ラピス×ボルト サッカー ジュニアスパイク ST
  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


象印 純正品 部品 交換用 716201-00 象印 ZOJIRUSHI グリルなべ用ふた 716201-00

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
»