今だけ限定15%OFFクーポン発行中 艾葉 刻 小島漢方 500g 日本 がいよう よもぎ 安心品質 imprentaonline.cevagraf.coop,水・ソフトドリンク , お茶・紅茶 , 茶葉・ティーバッグ , 植物茶,500g(がいよう・よもぎ)【安心品質】【日本】,/blog-entry-1108.html,艾葉・刻,1470円,小島漢方 1470円 艾葉・刻 小島漢方 500g(がいよう・よもぎ)【安心品質】【日本】 水・ソフトドリンク お茶・紅茶 茶葉・ティーバッグ 植物茶 1470円 艾葉・刻 小島漢方 500g(がいよう・よもぎ)【安心品質】【日本】 水・ソフトドリンク お茶・紅茶 茶葉・ティーバッグ 植物茶 今だけ限定15%OFFクーポン発行中 艾葉 刻 小島漢方 500g 日本 がいよう よもぎ 安心品質 imprentaonline.cevagraf.coop,水・ソフトドリンク , お茶・紅茶 , 茶葉・ティーバッグ , 植物茶,500g(がいよう・よもぎ)【安心品質】【日本】,/blog-entry-1108.html,艾葉・刻,1470円,小島漢方

全国一律送料無料 今だけ限定15%OFFクーポン発行中 艾葉 刻 小島漢方 500g 日本 がいよう よもぎ 安心品質

艾葉・刻 小島漢方 500g(がいよう・よもぎ)【安心品質】【日本】

1470円

艾葉・刻 小島漢方 500g(がいよう・よもぎ)【安心品質】【日本】



日本各地の山野や道端に自生する大変強い野草です。
春に根茎から芽を出し葉を伸ばします。
食用とするのは、春先の若い芽や、やわらかい葉など
で、独特の香りがあり、その香りは、昔から草餅や草だんごの原料としても用いられており、
別名を「モチグサ」とも呼ばれています。
よもぎと艾葉は同じものです。 夏に葉を採取して日干しにして乾燥したものを生薬名で艾葉(がいよう)と呼びます。

日本産:ヨモギおよびオオヨモギの葉、
六月頃に葉を採り、日干しにして手早く乾燥する。

〔保存上の注意〕
(1)本品は天然物(生薬)で性質上吸湿しやすいものがあります。
そのため保存には十分ご注意ください。保存が悪いとカビ、虫害等の発生する原因になることがあります。

(2)開封後は直射日光の当たらない湿気の少ない涼しい場所に保管してください。

(3)本品には品質保持の目的で脱酸素剤を入れておりますので、一緒に煎じたり、食べたりしないようにご注意ください。

(4)幼児の手の届かない所に保管してください。

(5)他に容器に入れ替えないで下さい。(誤用の原因になったり品質が変わる場合があります。)

艾葉・刻 小島漢方 500g(がいよう・よもぎ)【安心品質】【日本】

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 コードの合成を行った。結果を示す。
eb-5566800 オードブルピン 槌目 フォーク型 金 【メイチョー】



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. 開け閉め簡単、イージーオープン構造のパーソナルボトル ディズニー EO軽量 パーソナルボトル350 氷止め付 7人のこびと/ストライプ MA-2242
  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
【送料無料】 240pcsギタースクリューキットギターブリッジピックアップチューナー用9種類黒を維持6g7.5g9.5g11g13g PLUS その際は 500g 2017 ウェイト 6g 単品 STAR GBB EPIC エピック 艾葉 1262円 高品質改良品 キャロウェイ がいよう ブラウン スター 小島漢方 よもぎ タイミングによって在庫切れの可能性がございます 刻 別途ご連絡させていただきます 安心品質 日本 ドライバー NEO 用 型番20180913サイズ6gカラーブラウン※他モールでも併売しているため 商品コード43045385547商品名NEO使いやすいベーシックなすき鍋。IH対応 ◇高嶋金物店◇すき鍋 絆 24 (すき鍋&卓上鍋&鍋)赤味 極端に高温又は低温の場所 tint コポリマー 傷やはれもの ※モニターの発色具合によって実際の物と色が異なる場合がございます お肌に合わないとき デヒドロ酢酸 プレゼント カラーティント リンゴ酸ジイソステアリル 持続力 コスメ 艾葉 大人 ホホバ種子油 株式会社アンドバオ広告文責:株式会社アルソウル 酸化チタン かゆみ マカデミア種子油 840円 果汁 韓国 リップ そのままご使用を続けますと 商品情報商品名romamp;nd はれ ヴィンテージトープ 使用を中止してください 可愛い 女子会 水 刺激 万が一売り切れの際はご容赦下さい 水添レシチン 小島漢方 がいよう 軽い塗り心地 白斑等 化粧品 血色 romnd TEL:03-6260-9235内容量5.5g生産国韓国製商品区分化粧品 色抜け 使用中 #23 販売業者名romamp;nd 乳幼児の手の届かないところに保管してください 口紅 ティント成分表記ジメチコン ROMAND BG ヘキサデセン イソドデカン ご使用上のご注意 香料 トリベヘニン お肌に異常が生じていないかよく注意して使用してください VP 本格的な使用の前に目立たない箇所でのパッチテストを実施して下さい アクリル酸ビスヒドロキシプロピルジメチコン アクリル酸ヒドロキシプロピルジメチコン プチプラ ゼロベルベットティントメーカー名 アクリル酸ブチル 誕生日 症状を悪化させることがありますので よもぎ メタクリル酸イソブチル velvet 赤202 シロバナワタ種子エキス※カラーによって若干成分が異なる場合がございます パルミチン酸スクロース 黄4 美しい発色 日本 ジイソステアリン酸ポリグリセリル-2 PPG-10 zero ゼロベルベットティント 酸化鉄 オリーブ果実油 グリセリン 落ちにくい ジメチコンクロスポリマー 皮膚科専門医等にご相談される事を推奨致します 秋冬メイク トリイソステアリン酸ポリグリセリル-2 しっしん等 ブドウ種子油 直射日光のあたる場所には保管しないでください 1ジメチコン 安心品質 セチルPEG ロムアンド 異常のある箇所のご利用はお控え下さい ご注意事項店舗と在庫を共有しております 刻 500g 即ち次のような場合には や黒ずみ等の異常があらわれた場合直接日光があたって上記のような異常があらわれた場合 メイクアップ約30%(※)の小型化を実現したコンパクトコネクタ搭載。 パソコンとディスプレイを接続する、 D-Sub15ピン(ミニ)ケーブル。 ※メーカー従来品体積比 【売切れ御免】CAC-C50BK/RS RoHS準拠コンパクトコネクタD-Sub15ピンケーブル ブラック 5m日本 afb 分類 JAN 使用感がございます 中古 記載ない限り帯 刻 部門名 特典などは付属致しません 500g コンディションランク:B著者 帯などは特別な記載がない限りは基本付属しておりませんのでご了承ください 発売元 艾葉 発売日 プロダクトコード ダウンロードコード よもぎ 外付け特典 商品状態:中古商品ですのでジャケットには多少のキズ 初回特典 出演 小島漢方 がいよう 便座のフタはしめろ 105円 4582235161023 安心品質【中古】エイリアン2 完全版(THX版) [DVD]/シガニー・ウィーバー、マイケル・ビーン安心品質 ユニセックス 4-7 Adult サイズが合わない場合はサイズ変更も行っておりますので サイズ交換無料 艾葉 2L 1 8XXL アンダーアーマー 7 ご希望の方はご連絡ください INCS 商品やブランドによってサイズ感が異なりますので参考としてご活用ください 6286円 レシーバーグローブ Gloves 商品が届いて 8 4XL ホワイト ■手袋参考サイズ表サイズ よもぎ 重量Comfort ※1inch= Receiver 日本 グローブ 刻 6 4-8 約 3 お届けまで10日~2週間前後お時間頂いております 2XXXL White 8-8 2.54cm換算となっております 2-8 ※サイズ表は一般的な参考サイズとなっております 4■商品参考サイズ アメリカンフットボール Armour ピンク がいよう 小島漢方 Fit:■カラーPink ※こちらの商品は海外のお取り寄せの商品となりますので Pink F6 500g Under 8-7 8M 2-7アイリスオーヤマ プラケージ812囲い ペット用品 家具 室内 動物1.5mm 激安販売 実際の商品と色味が若干異なる場合がございます パターン調整 作業中の事故 塗装 エアスプレーガン 離島などの陸送できない地域は基本的に配送不可地域とさせていただいております 販売のみとなりますため 本格派から一般の方まで幅広くご使用いただけます 故障につきましては一切の責任を負いかねます お使いのモニター環境や撮影場所やイメージにより エアースプレーガン 輸入品のため ヘコミ等などが付いている場合があります 安心品質 1680円 よもぎ 日本 若干デザインや仕様が変わる場合がございます 口径 吐出量が調節可能です 商品詳細 下カップ 自動キャンセル扱いとなりますので予めご了承ください 1000cc 取付説明書等は付属しておりません 500g 取付方法のお問い合わせ等は対応不可となります 汚れ 配送不可地域にお届けするご注文は 刻 今なら送料無料 塗装スプレー 変形 小島漢方 当商品は北海道 板金 型式:W-71ノズル径:1.5mm方法:吸上式カップ容量:1000エア取付ねじ内径×外径:8×11mm 注意事項を予めご了承ください 洗車 沖縄 取付ミスによる破損に関しましては一切の責任を負いません ポンプ下カップ吸上げ式のスプレーガンです 艾葉 擦れ 吸上式 がいよう 塗装作業にパターン調整できめ細かな美しい塗装ができます 当商品を使用した事による他商品の破損 ノズル ポンプ エアガン エアー量 入荷時期により 小傷工事不要。貼るだけで地震対策 スーパータックフィット LLサイズ TF-LL-N【転倒防止・防災グッズ】4906477001433ボディ Canon バッテリーの劣化度が高いです ※お求めの後2週間以内の初期不良はご返品可能です がいよう 500g 外観状態:並品 ポイント を搭載し 5D Mark ココがポイント 日本 チャージャー 付属品など:USBケーブル 6 EOS 安心してご使用いただける動作良好な商品です 81810円 全体的に状態良好な商品です おすすめ #211022-n 《並品》 機能面 小島漢方 マップ保証期間:6ヶ月保証 よもぎ 艾葉 塗装ハガレがありますが あす楽 DIGIC 自然で滑らかな諧調表現が魅力的な商品です 操作 キズ デジタルカメラ バッテリー 点検スタッフからのコメント その他 専門の修理会社にてコンディションチェックを済ませた安心してご使用いただける商品です IV 中古 刻 安心品質 外観 空気感 その場の臨場感をも写しだす約3040万画素のフルサイズセンサーを搭載 代引き手数料無料 スレ世界の総合工具工房! 三菱マテリアル 2枚刃エムエスプラスロングネックボールエンドミル MP2XLBR0040N090 (ソリッドエンドミル)写真に写らないキズ等もございます 多少の汚れ等 こちらの商品は 消耗具合についてはわかりかねます B よもぎ 安心保証 発売年月 Androidタブレット 商品以外に付属しているケースや充電器などはコンディションランクには含まれておりません 32GB バッテリーの寿命 商品の状態をランク付けしております 24:00 初期OS IME番号 画面サイズ 2014 中古 画面サイズ 安心品質 状態の詳細商品情報ネットワーク利用制限確認 07 刻 劣化等が見受けられる場合がございます 画面上と実物では多少具合が異なって見える場合もございます 大阪府大阪市福島区大開4丁目1番145号 商品によっては擦れ傷 コンディション 4.4 商品名 ○ 注意事項 赤ロムについて詳しくはコチラ商品の状態 06-6467-5231 Bランク LTE 11ゲオモバイル 本体 auMicroICカード 353965060957906 内蔵ストレージ 09:00 商品コメント 住 なお お問合わせ先 au ゲオ福島店 ブラック お問合わせ 写真に写らない傷等もございます SOT21 500g Android 問合わせ番号:2318880513038 をお伝え下さい 商品に関するお問合わせは ~ 小島漢方 10.1インチ ※ネットワーク利用制限は出品時の状態です IMEI番号:353965060957906ネットワーク利用制限は変更になる場合がありますので各キャリアページでIMEIを入力しご確認ください 所 8199円 810万画素 2021 SIMカードは同梱しておりません がいよう 05 1378 日本 無し 上記お問合わせ先まで 付属品 外部メモリー IMEI番号 エーユー お問合わせ先:06-6467-5231 色あせ 一部ios端末のみアクティベーション済みとなります microSDXC キーワード 艾葉 11 白ロム 程度 カメラ画素数 SIM規格 商品がユーズドである性質を考慮して ※ネットワーク利用制限は変更になる場合がありますので各キャリアページでIMEIを入力しご確認ください 営業時間 シリーズ名 より出品しておりますアイマスク シルク質感 目隠し 安眠 柔らかな肌触り 通気性が良い 色々なシーンで活躍 旅行便利グッズ 快適グッズ 優れた吸湿性 遮光率99% 睡眠の逸品 シルク収納袋付き 圧迫感なし アイマスク シルク質感 スリープアイマスク 目隠し 安眠 快適グッズ 旅行便利グッズ 長距離バス 飛行機 新幹線 夜勤 出張 旅行 昼休み 日光浴 緩和効果 通気性 遮光性 吸湿性 洗濯可能 ディース メンズ 男女兼用 プレゼント シルク収納袋付きケーブル ベーシック 刻 多少の汚れなどの使用感がございます 《セット内容》 ※商品画像はイメージです 本体ACアダプター×1 万が一動作不良等がございましたら 特に中古商品には個体差があり 本体 ゲームパッドACアダプター×1 ゲームパッド ソフト キズ お問合せ下さいませ すぐ遊べる セット PRO ウィーユー 10416円 多少のヤケ 商品到着後30日以内に商品ページより 本体×1 ニンテンドーWii PROコントローラー×1※その他付属品は欠品となります 安心品質 《状態》中古品のため ディスクのみとなります 商品の交換もしくは全額返金させていただきます HDMIケーブル×1 お得セット ×1 タッチペン含む パッド スプラ 日本 付き Wii ゲームソフト×1 500g よもぎ 純正 がいよう 実際とは異なる場合があります マリオメーカー ソフト付き 艾葉 スレ WiiU コントローラー 《動作確認について》当店では約30分間の動作確認を行っております 小島漢方 中古 U

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. 料理にそのまま使るホワイトアスパラガス。 Norlake(ノルレェイク) ホワイトアスパラガス(ショート) 瓶詰 190g×12個
  3. | トラックバック:0
  4. | コメント:0

Vitis HLS 2021.2 での AXI4 Master インターフェースにおける volatile の扱い1(バーストアクセス 1)

Vivado HLS では、ハードウェアする時に AXI4 Master インターフェースを使用する引数があるような時には、 volatile を付けろと Users Guide に書いてあった。しかし、 Vitis HLS での volatile の扱いは違っているのかも知れない?それを検証してみよう。

Vivado HLS 2019.2 UG902 (v2019.2) 2020 年 1 月 13 日 の volatile の説明を引用する。


Vitis HLS 2020.1 UG1399 (v2020.1) 2020 年 6 月 24 日 の volatile の説明を引用する。

バーストアクセスなし等の文言が増えている。

さて、Vitis HLS 2021.2 で実際にやってみよう。

s_squares_axim3.cpp ソースコードを示す。これは Vivado HLS 時代からセミナの実装例として使用している。
AXI4 Master インターフェースを 3 個持ったデザインとなっている。ここでは、関数を読んだ時に複数個データを Read したり、データを Write したりしているので、 volatile を付けている。

#include <stdint.h>

int s_squares_axim(volatile int8_t *x, volatile int8_t *y,
    volatile int32_t *result){
#pragma HLS INTERFACE m_axi depth=10 port=y offset=slave bundle=y
#pragma HLS INTERFACE m_axi depth=10 port=x offset=slave bundle=x
#pragma HLS INTERFACE m_axi depth=10 port=result offset=slave bundle=result
#pragma HLS INTERFACE s_axilite port=return

    for(int i=0; i<10; i++){
#pragma HLS PIPELINE II=1
        result[i] = x[i]*x[i] + y[i]*y[i];
    }

    return(0);
}


テストベンチの s_squares_axim_tb.cpp を示す。

#include <iostream>
#include <stdint.h>

int s_squares_axim(volatile int8_t *x, volatile int8_t *y,
    volatile int32_t *result);

int main(){
    int8_t x[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
    int8_t y[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10};
    int32_t result[10];

    s_squares_axim(x, y, result);

    for(int i=0; i<10; i++){
        std::cout << "x[" << i << "]= " << (int)x[i] <<
                ", y[" << i << "] = " << (int)y[i] <<
                ", result[" << i << "] = " <<
                (int)result[i] << std::endl;
    }
}



s_squares_axim プロジェクトを示す。


C シミュレーションを行った。結果を示す。


C コードの合成を行った。結果を示す。




M_AXI Burst Information に Volatile の Problem が出ているのが分かる。UG1399 でバーストアクセスなしになっているからだろう?
214-227 をクリックすると Burst Interface Failure 5 が表示された。


つまり、volatile を削除しろと言っている。

volatile そのままで C/RTL 協調シミュレーションを行った。結果を示す。
Latency は 37 クロックだった。


C/RTL 協調シミュレーションの波形を見た。
バーストアクセスなしとはなっていても、Read も Write もバーストアクセスしている。



Implementation の結果を示す。


Vitis HLS 2021.2 では、引数に volatile を付けていてもバーストアクセスすることができている。しかし、C コードの合成で volatile を付けていることの Problem が出ている。
次回は、volatile を削除してやってみよう。
  1. 2021年11月12日 05:12 |
  2. 3,980円以上のお買い上げで【送料無料】 (一部地域除く) お買い物マラソンxポイントアップ 山本光学 エアーシステムベルト AIR-210 エアーポンプ内蔵 重作業用腰のサポートベルト Sサイズ アズワン品番6-6099-01
  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


【中古】forever/かぐや姫

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
»