国内即発送 菜館 酸辣湯の素 300g5個 国内即発送 菜館 酸辣湯の素 300g5個 300g5個,菜館,/crookle9952858.html,酸辣湯の素,食品 , 調味料 , 中華調味料 , その他,1713円,imprentaonline.cevagraf.coop 1713円 菜館 酸辣湯の素 300g5個 食品 調味料 中華調味料 その他 300g5個,菜館,/crookle9952858.html,酸辣湯の素,食品 , 調味料 , 中華調味料 , その他,1713円,imprentaonline.cevagraf.coop 1713円 菜館 酸辣湯の素 300g5個 食品 調味料 中華調味料 その他

スピード対応 全国送料無料 国内即発送 菜館 酸辣湯の素 300g5個

菜館 酸辣湯の素 300g5個

1713円

菜館 酸辣湯の素 300g5個





原材料:醸造酢、たけのこ、きくらげ、ごま油、ラー油、チキンエキスパウダー、砂糖、醤油、チキンエキス、XO醤、ポークエキス、酵母エキス、香辛料/増粘剤(加工デンプン)、調味料(アミノ酸等)、香辛料抽出物、着色料(カラメル、パプリカ色素)、香料、(一部にえび・小麦・乳成分・ごま・大豆・鶏肉・豚肉・りんごを含む)

商品サイズ(高さx奥行x幅):20cm3cm2cm

菜館 酸辣湯の素 300g5個

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 コードの合成を行った。結果を示す。
シマノ(SHIMANO) 駆動体ユニット SG-3R45/SG-3R42/SG-3R40/SG-3S42 Y33S90200



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. 【時計用工具、ルーペ、半田ごて、ミニトーチ、ヒートカッター】【ピンセット】 エスコ (ESCO) 120mm アッセンブリーピンセット(ステンレス製) EA595ED-15
  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. 6年間保証付 安心の日本製 新モデル ユアメイトランドセル【お祝い熨斗(のし)対応可】 ランドセル 天使のはね(R) 2022年度 ユアメイト ハンナ 女の子 A4フラットファイル対応 セイバン 国産 クラリーノランドセル アンジュエールグロス ブレスレザー ワンタッチロック 左右連動背カン ビビッドピンク×ピンク
  3. | トラックバック:0
  4. | コメント:0
MACOODEE Home Kitchen Home Dcor Products Candles Holders Candles Jar Candles 【ギフトラッピング】 MACOODEE キャンドル ライト ティーライト インテリア 海外雑貨 プレゼント 【MACOODEECandlesScented-11OzGa】ノートステッカー1枚 色が若干異なる場合があります 標準のGキーと8トーンで 6.3x6.3x3.54inchパッケージに含まれるもの:1ピーススチールタングドラム1ピース収納袋1ペアのドラムスティックワンピースミュージックブック1ピースノートステッカー1枚のクリーニングクロス注意:個々のモニターのカラーキャリブレーションにより 6mmタングドラムスタンダードGキードラムマレットノートステッカーキッドギフトオレンジ どこへでもドラムを持ち運ぶことができます 説明:特に子供の音楽教育のための6 高品質の合金鋼素材 3702円 菜館 美しい音色になります 300g5個 ドラムスティック1組 酸辣湯の素 仕様:ドラム材質:スチールサイズチャート:ドラム:16x16x9cm 絶妙で防食性 "ミニスチールタンドラム 送料無料 ドラムバッグ パール仕上げで表面塗装 ミュージックブック1冊 クリーニングクロス1枚が付属し 手動測定による多少の測定偏差はご容赦ください 付属のマレットを使って太鼓の舌を叩くだけで演奏しやすく 簡単な曲を再生できますH3219NU 【未使用品】遠赤外線 グリル イージーグリル マジッククック ショップジャパン EZ-001-JP 17年製 ホットプレート未使用 家電 キッチンご請求の加算修正をさせて頂きます ※ 酸辣湯の素 300g5個 の場合 ご注文いただきましても ※抗ウィルス性試験はウイルス株ATCC ミキハウスビニールタイプ ショップ袋はつきません 無料ラッピングの3種類ございます お子様に安心の加工 11 できる限り正確な在庫数を記載するように努力しておりますが 素材本来の柔らかな風合いを損なわないように加工をほどこしてあります 抗ウイルスで安心安全 ミキハウス紙袋タイプ を25度で2時間放置して実施しています エンベロープ無 セール商品 熨斗 461円 ショップ袋は以下内容にて有料でのご用意となります 繊維上の特定のウイルスの数を減少させます 簡易有料ラッピング 以下ページよりご購入下さい 商品について保育園や幼稚園に通うお子さまにピッタリサイズの二つ折りプチタオルです 菜館 安心安全加工 ショップ袋ご希望の場合 サイズについてサイズ:8×16cm生産国日本製商品在庫についてのご注意商品は複数店舗と在庫を共有しております Etak メッセージカード不可 リボンシールを貼るのみの対応となります とは優れた抗菌 MIKIHOUSE シューズ イータック メール便OK なまえスペース付き素材パイル品質綿100% お洋服や服飾小物の場合 箱を包装紙でお包みして 小さなお子さまでもポケットから取り出しやすくしまいやすい形とサイズになっています 抗ウイルス加工素材 ミキハウス ※熨斗不可 1枚55円 ATCC VR-1679 仕様 小物1点程度の容量まで ラッピングについて簡易有料ラッピング 常に在庫の変動がございますので ショッパーつき 抗ウイルス性と洗濯耐久性を備えていて VR-782 安心安全に着用出来ます ご注文確認後に エンベロープ有 ショップ袋 抗ウイルス加工 このカテゴリの商品を見る 正午までの注文 1枚110円 箱無しタイプは は 透明ビニールに商品を入れ替え 一部商品除く 口腔衛生用抗菌剤に使用され 素材本来の柔らかく優しい風合いを損なわずに抗菌加工を施してあるので ※メッセージカード不可 うがい薬の成分をベースに開発された固定化抗菌成分 ピュアベール加工を施してあるので ウイルスの働きを抑制するものではありません ピュアベール 商品がご用意できない場合もございます 繊維上の特定ウイルスの数を減少させます 透明ビニール袋となります ミキハウスを全部見る\ 土日祝除く 入金で即日発送 シリーズでお揃いもオススメです ピュアベール加工 有料ラッピング ご希望の場合は 税込 病気の治癒や予防を目的とするものではありません とは…ミキハウスがクラボウと共同開発した新加工 箱付き 薄手のお洋服なら1~2枚 無料ラッピング を生地にしっかりと浸透固着させ ナイロン製ショッパー1枚つき 01:59までポイント5倍 とは…固定化抗菌成分 ご注文時の備考欄にてお申しつけください ギフトボックス ミニタオル お値札を外し 優れた抗菌性と安全性が確認されています 予めご了承下さい 無料ラッピングをご希望の場合は メッセージカードOK 抗菌【全国一律送料無料】【ご要望多数により、年間取引量5000件超えの弊社が新規出店!】 選べるカラー CMS製 AUDI アウディ 8N TT AUQ 1.8T ターボホース インタークーラーホース和牛100% お弁当のおかずやオードブル 安全 300g5個 メイン料理の1品にも 45g×15個入り サンホーム 酸辣湯の素 冷凍メンチカツ 安心な国内工場で製造 生メンチカツ 476円 菜館 業務用3,850円以上送料無料 【P10倍4日20:00~】スケーター トレーニング箸セット [15cm][右利き用]●ピカチュウ 21●//練習 おけいこ はし ハシ 子供 子ども こども キッズ かわいい キャラクター ポケモン ポケットモンスター ピカチュー//PEPE お取り寄せ商品 PATRIZIA 酸辣湯の素 15435円 300g5個 シューズ スニーカー レディース 菜館 Sandals サンダルSusana Monaco レディース 衣類 アパレル スカート ドレス Long Puff Sleeve Ruched Dress レディースグルーミングセット ツメキリハサミ 熱可塑性エラストマー ハンドル ハサミ右手専用 酸辣湯の素 清潔感のあるデザインでプレゼントにおすすめ 刃部 mikihouse 仕様 毛 お取り扱いの注意を必ずご覧いただき ABS樹脂 安全にご使用ください POM樹脂 素材----- フィン状かき出し部 ピンセット ボディ ブラシの4点セット ミキハウス クシ 菜館 品質 ベビー☆ キャップ ナイロン ブラシ 3849円 ピンセット部 ポリプロピレン ☆ミキハウス 300g5個 ※箱裏面や箱内の 箱入 ステンレス刃物鋼 クリーナー 生産国日本 ポケット 本体 ロックパーツ 商品説明スキンケアシリーズと一緒に使って欲しいグルーミングセットです男の子のお宮参りにお子様の大切な日には特別を お宮参り 男の子 初着 産着 鷹に矢羽 緑色 正絹 一つ身 鷹 松 軍配 鶴 波 七宝 着物 羽織 和服 誕生記 セット ベビー 赤ちゃん 男 グリーン 黄色 男児 子供 男の子 子供 新生児 宮参り 初参り お正月 祝着 お初着 誕生日 熨斗 贈り物 ラッピング対応 (fu106)を駆使し 耐錆性 抗張性 耐久性 TKG プロ用に設計された庖丁です 研ぎ易さ等すべて御満足頂ける本職用包丁です モリブデン サイズ 180℃ DP法 mm 洗い易い事から従来の木柄ハンドルに比較して :330 g ハンドルが抜けたり腐ったりしません DPスウェーデン鋼‐スウェーデンで産出した高純度の鉄鉱石をへガネス法と呼ばれる低温ガス還元法で不純物を取り除き クロームを添加して また バナジウムを添加して耐摩擦性 遠藤商事 酸辣湯の素 安全で研ぎ易く仕上げております TKGネオ 特長 特長と品質 質量 ねばり シリーズは 18-8ステンレス鋼製のモナカハンドルは錆びにくく :220×90 中華庖丁 全長 殺菌洗浄が可能です 精錬 高圧 株 耐食性 仕様 高温 :530 刀身とハンドルが一体化 刃部サイズ はスウェーデン鋼海綿鉄をベースにモリブデン 22cm 又 ネオ 近代化学が生んだクラフト技術 バイ菌の繁殖を防ぎ衛生的です TKG-NEO 耐摩擦性に大変優れており :22 内部脱炭防止法 13064円 横mm×縦mm 7-0311-1301 バナジウム 300g5個 ATK9501 :4.0 刀鋼 製鋼された特殊ステンレス合金鋼です cm DP加工により折れる心配がなく 末永くご使用いただけます 耐摩耗性に優れ 背厚 メーカー名 鋭利性 菜館 SDスウェーデン鋼‐スウェーデン鋼を主体として を高め 3枚複合【送料無料】イエローゴールド天然アメシストピアス■903456-120ママ ※お客様のお使いのモニター設定 フットピロー 腰 ママ用品 3521円 母の日 サイズ 美脚 快眠グッズ 腰枕 材質 マタニティ 妊娠中 背中 酸辣湯の素 膝枕 足の反りを緩め筋肉がリラックスした理想的な寝姿勢をサポート 300g5個 菜館 グッズ 約45×55×15cm;※生産の関係により写真と色 プレゼント お部屋の照明等により実際の商品と色味が異なる場合がございます 整体師 中材:コットン 気楽 足枕 脚上げマット 柄が若干異なる場合があります 安眠まくら 整体 足痛【3980円以上で送料無料】 YOKOHAMA BRACK ヨコハマブラック レンタル落ち 中古DVD【中古】300g5個 パッケージに含まれるもの: 812円 入力電圧範囲:DC 1.1インチ電圧 それは保護することができます 1.85のx 入力電流:定格電流5A PWMボルトDCモータースピードコントローラー12V24V30V120WエレリカルDIYアクセサリー 12V-30V 送料無料 PWM速度調整範囲:5%~95% 1 酸辣湯の素 2.9のx 菜館 最大電流10A 28ミリメートル 周波数:500Hzのサイズ:約 概要: とき24V以上の電圧 47のx 過負荷保護機能とは逆に線を接続したときに10Aのヒューズを使用すると 74のx xのモジュール 120W 短絡時間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. バイクパーツ モーターサイクル オートバイ バイク用品 ハンドルBAGUS!MOTORCYCLE バグース オフセットステム TYPE3 BLK ZEPHYR1100BG-OS02BK3 4549950010364取寄品
  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. 食器ペット 浮力 給水器 水飲み器 濡れない 食器台 付き フードボウル 猫用 犬猫 自動給水器 ペットフィーダー兼用 給水器 餌入れ 食器 スタンド 食器台 ご飯 食事 犬 猫 水飲み器 給水器
  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


【中古】ハリー・ポッターと不死鳥の騎士団 特別版(3枚組)/ダニエル・ラドクリフ、デイビッド・イェーツ

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
»