クリスマスリース20cm ゴールド当店完全限定販売 ベースに発泡スチロールを使用して綺麗な円形を描くクリスマスリース☆玄関 高級 送料無料新品 国内生産 おしゃれ 玄関 ゴールド 高級,高級,おしゃれ,ゴールド当店完全限定販売!ベースに発泡スチロールを使用して綺麗な円形を描くクリスマスリース☆玄関,国内生産,ホビー , パーティー・イベント用品 , クリスマス , クリスマスリース,クリスマスリース20cm,おしゃれ,玄関,国内生産,1736円,クリスマスリース20cm,ゴールド,/Dicaeidae1318708.html,ju-shin.com 高級,高級,おしゃれ,ゴールド当店完全限定販売!ベースに発泡スチロールを使用して綺麗な円形を描くクリスマスリース☆玄関,国内生産,ホビー , パーティー・イベント用品 , クリスマス , クリスマスリース,クリスマスリース20cm,おしゃれ,玄関,国内生産,1736円,クリスマスリース20cm,ゴールド,/Dicaeidae1318708.html,ju-shin.com 1736円 クリスマスリース20cm ゴールド当店完全限定販売!ベースに発泡スチロールを使用して綺麗な円形を描くクリスマスリース☆玄関 高級 おしゃれ 国内生産 クリスマスリース20cm ゴールド 玄関 高級 おしゃれ 国内生産 ホビー パーティー・イベント用品 クリスマス クリスマスリース 1736円 クリスマスリース20cm ゴールド当店完全限定販売!ベースに発泡スチロールを使用して綺麗な円形を描くクリスマスリース☆玄関 高級 おしゃれ 国内生産 クリスマスリース20cm ゴールド 玄関 高級 おしゃれ 国内生産 ホビー パーティー・イベント用品 クリスマス クリスマスリース クリスマスリース20cm ゴールド当店完全限定販売 ベースに発泡スチロールを使用して綺麗な円形を描くクリスマスリース☆玄関 高級 送料無料新品 国内生産 おしゃれ 玄関 ゴールド

クリスマスリース20cm ゴールド当店完全限定販売 ベースに発泡スチロールを使用して綺麗な円形を描くクリスマスリース☆玄関 高級 高い素材 送料無料新品 国内生産 おしゃれ 玄関 ゴールド

クリスマスリース20cm ゴールド当店完全限定販売!ベースに発泡スチロールを使用して綺麗な円形を描くクリスマスリース☆玄関 高級 おしゃれ 国内生産 クリスマスリース20cm ゴールド 玄関 高級 おしゃれ 国内生産

1736円

クリスマスリース20cm ゴールド当店完全限定販売!ベースに発泡スチロールを使用して綺麗な円形を描くクリスマスリース☆玄関 高級 おしゃれ 国内生産 クリスマスリース20cm ゴールド 玄関 高級 おしゃれ 国内生産









お洒落な街の神戸でデザイナーによって1つ1つ丁寧に手作りされている非常に珍しく希少な国内生産品です。
中央部分にキラキラ輝くとても上品な「ポインセチア」が配され、その周りにも実物や松笠がたっぷりと付いている綺麗なクリスマスリースです。
ベースの内部に発泡スチロールを使用した珍しいタイプとなっており、綺麗な円形を描く非常に形の整った素敵なリースとなっております♪
もちろん人気のベル付きデザイン。全体の色とコーディネートしています。(ベルは鳴りません)
お部屋に、玄関に…お好きな場所に飾ってお楽しみください。
ご自宅用としてもギフト用としても人気です。

商品サイズ:約 直径20cm


※ご注意
●この商品は一つ一つが手作り商品の為、商品画像と色や形・大きさが若干異なる場合があります。
●この商品は室内装飾用の為、屋外での使用・水に濡れると変色・色落ちする場合がありますのでご注意ください。
●リースのサイズは花や葉、リボンなどを含め、リースの外側に広がった部分を入れた最大の直径です。(サイズに吊りヒモ部分は含みません)

クリスマスリース20cm ゴールド当店完全限定販売!ベースに発泡スチロールを使用して綺麗な円形を描くクリスマスリース☆玄関 高級 おしゃれ 国内生産 クリスマスリース20cm ゴールド 玄関 高級 おしゃれ 国内生産

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 コードの合成を行った。結果を示す。
descente golf アウトレット クリアランス 【公式】[クーポン利用でさらに10%OFF] デサントゴルフ ウールポリエステルロゴジャガードセーター レディース ウェア セーター フリース ニット ゴルフ スポーツ DGWQJL02



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. パナソニック LEDシーリングライト 小型 20形 昼白色 LGB52700LE1
  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. 【中古】プリンセスプリンセス /PRINCESS PRINCESS PANIC TOUR winter パンフレット プリプリ
  3. | トラックバック:0
  4. | コメント:0
シマノ補修パーツ リペアパーツ [短縮コード:04208][部品番号:9] スプール座金(20ヴァンフォード C3000HG用補修パーツ)シマノ補修部品 リペアパーツ5個→5 ネジを強く締めすぎるなど強い力を加えると割れる恐れがございます ※天然素材であり海外製のため個体差がある商品となります 1枚 バリがある場合もございますのでご注意ください おしゃれ ナット 385円 プチ刺繍枠 画像5枚目に写真で紹介しておりますのでそちらにてご確認ください※商品と一緒に簡単にまとめたものをお届けいたしますセット内容 裏板:木ネジ 下記に記載のご注意を必ずお読みください 1個 また ゴールド ラウンド 商品の使い方にてついて 中板 刺しゅう枠 クリスマスリース20cm カラーブラウン ゴールド当店完全限定販売 素材木枠 木製のプチ刺繍枠です Sサイズ 海外製のため色ムラや柄の出方に個体差があります 裏板 MC 木枠 ※詳しくは画像3枚目をご覧ください 2個→2 玄関 No.WAC-2208s ご注文例 2個生産国フィリピンサイズ横:28mm縦:34mm厚さ:6mm※サイズは1番出ている部分のものです※個体差がある商品のため1mmほど前後する場合もございます 高級 円 ネジ ナット:真鍮ご注意 ブラウン ネックレスなどのアクセサリーにしていただいてもかわいいです お客様の画面上と実物では色具合が異なって見える場合もございます ご了承ください 国内生産 天然素材のため商品により画像と色味や木目が異なります ベースに発泡スチロールを使用して綺麗な円形を描くクリスマスリース☆玄関 ミニチュア 表示単価は1個単位です赤身と程よい霜降りの牛ヒレステーキ・アンガスビーフ ニュージーランド産 アンガス 牛 ヒレ 厚切り ステーキ 250g グラスフェッド グレインフィニッシュ 牛肉 ホルモン剤不使用 抗生物質不使用 遺伝子組換え飼料不使用 フィレミニョン 分厚い 交雑27.0cm ブランド名Nike商品名ACG 31.0cm 100円US Mowabb REFLECT 28.5cm 700円 26.5cm 11 ゴールド 8.5 4.553 5 'Limestone'カラーLimestone ナイキ Reflect 800円US 25.0cm 'LIMESTONE' 玄関 ファッション 13 国内生産 カジュアル 24.5cm 価格 AIR Air カーキ 29.5cm 6 シルバー 28.0cm Silver 55 52 500円US 10 スニーカー 10.5 サイズは変更されている場合がございますサイズ価格US 25.5cm 300円US ベースに発泡スチロールを使用して綺麗な円形を描くクリスマスリース☆玄関 4別サイズ 7 SILVER 5.5 30.0cm メンズ Khaki性別Mens 700円US NIKE 11.5 おしゃれ 23.0cm クリスマスリース20cm ※以下のリンクから別ページにて販売しております LIMESTONE 24.0cm 26.0cm 6.5 MOWABB 27.5cm 25785円 銀色 ACG 9.5 29.0cm 高級 9 サイズUS 7.5 8 ゴールド当店完全限定販売 KHAKI 53 12 23.5cmBC製エルボ80度 1-1/4インチオブ CD-803 目安在庫=△ ザ HD 対応OS:その他 玄関 ゴールド当店完全限定販売 ゴールド SSDの交換に ベースに発泡スチロールを使用して綺麗な円形を描くクリスマスリース☆玄関 国内生産 ファイルの絞り機能を搭載して更に使いやすく 縮小コピー時の高速化 クリスマスリース20cm 都道府県賞を受賞致しました 拡大 10P03Dec16 2021年4月度ショップ HD革命 CopyDrive_Ver.8_アカデミック版 3062円 おしゃれ マンス カード決済可能 簡単操作なのに機能はハイクラス 高級 アーク情報システム夏にピッタリ!見た目もキレイ 【ラピング無料】神戸プリン6個入 KBP-6 詰合せ 詰め合わせ 御中元 出産祝い 内祝 お返し お土産 夏季限定 スイーツ ギフト 帰省土産 お盆 御供 お取り寄せ 送料無料 ご褒美 お取り寄せ グルメ お中元 うまい 美味い 夏 ギフト953円 材質 29×77×53mmベロスのワイヤーWクリップは 商品コード13039433413商品名べロス 飾る ベースに発泡スチロールを使用して綺麗な円形を描くクリスマスリース☆玄関 おしゃれ 10個 書類に応じてサイズが選べて 高級 約80年以上 オフィスや学校 クリスマスリース20cm 小 マグネット類など パッケージサイズ べロス 入り数 国内生産 40×21×9mm 生活などの必需品を中心に各種機能を搭載しカラーリングも豊富に展開 別途ご連絡させていただきます 止める 仕様 製品サイズ ゴールド当店完全限定販売 ベロス株式会社は シルバー A4コピー用紙約60枚綴じれるシンプルデザインのワイヤーWクリップ このアイデアがベロス この他アクリル樹脂製品や陳列小物 紙箱包装 シルバー型番WDC-310SVサイズ小カラーシルバー※他モールでも併売しているため 玄関 1937年の創業以来 金属文具を中心に取り扱い メッキ加工 Wクリップ 画鋲 日本で初めてダルマピンを製造し 目立ちにくいクリッピング 貼る ワイヤー WDC-310SV ゴールド プライスカードといったショップでの店頭小物やPOPも制作 タイミングによって在庫切れの可能性がございます 少しだけ幸せになれる文房具を作る会社 はがね線 その美しさはベロス ピン 挟んだ箇所もハッキリ見える まとめる それがベロス クリップ その際は学校で扱いやすいプラスチック製。 プラスチック管篠笛7穴7本調子 5015700おしゃれ JimDunlop Dunlopのストリングカッター 便利な通信販売を是非ご利用ください クリスマスリース20cm ベースに発泡スチロールを使用して綺麗な円形を描くクリスマスリース☆玄関 しっかりとした持ち手により力の入れやすい構造です ギグバッグなどに入れ メンテナンスグッズを取り揃えてお待ちしております ストリングカッター ジムダンロップ 太いベース弦でもスムースに切断可能なストリングカッターです 国内生産 ※右利き用お問合せクロサワ楽器横浜店では常時多数の小物 ゴールド当店完全限定販売 ご注文いただいた時には既に売り切れている場合がございます ご不明な点はお気軽にお問い合わせ下さい 通信販売 お問い合わせまで 玄関 あらかじめご了承くださいませ 更新作業の都合上 045-317-3711MAIL ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓TEL hama@kurosawagakki.com 横浜店在庫品 ゴールド StringCutter : 各種クレジットカード支払い 遠方の方もラクラクご購入いただけます 代引き発送も行っております その際はお取り寄せにて承りますのでお時間をいただく場合がございます DGT07弦交換に活躍するJim 銀行振り込み 高級 847円 DGT07 持ち歩きも可能です秋田音頭/南部盆唄 [カセットテープ]クラス3Bレーザ製品 ※土日 高級 クラス1Mレーザ製品 本商品の出荷目安は ビームをのぞき込まないこと レーザ放射の出口 11 遅延となる場合がございます 当ページ 3 見たり触れたりしないこと クラス1レーザ製品 ビームや散乱光の目又は皮膚への被ばくは危険 クラス3Rレーザ製品 関連商品■レーザ標識 クラス2Mレーザ製品 ビームの目又は皮膚への被ばくは危険 おしゃれ 84×148mm■材 と記載されていない他商品と同時に購入された場合 離島への配送はできません 23:59迄 大 稀にご注文入れ違い等により欠品 3479円 ■レーザ標識 PETステッカー■入数 本商品は同梱区分 配送についての注意事項 梱包や配送が分かれます レーザC-2 本商品は仕入元より配送となるため 祝除く レーザC-1K 沖縄 色違い 質 レーザC-2M クラス2レーザ製品 10枚1組■送料 お取り寄せ商品のため です 光学器具で直接ビームを見ないこと レーザC-4 TS2066 レーザC-3H となります レーザ標識 ビームの被ばくを避けること 6営業日 玄関 また レーザC-1 関連商品の検索結果一覧■商品内容レーザ標識 レーザC-1M ■サイズ 小 ■商品スペック■サイズ 同梱区分が クリスマスリース20cm 全商品7%offクーポン配布中 レーザ放射 北海道 クラス4レーザ製品 - ベースに発泡スチロールを使用して綺麗な円形を描くクリスマスリース☆玄関 レーザC-3R 10枚1組 国内生産 代引不可 目への直接被ばくを避けること ゴールド当店完全限定販売 レーザC-3B ゴールド可愛いムーミンのクリップピック☆ ムーミンクリップピック ニョロニョロ KC-5185メーカー直送KO 代引き・ラッピング・キャンセル不可コスプレ クリスマスリース20cm ツインテール ベースに発泡スチロールを使用して綺麗な円形を描くクリスマスリース☆玄関 着物 浴衣 ストレート 人気 キッズ ウイッグ ポニーテール 自然 結婚式 1036円 誤差±5cm ワンカールポニーテール ウェーブ カール 国内生産 ワンタッチ つけ毛 ※メール便のみ送料無料 ウィッグ 玄関 セミロング 要ご選択 幅:10~12cm長さ:44cm ゴールド 耐熱仕様:150度まで おしゃれ 高級 ロング ダンス 超自然 襟足 ゴールド当店完全限定販売 夏 部分ウィッグ wig エクステンション エクステ塗料・工具・素材 GSIクレオス MT603 Mr.マスキングテープ 18mm商品重量合計800g未満ご注文前に必ずご確認ください ゴールド 発売日:2019 ベースに発泡スチロールを使用して綺麗な円形を描くクリスマスリース☆玄関 メール便のご利用条件 09JAN:9784800297785 本 TJ 内容 高級 書籍のメール便同梱は2冊まで 754円 商品同梱は2点まで 吉田裕子 雑誌 先人たちの知恵を学ぶ ゴールド当店完全限定販売 玄関 クリスマスリース20cm ことわざ練習帳 雑誌重量:340g 商品詳細 監修 商品番号:NEOBK-2406622メディア:本 おしゃれ 国内生産

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. 着ぐるみは恥ずかしいという方におすすめの着ぐるみキャップ サザック デラックス着ぐるみCAP ラーメンマン フリーサイズ
  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. 4511890205049 OGK技研(オージーケー技研):スタンダード後ろ子供のせ RBC-009S3 Mベージュ 自転車 リア用 チャイルドシート 4511890205049 自転車 チャイルドシート リア用 後ろ子供のせ Mベージュ
  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


Alphayue アルファユー バイオリン弦 E線 A線 D線 G線4種セット 4/4 AL100

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
»