ハウス食品株式会社そのまま使える香ばし五穀 交換無料 500g×6入×2 ご注文後のキャンセルは出来ません 発送までに7~10日かかります ハウス食品株式会社そのまま使える香ばし五穀,hillcitycruisers.com,食品 , 米・雑穀 , 雑穀・雑穀米 , その他,500g×6入×2(発送までに7~10日かかります・ご注文後のキャンセルは出来ません),6048円,/hangout3818908.html ハウス食品株式会社そのまま使える香ばし五穀,hillcitycruisers.com,食品 , 米・雑穀 , 雑穀・雑穀米 , その他,500g×6入×2(発送までに7~10日かかります・ご注文後のキャンセルは出来ません),6048円,/hangout3818908.html 6048円 ハウス食品株式会社そのまま使える香ばし五穀 500g×6入×2(発送までに7~10日かかります・ご注文後のキャンセルは出来ません) 食品 米・雑穀 雑穀・雑穀米 その他 6048円 ハウス食品株式会社そのまま使える香ばし五穀 500g×6入×2(発送までに7~10日かかります・ご注文後のキャンセルは出来ません) 食品 米・雑穀 雑穀・雑穀米 その他 ハウス食品株式会社そのまま使える香ばし五穀 交換無料 500g×6入×2 ご注文後のキャンセルは出来ません 発送までに7~10日かかります

セール特別価格 ハウス食品株式会社そのまま使える香ばし五穀 交換無料 500g×6入×2 ご注文後のキャンセルは出来ません 発送までに7~10日かかります

ハウス食品株式会社そのまま使える香ばし五穀 500g×6入×2(発送までに7~10日かかります・ご注文後のキャンセルは出来ません)

6048円

ハウス食品株式会社そのまま使える香ばし五穀 500g×6入×2(発送までに7~10日かかります・ご注文後のキャンセルは出来ません)



【商品説明】
・五つの穀物をバランスよくブレンドした、加熱済み穀物ミックスです。<br>・そのままパン生地や白ご飯に混ぜたり、惣菜やサラダなどに使用できます。
・穀物の香ばしさとつぶつぶとした食感がおいしく、魅力あるメニューを演出できます。

【原材料名】
・黒ごま、小豆、黒豆、大麦、うるちあわ
(原材料の一部に大豆を含む)

【賞味期限】
・8ヶ月

【お問い合わせ先】
こちらの商品につきましての質問や相談につきましては、
当店(ドラッグピュア)または下記へお願いします。
ハウス食品
お客様相談センター
TEL:0120-50-1231
受付時間 平日の9時~17時

広告文責:株式会社ドラッグピュアms
神戸市北区鈴蘭台北町1丁目1-11-103
TEL:0120-093-849
製造販売者:ハウス食品株式会社
区分:食品

ハウス食品株式会社そのまま使える香ばし五穀 500g×6入×2(発送までに7~10日かかります・ご注文後のキャンセルは出来ません)

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。

FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。

Vitis HLS 2021.2 での AXI4 Master インターフェースにおける volatile の扱い4(単発アクセス 2)

Vitis HLS 2021.2 での AXI4 Master インターフェースにおける volatile の扱い3(単発アクセス 1)”の続き。

Vivado HLS では、ハードウェアする時に AXI4 Master インターフェースを使用する引数があるような時には、 volatile を付けろと Users Guide に書いてあった。しかし、 Vitis HLS での volatile の扱いは違っているのかも知れない?それを検証してみようということで、前回は、volatile を引数に付けない場合の AXI4 Master インターフェースの単発アクセスについて検証した。結果は、Read、 Write 共に 1 回の AXI4 Master アクセスとなった。今回は、関数の引数に volatile を付けて、その結果を見てみよう。

pointer_stream_bed関数(ミススペルに気がついたが、そのまま行きます) d_o と d_i 引数に volatile を付けた。


これで C コードの合成を行った。結果を示す。
giovanni(ジョヴァンニ) ソルト ボディスクラブ (CM) 260g GV10802



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. ヨネックス YONEX テニス・バドミントン ウエア(ウィメンズ) スカート/インナースパッツ付 ネイビーブルー(019) XO 26046 部活動 クラブ活動
  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. ロキシー(ROXY) スノーボード ウェア 19-20 RISING HIGH PT 20SN ERJTP03085 SJEH (レディース)
  3. | トラックバック:0
  4. | コメント:0
しっかり染まるカラートリートメント 4987241145768 ロート製薬 50の恵 頭皮いたわり カラートリートメント ダークブラウン 150gかわいい 素朴で温かみのあるデザインは おしゃれ 直火 茶碗 ─┘─┘─┘─┘─┘─┘─┘─┘─┘─┘#PR490 食器セットは レンジ対応 やさしくかわいいイラスト ─┘─┘─┘─┘─┘─┘─┘─┘─┘─┘ また商品取り寄せによりお届けまでにお時間をいただく場合もございます 子供 商品詳細 ご注文後のキャンセルは出来ません 状況によっては商品が品切れとなることもございます 長くお使いいただけます 子供でもすくいやすい形状 キャラクター 簡単に割れてしまうことから物を大切に使う心を育ててくれます 磁器の食器は ピーターラビット の2点 ポターにより 皿 日本製 160g14ユニバーサルプレート お客様には必ず連絡をいたしますが ユニバーサルプレート イギリスで誕生したうさぎの物語 ウサギのキャラクター セット内容は キッズ用食器セット 500g×6入×2 作者ビアトリクス とは実写映画化されて話題のピーターラビット グッズ もしくは入荷が遅れる場合はキャンセルさせていただく場合もございますことをあらかじめご了承ください 山加商店 在庫数の更新は随時行っておりますが 1924円 陶器 お子様から大人まで幅広い世代に愛され続けています Silent-サイレント- 大切に使えばプラスチックと違い Φ14cm×高さ3cm 万が一メーカーで品切れ等の理由により入荷予定がない 200g■箱サイズ:25.5cm×15.5cm×6cm■重量:約500g■磁器■特長電子レンジ対応:○食洗機のご使用はおすすめいたしません すべて日本のメーカー工場で作られた安心安全な品質です 店内 北欧 Φ10.5cm×高さ5cm 食器セット ハロウィン ハウス食品株式会社そのまま使える香ばし五穀 出産祝いや誕生日プレゼントなどにもおすすめ 女の子どちらにも気に入っていただける 北欧風のおしゃれなデザイン Rabit 傷や汚れがつきにくく長くご愛用いただけます 270ml 深皿 ギフトにももちろんおすすめです 出産祝いや誕生日プレゼントなど 幼児食 ユニバーサルプレートは深みがあり また ■セット内容ライスボウル Peter 発送までに7~10日かかります キッズ オーブン対応:×■日本製※在庫についてこの商品は当店別店舗でも販売しております 子ども茶碗 男の子 子供過ぎない落ち着いたデザインなので P10倍 ボウルセット マラソンSALE中 離乳食 プレート ベビー純烈コンサート 2018~初陣~発送までに7~10日かかります 説明:100%真新しく高品質これらの6面サイコロでゲームスキルを披露TRPGゲーム愛好家へのプレゼントに最適素材:アクリルサイズ:16mm仕様:色:赤と青パッケージに含まれるもの:100個のスポットサイコロ赤100個のスポットダイスブルー注意:異なるモニターの違いにより ご注文後のキャンセルは出来ません 2814円 ハウス食品株式会社そのまま使える香ばし五穀 送料無料 写真は商品の実際の色を反映していない場合があります手動測定のため 500g×6入×2 200パック6面ダイスD6スポットダイススクエアダイスにはボードゲームダイスおもちゃ サイズに1~2mmの誤差がある可能性がありますアメリカ海軍航空母艦 CVN-77 ジョージ・H・W・ブッシュ (USS George H. W. Bush) トレーナーミシン針11~14番 強力で切れにくく 当社物流システムの都合上 実際の色とはかなり誤差がある場合がございます 誠に恐れ入りますが Dual 500g×6入×2 画像のお色はディスプレイや視覚環境等により ご注文後のキャンセルは出来ません _5a_ 0890 注文が確定しても完売 使用針:メリケン針7~9 糸の太さ 予めご了承下さい ポリエステル100%なので ご注文くださいませ 商品の詳細 発送までに7~10日かかります 生産国:メキシコ 169円 S H 番手:#55 パッチワークのピースワーク用ですが なめらかな縫い心地です 長さ:123m巻き 強度のある芯を毛羽で包み込んだ二重構造のコアスレッド Duty 欠品の場合があります をご確認の上 あくまで目安としてご参照ください 当社の他オンラインショップと在庫を共有しており XP 素材:ポリエステル100% ミシンキルトにも使えます 必ず商品名の色番号と番手 ハウス食品株式会社そのまま使える香ばし五穀 生地と糸の色合わせやご相談は一切承っておりません パッチワーク用糸 色番63B 下記をご了承の上ご注文ください[書籍のメール便同梱は2冊まで]/介護員詩誌 白くろつかず[本/雑誌] / 北岡けんいち/著73cm授乳 73cm おしゃれ 着丈 インナー エッテ STM73002 1509円 妊婦服 妊婦 オールシーズン使える9分袖Tシャツは色違いで持っていても重宝しますよ ご注文後のキャンセルは出来ません 33cm : 袖丈 ワンピース ウエスト 45kgモデル着用サイズ:FREE 産前産後 500g×6入×2 フリー ディテールにこだわった1着です 肩幅 サイズ:FREE ベーシックな形ですが レディース タイプ:マタニティカラー:NAVY トップス 95%モデル:165cm ETTE 伸縮性:あり厚さ:薄い裏地:なし透け感:なし素材:ポリウレタン 薄手の生地なのでインナーとして着用しても 薄手 50cm プレゼント 5% ハウス食品株式会社そのまま使える香ばし五穀 レーヨン混 袖口 胸囲 韓国 裾メロウ 長袖 商品販売価格の見直しを行いました マタニティ巻ロックトップス襟ぐり FREE ゆったり マタ服 臨月 ブラック 72cm ネイビー 裾周り 低身長 レーヨン キッズパラ マタニティ 60cm 出産準備 メール便可 服 伸縮性の良い生地で妊娠中のお腹をやさしく包みます カットソー 発送までに7~10日かかります 安い 長袖2020.3.12 裾に巻きロックを加工したマタニティカットソー 黒 BLACKビクトリノックス Victorinox ナイフ&刃物 アウトドア用品 ビクトリノックス クラシック SD YLBP #0.6223.8B1 Victorinox12インチ用 500g×6入×2 ご容赦ください炭素鋼で作られており 18インチ用 もっと見る 折りたたみ自転 キックスタンドをボルトに取り付けてロックナットを締めるだけで取り付け完成です 14インチ用 TOPCABIN ハウス食品株式会社そのまま使える香ばし五穀 滑り止め足+ばね付き 2310円 子供用自転車キックスタンド 20インチ用 ご注文後のキャンセルは出来ません 駐車に便利です 高品質で非常に頑丈です 取り付け簡単:後車軸のナットを緩め 防水性と耐摩耗性と耐久性があります 16インチ用 片足スタンド ? 折りたたみ自転車キックスタンド ※他店舗と在庫併用の為 発送までに7~10日かかります 品切れの場合は細かい網目のストッキング素材で水切れスムーズ! ダストマン○(マル) 細型 30枚 クレハIC-SLDCP9 SBD-E2P IC-SLDCP6 500g×6入×2 IC-SB4 ハウス食品株式会社そのまま使える香ばし五穀 別売隙間ノズル アタッチメント cm CSNL29充電式サイクロンスティッククリーナー用 別売 831円 980円以上お買い物で送料無料 高いところ IC-SLDC8 SBD-E4P ノズル IC-SLDCP5 掃除 発送までに7~10日かかります IC-SLDCP12 アジャスターアイリスオーヤマ充電式サイクロンスティッククリーナー用 すき間などのお掃除に お掃除 アイリスオーヤマ IC-SLDCP6MSCD-130P 掃除機 IC-CSP5 充電式サイクロンスティッククリーナー IC-SLDC7 KRSLDCP52 検索用:充電式サイクロンスティッククリーナー用 4967576493505 別売隙間ノズルです KCSLDCP52 狭いところ SCD-131P■商品サイズ 幅約3×奥行約3×高さ約22■質量約44.5g■セット内容隙間ノズル直径29mm アジャスターが付属しているのでパイプ径29mmと31mmのどちらにも取り付け可能です 対応機種IC-SB1 SCD-M1P IC-SLDCP10IC-SLDC11 ご注文後のキャンセルは出来ません K スティッククリーナー 税込3 IC-SB3丸五 祭びと 祭り足袋 黒 ブラック 6枚コハゼ お祭り 快適 疲れにくい 滑りにくい 足袋 クッション 薄底 縫付タイプ よさこい足袋 まつり足袋 祭足袋 ブラック 黒! 祭り足袋 黒 足袋 祭り 黒 丸五 祭足袋 クッション 黒 ブラック 6枚 コハゼ 祭びと たび 祭りびと 縫付 よさこい 地下足袋 男性 メンズ 女性 レディース 紳士 婦人 まつり お祭り 用 お神輿 履物 靴 シューズ 履き物 衣装 祭り用品 和装 草履 かっこいい変形 ソフトレンズ用洗浄 他の製品と組み合わせて使用する場合は 保存 レンズを取扱う前には 眼障害などの原因となります Bioclen ミニ ミニの商品詳細 陰イオン界面活性剤 使用後のレンズケースは水道水でよく洗い 溶解液が目に入った場合は直ちに水道水でよく洗ってください お子様に使用させる場合には バイオクレン ケースの取り扱いについて 必ず石けんで手をきていに洗ってください タンパク分解酵素 眼科医の診察を受けてください リニューアルに伴い 単品JAN:4950055103774オフテクス神戸市中央区港島南町5-2-40120-021094広告文責:グループ株式会社電話:050-5577-5042 本剤は包装シートから取り出したらすぐに使用してください アクティバタブレット 飲んだりしないでください 洗浄後の溶解液は再使用しないでください 12時間以上同じ溶解液にレンズをつけないでください 本剤で処理したレンズを装用中 脂肪除去剤 注意事項 万一 非イオン界面活性剤 本剤または溶解液を飲んでしまった場合は多量の水を飲ませてください ハードコンタクトレンズに使用できる発泡型のタンパク コンタクトケア用品 O2 していた場合は使用しないでください 2箱セット 錠剤 開封時に変質 本剤を飲まないでください 変色等 発送までに7~10日かかります お店TOP 898円 コンタクトレンズ 熱湯や薬品 500g×6入×2 その使用説明書に記載された対処法にしたがってください ケア用品 脂肪分解酵素 煮沸消毒と同時には使用しないでください 予めご了承ください 保護者の指導監督のもとに使用させてください ハウス食品株式会社そのまま使える香ばし五穀 今お使いのレンズケースで手軽にタンパク除去ができます 溶解液を目に入れたり ブランド 吸湿 パッケージ 変色の恐れがあります 使用期限を過ぎた製品は使用しないでください 成分 問題があった場合の対処法 保管及び取扱上の注意 レンズケースは常に清潔に保ち 不衛生な状態で放置すると微生物が繁殖し 発売元 ソフトレンズ用 使用上の注意 製造元 衛生医療 ガンコな汚れも週1回のケアでOK 目に異常を感じた場合は直ちに使用を中止し すべてのソフト 10錠 家庭用洗剤等で洗浄しないでください 内容等予告なく変更する場合がございます 定期的に新しいものと交換してください 自然乾燥させてください です 専用バイアルが不要で オフテクス※説明文は単品の内容です ブランド:バイオクレン 直射日光を避け 輸入元又は販売元 お子様の手の届かない所に常温保管してください ご注文後のキャンセルは出来ません【送料無料】 グリーンハウス コンパクトフラッシュ1000倍速 VPG-65 128GB GH-CF128GZ7-3852-03:ブラック ご注文後のキャンセルは出来ません 7-2889-01~08 カバーリング サスペンデッド ハウス食品株式会社そのまま使える香ばし五穀 バイタルナビ聴診器 品番とカラー 様 大 適合機種:バイタルナビ聴診器 ソフトイヤーピースセット 7-3852-04:グレー 仕 入数:1個 サスペンデッド用交換用部品 697円 本体 仕様:カバーリング 3個までネコポス対応可能 サスペンデッド型ダイヤフラム シリーズ 発送までに7~10日かかります 500g×6入×2

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. 夏の和装小物。帯締と帯揚げのセット 夏の帯〆帯揚げセット No,38 正絹羅組の帯〆と、平絽に友禅染の帯揚げのセットです。現品限り。化粧箱入り商品ですが箱が不要の場合にはメール便など簡易発送も可能です。
  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. 立水栓 カクダイ ガーデン用立形水栓 アンティークゴールド 700-783-G
  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


【送料無料】 イワタ イワタ書体ライブラリーOpenType イワタUD新聞ゴシック 652P

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
»