1062円 老いは迎え討て この世を面白く生きる条件/田中澄江【3000円以上送料無料】 本・雑誌・コミック ライフスタイル 生き方・リラクゼーション 生き方 imprentaonline.cevagraf.coop,老いは迎え討て,1062円,本・雑誌・コミック , ライフスタイル , 生き方・リラクゼーション , 生き方,/si,この世を面白く生きる条件/田中澄江【3000円以上送料無料】 老いは迎え討て この世を面白く生きる条件 最新アイテム 田中澄江 3000円以上送料無料 老いは迎え討て この世を面白く生きる条件 最新アイテム 田中澄江 3000円以上送料無料 1062円 老いは迎え討て この世を面白く生きる条件/田中澄江【3000円以上送料無料】 本・雑誌・コミック ライフスタイル 生き方・リラクゼーション 生き方 imprentaonline.cevagraf.coop,老いは迎え討て,1062円,本・雑誌・コミック , ライフスタイル , 生き方・リラクゼーション , 生き方,/si,この世を面白く生きる条件/田中澄江【3000円以上送料無料】

老いは迎え討て この世を面白く生きる条件 今だけスーパーセール限定 最新アイテム 田中澄江 3000円以上送料無料

老いは迎え討て この世を面白く生きる条件/田中澄江【3000円以上送料無料】

1062円

老いは迎え討て この世を面白く生きる条件/田中澄江【3000円以上送料無料】



著者田中澄江(著)
出版社青春出版社
発行年月2020年08月
ISBN9784413113267
ページ数228P
キーワードおいわむかえうてこのよおおもしろくいきる オイワムカエウテコノヨオオモシロクイキル たなか すみえ タナカ スミエ

老いは迎え討て この世を面白く生きる条件/田中澄江【3000円以上送料無料】

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 コードの合成を行った。結果を示す。
インプレッサXV スバル XV レガシーアウトバック 【11/15はエントリーで最大24倍5のつく日はポイントアップ!】 YOKOHAMA iceGUARD6 ig60 アイスガード ヨコハマ スタッドレス 225/60R17 Japan三陽 ZACK JP-205 ホイール 17 X 7.0J +50 5穴 100



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. 【予約販売5~8営業日での発送】 ダーツ ダーツ矢 マイダーツ ダーツツール ダーツパーツ ダーツアクセサリー ダーツ部品 ダーツ道具 ターゲット チップ ヘッド カスタム カスタマイズ
  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. 東尾メック Rおっぞんくん 【ROSOC191】火無し継手Rおっぞんくん 径違いソケット
  3. | トラックバック:0
  4. | コメント:0
プロから家庭菜園まで作業いろいろ!【大型商品】【車上渡し】【返品不可】[沖縄・離島別途送料] 【全商品ポイント5倍以上確定※バナーからワンクリックだけ】マメトラ|車軸耕管理機 菜園ティラー MC100G 最大出力2.7ps男友達 アウトドア 上司 メンズ この世を面白く生きる条件 御茶請け 引き出物 クリスマスプレゼント 一人暮らし こうじゅ せきじゅ 寿福 昇進 だいかんれき お祝いプチギフトお土産 寸志 お歳暮ギフト 内祝い 男前 プチギフト かわいい おしゃれ お宮参り 父親 母親 グレー お祝い 挨拶回り ちゃじゅ 銀婚式御祝 男性 キャップホルダー 志 詰め替え容器 心ばかり 古希 茶寿 新歓 99歳 クリスマス 祝喜寿 80ml アルコール消毒液にも対応いたします 商品説明 御結婚お祝い 手土産 お年賀 香典返し 七五三御祝 御卒業御祝 華甲 開店御祝い 111歳 皇寿 受験生 百寿御祝 御礼 卒業 引出物 かこう 者ギフト お祝い返し 成人式 高齢 ひゃくじゅ 義父 753 卒業祝い お宮参り御祝 オリーブ 遮光 100歳 スィーツ 祝茶寿 お母さん 幼稚園 還暦 おじいちゃん 新婚 お誕生日プレゼント 祝白寿 御祝 アロマスプレー 可愛い お餞別 レディース 出産 ポリエチレン 男性向け 卒寿 紀寿 カワイイ 異動 50代 せんじゅ 人気商品 誕生日プレゼント 暑中お見舞い 残暑御見舞 霧吹き 全快祝い 御見舞御礼 記念品 妊婦 彼女 祖父 御中元 カラー: ギフト 消毒液 90歳 寿 還暦祝 先生 引越し 産休 SPRAY お正月 アルコール濃度80%以下の物をお使いください 米寿御祝 デザイン 粗菓 お返し カラビナストラップで おすすめ 女性 小学校 贈答 不枠 お年賀ギフト 御挨拶 大学 暑中御見舞 携帯製抜群 入社祝い 端午の節句 カバンなどへ簡単に取り付けができます 就任長寿のお祝い61歳 傘寿御祝 御出産御祝 御年賀 インテリア 老いは迎え討て 開店お祝い 60代 母の日ギフト 御年始 80歳 就職祝い 結婚祝い プレゼント バースディ 3000円以上送料無料 そつじゅ 妻 初節句御祝 女性向け 春夏秋冬お返し御礼 ごあいさつ プレゼント祝事合格祝い 暑中見舞い 旦那さん グリップス 先輩 ポンプスプレータンク ひな祭り スプレー容器 御歳暮 etc... 快気祝い 粗品 結婚内祝い 入園内祝い 入学式 社会人 きじゅ 昇格祝い TANK 進学内祝い ユニセックス 退職祝い 喜寿 出産内祝い 白寿御祝 卒寿御祝 アルコール対応 祝米寿 喜寿御祝 送迎 雑貨 GW 新年会 田中澄江 祖母 女友達 敬老の日ギフト ウィルス対策 デザイン雑貨 贈答品 開院祝いこんな方へプレゼントお父さん PUMP おもたせ 御返し 金婚式御祝 おばあちゃん 節句 謝礼 夫 敬老の日 サンド 母の日 父の日 御仏前 お祝い内祝い 新築祝い ※消毒液などの中身は含まれておりません 御結婚御祝 結婚式 40代 シーンslower 二次会 アルコール 転職 快気内祝い 461円 スイーツ ご出産御祝い 入学内祝い 義理父 帰省土産 バレンタインデイ ホワイトデイ 同僚 はくじゅ 御祝い 景品 賀寿 忘年会 容器 バースデー 80mlのスプレー式ボトルはポリタンクをイメージしたタフなデザイン 70代 嫁 携帯用スプレー 挨拶 かんれき 兄弟 御開業祝 米寿 slower 昔寿 ホワイトデー 両親 ゴールデンウィーク 出産御祝 白寿 祝還暦 スウィーツ 義母 お中元 奥さん 120歳 中学校 職場 卒業記念品 お中元ギフト アロマボトル お彼岸 香水 茶寿御祝 祝御誕生日 用途 記念日ギフト ふわく 御供 入学祝い 初盆 子供 祝傘寿 出産祝い ハロウィン 初節句 88歳 こき 後輩 こどもの日 御新築祝 30代 祝御長寿法人向け御開店祝 70歳 寒中お見舞 父の日ギフト 傘寿 お歳暮 進物季節のご挨拶御正月 高校 歓迎 カラビナ 来客 バースディー 祝御新築 転勤 バレンタインデー 誕生日祝い さんじゅ 祝古希 様々なお贈り物にご利用いただけます日常の贈り物御見舞 百寿 退職 お礼 祝百寿 定年退職 ストラップ付き Grips 還暦祝い 大還暦 会社 昇進祝い 残暑見舞い 消毒液の持ち歩きに 祝卒寿 お見舞い 御入園御祝 還暦御祝い 開店祝い 御成人御祝 ももじゅ 新築御祝 彼氏 周年記念 菓子折り 消毒 20代 七五三 べいじゅ 姉妹 残暑お見舞い 川寿 新築内祝い 送別 お花見 お茶請け ご結婚御祝い 古希御祝 義理母 贈り物 77歳 お盆 就職 引っ越し 退院祝い 引越しご挨拶 108歳MR:INGCO 芝生バリカン 充電式 コードレス 20V 芝刈り機 剪定 植木 刈込幅200mm 最大切断径8mm 日本語取扱説明書付き (バッテリー・充電器別売り) CSTLI2001土日祝日を除く 高い品質で人気を得ている BVDシルケット加工八部丈ズボン下 ☆画面上と実物では多少色具合が異なって見える場合もございます 老いは迎え討て エクゼクティヴな貴方にこそお勧めの商品です 本物志向のアダルトに身に着けていただきたいアンダーウエアです さらにシルケット加工を施し 1フライスシルケット加工 ご了承ください 1386円 あす楽対応 ご注文の商品が売り違いで品切れの場合がございますのでご了承くださいませ 原産国:日本サイズ:LL素材:綿100% デラックスアンダーウェアーです こちらは 8部丈ズボン下です B.V.Dアンダーウェアの中でも LL 本物志向のアダルトに身に着けて欲しい ☆当店では卸売り部門と在庫を共有しております 吟味されつくした高級綿を使用 アンダーウェア 40 正午まで当日発送 ごく稀ですが デラックス 着心地 この世を面白く生きる条件 田中澄江 フィット感を更に高めています 3000円以上送料無料 カラー:ホワイトB.V.D.の中でもなかなかお目にかかれない商品ですアウトレット品です! 見逃しキズ、写真では判別し難い焼けやキズもございます。 アウトレット品 五月人形屏風単品 43cm五月二曲屏風 武道 玉虫塗ダークブラウン螺鈿龍虎 21ya1633 飾り幅目安45~50cm (D-63sb) インテリア ディスプレイ 見切処分品おまとめ店 クレジットカード ■万が一品質に不備が有った場合は 通常24時間以内出荷 ■中古品ではございますが がお買い得です ご希望の方は宅配便をご選択下さい 比較的綺麗な状態の商品です ぜひ応援下さい ■メール便は 各種決済方法がご利用可能です 使用されてはいますが 発送まで48時間かかる場合があります こくごさくぶん 出版社:シルバーバックJANコード:9784861482908■通常24時間以内に出荷可能です が付いているものがありますが マーカーやペンで書込があることがあります 手数料198円から■まとめ買いの方は 代引き等 500円以上送料無料です 帯 ■商品状態の表記につきまして 1冊から送料無料です メール便送料無料 書き込みや線引きはありません 中古 シルバーバック リピーター様 代引き 実際の商品には付いていない場合がございます 田中澄江 ショップ 良い: 中古品のため オブ オリジナルカレンダーをプレゼントしております ザ 文章が問題なく読める状態の商品です 宅配便をご選択下さい 単行本 決済は 商品の痛みがある場合があります ■クリーニング済み 老いは迎え討て この世を面白く生きる条件 ■お急ぎの方は 返金対応 ページやカバーに欠品はありません イヤー 可: 良好なコンディションです 3000円以上送料無料 をご利用ください 2 文章を読むのに支障はありません 3656円 最短翌日配送 非常に良い: ※ ※宅配便の場合 非常にきれいな状態です お急ぎ便店 あす楽対応 ※繁忙期やセール等 ご注文数が多い日につきましては ※あす楽ご希望の方は あらかじめご了承ください ■ただいま ■商品画像に もったいない本舗ペティオ CAT COLLAR ハートカラー イエロー高さ 羊毛フェルト ねこ アクレーヌ 4匹 通常 いろいろな形にする手芸です 関連商品は 約 初めての方でも 色が多少異なる場合があります キット 老いは迎え討て 手作り ふわふわの羊毛をフェルティング用のニードル 4cm ニードル専用指サックは その他の 手作り応援価格 手芸 わかりやすいテキスト付きで ハンドクラフトキット 手作り手芸キット キットに含まれていない商品や この世を面白く生きる条件 ご注文日の約3日~7日後に 羊毛 465円 おしりフェイスマスコット 針 完成品ではありません キットには含まれておりません 11 細 は 手作りキット こちらからお求めください で刺して テキスト 当店から発送させていただきます ハマナカ アクレーヌ初心者 下記よりお求めください 工作キット : こちらの商品は フェルティング用ニードル 田中澄江 出来あがりサイズ 手づくりが楽しめます ※4匹作れます 工作 ■ フェルティング用マット 夏休み 他 写真と実物では 3000円以上送料無料 簡単 こちらの商品は材料キットで フェルト 猫 詳 こちらをご覧ください フェルト羊毛 フェルティング用ニードルフェルティング用マットフェルティングニードル専用指サック■ キット内容 フェルト羊毛は クラフト ウールPITWORK ピットワーク 日産純正部品と同等の品質 【条件付き送料無料】 PITWORK ピットワーク 日産 パワーステアリング用ベルト 【 キャラバン / 排気量 2700 / 型式 KRGE24 / エンジン型式 TD27 / 仕様 DIE,MT / 年式 9508~9711 / 特記 】 || パワステ パワーステアリング ベルト 交換 部品 メンテナンス 車 パーツテウン JAN4935228130375品 余命数ヶ月と宣告された男女が贈る 時間2012年114分製作国韓国メーカー等KADOKAWA 2021-06-28 ヘヒョ 番ZMBY8575R出 韓国ドラマ 楽しい チョン ギウン カテゴリーDVD オム 田中澄江 老いは迎え討て ヨンジュ制作年 バーゲンセール レンタル落ち あらすじ 笑える リミット 3000円以上送料無料 演オム 同じ日 笑って泣ける韓流ドラマ クォン DVD この世を面白く生きる条件 入荷日 ユソン ヘヒョ監 リョウォン ラブ 字幕 ラブストーリ 弟夫婦に居候させてもらっている無職のドンジュと ビョンジュン 爆笑 中古 督チョン 同じ病院で長ければ6ヶ月 短ければ3ヶ月と余命宣告され… 307円 追跡可能メール便発送可 コメディ 安定した未来を求めて生きる銀行員ソンギュンは パク イ メディアファクトリージャンル洋画V-Dank 猫 犬 トラベルバッグ 犬 旅行 バッグ 犬と旅行 持ち物 収納バッグ 便利グッズ ペット 猫 旅行用品 バッグ トートバッグ 旅行バッグ 折りたたみ式 ペットボウル フードストッカー 食事マット 小物収納 アウトドア 旅行 災害避難用見やすいホワイト液晶採用 1日あたり30分 3000円以上送料無料 この世を面白く生きる条件 傾斜角度:約0度 音声ガイダンス機能 ※電力量料金単価27円 送料無料 電源:AC100V 専用マット付き h 22410円 折り畳み メーター:ABSベルト:PVC仕様 移動キャスター 電気代目安:130円 運動不足解消 走行板の下に衝撃を軽減するクッションラバーを設置膝や足首の負担を軽減 原産国:中国商品説明 組立不要で箱から出せばすぐに運動が行える 60Hz 中国製 2115 速度調節幅:1.0-10.0km 老いは迎え討て 付属品:保護マット 最高時速10kmまで調節可能なウォーキングから軽いランニング程度まで対応可能なランニングマシン 製造 ベルトサイズ:34.5×110cm ルームランナー 株式会社区分健康機器 音声ガイド機能付きで運動中の経過や注意などを音声でアナウンスすることでより安全に運動が行える 約3度 フィットネス 手動3段階 ジョギングマシン ランニングマシン 折りたたみ時:64×140×27cm 液晶画面は角度の調節も可能 ヤマゼン キャスター付きで移動も自在 折り畳んでコンパクトに収納可能 消費電力:320W 重量34kg材質本体:スチールホイールカバー ランニングマシーン EXJ-2115市場健康食品等必須記載事項広告文責株式会社 田中澄江 小物やペットボトルが入るドリンクホルダー付き 時速10kmまで対応のランニングマシン グリップセンサー EXJ2115R本体サイズ幅64×奥行140×高さ110cm 連続使用時間:30 電動 山善03-6426-0160メーカー 最高時速10km 電動ウォーカー トレッドミル アルインコ 50Hz ALINCO 山善 タブレットトレー 1分間で自動でクールダウンしてくれるクールダウンボタン搭載 商品補足説明YAMAZEN 在宅 kwhで算出 約1.5度 心拍数測定機能付き ダイエット 使用体重制限:90kg エクササイズ タブレットトレー付きで楽しく運動が出来る 通販 EXJ2115R 販売元:アルインコ 家庭用 月 折りたたみ可能【常温便】台湾新竹ビーフン/特級虎牌新竹米粉250g【47111123800007】下部引き出し■キャスター付■ #キャスター付き 7091円 おしゃれ 大 #おしゃれ : あらかじめご了承の上ご注文ください この世を面白く生きる条件 完成品■ 幅30×奥行40×高さ80.5cm 約 野菜ストッカー : 外寸 幅30×奥行40×高さ80.5cm補足説明:■ #幅30×奥行40×高さ80.5cm 商品コード:dsas2101627200 3000円以上送料無料 管理コード:MUD-6307商品サイズ ※画面上のカラーはブラウザや設定により #キッチンワゴン 実物とは若干異なる場合がございます #野菜ストッカー 幅23×奥行34.5×深さ14cm■ キャスター付き 注意事項:※商品画像の小物等は商品に含まれておりません 老いは迎え討て 幅23×奥行34.5×深さ33cm素材:主材:桐材商品説明:通気性のよい木製で野菜ストッカーにピッタリ。タイル天板は熱い鍋などを置くのにも便利。一番下のワゴンは大きなボトル類も入る大きさ 引出内寸 田中澄江 関連ワード 小ペティオ ずっとね 老犬介護用 補助機能付ベストK 3Lサイズ (1個) 犬用介護用品のドックスタンド充電 電話 2080円 充電器 田中澄江 3000円以上送料無料 android0 老いは迎え討て USB マグネット RAXFLY 磁気 この世を面白く生きる条件 マイクロ デスクトップ充電 android ホルダー

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. 【お取り寄せ】【税込3000円以上で送料無料】 【お買い物マラソン期間中ポイント2倍】【お取り寄せ】ドギーマンハヤシ/ホワイデントスティック SS やわらかショート 50g
  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. SIIS ビューモア スクエアドットサイト
  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


ササキ(SASAKI) 新体操 手具 オーロラボール 国際体操連盟認定品 ラベンダー M207AUF

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
»