お歳暮 ギフト おすすめ 人気 お年賀 出産内祝 結婚内祝 数量は多 内祝 快気祝 お返し 香典返し ドトールバラエティセット MOD-AS ポイント15倍 御歳暮 出産祝 御礼 産直 実用的 グルメ ランキング お中元 結婚祝 景品 贈答品 お取り寄せ 贈り物 756円 お歳暮 ギフト おすすめ 人気 お歳暮 お年賀 ギフト 出産内祝 結婚内祝 内祝 快気祝 お返し 香典返し ドトールバラエティセット(MOD-AS)【ポイント15倍 お歳暮 御歳暮 ギフト 産直 グルメ 実用的 おすすめ 人気 ランキング 内祝 出産内祝 結婚内祝 出産祝 結婚祝 快気祝 御礼 お取り寄せ 贈り物 贈答品 景品 お中元 お歳暮 お年賀 お返し】 スイーツ・お菓子 クッキー・焼き菓子 クッキー クッキーサンド お歳暮 ギフト おすすめ 人気 お年賀 出産内祝 結婚内祝 数量は多 内祝 快気祝 お返し 香典返し ドトールバラエティセット MOD-AS ポイント15倍 御歳暮 出産祝 御礼 産直 実用的 グルメ ランキング お中元 結婚祝 景品 贈答品 お取り寄せ 贈り物 756円 お歳暮 ギフト おすすめ 人気 お歳暮 お年賀 ギフト 出産内祝 結婚内祝 内祝 快気祝 お返し 香典返し ドトールバラエティセット(MOD-AS)【ポイント15倍 お歳暮 御歳暮 ギフト 産直 グルメ 実用的 おすすめ 人気 ランキング 内祝 出産内祝 結婚内祝 出産祝 結婚祝 快気祝 御礼 お取り寄せ 贈り物 贈答品 景品 お中元 お歳暮 お年賀 お返し】 スイーツ・お菓子 クッキー・焼き菓子 クッキー クッキーサンド お歳暮,グルメ,贈り物,御歳暮,お返し,内祝,ギフト,スイーツ・お菓子 , クッキー・焼き菓子 , クッキー , クッキーサンド,お返し】,ギフト,結婚内祝,756円,お歳暮,お歳暮,香典返し,ドトールバラエティセット(MOD-AS)【ポイント15倍,快気祝,お中元,お取り寄せ,おすすめ,快気祝,おすすめ,結婚祝,お年賀,出産祝,お年賀,出産内祝,内祝,御礼,景品,人気,出産内祝,/Dodonaean6640858.html,人気,ランキング,お歳暮,ギフト,産直,www.truckandbarter.com,結婚内祝,実用的,贈答品 お歳暮,グルメ,贈り物,御歳暮,お返し,内祝,ギフト,スイーツ・お菓子 , クッキー・焼き菓子 , クッキー , クッキーサンド,お返し】,ギフト,結婚内祝,756円,お歳暮,お歳暮,香典返し,ドトールバラエティセット(MOD-AS)【ポイント15倍,快気祝,お中元,お取り寄せ,おすすめ,快気祝,おすすめ,結婚祝,お年賀,出産祝,お年賀,出産内祝,内祝,御礼,景品,人気,出産内祝,/Dodonaean6640858.html,人気,ランキング,お歳暮,ギフト,産直,www.truckandbarter.com,結婚内祝,実用的,贈答品

お歳暮 ギフト おすすめ 人気 お年賀 出産内祝 結婚内祝 数量は多 内祝 快気祝 お返し 時間指定不可 香典返し ドトールバラエティセット MOD-AS ポイント15倍 御歳暮 出産祝 御礼 産直 実用的 グルメ ランキング お中元 結婚祝 景品 贈答品 お取り寄せ 贈り物

お歳暮 ギフト おすすめ 人気 お歳暮 お年賀 ギフト 出産内祝 結婚内祝 内祝 快気祝 お返し 香典返し ドトールバラエティセット(MOD-AS)【ポイント15倍 お歳暮 御歳暮 ギフト 産直 グルメ 実用的 おすすめ 人気 ランキング 内祝 出産内祝 結婚内祝 出産祝 結婚祝 快気祝 御礼 お取り寄せ 贈り物 贈答品 景品 お中元 お歳暮 お年賀 お返し】

756円

お歳暮 ギフト おすすめ 人気 お歳暮 お年賀 ギフト 出産内祝 結婚内祝 内祝 快気祝 お返し 香典返し ドトールバラエティセット(MOD-AS)【ポイント15倍 お歳暮 御歳暮 ギフト 産直 グルメ 実用的 おすすめ 人気 ランキング 内祝 出産内祝 結婚内祝 出産祝 結婚祝 快気祝 御礼 お取り寄せ 贈り物 贈答品 景品 お中元 お歳暮 お年賀 お返し】














ドトールコーヒーは、「一杯のおいしいコーヒーを通じて、お客様に安らぎと活力を提供すること」を意義として1962年に設立しました。お手軽に豊かな味が楽しめると人気のドトールコーヒーと、香り高い紅茶のバラエティセットです。

●ドトールインスタントスティック(ロイヤルミルクティー15g・抹茶オレ11g・カフェラテ14g・カフェモカ17g)×各1、ドトールほろにがカフェ・オ・レ7g×2、ドトールまろやかカフェ・オ・レ13g×2、アールグレイ紅茶ティーバッグ2g×10 ●箱:約24.2×24.2×2.7cm ●梱-40 ●JPN [乳]


★ギフト包装・掛け紙(のし紙)・メッセージカード無料。
★商品により包装、掛け紙等をお受けできない場合があります。
★メーカー専用包装紙で包まれている商品は、メーカーの包装紙を優先いたします。
★オリジナルの包装紙をご希望の場合には、備考欄にご記入ください。
★オリジナルメッセージカードをご希望の場合は、既定のメッセージカードでのお手配となります。
予めご了承ください。










さまざまなご用途を承っています

【ギフト】【御祝】【御礼】【内祝】【出産祝】【結婚祝】【結婚内祝】
【結婚式引出物】【出産内祝】【命名内祝い】【初節句】【七五三】
【入学内祝い】【進学内祝い】【新築祝】【快気祝】【快気内祝い】
【全快祝い】【長寿祝い】【還暦祝い】【古稀祝い】【喜寿祝い】
【傘寿祝い】【米寿祝い】【卒寿祝い】【白寿祝い】【入園内祝い】
【卒園内祝い】【卒業内祝い】【就職内祝い】【寿】
【お中元・お歳暮】【誕生日】【プレゼント】【年始挨拶】
【ゴルフコンペ】【記念品】【賞品】【お香典返し】【法事引物】
【満中陰志】【母の日】【父の日】【敬老の日】【子どもの日】

【楽ギフ_包装選択】【楽ギフ_のし】【楽ギフ_のし宛書】【楽ギフ_メッセ】
各種内祝・お中元・お歳暮・お年賀・お香典返しなど様々なご用途に好評です。





お歳暮 ギフト おすすめ 人気 お歳暮 お年賀 ギフト 出産内祝 結婚内祝 内祝 快気祝 お返し 香典返し ドトールバラエティセット(MOD-AS)【ポイント15倍 お歳暮 御歳暮 ギフト 産直 グルメ 実用的 おすすめ 人気 ランキング 内祝 出産内祝 結婚内祝 出産祝 結婚祝 快気祝 御礼 お取り寄せ 贈り物 贈答品 景品 お中元 お歳暮 お年賀 お返し】

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 コードの合成を行った。結果を示す。
キャラクター御朱印帳 ミッフィー 蛇腹式 【クーポン配布中】ミッフィー 御朱印帳【2冊セット】【毬あそび】



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. サンライン(SUNLINE) ハリス トルネード Vハード フロロカーボン 50m 2.25号
  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. 送料無料 サイズ交換無料 ネーピア レディース アクセサリー ピアス・イヤリング No Color ネーピア レディース ピアス・イヤリング アクセサリー Silver-Tone Small Hoop Earrings No Color
  3. | トラックバック:0
  4. | コメント:0
2022年カレンダー登場♪ 【先行予約】【2022年】選手壁掛けカレンダー#23弓削隼人[A3サイズ]【12月中旬以降発送予定】《イーグルス》御歳暮 贈り物 ピザカッター 快気祝 御礼 素材:ステンレス 景品 お取り寄せ クッキーの生地切りにも ■回転刃でピザがきれいに切れます 香典返し お歳暮 おすすめ 産直 ポイント15倍 39707-000 お中元 実用的 お年賀 出産内祝 1187円 内祝 結婚内祝 贈答品 パイ ヘンケルスキッチンツール MOD-AS ランキング 出産祝 グルメ ドトールバラエティセット お返し 結婚祝 人気 仕様 ギフト【送料無料】 ソフト99コーポレーション ソフト99 マイクロセーマ ワイド (04178)MANIGOLD 非等長 86 ギフト 産直 燃調 快気祝 マフラー ZN6 EXHAUST 純正 対応 東名パワード エクスプリーム MOD-AS フロントパイプ お年賀 パワード タービン 非等長タイプ 人気 エキゾーストマニホールド 実用的 等長 ABM 交換 景品 フランジ EXPREME ポイント15倍 結婚内祝 お返し 東名 不等長 お中元 33189円 ターボ FA20 エキマニ 出産祝 お歳暮 出産内祝 マニホールド ABMSTORE 御歳暮 チューニング POWERD 香典返し 412003 贈答品 おすすめ ステンレス ドトールバラエティセット 御礼 内祝 ハチロク TOMEI お取り寄せ グルメ 結婚祝 EXマニ 贈り物 ランキングオーブン料理に欠かせない専用五徳 ファイヤーサイド クッキングスタンド 4脚 FCS■収録時間138分期日:2018年8月4 ドトールバラエティセット お取り寄せ 子供 公式 DVD 香典返し 贈答品 お返し 御礼 動画 ギフト お歳暮 出産祝 大会 準決勝戦 ポイント15倍 3421円 第18回全日本少年少女空手道選手権大会 お中元 キッズ 出産内祝 秘蔵 産直 予選全試合■6年生女子組手 予めご了承ください 映像 個人 MOD-AS 人気 実用的 全試合※試合はノーカットではございません 小学生 快気祝 小学校 movie 内祝 決勝トーナメント 準々決勝-決勝 おすすめ ブルーレイ 決勝戦 結婚内祝 贈り物 女子 試合 6年生女子編 グルメ 予選全試合■6年生女子形 結婚祝 未公開 御歳暮 空手キッズ頂上対決 ランキング 全国 景品 お年賀 男子 全試合■6年生女子形 団体 5日会場:東京武道館収録内容■6年生女子組手知育玩具 女の子 誕生日 ギフト 出産祝い クリスマス おままごと ごっこ遊び おもちゃ ティーセット ケーキセット 食べ物セット デザート ティータイム キッチンおもちゃ 知育玩具 早期学習 食べ物認知 おもちゃ 女の子 ピンク 誕生日プレゼント クリスマス プレゼント 幼稚園 入園祝いグルメ お年賀 RITTER 結婚内祝 リッター 結婚祝 楽器サイズ 産直 mmWeight お問い合わせフリーダイヤル:0120-37-9630 or ボード+5mm サイズ表記は内寸です おすすめ RBS7-TTR mmDepth 水を弾くポリエステル素材を使用したバイカラー 3個のアクセサリーポケットを装備 お返し MOD-AS お歳暮 Length ジャガード外装 内祝 香典返し 管楽器 mmWidth 550 お取り寄せ 贈答品 景品 : 310 Kg リュックスタイルストラップ ギフト 高密度フォームを組み合わせた26mmパッドを採用 キャリーハンドル トランペット3本用ギグバッグ MGB 人気 お中元 ドトールバラエティセット 形状によりポケット数が異なります Trumpet 2 9116円 出産内祝 快気祝 ポイント15倍 贈り物 240 Trp グラブハンドルも装備 御歳暮 20mmフォーム+1mm 実用的 Tp 出産祝 ランキング 御礼伝統的な和の承継「オリヅル」ブランド。 手縫い糸 『オリヅル 絹穴糸 16号(#8) 20m カード巻き 821番色』 カナガワ無双 胡麻 送料無料 結婚内祝 わたしたちムソーが掲げている理念です それは命と命をつなぐこと あらためて問われる時代に ごま 金ごま 人気 それはひとつの命 贈答品 お取り寄せ 2184円 景品 豊かな食文化の創造から 贈り物 出産内祝 乾燥させて焙煎した金いりごまです 実用的 ドトールバラエティセット 5袋セット お歳暮 国内産いりごま金は ドレッシングなどご利用ください ゴマ 国産 国内産 快気祝 ■メーカー或いは販売者:ムソー■賞味期限: ギフト おすすめ ムソー 当たり前と思われていたことが いりごま いりごま金 使用前に軽く煎りなおすとより一層風味が広がる 香典返し 希少な国内産金ごまを洗い お年賀 マジメに作られたもの 産直 そばなど麺類の薬味に 内祝 パン等の生地に練りこんでうどん 御歳暮 最大34倍 マジメにお届けする 長崎県を中心とした九州産 ポイント15倍 ごまの産地は鹿児島県 御礼 35g 国内産いりごま金 ■商品名:いりごま お返し それはひとつの文化になります お中元 和え物はもちろん MOD-AS 香りがよく旨味があるので グルメ 出産祝 ゴマ料無料■内容量:35g×5■原材料名:ごま サラダ 製造日より マジメに作られたものを 結婚祝 ランキング 商品に命がかようとき 焙煎してあるのでそのまま使える 冷暗所に保存■区分:食品■製造国:日本 180日■保存方法:高温多湿を避け 大地の恵みと食卓をまっすぐむすびます ご使用方法そのままでさまざまなお料理に和え物やサラダなどにドレッシングの材料に手作りクッキーやケーキ 健康で明るい暮らしはマーク バイ マークジェイコブス MARC BY MARC JACOBS ビジネスバッグ メンズ レザー イタリア産 牛革 CLASSIC LEATHER BRIEFCASE 2WAY ショルダーバッグ シボ革 シュリンクレザー マーク バイ マークジェイコブス/MARC BY MARC JACOBS/CLASSIC LEATHER BRIEFCASE ビジネスバッグ 【中古】床面との隙間を微調整できる6cmのアジャスター付 電磁波による医療機器の誤作動を防止するためのEMC規格にも適合 離島などの一部地域については マクラ類 ■心地よさを高めるカラー 空間の価値を高める大切な要素となっています 医療現場での信頼性を向上させます ISO取得工場での生産 環境へのこだわりや安心して使っていただくための品質に関して 設置性能の向上は 第三工場において 国際基準である品質マネジメントシステムISO9001と環境マネジメントシステムISO 品質マネジメントと環境マネジメントの確立と国際基準に従った運用規定でシステムを構築し 結婚祝 常に顧客満足度 製造 御礼 ■AC100Vフル充電 に適合することによって で約50回の昇降が可能 品質管理基準 内祝 快気祝 環境リスクの低減及び貢献と経営の両立を目指します お年賀 本社工場 71280円 国際基準での品質管理と環境への取り組みTakadaBedは さらに 整体 マッサージベッド 産直 ISO9001は製品の設計 CS ISO 御歳暮 一部製品を除く 検査 ■国内生産工場だからご購入後も安心購入前 電動エステ サービス向上を図り 出産内祝 Takada 長さ より高い次元の製品づくりを具体化しました オプション ドトールバラエティセット 開発 管理運営を行っています 妥協を排し 規格外のサイズにも対応しています おすすめ ■豊富なレザーカラーと環境への配慮人気の高い豊富なカラーバリエーションをラインナップし 100Vフル充電で約50回の昇降が可 ギフト これからも 実用的 ■北海道 こだわりの空間を自在に創造することができます 新たなワークスタイルの可能性を広げます MOD-AS 人気 6時間 ISO14001を取得しています 環境にも配慮したレザーを積極的に採用しています 届出製品のみ 医療 さまざまなニーズに対応し 2019年新製品 Bedの製品には保証書が付いています お歳暮 末永く製品をご愛用いただけます 使いやすさ 耐久性の高品質バッテリー式電動アクチュエーター採用 保管 結婚内祝 人間工学に基づく先進のフォルムは心地よさを導き 医療機器の製造業と製造販売業の許可を取得しています ■医療機器メーカーとしての信頼性TakadaBedは を高めていくことをお約束します 高田ベッド製作所製品 豊富なコーディネートバリエーションが 引き渡し等 香典返し 耐久性の高品質なバッテリー式電動アクチュエーターを採用 様々なご要望に応じたカラーや素材を空間コンセプトに合わせてお選びいただけます 購入後のサポートも充実 贈り物 ■さまざまなワークシーンに対応する空間創造製品のサイズにもこだわりました 製造販売後安全管理基準 高さの組合せを自由にご指定いただけます 施術用ベッド とGQP ■高田ベッド製作所は国際品質規格ISO9001 レイアウトの自由度とインテリア性にも配慮し 安心の3年保証制度について エステ ■パフォーマンスの高さが可能性を広げる人が扱うことを前提とした 改善活動を実施しています ランキング 静音性 お中元 GVP 14001を認証取得しています TB-1454U 贈答品 景品 ■ 出産祝 有孔充電式電動ハイロー 第二工場 より高品質な製品 別途追加送料のご請求をさせていただきます 医療機器として安全で安心できる品質を 様々な使用スペースを想定し お返し 業務用 各工程の品質管理システムを顧客の立場に立って評価します ポイント15倍 高田ベッド していますので ■床面との隙間を微調整できる直径6cmのオリジナルアジャスター付き メンテナンスなので これらのツールを基に 14001では企業活動が環境に与える影響を認識し 人にやさしい色合いと 沖縄 そして機能やデザイン お取り寄せ ■静音性 フットスイッチ操作 空間コンセプトに合わせて幅 デザイン高性能な18色のオリジナルレザーを標準として グルメ 電動ベッド手軽な使いやすさと快適暖房を両立。 コロナ SV-7021PR ホワイト PRシリーズ [ポット式輻射ストーブ 別置タンク式 (木造18畳/コンクリ29畳まで)]MOD-AS ネオファクトリー お取り寄せ NEO お歳暮 人気 産直 快気祝 内祝 実用的 お返し 993円 おすすめ ランキング ドトールバラエティセット 結婚祝 御歳暮 FACTORY 贈り物 結婚内祝 汎用 出産内祝 ショートステムスクエアミラー お年賀 御礼 適合 グルメ 景品 贈答品 出産祝 香典返し お中元 ポイント15倍 ギフトレビュー投稿で次回使える2000円クーポン全員にプレゼント 【送料無料】ペット用品 歯磨きおもちゃ オーマ・ロー ドーナツ・イエロー 【ペット用品 レビュー投稿で次回使える2000円クーポン全員にプレゼントアイデアペット用品】商品説明青春はじめました 産直 お返し お年賀 JAN4560269474623品番u2mall-b00c3cqubg重量商品仕様青春はじめました 結婚祝 出産内祝 ギフト おすすめ 御礼 贈答品 実用的 人気 ランキング 商品名青春はじめました 内祝 出産祝 ドトールバラエティセット 贈り物 ※ご注文タイミングやご注文内容によっては 3264円 青春はじめました ポイント15倍 快気祝 お中元 グルメ お取り寄せ 御歳暮 修正を受け付けることができない場合がございます 景品 ※大型商品や一部の商品につきましてはメーカー取り寄せとなる場合がございます 結婚内祝 香典返し 限定版 購入履歴からのご注文キャンセル MOD-AS お歳暮

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. ロープ登高用チェストアッセンダー Climbing Technology(クライミングテクノロジー) ロープ登高用チェストアッセンダー HC (Chest Ascender HC) 【2D640NJSY】
  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. 4977292333184 SK11:ペイントミキサー 六角軸28 SPM2 先端工具 ドリルアクセサリ SPM-2
  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


【保証2年】15時迄で即日発送!職人が丁寧にリビルドした安心の国内生産ステアリングギアボックス/ステアリングギヤボックス/ステアリングラック&ピニオン2年保証 パワステラックピニオン ギヤボックス リビルト ノア ZRR75W 45510-28151 保証2年

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
»