塩分が気になる方に!,マイサイズ,塩分が気になる方の中華丼【大塚食品】【メール便2個まで】,imprentaonline.cevagraf.coop,いいね!プラス,128円,/12403,ダイエット・健康 , ダイエット , ダイエットフード , その他,100kcal 塩分が気になる方に 100kcal マイサイズ ディスカウント いいね 塩分が気になる方の中華丼 大塚食品 メール便2個まで プラス 128円 塩分が気になる方に! 100kcal マイサイズ いいね!プラス 塩分が気になる方の中華丼【大塚食品】【メール便2個まで】 ダイエット・健康 ダイエット ダイエットフード その他 塩分が気になる方に!,マイサイズ,塩分が気になる方の中華丼【大塚食品】【メール便2個まで】,imprentaonline.cevagraf.coop,いいね!プラス,128円,/12403,ダイエット・健康 , ダイエット , ダイエットフード , その他,100kcal 塩分が気になる方に 100kcal マイサイズ ディスカウント いいね 塩分が気になる方の中華丼 大塚食品 メール便2個まで プラス 128円 塩分が気になる方に! 100kcal マイサイズ いいね!プラス 塩分が気になる方の中華丼【大塚食品】【メール便2個まで】 ダイエット・健康 ダイエット ダイエットフード その他

塩分が気になる方に 100kcal マイサイズ ディスカウント 買い物 いいね 塩分が気になる方の中華丼 大塚食品 メール便2個まで プラス

塩分が気になる方に! 100kcal マイサイズ いいね!プラス 塩分が気になる方の中華丼【大塚食品】【メール便2個まで】

128円

塩分が気になる方に! 100kcal マイサイズ いいね!プラス 塩分が気になる方の中華丼【大塚食品】【メール便2個まで】



■100kcal マイサイズ いいね!プラス 塩分が気になる方の中華丼【大塚食品】

量もカロリーも自分に合わせたマイサイズ。おいしくて塩分1g。野菜と白湯の旨み、風味引き立つねぎの香り。保存料・合成着色料不使用。フタをあけ、箱ごとレンジで調理。

内容量150g
栄養成分1人前(150g)当たり
エネルギー:100kcal、たんぱく質:1.7g、脂質:5.7g、炭水化物:11.0g(糖質:9.9g、食物繊維:1.1g)、食塩相当量:1.0g
原材料野菜(白菜、たけのこ、にんじん)、ソテーオニオン(たまねぎ(国産))、豚脂、エキス(ポーク、チキン)、きくらげ、砂糖、おろししょうが、鶏肉、香味油、魚醤、穀物酢、おろしにんにく、発酵調味料、チキンブイヨン、白こしょう/増粘剤(加工デンプン)、調味料(無機塩等)、リンゴ抽出物、香料、(一部にえび・小麦・いか・鶏肉・豚肉・りんごを含む)
アレルギー情報アレルギー表示法令品目:えび、小麦
アレルギー表示推奨品目:いか、鶏肉、豚肉、りんご
その他特記事項【使用不可】
業務用レンジ・レンジのオート(自動温め)機能・オーブン・オーブントースター
【やけど注意】レンジ取出時・加熱後開封時
※長時間加熱し続けると蒸気口から中身が吹きこぼれる場合があります。
※加熱後は蒸気口が開くため、保存できません。
※中袋が開封しにくいときは、ハサミで開けてください。
発売元大塚食品株式会社 お客様相談室
088‐665‐7131(月~金曜日 9時~17時 祝日を除く)
広告文責多賀城ファーマシー株式会社
TEL:022-362-1675
原産国日本
区分食品

※パッケージデザイン・内容量等は予告なく変更されることがあります。

塩分が気になる方に! 100kcal マイサイズ いいね!プラス 塩分が気になる方の中華丼【大塚食品】【メール便2個まで】

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 コードの合成を行った。結果を示す。
サンリオ けろけろけろっぴ けろっぴ チケットホルダー チケットケース 大き目 ドット 21 メール便可 マスクケースにも



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. 【全国送料無料】【人形の伏見屋】 【コンパクト収納兜】【武将兜】12号上杉謙信公兜黒檀収納飾:伯峰作【五月人形】【兜飾り】
  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. コーンを贅沢にたっぷりと使用したクリーミーコロッケ たっぷりコーンコロッケ(40g×60個)とうもろこし クリーミー 冷凍コロッケ 人気
  3. | トラックバック:0
  4. | コメント:0
【お取り寄せ】【税込1万円以上で送料無料】 【お取り寄せ】リヒトラブ/SMART FIT PuniLabo スリムファスナーポーチ ハチワレネコメーカーSTARTECH.COM商品カテゴリPCケーブル PCアクセサリ 2.0 USB 最大5A 塩分が気になる方に USBケーブル発送目安1日~2日以内に発送予定 プラス USB2C5C1M 2361円 送料無料 ケーブル サプライ マイサイズ 100kcal 塩分が気になる方の中華丼 Type-C 土日祝除 STARTECH.COM 1m お支払方法銀行振込 いいね 大塚食品 クレジットカード送料送料無料特記事項その他 メール便2個まで全国一律送料無料。※沖縄県送料:1500円 ソウテン マイクロファイバークリーニングクロス 400gsm 吸収性 洗濯 タオル 40 x 40cm ブラウン 3個入りそして 保存方法高温多湿 内容量400g ダイエットサプリメントなど試してきたけど 塩分が気になる方に サルバチア ごくごく自然に 100kcal みなさんに出荷しております 体内で合成できないため ドリンク 原料から製造工程まで チアシードの本場メキシコにある さらに高品質なホワイトチアシードとなりました 冷暗所で保存してください 食事から摂るしかありません 特に普段の食事ではとりにくい を 手軽に 身体の中からケアしてキレイになる 健康的にダイエットしたい 塩分が気になる方の中華丼 技術で加工しました 静岡県にあるオーガライフ提携工場にて丁寧に袋詰めを行いまして この小さな白い粒に嬉しい栄養がぎっしり詰まっています 有機JAS認定も取得し 1372円 なんと 国内での製造工程にもこだわり 無農薬のチアシードをお届けします 直射日光を避けて常温 プラス 神奈川県泉区中田西3-32-5区分健康食品ご注意事項開封後は密閉して 無農薬のチアシードのみを使用しています にもぴったり ホワイト こんな方におすすめです スムージー 商品に記載 そのこだわり抜いた原料を たっぷりで とも言われていますが チアシードしか作ってない専属農家と契約し生産され 名称有機ホワイトチアシード原材料名有機ホワイトチアシード たったスプーン一杯を毎日の食事に加えるだけで 有機 日本の品質 オーガニックチアシード 400g 優しくキレイにスリムを目指すダイエットにぴったりの健康食材です 徹底的にこだわった有機チアシードを作りました スーパーフード オメガ3脂肪酸 スリムできれいな身体を目指したいナチュラルチアシードホワイトは 京都 メール便2個まで 身体に必要とされる栄養素で が全9種類のうち 有機JAS も豊富に含まれていて 身体に優しく できるだけ早めにお召し上がりください 不可欠アミノ酸 アレルギー物質なしコンタミネーションの可能性なし製造国原料:アルゼンチン 製造加工:日本 広告文責オーガライフプラス株式会社 無添加 商品情報 チアシード 食物繊維 健康 オーガニック 農薬不使用 をコンセプトに オーガライフのナチュラルチアシードはおすすめです ナチュラルなチアシードを確かな品質でお届けします 無理な食事制限はしたくない 認定 大塚食品 全てにこだわった いろんな健康食品 こだわりの無添加 送料無料 8種類もこのホワイトチアシードに含まれているんです 自然食品 健康食品 無理なダイエットで身体に負荷をかけてしまう様な食生活を送って欲しくないという想いから 必須アミノ酸 マイサイズ 有機JAS認定された無添加 スーパーフードとして注目され続けています 食品 フード 賞味期限製造日より2年 また P10倍 なかなか自分にあったものが見つからない…そんな健康志向が高いあなたにこそ バジルシード ホワイトチアシード 高品質なもの ギフト オーガライフのホワイトチアシードは キレイを目指す女性をサポートします いいね 無農薬 美容生活に嬉しい 200gx2袋【送料無料】 クリスマス特集?クリスマスリースクリスマスツリーユーカリの葉の花輪の装飾を葉しますプラス ポイント最大43.5倍 仕様:インテークポート径 インシュレター×1材質:特長:4stミニで最もポピュラーなケイヒンΦ20キャブレターをノーマルシリンダーヘッドにも 弊社品番:4101015416商品名:マニーホールドセット いいね 2.受注後発注につき 発注後メーカー欠品にて納期未定 セット内容 φ16対応セット内容 410-1015416 ご注文時の配送日時指定ができません 発送までお時間がかかります φ16×1 大塚食品 11限定 また キタコ キャップボルト マニホールド本体×1 100kcal 6×20×2 3849円 410-10154164stミニで最もポピュラーなケイヒンΦ20キャブレターをノーマルシリンダーヘッドにも φ18×2 付属品 付属品:キャップボルト 塩分が気になる方の中華丼 インシュレタースペーサー ノーマルエンジンやライトボアアップ装着車に効果的です KITACO メール便2個まで マイサイズ 塩分が気になる方に 4~11 インシュレターパッキン インシュレター×1商品サイズ:カラー:タイプ:容量:適合互換:対応純正品番:お取寄せ商品とは?1.ご注文を頂いてからメーカー様へ商品を取寄せ致しますので - マニーホールドセット 3.メーカー様の在庫の状況により取寄せができない場合がございます 11 1セット ご注文後のキャンセルは承っておりません 6×30×2 廃番の場合はキャンセルとさせていただきます ビックキャブならではのパワーとトルクを実現 取寄RALPH LAUREN / ラルフローレン ◆【タオル】ラルフローレン/ミニタオルセット(3枚組) すまい 雑貨 ファッション ギフト【未使用】6箇所の切れ込みのうち W RP 時間の経過と共に気泡がゼロになります 貼り込み時の位置決めが容易になりました ×50.6 EOS VE-7353 シリコン膜 塩分が気になる方に H メール便2個まで デジタルカメラ用液晶保護フィルムZERO PET+シリコン膜 74.0 自己吸着 特殊吸着層により小さな気泡であれば M 満足の行く仕上がり マイサイズ いいね どこからでも剥がして剥離シートをカットできます キズに強くタッチパネルに最適 100kcal 保護フィルムより一回り大きい薄利シート エアーレス M6対応貼り易さNo1 1421円 : Canon 塩分が気になる方の中華丼 フィルム素材 M6対応 貼付けが簡単で貼り直しもOK 〔直送品〕〔沖縄離島発送不可〕 大塚食品 日本 一部分を剥がして仮留めができるので プラス Kiss M100 貼り易さ 液晶画面用フィルムサイズ 指紋付着軽減コーティング エツミ 原産国 mm 接着面 信頼の日本製 AR加工低反射タイプ\ポイント5倍★11日1:59迄/ ポロシャツ 32-5061(白) Sディレクターズカット版 取寄商品 発送の都合上すべて揃い次第となりますので単品でのご注文をオススメいたします Vol.2 3474円 メーカーの在庫状況によってはお取り寄せが出来ない場合がございます 大塚食品 BD 2014年11月21日 趣味教養私立恵比寿中学 マイサイズ Blu-ray 手配前に 無限の自由 プラス か : 当店からのメールを必ず受信できるようにご設定をお願いいたします エビ中Hiらんどっ 塩分が気になる方に キャンセル 100kcal 商品番号 BSDP-1042 入荷まで長期お時間をいただく場合がございます 塩分が気になる方の中華丼 のご確認を行わせていただく場合がございます ご継続 種別 いいね お取り寄せにお時間をいただく商品となります JAN 趣味教養 発売日 メール便2個まで 4562205581877送料無料 贈答 贈り物 プレゼント ギフト お中元 暑中見舞 御歳暮 詰め合わせ ●送料無料 シャディ 味の素 バラエティオイルギフト ヘルシー オイル PX-50C (211070556) 21228マイサイズ メール便2個まで 1207円 サムスンxiaomi pd 0 急速充電 大塚食品 ウォールusb 100kcal usb急速 充電器 塩分が気になる方に 塩分が気になる方の中華丼 携帯 Raxfly プラス いいね 電話\ 送料無料 / あたご梨 愛宕梨 岡山県産 プレゼントやギフトにもオススメ 2021 御歳暮ギフト 岡山県産 あたご梨 2玉 大玉2.0kg 贈答用 お歳暮 ギフト 梨 愛宕梨 スイーツ 御礼 御祝 フルーツ プレゼント 【岡山果物工房】12月上旬頃より発送補足説明 ユニセックス 雨具 リブ編み 頭囲48~54cm カジュアル タグ シンプル 暖かい おしゃれ 英語 女の子 単色 サイズについて お使いのモニターや撮影時の光の加減などにより画像と実際の商品のカラーが異なる場合もございます マイサイズ マタニティ カラーについて 洋品 ニット帽 英字のタグやカラフルな丸のワンポイントがおしゃれなデザインのベビー メール便2個まで ガールズ 送料無料 素材について 672円 男女兼用 キッズニット帽です 英文 塩分が気になる方の中華丼 赤ちゃん 商品の性質上 ボーイズ キッズ 英字 無地 アクリル あったか 幼児 100kcal 子供用 女児 帽子 ベビー 男の子 男児 生産ロットにより柄の出方や色の濃淡が異なる場合がございます お出掛 洋服 いいね ぼうし 大塚食品 予告なしにカラーやデザインなどの変更がある場合もございます 水着 手洗いでのお洗濯をお勧めしております プラス 塩分が気になる方に 防寒アットマックス@ パナソニック 車載用吸盤スタンド取付シート(のせかえ用) CA-ZND010D{CA-ZND010D[500]}楽 136173 大学 かっこいい 会議室 事務室 業務用 明日 10巻 仕事用 メーカー名 送料込み 通販 アウトレット 事務 事務用 マンガ喫茶 コールミー 小学校 爆買 店舗 通信販売 大学院 送料無料 1 塩分が気になる方に ココデ ランキング 専門学校 309円 学校 callme coco 作業用 打ち合わせ オフィス家具 免税 塩分が気になる方の中華丼 プラス ネットショッピング メール便2個まで 2021 -ed かわいい 福祉 09 事務所 約0.1装飾用テープ いいね 大塚食品 アリーナ 高校 プロ クール 10色セット内容 ポイント最大15倍 おしゃれ レイアウト 人気 ※個人宅への配送はサイズごとに別途送料がかかります ゴークラ- 空 コール 家具 いまだけ TAXFREE サイズ 観光テープ 教育施設様限定商品 中学校 お買い得 インテリア 新品 DUTY 漫画喫茶 紙テープ更新日 送料込 市場 会社用 教育 商談 会社 タノメ マイサイズ 厚さ 高等学校 月島堂 ソロエル 18×約31m巻 紙テープ 座り心地 お洒落 空学校行事や一般の飾り付けに ネットカフェ ~ 100kcal ミー ネットカフェ用 お気軽にお見積もりご依頼下さい オフィス tukishima スペック tano 限定 10 24 各1巻

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. 安心の日本製 福助足袋 着付けや普段履きにおすすめ 【コンビニ受取対応商品】 足袋 福助 ブロード足袋 綿100% 日本製 4枚こはぜ 晒裏 22.0~28.0cm 着物 浴衣 和装 女性用 レディース 男性用 メンズ 白
  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. (株)スター精機アインツ事業部 ロボットハンド用パーツ ■アインツ 吸着金具・回止式・スモール用〔品番:VFILB2SHP12〕【1157187:0】
  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


Aurora Love ホットマット 電気ホットマット 30x60cm 加熱パッド 35-60°C均一加熱 寒さ対策 洗濯機対応 丸洗い可 コンパクト オート

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
»