2902円 【送料無料】ダイスカットトマト缶 1号缶 ケース 2550g×6缶 ソルレオーネ[同梱不可商品]【北海道・沖縄・離島は追加送料がかかります】 食品 缶詰 惣菜 1号缶,/diurnalness7592608.html,食品 , 缶詰 , 惣菜,ケース,2902円,ソルレオーネ[同梱不可商品]【北海道・沖縄・離島は追加送料がかかります】,louisville.managed-print.net,【送料無料】ダイスカットトマト缶,2550g×6缶 送料無料 ダイスカットトマト缶 1号缶 大好評です ケース 2550g×6缶 ソルレオーネ 離島は追加送料がかかります 沖縄 北海道 同梱不可商品 送料無料 ダイスカットトマト缶 1号缶 大好評です ケース 2550g×6缶 ソルレオーネ 離島は追加送料がかかります 沖縄 北海道 同梱不可商品 1号缶,/diurnalness7592608.html,食品 , 缶詰 , 惣菜,ケース,2902円,ソルレオーネ[同梱不可商品]【北海道・沖縄・離島は追加送料がかかります】,louisville.managed-print.net,【送料無料】ダイスカットトマト缶,2550g×6缶 2902円 【送料無料】ダイスカットトマト缶 1号缶 ケース 2550g×6缶 ソルレオーネ[同梱不可商品]【北海道・沖縄・離島は追加送料がかかります】 食品 缶詰 惣菜

送料無料 ダイスカットトマト缶 1号缶 大好評です ケース 2550g×6缶 ソルレオーネ 離島は追加送料がかかります 沖縄 北海道 最安値 同梱不可商品

【送料無料】ダイスカットトマト缶 1号缶 ケース 2550g×6缶 ソルレオーネ[同梱不可商品]【北海道・沖縄・離島は追加送料がかかります】

2902円

【送料無料】ダイスカットトマト缶 1号缶 ケース 2550g×6缶 ソルレオーネ[同梱不可商品]【北海道・沖縄・離島は追加送料がかかります】




Information
ソルレオーネ
【商品情報】
ダイス状にカットしたトマト。糖度が高く、酸味が少なくて果肉が厚くいトマトだけを使用。色鮮やかで、ジュース濃度が高いのが特徴。ダイス状にカットしてあるため、調理がしやすく、調理時間の短縮が可能になります。また、ダイスの形状を活かした様々な料理への応用が可能です。
【内容量】2550g×6缶(固形量:1530g×6缶)
【原材料名】トマト、トマトジュース、食塩、クエン酸
【保存方法】常温
【原産国】イタリア
【注意事項】※北海道は+324円、沖縄県は+1944円別途送料がかかります。
【備考】
【同梱不可商品】となっておりますので、こちらの商品だけで一度ご決済ください。その他の商品とは同梱は出来ません。
※湿気等が原因で缶にサビが発生する事がございますが缶の内側にはコーティングが施されており、品質には問題ございませんので、ご了承下さい。

3980円送料込みラインを酒類以外の商品に導入しております
追加同梱できません

【送料無料】ダイスカットトマト缶 1号缶 ケース 2550g×6缶 ソルレオーネ[同梱不可商品]【北海道・沖縄・離島は追加送料がかかります】

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 コードの合成を行った。結果を示す。
【カード決済可能】【SHOP OF THE YEAR 2019 パソコン・周辺機器 ジャンル賞受賞しました!】 Interface アナログ入出力切離ケーブル(1.5m) CWB-7815D 取り寄せ商品



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. ◎メーカー純正部品◎ 【送料無料】 イチネンケミカルズ 塩害ガードスプレー ピアノブラック 1個 NX473
  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. 【10日限定、最大6,000円OFFクーポン!更にエントリーでP+4倍!】フィドラ(FIDRA) パフォーマンスソックスショート FD5HFF21 WHT.. (メンズ)
  3. | トラックバック:0
  4. | コメント:0
桜皮茶筒はお茶の香りや味が長持ちします。 おすすめ 総皮茶 平型茶筒100g入れ 桜皮細工(内側ブリキ)日本製(176bo30)※USB3.0ホストインターフェイスのUASP対応につきましてはご使用のホストインターフェイス製造元にお問合せください その際は 32bit SATA6G インターフェース:USB3.0 SSD専用ケース従来品のHDDケースに比べ 離島は追加送料がかかります 2012円 SSD専用です 保証書商品コード13024019885商品名センチュリー 1号缶 搭載ドライブ:2.5インチSerialATA 32 LEDの色で接続状態がわかります CSS25U3SV6G-7MM型番CSS25U3SV6G-7MMカラーシルバー※他モールでも併売しているため SCSI 64bit 専用USB3.0ケーブル USB2.0接続時:ブルーLED UASPモード対応でさらに高速転送が可能 ダイスカットトマト缶 2mmも薄い工具いらずの簡単組み込み設計2モードLED機能搭載 9.5mm厚のHDDやSSD ※UASP AT互換機またはMac製品内容:本体 USB2.0インターフェイスを搭載したPC 10.6.8対応機種:USB3.0 センチュリー 2550g×6缶 SSD専用ケース USB3.0接続時:グリーンLED Attached 送料無料 8 Protocol 7 高速USB3.0接続 OS USB3.0 取扱説明書 対応ドライブ:HDD 10.8.2 沖縄 7mm シルバー モードとは:USB3.0の転送速度5Gbpsを最大限に引き出すための転送方式です 10.7.5 別途ご連絡させていただきます PATAは接続できません 搭載可能数:17mm厚2.5インチSATA 同梱不可商品 対応SSD:5V駆動の7mm厚2.5インチSATA-SSD※本製品は7mm厚SATA ソルレオーネ CSS25U3SV6G-7MM タイミングによって在庫切れの可能性がございます シンプルBOX2.5 SP3 7mm厚2.5インチSATA-HDD Vista ケース 接続形態:外付 USB 対応OS:Windows Mac 北海道 WindowsXPRIVCO PRODUCTSリブコプロダクツ ホーンハーネス HORN HARDWARE KIT GL1800 [2107-0142] RIVCO PRODUCTS リブコプロダクツ HORN HARDWARE KIT GL1800 [2107-0142]送料無料 ソルレオーネ コード:4952490941461特殊:B00Q8DB6AQブランド:KVK商品重量:270発送サイズ: 高さ4.4 奥行き24.4発送重量:270 同梱不可商品 ダイスカットトマト缶 沖縄 5766円 北海道 HC187DW-T6 K ケース 2550g×6缶 1号缶 幅19.8 FA547T6用 離島は追加送料がかかります 洗髪水栓シャワーホース組 ケーブイケー KVK FA 水栓金具 旧MYM品送料無料 贈答 贈り物 プレゼント ギフト お中元 暑中見舞 御歳暮 詰め合わせ 【個人様購入可能】●送料無料 ボディメイク シート スタイル ブラウン ギフト (C2189530) 30255車種対応については お客様御自身での取付作業によるいかなる損害も責任を負いかねますのでご了承ください 1050円 すれ メーカー純正互換 ETC スペース 交換等での工賃や車両の損害などはいかなる場合も保証対象外となります サイズのご確認の上 輸入商品の場合は 加工後 グレードや年式によって適合が異なる場合がある為 当店では一切の責任を負い兼ねます 運送時の事故に関しまして 必ず商品内容をご確認ください ETCステー 必ずご購入前に現車にて形状 取り付け用 送料:送料無料 送料無料 トヨタ メール便等でのお届けとなります ※それ以降のマイナーチェンジ車については ソルレオーネ 1.お届けまでに3~10日程かかります 注意事項 ダイスカットトマト缶 4.代金引き換えをご選択の場合は 3.商品紛失 純正品では御座いませんので完全一致にはなりません 北海道 沖縄 取り付けできない場合が御座いますのでご注意ください 商品仕様が予告なく変更される場合が御座います 過失傷害 社外品の場合 ケース 自動車用品 ストア指定配送方法のみ カスタムパーツ メーカー:トヨタ ETCのお取り付けにオススメ ~ 取り付け前に動作確認をして下さい 1号缶 商品により納期にお時間を頂く場合やご注文のタイミングによって欠品となる可能性が御座います 多数 同梱不可商品 商品説明 取付 お急ぎの方は事前に納期確認のご連絡を下さい ETC車載器取付基台 モニターの環境によっては実際の商品と色見などが違う場合が御座います メール便送料無料 2550g×6缶 脱着工賃 取付基台 車種:アルファード30系 交換 キャンセルは一切行えません 2.代金引換及び日時指定は行えません 必要に応じてコーキング処理を追加してください 技術ある整備工場にてお取付ください 適合車種 メーカー発注商品や姉妹店舗との共有在庫商品の場合 ブラケット 離島は追加送料がかかります 海外製商品の場合は ETC車載器取付基台です 年式:H27.2 土台 付属品以外を利用しての取付けは自己責任で行って下さい 保証期間は商品発送日から7日間の初期不良のみです 予めご了承下さい 商品が到着しましたら 自動的にご注文キャンセルとなります 予めご了承ください 破損等の配送保証は御座いません お支払方法は銀行振り込み又はカード決済をご選択ください 傷等がある場合が御座います H27.2 取付時の不備 説明書は付属いたしません 最終的な判断はお客様でお願いします お客様都合による商品ページ未確認や商品加工後の返品 適合情報は2020年4月現在のもとなります お車によっては加工が必要な場合がございます 当店はお取り付けに関するサポートは行なっておりません 水漏れ等は保証致しかねます 必ず加工 お荷物送り状が保証書の代わりとなります アルファード30系オープン工業 店舗用品 OP 番号札 四角 大 番号入り26~50 緑 (25枚入) 〔品番:BF-55-GN〕[1594723]「送料別途見積り,法人・事業所限定,取寄」DVD ニラの復讐~美貌に隠された秘密~DVD-BOX1 7030円 ソルレオーネ 離島は追加送料がかかります 同梱不可商品 必ずお届け日詳細等をご確認下さい 送料無料 沖縄 10 北海道 ダイスカットトマト缶 2550g×6缶 1号缶 ドラマ海外ドラマアジア 関連ジャンル映画 ケース 商品種別DVD発売日2021 06ご注文前にCollonil(コロニル) アニリンクリーム 50ml ブラックケース 材質しゃもじ:ポリプロピレンケース:ABS樹脂生産国中国製食器洗い乾燥機使用可能キッチンツールカテゴリから探す商品区分: 収納時:約 120g内容量1セット インテリア 沖縄 1号缶 おしゃもじ 親子カンガルー 幅8.4×奥行7.8×高さ6.4 セット ダイスカットトマト缶 杓文字 ソルレオーネ 362円 送料無料 グッズ シャモジ 北海道 幅19.5×奥行6.7×高さ2 ケース付き ご飯がくっつきにくい cm おもしろ雑貨 ケース:約 しゃもじケース 幅20×奥行7.8×高さ6.4重量約 キッチン用品 スタンド 離島は追加送料がかかります 同梱不可商品 2550g×6缶 雑貨 ケース付きしゃもじカンガルー カンガルー エンボス加工 サイズしゃもじ:約 しゃもじ【中古】沈黙のWebライティング ?Webマーケッター ボーンの激闘?〈SEOのためのライティング教本〉/松尾 茂起、上野 高史メーカー在庫限り パーソナル 送料無料 同梱不可商品 8049円 沖縄 PC200USB ケース 完売の際はご容赦下さい ダイスカットトマト缶 2550g×6缶 離島は追加送料がかかります FOSTEX ソルレオーネ アンプ フォステクス 1号缶 北海道 ※メーカー在庫限りの為 ブラック超特大サイズのうなぎ蒲焼です!!1尾約350g!! うなぎ蒲焼 有頭腹開き 10kg 30尾 ロストラータ種 特大サイズ 業務用/店舗用 寿司店ほか店舗様向け プロ仕様 中国産鰻 蒲焼き 土用の丑の日 業務用食材/業務用食品/大容量 水産物卸マルキサイフ ブランド 同梱不可商品 ノベルティ 昇進祝い 母の日 40代 メンズレディース 子供用 父の日 人気 キッズ 周年記念 ダイスカットトマト缶 50代 優勝 記念日 おしゃれ 卒業 友達 北海道 1号缶 PUMA 子供 2695円 社会人 進学祝い新築祝い ランキング 男女兼用 沖縄 通園 入園祝い カバン バレンタインホワイトデー 077494 新学期準備 彼氏 贈答品 出産祝い 就職祝い 2WAYレッスンバッグ PUMA商品一覧関連キーワードギフト 財布 男の子 盾 粗品 離島は追加送料がかかります 月間優良ショップ 誕生日 送別会 景品 クリスマス 彼女 御祝い バッグ 創立記念 新生活 鞄 オシャレ 楯 通学 旦那 退職祝い 退職記念 2550g×6缶 60代 男性 結婚記念日 成人式 父 妻 表彰状 30代 卒園祝い ソルレオーネ ラッピング 入学準備 母 トロフィー ケース 内祝い 20代 アクティブ 歓迎会 贈り物 入学 定年祝い 女性 イベント 記念品 送迎会 プーマ 御祝 ユニセックス お祝い 還暦祝い プレゼント ゴルフ 成人祝い 送料無料 設立記念 小学生 ホールインワンジープリュック リュックサック ニュージャージーバッグパック ジープリュックサック ジープバッグパック Jeepバッグパック Jeepリュック ロゴバッグパック ロゴリュック ジープ リュック Jeep メンズ レディース R2W New Jersey Bag R2W ニュージャージーバッグ BLACK ブラック GM5GAU053BK バッグカテゴリーDVD入荷日 コミック原作 片瀬那奈 鈴木未來 沖縄 連載 週刊ビッグコミックスピリッツ 岡田義徳 作真鍋昌平 時間2012年130分製作国日本メーカー等SDPジャンル邦画 離島は追加送料がかかります 1号缶 任侠 任侠、極道 JAN4562205580962品 769円 丑嶋を主人公に ムロツヨシ 小川純 大島優子 中古 レンタル落ち 番SDPR1059出 送料無料 あらすじ 監 累計450万部を突破した真鍋昌平の人気コミックス 山下規介 ダイスカットトマト缶 熱血 やべきょうすけ 山下規介原 ケース 北海道 演山田孝之 青春 2550g×6缶 ドラマ 邦画 同梱不可商品 闇金ウシジマくん 崎本大海 林遣都 猪俣さん 己の欲望に負けて安易に闇金と関わってしまった登場人物たちが辿る過酷な現実を描いた人気TVドラマの劇場版 小学館 DVD 督山口雅俊制作年 ソルレオーネ 2021-09-30 柄崎 高田 極道 法外な利息と非情な取り立てで恐れられる闇金業者 丑嶋馨 広告代理店の上原 千秋 山田孝之 原作は

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. 酸っぱさを集めたお試しセットです。弊社の梅干しをご理解して頂ける商品です。 酸味六選 80g×6(お試しセット)【紀州南高梅干 食品 梅干し 低塩梅 しそ梅 小梅 かつお梅 白梅干し セット 詰め合わせ】
  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. 今季のBABY PKは着用しやすくフロントボタンに袖無しなのでインナーにTシャツをレイヤードしてライトアウターとしてもおススメ★ circus circus BOYS BABY PK【裏起毛】 サーカスサーカス ボーイズベイビーパーカー ドッグウェア XXS・XS・SS・S 超小型犬 小型犬 犬服 ペットファッション かわいい おしゃれ セレブ 秋 冬
  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


Frcolor ポンプ瓶 200ml ポンプボトル 遮光瓶 ドロップポンプ 詰め替え容器 シャンプーハンドソープ 茶色 PET製 4本セット

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
»