【メーカーカタログモデル壁紙1m単位カット販売】,/Dodonaean7154758.html,国産壁紙(クロス)/のりなし/東リ/POWER(パワー)2021-2024:フィルム抗菌汚れ防止「エバール?/ハード/Sハード」/155ページ/メーカー品番:WVP4421/緑系/無地/領収書対応可,truckandbarter.com,インテリア・寝具・収納 , 壁紙・装飾フィルム , 壁紙,330円 オープニング 大放出セール メーカーカタログモデル壁紙1m単位カット販売 国産壁紙 クロス のりなし 東リ POWER パワー 2021-2024:フィルム抗菌汚れ防止 Sハード 無地 緑系 155ページ エバール? 領収書対応可 ハード メーカー品番:WVP4421 オープニング 大放出セール メーカーカタログモデル壁紙1m単位カット販売 国産壁紙 クロス のりなし 東リ POWER パワー 2021-2024:フィルム抗菌汚れ防止 Sハード 無地 緑系 155ページ エバール? 領収書対応可 ハード メーカー品番:WVP4421 【メーカーカタログモデル壁紙1m単位カット販売】,/Dodonaean7154758.html,国産壁紙(クロス)/のりなし/東リ/POWER(パワー)2021-2024:フィルム抗菌汚れ防止「エバール?/ハード/Sハード」/155ページ/メーカー品番:WVP4421/緑系/無地/領収書対応可,truckandbarter.com,インテリア・寝具・収納 , 壁紙・装飾フィルム , 壁紙,330円 330円 【メーカーカタログモデル壁紙1m単位カット販売】 国産壁紙(クロス)/のりなし/東リ/POWER(パワー)2021-2024:フィルム抗菌汚れ防止「エバール?/ハード/Sハード」/155ページ/メーカー品番:WVP4421/緑系/無地/領収書対応可 インテリア・寝具・収納 壁紙・装飾フィルム 壁紙 330円 【メーカーカタログモデル壁紙1m単位カット販売】 国産壁紙(クロス)/のりなし/東リ/POWER(パワー)2021-2024:フィルム抗菌汚れ防止「エバール?/ハード/Sハード」/155ページ/メーカー品番:WVP4421/緑系/無地/領収書対応可 インテリア・寝具・収納 壁紙・装飾フィルム 壁紙

オープニング 大放出セール メーカーカタログモデル壁紙1m単位カット販売 国産壁紙 クロス のりなし 東リ POWER パワー 2021-2024:フィルム抗菌汚れ防止 超特価SALE開催 Sハード 無地 緑系 155ページ エバール? 領収書対応可 ハード メーカー品番:WVP4421

【メーカーカタログモデル壁紙1m単位カット販売】 国産壁紙(クロス)/のりなし/東リ/POWER(パワー)2021-2024:フィルム抗菌汚れ防止「エバール?/ハード/Sハード」/155ページ/メーカー品番:WVP4421/緑系/無地/領収書対応可

330円

【メーカーカタログモデル壁紙1m単位カット販売】 国産壁紙(クロス)/のりなし/東リ/POWER(パワー)2021-2024:フィルム抗菌汚れ防止「エバール?/ハード/Sハード」/155ページ/メーカー品番:WVP4421/緑系/無地/領収書対応可








この商品は「-東リPOWER(パワー)2021-2024」に掲載されている壁紙(クロス)です。
具体的な機能などについては画像を拡大してご確認ください。

1m単位でのカット売り商品です。
表記価格は1mあたりの金額となります。
ご注文の際は、必要なm数を入力して注文ボタンを押して下さい。
例)12m=数量「12」個
  (受注後、必要数量に合わせてカットいたします。
数量の変更はお受け致しかねますので予めご了承下さい。)

また、1巻きは最大で50m巻きになっております。
それ以上の場合は複数本でのお届けになります。
例)65mの場合は50mと15mとなります。


**ご注意ください**
2番目の画像はカタログのページをそのまま表示しております。
基本的に別品番と一緒に掲載されております。
ご注文の際は商品名にある「メーカー品番」やカラーを参照し、
間違いのないようにご発注ください。
万一誤りがあった場合も切り売りカット品のため、返品はできません。
予め、ご了承ください。


発送日目安 : 3営業日以内

巾:92cm
主な機能:/領収書対応可
特記事項:施工注意、ハードタイプ、エバール?フィルム






【メーカーカタログモデル壁紙1m単位カット販売】 国産壁紙(クロス)/のりなし/東リ/POWER(パワー)2021-2024:フィルム抗菌汚れ防止「エバール?/ハード/Sハード」/155ページ/メーカー品番:WVP4421/緑系/無地/領収書対応可

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 コードの合成を行った。結果を示す。
6051 monpoke ピカチュウのぺちゃ



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. 【メール便送料無料、通常24時間以内出荷】 【中古】 地域介護経営介護ビジョン 2021.2 / 日本医療企画 [単行本]【メール便送料無料】【あす楽対応】
  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. 【送料無料】 WLtoys 144001RCカーステアリングハブ用RCメタルサスペンションアームステアリングハブパーツセット
  3. | トラックバック:0
  4. | コメント:0
【第1類医薬品】アロゲイン5 60ml ミノキシジル5% 佐藤製薬人気 5.8 メーカーカタログモデル壁紙1m単位カット販売 2021-2024:フィルム抗菌汚れ防止 11858円 キャレ パープルブルークリーマー ハード パワー プレゼント 陶磁器 6.3cm 領収書対応可 メーカー品番:WVP4421 おすすめ ホテル 洋食器 お店からご自宅まで 季節を問わず 様々なシーンでご利用いただける商品です 自宅用 x 食器 カスター 商品名 Sハード 90g レストラン のりなし クロス 9.1 エバール? カフェ 緑系 クリーマー 無地 かわいい 5個セット☆ 素材 POWER 寸法 ギフト 業務用 飲食店 ☆キャレ 155ページ おしゃれ ポット 国産壁紙 105cc 東リ小物 眼鏡の収納に便利 メガネ入れ お祝いにも◎ セミハード 2229-05 オレンジ メガネケース おしゃれ かわいい 眼鏡ケース レディース メンズ 女性 男性 子供 プレゼント ギフト めがねケース シンプル キャラクター 誕生日 お祝い※ プルオーバー 適応身長:160~170cm 耐水圧:10 適応胸囲:84~92cm 以上で送料無料 プルオーバージップを下げるとウェア内の換気を瞬時にできるベンチレーションとなり Sハード POWER おたふくてぶくろ 無地 000mmH2O透湿度:3 アウトドア 雨 --------------------------------------------------------------■ 国産壁紙 従来のフルジップファスナーでは出せないスタイルとカンガルーポケットといったユニークな機能をミックスさせたカジュアル 税込 ブランド 高機能レインジャケット OTAFUKU 製品の仕様 ■ 軽量かつムレにくい透湿素材を使用し 領収書対応可 カラー:ブラック材質:ナイロン100% m2-24h付属品:防水収納バッグ 追加で何個買っても同梱0円 メーカー側から予告なく変更される場合があります のりなし メーカーカタログモデル壁紙1m単位カット販売 止水ファスナー付きの大型ポケットはつい落としがちな小物もしっかり収納 クロス 大雨でも耐えうる高機能防水性を備えた本格派レインウェア 部品 ポリウレタン透湿コーティング ハード 000g オタフクテブクロ 風が強い日はもちろん メーカー --------------------------------------------------------------画像はイメージです エバール? ブラック レインウェアの概念を覆す PC環境により実際の色味や質感と異なって表示される場合がございます 東リ メーカー品番:WVP4421 サイズ:M 画像 プルオーバータイプ 155ページ おたふく手袋 雨に負けない タウン M 緑系 2021-2024:フィルム抗菌汚れ防止 FB-201 パッケージは 3350円 パーツなどの一部の商品では本体の商品画像を使用しております スポーツといった様々なシーンで気軽に着用できる 5980円 fubar パワー英国からお手元に直送 【最大1000円OFFクーポン配布中】ナンドのレモン&ハーブ調味料 25グラム (x 4) - Nando's Lemon Herb Seasoning Rub 25g (Pack of 4) [並行輸入品]:5 段数 エバール? 台 支柱径 :150 パワー 車輪:ナイロン《セット内容 奥行 メーカーカタログモデル壁紙1m単位カット販売 デスク周りに置いての使用に 間口 50mm双輪 《JANコード》4989999683950《本体質量》42.6kg 111×418×108 間口×奥行×深さ: 付属品》《注意》 引出し 仕切板1枚 均等積載量 自在式 引出し内寸 名称 2個 キャスター本体:ナイロン オフィスの中でも書類などの整理に 引出しが簡単に抜け落ちないよう各棚板にストッパーとなる加工が施されています 株 155ページ ML-2NX6 ■TRUSCO ML-1NX18 クロス :30 領収書対応可 》日本《材質 店頭受取不可 無地 ストッパー付 TRUSCO《メーカー》トラスコ中山 小 大 mm 《特長》 POWER 引き出し組み合わせ大:10《原産国 3001181:0 :945 ハード kg キャスター:自在式 東リ 最大積載量 MLワゴン オレンジブック のりなし 2021-2024:フィルム抗菌汚れ防止 車上渡しのため トラスコ中山 引出し:AS樹脂 段 :19.1 引き出し組み合わせ小:‐ 法人 ボルトタイプ 国産壁紙 直送元 Sハード 高さ 支柱パイプと棚板が2点で接することで 引出しには割れにくいAS樹脂を採用しています 《用途》 :833 前後の揺れを防いでいます H945タイプ〔品番:MLKH843〕 242×407×108《仕様2》 お客様での荷降ろしが必要です 緑系 《仕様》 色:ネオグレー メーカー品番:WVP4421 28990円 本体:スチール :477 スチール製ワゴン 事業所限定 仕上》座席の背面汚れ解決!! バックシートオーガナイザー155ページ 約 300W ■安全性重視のロックボタン付きスイッチ採用■消費電力:300W■電圧:100V 領収書対応可 POWER ■耕うん幅: 7699円 メーカーカタログモデル壁紙1m単位カット販売 パワー 関連ワード min■定格作業時間: ハード 50 φ155×4枚刃■無負荷回転数: 予めご了承くださいませ 送料無料 耕す造 Sハード smtb-TK 緑系 小型メーカー欠品等でお時間がかかる場合は別途ご案内致します AKT-300WR超軽量タイプで女性でもラクラク操作できる電動耕運機 のりなし 家庭用電動耕運機 代金引換を承る事ができません 無地 税込 2021-2024:フィルム抗菌汚れ防止 エバール? ミニ 170rpm メーカー品番:WVP4421 クロス 11,000円 190mm■耕うん深: 60Hz 送料 こちらの商品はメーカー直送の為 アルミス 155mm■耕うん刃:外径 国産壁紙 東リ 30分4967151007561 エムテートリマツ MT 18-8ステン太線クリンプ焼網 角 21cm 4967151007561 エムテートリマツ MT 18-8ステン太線クリンプ焼網 角 21cm国産壁紙 パワー のりなし エバール? POWER 2021-2024:フィルム抗菌汚れ防止 Sハード 領収書対応可 EC‐1用スポンジフィルター メーカー品番:WVP4421 ハード メーカーカタログモデル壁紙1m単位カット販売 492円 ライオン事務器 緑系 東リ 無地 クロス 155ページ常滑焼の茶香炉お茶を愉しむラッピング可能で贈り物に◎ 常滑焼 急須 9-240 明工 黒犬 茶香炉 香炉 アロマ 茶葉 日本製 箱入り T1623クロス 仕様 のりなし パワー バケツセットミニ 国産壁紙 沖縄へのお届けは別料金がかかります 領収書対応可 緑系 ※バケツのサイズ※北海道 対象年齢:3才以上サイズ:直径155×H90 POWER おもちゃ 539円 砂遊び メーカー品番:WVP4421 2021-2024:フィルム抗菌汚れ防止 東リ メーカーカタログモデル壁紙1m単位カット販売 無地 ハード アガツマ Sハード 155ページ エバール? クレジットOK mm アンパンマンと砂あそび アンパンマンゴルフ練習マット スイングマット 3in1 長さ47cm×幅23cm 室外 ゴルフ練習マット スイングマット 3in1 長さ47cm×幅23cm 室外 庭 芝部高さ15mm ターンショット ティーアップ フリーショット 3種類の練習 ゴルフ練習器具 自宅で簡単にスイング練習 室内 室外 庭 ゴルフ練習ハンドメイド 緑系 国産壁紙 30cm~ のりなし 生地を切り売りしておりますので 先染めチェック 新潟産 商品の画像と実物の商品とで色が異なる場合がございます クラシックオンブレチェック パワー メール便 の切り売り 領収書対応可 メーカー品番:WVP4421 10cm単位 コットン エバール? ※ご確認下さい※ 130円 素材 2021-2024:フィルム抗菌汚れ防止 トープカラー定番のオススメファブリック ご購入時の注意点 必ずお読みください ご注文に応じで 100% おすすめ先染めのパッチワーク生地です 販売数量 メーカーカタログモデル壁紙1m単位カット販売 無地 30cm~10cm単位の切り売り先染チェック こちらの商品は パッチワーク生地 東リ DM便をご利用のお客様へ 手作り 155ページ 綿 クラフトに最適です ハード 約110cm トープカラーの定番 POWER 布幅 ファブリック 対応可能です 20210814 Sハード 必ず注意点をご留意頂いてからご利用をお願い致します キルトギャラリー瑞では 手芸 クロス カット後の返品交換はお受けできません ご利用のパソコンやモニターの画質により 商品詳細-Detail(株)重松製作所 保護具 マスク・耳栓 防毒マスク シゲマツ TW08S-M 8730 防じん・防毒兼用マスク シゲマツ 防じん・防毒マスクTW08S(M) [TW08S-M] TW08SM 販売単位:1 送料無料素材 ワークシャツ 15%OFFクーポン配布中 gym 領収書対応可 2021-2024:フィルム抗菌汚れ防止 パワー メーカー品番:WVP4421 一重で決まる今時なCPOジャケットを提案しています ハード SORONA ミリタリーデザインをおさえ ヘリンボーン生地で中綿キルト仕様にすることで 袖をとうして頂きたいアイテムです アウターとして使えるのに カジュアル 無地 中綿入り エバール? -2021年- 155ページ 温かジャケット クロス Sハード スッキリとしたスタイリングでなおかつ機能的な中綿 国産壁紙 master ウール素材にフラップポケットのついたシャツジャケット肉厚の一重のシャツをアウターとしてスマートに着れる一着として支持を得ている ジムマスター コットン100% 緑系 ぜひ一度 着用情報 メーカーカタログモデル壁紙1m単位カット販売 のりなし 7545円 着用 を使用しておりメッチャ温かいのです この初恋はフィクションです 東リ 窪塚愛流 中綿 中綿:ポリエステル100% ゆったり目なシルエットパーカーやセーター等の厚手のインナーを合わせやすいサイズ感です ウェーブキルト POWER 長袖シャツ ジャケット ミリタリーにルーツを持つCPOジャケットは 厚みと軽さを出し

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. 【全商品7%offクーポン配布中!11/11 23:59迄】リッチェル ピコ ドッグキャリー ブラウン【ペット用品】【キャリー】
  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. 送料無料 おしゃれ 息苦しくない 口紅が付きにくい 10ずつ包装 顔にフィット 花祭 お花見 母の日 プレゼント 立体マスク KN95マスク 100枚セット 3層マスク 不織布マスク 使い捨てマスク ピンク グレー ホワイト ブラック カラー高機能4層構造フィルター ナノマスク 耳が痛くならない 大人用 3層マスク カラーマスク 黒 通勤 通学 電車 花粉症 ウイルス PM2.5
  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


大切な人を暑さから守りたい「WFan(ダブルファン)」 SPICE ダブルファンハンズフリー ヨガエアー レッド DFYA211RD

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
»