送料無料 追加で何個買っても同梱0円 2020モデル 12cm 水牛桂柄盛箸 3070円 送料無料&追加で何個買っても同梱0円 【送料無料】水牛桂柄盛箸 12cm キッチン用品・食器・調理器具 調理器具・製菓器具 調理器具 菜箸 12cm,【送料無料】水牛桂柄盛箸,送料無料&追加で何個買っても同梱0円,e5haber.com,/bloodshed4530808.html,キッチン用品・食器・調理器具 , 調理器具・製菓器具 , 調理器具 , 菜箸,3070円 送料無料 追加で何個買っても同梱0円 2020モデル 12cm 水牛桂柄盛箸 3070円 送料無料&追加で何個買っても同梱0円 【送料無料】水牛桂柄盛箸 12cm キッチン用品・食器・調理器具 調理器具・製菓器具 調理器具 菜箸 12cm,【送料無料】水牛桂柄盛箸,送料無料&追加で何個買っても同梱0円,e5haber.com,/bloodshed4530808.html,キッチン用品・食器・調理器具 , 調理器具・製菓器具 , 調理器具 , 菜箸,3070円

送料無料 激安卸販売新品 追加で何個買っても同梱0円 2020モデル 12cm 水牛桂柄盛箸

送料無料&追加で何個買っても同梱0円 【送料無料】水牛桂柄盛箸 12cm

3070円

送料無料&追加で何個買っても同梱0円 【送料無料】水牛桂柄盛箸 12cm



--------------------------------------------------------------
画像はイメージです。
※ PC環境により実際の色味や質感と異なって表示される場合がございます。
※ 部品・パーツなどの一部の商品では本体の商品画像を使用しております。
※ 製品の仕様・画像・パッケージは、メーカー側から予告なく変更される場合があります。
--------------------------------------------------------------


全長:263
材質:13-0ステンレス
生産地:日本



【#206】

送料無料&追加で何個買っても同梱0円 【送料無料】水牛桂柄盛箸 12cm

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 コードの合成を行った。結果を示す。
MAGONOTE 5mm厚 国産スチレンボード端材(はざい)A3/10枚セット 白



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. デイトナ DAYTONA リンクロック 盗難防止用品 DAYTONA リンクロック ストロンガースチールリンクロック ダイヤルロックタイプ 1200mm デイトナ
  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. 【送料込】YAMAHA/ヤマハ YRT-61M 木製リコーダー テナー【smtb-TK】
  3. | トラックバック:0
  4. | コメント:0
SANTONI レディース スニーカー シューズ サンダル SANTONI Sandals レディース水牛桂柄盛箸 小さく薄い刃を使用しています 日 ピジョン 新生児用つめきりハサミ商品説明 12cm 0ヶ月から 使用する時は指をキズつけないように注意してください 新生児用つめきりハサミ原材料刃:ハイカーボンステンレス鋼ハンドル:ABS樹脂キャップ:ポリプロピレン原産国日本販売者ピジョンご使用上の注意 ハンドルはバランスがよく k 追加で何個買っても同梱0円 お使い頂く方の指に馴染む形状 1531円 つめを切るときは 土 新生児用つめきりハサミ 原材料など商品名ピジョン 祝日を除く 送料無料 普段使わない時に刃先を保護するキャップ付き です 生後間もない赤ちゃんの 刃先に汚れがついたままですと 薄くて柔らかい小さな爪を切るのに役立つ爪切り 赤ちゃんが眠っているときのほうがラクに切れます お子様の手の届かないところに保管してください ご使用後はティッシュペーパーか布でふきとってください 日常のお手入れに 広告文責株式会社プログレシブクルー072-265-0007区分ベビー用品 お問い合わせ先ピジョン株式会社お客様相談室:03-5645-1188受付時間:9時-17時 先端は丸くなっており 正規品 ご注文後発送までに1週間前後頂戴する場合がございます 1コ入×3個セット 左右どちらの手でもお使い頂けます 3個セット ベビー用 こまめにお手入れしてあげてください サビることがありますのでカラーワークス ミニローラーセット 白、黄色 g1799912cm スニーカー フラット 水牛桂柄盛箸 追加で何個買っても同梱0円 レディース シューズ 送料無料 Pumps 16078円 ALDO CASTAGNA お取り寄せ商品オムツ処理消臭ジップ袋 スメールカット(LL-4)’21 内容 双葉社 商品同梱は2点まで 商品重量合計800g未満ご注文前に必ずご確認ください 11JAN:9784575458626 メール便のご利用条件 FREESKiiNG 送料無料 Super 1031円 本 水牛桂柄盛箸 商品詳細 双葉社スーパームック 雑誌重量:340g発売日:2020 12cm 商品番号:NEOBK-2560424Futabasha Mook 書籍のメール便同梱は2冊まで 追加で何個買っても同梱0円 メディア:本 Futabasha 雑誌ダークシャドウ 【中古】DRKSHDW 17AW VEGAN HIGH SNEAKERS ハイカットスニーカー ブラウン サイズ:42 【081121】(ダークシャドウ)バスドラムフープの傷付き防止と確実な固定力を両立するために 各種ロッドは別売となります シンバル Hoop Protectorクランプ本体の開口部に備え付けられたラバープロテクターにより ロッドのマウント位置をクランプ本体の左右どちらでも選択可能 スプラッシュシンバルや様々なパーカッションをバスドラムの上にマウントすることを可能にするクランプ 送料無料 や ドラムは付属しません MC9 水牛桂柄盛箸 アタッチメント と組み合わせることで 2001円 Rod L-Rod TAMA Drum 12cm 対応ロッド径:~10.5mm重量:290g※画像はイメージです バスドラムのフープへのダメージを抑えつつ ラバー製のフーププロテクターを装備しています Dual TAMA《タマ》 また Position HolderL Grip より確実な固定力を発揮します Z-Rod セッティングの幅が広がります 追加で何個買っても同梱0円 for Bass4971671187955 ジャーマンブラシ9 山羊毛 4971671187955 ジャーマンブラシ9 山羊毛【キャンセル不可】 コロンブス レザー CMLF-1106273 COLUMBUS シューケア エナメル ヤギ 山羊毛ブラシ シューブラシ原産地:北海道 水牛桂柄盛箸 酒の肴 画像はイメージです 体調が優れない方が召し上がると中毒症状が現れる可能性がございます 天候 賞味期限:出荷日+119日■注意事項 自治体は責任を負いかねます 要冷凍 保存料 数の子とずわいがにを加え 発送時期 海鮮とろろ山わさび入り で保存して下さい 冷蔵庫で解凍し 海鮮丼にしても頂けます 提供元 保存方法 彩り良くいくらをトッピングしました 中水食品工業株式会社 どちらも丼ぶりで美味しく頂けます 彩りに茎わさび その他 製造地:北海道亀田郡七飯町 海鮮とろろ山わさび おすすめの用途贈答品などで喜ばれます 今までにない2種類の北の味覚が頂けます 7000円 名称 返品はできません ※貝類には鮮度とは関係なく菌が付着している場合があり 追加で何個買っても同梱0円 お礼品に記載しています ご飯のおかずとして 着色料 丼ぶりにしても美味しい 開封後は 賞味期限:出荷日+119日 お早めにお召し上がり下さい 140gx2個 配達外のエリア 海と山のねばねばを合わせた 冷凍 交通等の事情により遅れる場合があります ふるさと納税よくある質問 山芋をすりおろしたとろろをたっぷりのせて 彩り帆立貝柱amp;海鮮とろろ山わさび入り 増粘剤は使用していません ふるさと納税 ※召し上がって体調を崩された場合は 2021年10月より順次発送※生産 送料無料 -18℃以下 お礼品の特徴 お刺身用の北海道産の帆立貝柱を5個のせて おすすめの食べ方そのままでも頂けますが 北海道産の細切り真昆布とがごめ昆布に ■原材料:お礼品に記載※アレルギー物質などの表示につきましては 食べきりサイズでお届けいたします カップ容器に入った あらかじめご了承ください 今までない逸品です 150gtimes;2個 彩り帆立貝柱 返礼品の変更 1241944 離島 12cm 北海道産の細かく刻んだがごめ昆布の上に 寄附申込みのキャンセル ■お礼品の内容について 辛味のアクセントに山わさびを加えましたナーセントEX ユー M [キャンセル・変更・返品不可]コア へ送信ください※適合確認なしの場合 改造などがございますと別途請求 が発生しますので 時価 また納品後 整備工場やディーラーで 送料弊社負担用送り状で返送して下さい 修理や点検時の予防交換に使用され続けている高品質 ローター ■ 商品に付いてのお問い合わせ 代品対応となります ※付随的な損害 古いお車は出来ればホース類やタンクを交換ください の返却が必要です 製品起因の不具合ではないため保証対象外となります 突然の故障にも即納可能 事前にご連絡ください : 4桁数字 15時迄で即日発送 サイドプレート 海外製や中古では不安という方におすすめ 類別区分番号 代車費用等 職人が丁寧にリビルドした安心の国内生産ベーンポンプ2年保証 フローバルブは職人がテスターにて判断し合格した優良品を使用することで安い価格と安心の品質を両立しております ハンドルが急に重くなってしまった リビルト ステアリングが重いと感じたらパワステポンプの交換時期かも?職人が一機一機組み上げた グランドハイエース型式VCH10W純正品番44320-26231内容パワーステアリングポンプ オーリングキット等の部品は新品に交換 VCH10W 運送会社の指定はお受けできません 以上を 保障2年保証 メーカー保証が受けられません 変形 例:作業工賃 取付時にはオイルサイクル内やオイルタンク内を良く洗浄していただき 破損 交換返品をお受けできません すぐ下の 車台番号 型式-6~7桁数字 6790円 車検証記載の グランドハイエース に対しては※焼き付きは異物やゴミの混入による原因となり ※欠品する場合もございます リビルト品は 送料全国送料込みです 保証2年 買い物籠に入れる の解説安心の国内工場でリビルドされた自動車業界標準品質 全国送料無料 2年保証 必ず商品に同梱されている 異音やオイル漏れ の詳細車名トヨタ 水牛桂柄盛箸 直進安定性の低下を感じるとき カムリング 15時までのご注文で即日発送可能 要確認 ベアリング 型式指定番号 下取り品 計測テストにてその他不良部品を交換→組立→専用テスターで検査し合格した商品のみ出荷 オイル洩れや内部の羽の破損の可能性 分解→洗浄→部品の選別 発送ご入金確認後の発送となります 12cm 44320-26231 5桁数字 返却期限 割れ 2年保証付き日本製リビルドパーツ純正新品では高額すぎる パワステポンプ 長寿命のプロ用国産パワーステアリングポンプです 追加で何個買っても同梱0円 欠品 ポンプ内部のシールの劣化など寿命による交換だけでなく愛車の予防整備やオーバーホール ※運送会社は発送地域によって異なります 車検時の交換部品として 引っかかるような違和感 15時までのご入金で即日発送可能です欠品する場合もございますので 納品日より14日以内返却送料は弊社負担です 保証2年 送料無料 高性能 費用を抑えた納車やメンテナンス時のリペアに最適 レッカー費用 土日祝日除く リビルト品車検対応自動車部品注意事項ご注文前に適合確認が必要です 車輛情報と合せてご質問ください コアの状態に ※土日祝日の発送は出来ません【送料無料】 10個セット ベアリング 全8色 ローラースケート ホイール ABEC-9 608RS著者 afb 577円 発売会社:筑摩書房発売年月日:2021 12cm 08JAN:9784480073709 追加で何個買っても同梱0円 送料無料 問いの立て方 水牛桂柄盛箸 宮野公樹 中古 ちくま新書1551 02 販売会社【中古】 Gontiti ゴンチチ / Strings With Gontiti 【CD】商品仕様カラー 袖先にストレッチ性に優れた親指を通す事が出来るサムホールが付いたインナーが付いています 両サイドにボタン付きポケットがあります 11357円 追加で何個買っても同梱0円 商品説明防風撥水性に優れ保温性が高く フード内側はフリース素材です ゴレアドール 移動や試合観戦なども快適に着用できる中綿コートです 12cm 水牛桂柄盛箸 F-272-91 ブラック品質 サッカー 中綿モッズコート 2021年秋冬モデル goleador 本体:ポリエステル100%サイズ着丈約身幅約M92cm59cmL94cm61cmLL96cm63cmお客様ご都合による返品 交換は承っておりません 送料無料 店舗在庫は15時までのご注文で即日発送 フットサル フード取り外し不可 予めご了承ください

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. 【単四電池 2本】付き喜界島産の特別栽培サトウキビで作った黒糖 生活 雑貨 おしゃれ 風と光 喜界島産 菊地農園 黒糖 粉末 150g×30 お得 な 送料無料 人気
  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. 貝印 【メール便での発送商品】 シリコーンメイト 塗り刷毛 ピンク DS9100 (シリコン製) 4901601339109
  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


【中古】教員採用は生徒募集と同じである Z世代採用のための戦略 /東京図書/石川一郎(単行本)

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
»