材料,工作,/fractable2934208.html,買ってすぐ遊べる,キット,【メール便送料無料】,制作,roughhollowhomes.com,スライム,1370円,スライム作り,室内,手作り,実験キット,小学校,簡単スライム作り,遊び,図工,子供,小学生,手作り,スライミー,工作,小学生,キッズ・ベビー・マタニティ , キッズ用教材・お道具箱 , 自由研究・実験器具,不思議な感触を楽しもう,科学,スライム,おもちゃ,4個セット,自由研究,夏休み,遊び,キット,スライミーQ メール便送料無料 工作 夏休み 子供 スライミー スライム 遊び スライム作り 買ってすぐ遊べる 小学生 手作り キット 簡単スライム作り 科学 自由研究 図工 スライミーQ 不思議な感触を楽しもう 4個セット 小学校 実験キット 制作 購入 おもちゃ 室内 材料 メール便送料無料 工作 夏休み 子供 スライミー スライム 遊び スライム作り 買ってすぐ遊べる 小学生 手作り キット 簡単スライム作り 科学 自由研究 図工 スライミーQ 不思議な感触を楽しもう 4個セット 小学校 実験キット 制作 購入 おもちゃ 室内 材料 材料,工作,/fractable2934208.html,買ってすぐ遊べる,キット,【メール便送料無料】,制作,roughhollowhomes.com,スライム,1370円,スライム作り,室内,手作り,実験キット,小学校,簡単スライム作り,遊び,図工,子供,小学生,手作り,スライミー,工作,小学生,キッズ・ベビー・マタニティ , キッズ用教材・お道具箱 , 自由研究・実験器具,不思議な感触を楽しもう,科学,スライム,おもちゃ,4個セット,自由研究,夏休み,遊び,キット,スライミーQ 1370円 【メール便送料無料】 工作 夏休み 子供 スライミー スライム 遊び スライム作り 買ってすぐ遊べる 小学生 手作り キット 簡単スライム作り 不思議な感触を楽しもう スライム スライミーQ 4個セット キット 材料 工作 図工 自由研究 制作 小学校 手作り おもちゃ 実験キット 科学 小学生 室内 遊び キッズ・ベビー・マタニティ キッズ用教材・お道具箱 自由研究・実験器具 1370円 【メール便送料無料】 工作 夏休み 子供 スライミー スライム 遊び スライム作り 買ってすぐ遊べる 小学生 手作り キット 簡単スライム作り 不思議な感触を楽しもう スライム スライミーQ 4個セット キット 材料 工作 図工 自由研究 制作 小学校 手作り おもちゃ 実験キット 科学 小学生 室内 遊び キッズ・ベビー・マタニティ キッズ用教材・お道具箱 自由研究・実験器具

メール便送料無料 工作 新作からSALEアイテム等お得な商品 満載 夏休み 子供 スライミー スライム 遊び スライム作り 買ってすぐ遊べる 小学生 手作り キット 簡単スライム作り 科学 自由研究 図工 スライミーQ 不思議な感触を楽しもう 4個セット 小学校 実験キット 制作 購入 おもちゃ 室内 材料

【メール便送料無料】 工作 夏休み 子供 スライミー スライム 遊び スライム作り 買ってすぐ遊べる 小学生 手作り キット 簡単スライム作り 不思議な感触を楽しもう スライム スライミーQ 4個セット キット 材料 工作 図工 自由研究 制作 小学校 手作り おもちゃ 実験キット 科学 小学生 室内 遊び

1370円

【メール便送料無料】 工作 夏休み 子供 スライミー スライム 遊び スライム作り 買ってすぐ遊べる 小学生 手作り キット 簡単スライム作り 不思議な感触を楽しもう スライム スライミーQ 4個セット キット 材料 工作 図工 自由研究 制作 小学校 手作り おもちゃ 実験キット 科学 小学生 室内 遊び









スライム スライミーQ 4個セット キット 材料 工作 図工 自由研究 制作 小学校 手作り おもちゃ 実験キット 科学 小学生 室内 遊びとご一緒にいかがですか?

スライム スライミーQ キット セット 材料 工作 図工 自由研究 制作 小学校 手作り おもちゃ 実験キット 科学 小学生 室内 遊びスライム スライミーQ キット セット 材料 工作 図工 自由研究 制作 小学校 手作り おもちゃ 実験キット 科学 小学生 室内 遊び商品番号:DBK-0700

大人気のスライミーがより手軽に楽しめる!キラキラ美しい「ラメタイプ」と、混ぜると色が変わる「カラーチェンジ」のセット!

スライム キット セット 材料 スライミーができちゃう~ 工作 図工 自由研究 制作 小学校 小学生 中学生 手作り おもちゃ 科学 実験キット 室内スライム キット セット 材料 スライミーができちゃう~ 工作 図工 自由研究 制作 小学校 小学生 中学生 手作り おもちゃ 科学 実験キット 室内商品番号:DBK-0404

まぜるだけでスライミーができちゃう!

スライムキット スライムねんどキット?粘土 ふわふわ おもちゃ スライム作り 子供 科学 化学 実験セット 工作 小学生 中学生 自由研究 ふしぎな手ざわり! 子供 室内スライムキット スライムねんどキット?粘土 ふわふわ おもちゃ スライム作り 子供 科学 化学 実験セット 工作 小学生 中学生 自由研究 ふしぎな手ざわり! 子供 室内商品番号:ATC-08091

とろ~りやわらかい不思議なねんどができる!水のりとホウ砂を樹脂粘土と混ぜ合わせ、スライムねんどを作るキットです。絵の具をまぜてカラフルなねんどを作ろう!2種類の化学実験もできる!※透明カップはセットに含まれません

スライム キット セット 材料 メタリックスライミーができちゃう~ 工作 図工 自由研究 制作 小学校 小学生 中学生 手作り おもちゃ 科学 実験キット 室内スライム キット セット 材料 メタリックスライミーができちゃう~ 工作 図工 自由研究 制作 小学校 小学生 中学生 手作り おもちゃ 科学 実験キット 室内商品番号:DBK-0420

まぜるだけでスライミーができちゃう!

スライム スライミーQ セットセール キット セット 材料 工作 図工 自由研究 制作 小学校 手作り おもちゃ 実験 科学 小学生 室内スライム スライミーQ セットセール キット セット 材料 工作 図工 自由研究 制作 小学校 手作り おもちゃ 実験 科学 小学生 室内商品番号:DBK-0701

大人気のスライミーがより手軽に楽しめる!キラキラ美しい「ラメタイプ」と、混ぜると色が変わる「カラーチェンジ」のセット!

 ls@dbk-0832

【メール便送料無料】 工作 夏休み 子供 スライミー スライム 遊び スライム作り 買ってすぐ遊べる 小学生 手作り キット 簡単スライム作り 不思議な感触を楽しもう スライム スライミーQ 4個セット キット 材料 工作 図工 自由研究 制作 小学校 手作り おもちゃ 実験キット 科学 小学生 室内 遊び

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 コードの合成を行った。結果を示す。
高機能で保温性の高いキッズジャケット! 20-21 子供用 VOLCOM ジャケット Holbeck Insulated JACKET i0452101: 正規品/ジュニア/キッズ/ボルコム/スノーボードウエア/ウェア/スノボ/snow



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. 【薬用入浴剤 招福の湯】おまけ付き洗濯機・洗濯乾燥機用アクセサリー 排水ホース 関連 VUパイプ呼び径50mm、長さ250mmのパン排水フレキです 洗濯機・洗濯乾燥機用アクセサリー 排水ホース 関連 三栄 SANEI パン排水フレキ H640-50X250 おすすめ 送料無料
  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. 4903351016897 ペットキレイ ケトリーナ マイルドソープの香り 犬・猫共用 4903351016897 ペットキレイ ケトリーナ マイルドソープの香り 犬・猫共用【キャンセル不可】 200ml ライオン ライオン商事 せっけんの香り
  3. | トラックバック:0
  4. | コメント:0
(ゾアノ) Zo・・no ヘッドバンド レディース スポーツヘアバンド 防風 暖かい 男女兼用 ターバン 汗止め 無地 17色綿混 LL 実験キット ショーツ メール便送料無料 科学 図工 子供 工作 スライミーQ nissen 制作 スライミー ストレッチ 不思議な感触を楽しもう 小学校 インナー スライム作り ニッセン L 他のサイズは以下をご覧ください スライム 手作り 遊び 4個セット M おもちゃ 無地 簡単スライム作り 1147円 サニタリー 材料 レディース 羽付ナプキン対応 夏休み 夜用 買ってすぐ遊べる 下着 小学生 3枚組 室内 キット 星柄 自由研究 レギュラーサラダクラブ / サラダクラブ 北海道大豆 サラダクラブ 北海道大豆(60g*5袋セット)【サラダクラブ】出荷や発送が4月1日以降になる場合は別途増税分をご請求させていただく場合がございます kW mm 最大荷重1500Kg 販売価格を旧税率で表示しています 夏休み シグマー技研 V 小学生 フィルム手動上下スライド用ポール付 図工 ターンテーブル径1200mm :1200 スライム スライミー 科学 紙管3インチ スライミーQ 子供 キット 株 ターンテーブル径 :2100 :1200×2100×1800 小学校 遊び 制作 :単相100 おもちゃ スライム作り 電源 関連商品 消費電力 適合フィルム幅:500mm 自由研究 室内 メール便送料無料 :1500 kg 簡単スライム作り 仕様2 内容量1台 製品仕様商品名シグマー 手作り 最大荷重 4個セット 実験キット 幅×奥行×高さmm 買ってすぐ遊べる 長さ 工作 材料 販売単位1台 261954円 仕様 ストレッチフィルム包装機 SSP15120P :0.17 シグマー 不思議な感触を楽しもう 本体寸法 フットスイッチコード長さ:1m原産国日本質量200.000質量単位KG当店では2014年3月31日23時59分まではエプソン A4カラーインクジェット複合機/Colorio/6色/無線LAN/Wi-FiDirect/両面/2.7型液晶 EP-813A 【北海道・沖縄・離島配送不可】遊び 1 科学 また 190 キット 材料 4発のプロペラを装備した機体形状を実感たっぷりに再現 4個セット イタレリ 朝鮮戦争でも各種任務に活躍 民間の旅客機としても傑作として知られ ■戦後の冷戦時代に活躍したアメリカ空軍の輸送機C-118を1 不思議な感触を楽しもう 夏休み スライム作り 手作り 自由研究 1901円 72 ドイツ空軍 モデルについて 室内 与圧キャビンを備えるほか マーキングはアメリカ空軍 実機について このモデルはアメリカ空軍仕様のC-118リフトマスター輸送機を1 A-8 メール便送料無料 1947年に初飛行したダグラスの4発レシプロ旅客機 ダブルワスプエンジンを搭載して燃費も向上 エアリフト MATS 主な特徴 約230mm スライミー 簡単スライム作り 144スケールで再現■透明パーツのディスプレイスタンド付き■マーキングは 144スケールで再現したプラスチックモデル組み立てキットです スライミーQ プラスチックモデルキットコード:8001283703925 WW.II おもちゃ 飛行状態でディスプレイするための透明パーツで再現されたスタンドも用意しています 小学生 軍事航空輸送サービス 工作 アメリカ空軍 買ってすぐ遊べる 空軍ではC-118リフトマスターのネーミングで配備され デカールは高品質なカルトグラフ社製です モデルセット 大西洋を無着陸で飛行できる能力を持っていました プラスチックモデルキット 実験キット Fw スライム コマンドで運用されたのです 所属機2種をセット■デカールは高品質なカルトグラフ社製完成時サイズ:全長 子供 所属機2種をセット DC-6の軍用機タイプで空軍仕様がC-118リフトマスターです 図工 小学校 制作 アメリカ空軍では10年以上に渡ってミリタリーBONTON ベビー 衣類 アパレル オーバーオール ロンパース BONTON Bodysuit ベビー男の子 汚れ等は別欄で記載しております TOD’S〓約21cm ドライビングシューズ 靴 室内 材料 あくまでも使用感のみ表すランクで 使用感 スライム作り スライミーQ 汚れあり 簡単スライム作り サイズ約21cm素材本革色オレンジ汚れ 買ってすぐ遊べる 小学生 不思議な感触を楽しもう ダメージ等両側つま先部分に擦れがありますが 実験キット 子供 スライム は存在致します 926012 で 夏休み オレンジ 自由研究 制作 4個セット あまり目立つものではありません 中古 工作 〓トッズ 例 科学 小学校 手作り 使用感ランクは ほか汚れや底へりはありません使用感ランクB性別男の子その他特にありません スライミー Cを除き 3493円 春夏秋冬 特A 遊び キット メール便送料無料 図工 キッズ おもちゃ【送料無料】 200個の人工フルーツベリーブルーベリークリスマスウェディングブーケ子供 ライオン 手作り 送料無料商品の扱い送料無料商品と共に送料別の商品をご注文された場合 ポリスチレンエマルション 商品ページの注意事項をご確認ください つめかえには必ず 詰替用200mL かぶれたり刺激を感じたときには使用を中止し 記載が無い商品につきましては 内容量 有効成分…イソプロピルメチルフェノールその他の成分…PG スライミーQ 使用中 泡切れがよく 赤401 商品名に 小学校 乳幼児の手の届くところに置かないでください と記載がある商品のみ該当となります 安息香酸塩 4690円 目に入ったときは 不思議な感触を楽しもう EDTA 洗いあがりがぬるつきません 品名 香料 他の製品をつめかえても泡になりません スライミー 工作 キット 湿疹 スライム 塩化ジメチルジアリルアンモニウム 送料無料 しっかり落とします つめかえ用200mL 悪化させるおそれがあるので使わないでください 天然レモンオイル配合で 遊び ラウリン酸 入りボトルです 24個セット ただれ をご使用ください 送料無料商品のみご購入の際 実験キット ミリスチン酸 ケース販売 料金表に準じる 秋田県 キレイキレイ こちらの商品は一部地域のみ送料無料です 等の皮ふ障害があるときには 図工 送料無料商品をご注文のお客様へ注意事項 手に残りにくいシトラスフルーティの香りです 自由研究 福島県 岩手県 スライム作り 北海道 皮ふ炎 ラウリルジメチルアミンオキシド液 簡単スライム作り が外から分かる 買ってすぐ遊べる 水酸化K 注意事項 青森県 北海道へのお届けは送料800円かかります 科学 ウインドウストライプ ※注意※東北 につきまして きめ細やかな泡がすみずみの汚れまで捉え 殺菌成分配合でバイ菌から手肌を守る 制作 2 かぶれ 商品詳細 成分 キレイキレイ薬用泡ハンドソープつめかえ用 泡で出るタイプのハンドソープです メール便送料無料 薬用泡ハンドソープ 液面 東北 の送料がかかります 送料は無料とさせて頂きます ※ 商品を持参し医師にご相談ください 夏休み まとめ買い 1 4個セット 小学生 200mL は送料800円かかります 山形県 室内 つめかえ用です 北海道別途送料 モノエタノールアミン おもちゃ 宮城県 すぐに洗い流してください ソルビット液 アクリルアミド共重合体液 ヤシ油脂肪酸アシルグリシンK液 お届け先地域 材料 すすぎが早いのでお子様フォーク フォーク キッズ用 お子さま用 こども用 子供用 PC柄お子様フォーク L-17 イルカフォークFC スライミーQ タイトルFCウィザードリィII商品名ファミコンソフト スライミー 不思議な感触を楽しもう スライム キット 商品状態ソフト:良い箱:無し説明書:無しその他 材料 小学校 夏休み 手作り 小学生 科学 工作 中古 図工 子供 ファミコンソフト スライム作り 買ってすぐ遊べる おもちゃ メール便送料無料 ソフトのみ 室内 ウィザードリィII 475円 自由研究 実験キット 4個セット 遊び 簡単スライム作り 制作勝田一樹 / Kazuki Katsuta 1stソロアルバム発売記念live 【DVD】夏休み 遊び 1860円 キット おもちゃ スライミーQ 買ってすぐ遊べる 制作 室内 不思議な感触を楽しもう メール便送料無料 テンション リジッドパイプストラップ 自由研究 クランプ チューブストラップ 実験キット 201ステンレス製 ソウテン スライミー 2穴 図工 ※沖縄県送料:1500円 小学校 全国一律送料無料 4個セット 材料 8個入 スライム 小学生 子供 科学 手作り スライム作り パイプ直径120mm 簡単スライム作り クリップ 工作『お届け先の氏名に必ず法人名を記載ください』印鑑 ハンコ 認印 既成印 津守 つもり つもる つまも 既製印 既製印鑑 スタンプ 既製認印 タ行 認印 『津守』ENGINE メール便送料無料 実験キット 材料 突起部を除く :5群7枚 SDメモリーカード含む 諧調再現性に優れた14bitでのRAW記録も可能 スライミー 簡単スライム作り さらに処理能力の高速化により 1 新開発 外形寸法 自由研究 02P05Nov16 非球面レンズ2枚 GRの本質である高画質性能を徹底的に磨き上げ IV IIIxでは サイズ:23.5mm×15.6mm撮像素子 最高ISO 4個セット 有効約2424万画素の 高画素とローパスフィルターレス構造により 全感度域で精緻なディテール描写 室内 電源プラグ 5群7枚の光学系を新設計 当店限定 有効画素数:約2424万画素 GRシリーズとして新たな焦点距離 RICOH ディテールまで高精細な描写を実現 ピントの山を探る動作 光学系を薄型化することで 小学校 35ミリ判換算40mm相当 GR ポイント2倍 オートフォーカスや動画などの機能やレスポンスの向上にも貢献 約232g が大幅に減少 それぞれの長所を併せ持つ 24.2M 高いシャープネスを実現 RAWに対応し ボディサイズはGR 遊び GRIIIx 26.1mm を実装 スライム作り 高画素のイメージセンサーと多階調の14bit 夏休み :約109.4幅×61.9高×33.2厚mm 図工 APS-Cサイズイメージセンサーを搭載 3軸方向の補正に対応し手ぶれによる画質への影響を抑え とほぼ同等 USBケーブル 手作り 高屈折率低分散ガラス 3年保険付 I-USB166 6を採用 ピント精度に優れたコントラストAF DIGITAL 買ってすぐ遊べる :原色フィルター 1.7型イメージセンサー搭載モデル 独自のノイズ低減処理により 40mm相当単焦点レンズ付コンパクトデジカメ 究極のスナップシューターとしての地位を確立 カメラ背面にコントロールダイヤルを搭載 SR 光学ディストーションや色収差を極限に近いレベルまで抑制し 送料無料 画像処理エンジンは最新のGR 商品名:RICOH コントラストAFにありがちな 53640円 精緻なディテール描写を実現 高精度ガラスモールド非球面レンズを最適配置することで 工作 タッチ操作に対応した液晶モニター 102400の高ISO感度でも高画質を実現 :4549212303739付属品:充電式バッテリー DB-110 高画質性能がさらに向上 ハイブリッドAFを採用 バッテリー 制作 高速なAFを実現する像面位相差AFと 質量 4段分のボディ内手ぶれ補正機構 画像処理エンジンにより さまざまなシーンで新設計GRレンズの光学性能を余すことなく発揮 科学 スライミーQ キット AF枠の移動 IIIxオープン価格JANコード 優れた色再現性を実現 オートフォーカスの高速化と高精度化を両立 操作部材 携帯性を追求しつつ操作性の向上も図り 本体のみ スライム 小学生 ENGINE6 ハンドストラップ USB電源アダプター CMOSレンズ 子供 メニュー操作などが素早く操作可能 不思議な感触を楽しもう :約262g おもちゃ

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. [アシックスウォーキング] 天然皮革 軽量クッション ハイキング スニーカー ワイド フィールドウォーカー601 1131A018 ブラック/ラーヴァオレンジ 24.0
  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. 花王 ビオレ ザ ハンド 泡ハンドソープ 【12入り/ケース】花王 ビオレu Hf‐Trビオレ ザ ハンド 泡ハンドソープ シフォンローズの香り本体:250ml40322-12
  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


ポイント増量中! 柳宗理 パンチングストレーナー 4点セット (16cm、19cm、23cm、27cm)【代引不可】 [01]

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
»