Ryuz's tech blog

FPGAなどの技術ブログ

テストと検証の違いについて考えてみた

はじめに 今回は定期的にやってくる駄文というかポエム回です。 ソフトウェア開発において「テスト」と言うものは非常に重要です。一方でLSI開発などを含めて、RTL界隈では「検証」という言葉をよく聞きます。 業種や人によっても用語の定義が微妙に違ったり…

産業用カメラを研究開発に用いる場合の課題

はじめに タイトルの通りなのですが、本来産業用カメラは、製造や流通など産業の現場で活躍する精密かつタフな高品質なカメラであり、現場の要望に応えて進化を繰り返してきたものなのですが、本記事は 本来の用途と違う 研究開発に使う場合の課題について触…

Zynq/ZynqMPのクロス開発環境を構築してみた

はじめに 私はこれまで ZYBO(Zynq-7000) や KV260(ZynqMP) の Linux 環境を活用してセルフコンパイル環境をメインに活用してきました。 Linux では gcc も rust も動きますので、OpenCV などの C++ や Rust などネイティブコンパイラでバージョン依存の強い…

オープンハードウェアの壁

はじめに ハードウェアの一言でくくってしまうと広すぎますが、個人でも作れる規模の電子基板とかのハードウェアガジェットを想定したお話です。 ここ数十年を経てオープンソースソフトウェア(OSS)というものはだいぶ世間の認知度が上がってきております。特…

出力から入力する回路

20年前のアイデアの振り返り 例によってネタ記事です。 ちょうど20年ほど前に中二病的に思いついたネタ構造でこのへんから辿れます。とあるきかっけで思い出す機会があったので、改めて面白半分に恥をさらしてみようと思います。 遊星歯車で構成するNANDゲー…

FPGAのリセットについて

はじめに 先日 FPGAのリセットについての考察 - Ryuz's tech blog という記事を書きました。 アクセス解析見てみると意外とアクセスが多いページのようで、まじめに普通のFPGAのリセットの話を知りたくて来られた方に申し訳ないので、少しだけそういう話も書…

「肩の上の秘書」に思うテクノロジーと人の幸せ

はじめに 今回はコールセンターのたらい回しの話に絡めた、ポエムと言うか駄文回です。 私はテクノロジーというものは人と人とのコミュニケーションを円滑にし、お互いを幸せにすべきものであろうと思っています。 昨今、ChatGPT はじめ、高度なAIの出現で、…

MIPI-CSI2仕様を調べてみる

はじめに ご承知の通り MIPI 仕様自体は無償公開あれているような代物ではありませんが、多くの FPGA ベンダーが、無償の IP コアを提供していることもあって、趣味レベルであっても FPGA などで画像取り込みができるような状況になっています。 一方で、そ…

GitHub Copilot を使って 古いブログを引っ越ししてみた話

はじめに LUT-Network の古い記事が結構ココログの方にあったのですが、急に消えてびっくりしてる人が居たらいけないので(いないとは思いますが)、こちらでも移動先 をアナウンスしておきます。移動しただけで消えてはおりませんのでご心配なく。 LUT-Networ…

Windows版 GOWIN EDA を WSL2のコマンドラインから使う工夫とか

はじめに GOWIN の FPGA は低価格で買えるものも多いため、夏休みの自由研究的に使う方も多いのではないでしょうか? GOWIN EDA はユーザー登録を行って、ライセンスファイルを発行してもらわないと使う事が出来ません。 私は、USBを繋いでプログラムを行っ…

GOWINで加算の性能を調べてみる

はじめに 最近 GOWIN を触る機会も多いのですが、他のベンダーさんの FPGA とくらべてあまり深いところまでは触っていません。 また、 AMD の CARRY8 のようなものが無いのではという噂も聞いたのと、LUT4 であるという点なども加味して、大雑把に性能を調べ…

アクティブマルチスペクトルカメラを妄想してみる

今作っている Spartan7 + オンセミ社 PYTHON300 イメージセンサ、やっと絵が出始めました。 お手製のPYTHON300カメラモジュール で、いつも通りの LUT-Network への応用や、オプティカルフロー計測、その他リアルタイムアクティブセンシングいろいろ考えて…

メタステーブルについて考えてみる

はじめに もう専門の方から一直線にマサカリが飛んできそうなタイトルで怖いんですが、ちょうど今週末は非同期周りを整理していて X でも少し盛り上がったのでネタにしておきます。 組み込みやっていると、チャタリングとかシュミットトリガとかはよく聞くわ…

リアルタイムコンピューティング的CNN再考

はじめに 当方はFPGAを使ったリアルタイムコンピューティングをメインに活動しております。 流行りの深層学習は私の中では One of them でしかないつもりなのですが、それでも昨今どうしても無視はできないので、リアルタイムコンピューティング観点でCNNを…

ハイサンプリングレートのススメ

はじめに 当サイトはリアルタイムコンピューティングの為に、ハイフレームレート撮影などサンプリングレートを高めることでリアルタイム性を上げることをことあるごとに推奨しています。 それはどういうことかというのを少し説明したいと思います。 高速度撮…

演算量とリアルタイム性の関係

はじめに 昨今、深層学習を中心に例えば画像認識を行うにしても大量の演算能力を投入して、高度な結果を得ようとするものが増えました。 しかしながら、同期デジタル回路による計算機が持つ演算能力には上限があり、演算器数×周波数以上の時間当たりの演算は…

いろいろ挑戦してみたいこと(妄想)

はじめに せっかく失職して自由の身になったので(?)、いろいろ挑戦してみたいなと思っています。 とはいえ、いろいろ挫折してまた就職活動始めたり、フリーランス活動の中でNDA縛りとかで身動きとれなくなったりとか、いろんなことが起こりうるので、今のう…

LUT-Netowork の今後の可能性

はじめに 2025年3月1日より、個人事業主として開業申請いたしました。 当面は続けられる限りフリーランス的な働き方を併用しながら、今まで自分が挑戦できなかった分野の開発に取り組んでいこうと考えております。 で、サラリーマン的に趣味的に作っていた L…

FPGAのリセットについての考察

はじめに ファミコン世代にとっては当たり前に通じてしまう「リセットボタン」も、だんだん通じにくくなっているという話も聞きます。 今回はFPGAのリセットについて考えてみたいと思います。同期リセットとか非同期リセットとか、負倫理/正論理とかの話で…

FPGAを始めるときの壁

FPGAをはじめてみたい 「FPGAという何やら面白いものがあるらしくて、使うとすごい計算やいろいろなデバイス制御ができるらしい。」 と、興味を持って頂ける方はそれなりにいらっしゃるのではないでしょうか? 早速なんらかのHDLなる言語を勉強し、例えば Sy…

続・計算機の効率(x86の加算器を推定してみる)

はじめに つい最近、x86 CPU が割と長らく整数乗算をスループット1で処理していなかったことに気が付いてこんなブログを書きました。 ついでなので、工夫や構成でトランジスタ数の変わる乗算は置いておいて、比較的変化の少ない加算器で専用計算機との比較を…

CPUが苦手でFPGAが得意な処理についての妄想

CPUが苦手でFPGAが得意な処理にどんなのがあるか考えたときに、案外 LUT-Network はそれに近いかもしれないと思う。 ここで手元にある KV260 を考えてみると 117,120個 のLUTがある。 LUT-Network で行われる動作としては ランダムに結線されている別のノー…

計算機の効率というものについて素人が駄文を書いてみる

はじめに 計算機の世界で ××倍速い、とか、〇〇倍の効率を達成とか、よく聞くわけですが、いわゆる当社比で2つを比べる場合ならともかく、そうでない場合はいろいろと比較が難しいように感じております。 特に FPGA をやっていると、ASICと比べると 10~100…

計算機科学から見たリアルタイム・ハイスピードビジョン

はじめに 先日、下記のくだりを X で呟いたところ、思いのほかのプチバズり状態となり驚きました。 動き探索などが良い例で、1フレームで100ピクセル移動されると、100x100で10000ピクセルの範囲を検索しないといけないが、フレームレートを100倍にすると、1…

LUT-Network を振り返る

はじめに BinaryBrain の最初のコミット日を調べてみると 2018年8月1日でした。 github.com LUT-Network という名前のネットワークとその学習環境である BinaryBrain の開発を始めてから 6 年以上が経ったことになります。 世の中の AI が LLMなどで盛り上が…

パソコンとIoTとを考えてみる

はじめに 一言で「ソフトウェア開発」と言っても非常に手広いと思います。 特に、当サイトでは常々「FPGA はソフトウェアだ」と言っておりますとおり、ソフトウェアの範疇は非常に広いです。 一方で、「ソフトウェア開発」といったときに、やはりパソコンや…

なぜUSBタイプのAIアクセラレータは進化しないのか?(妄想)

はじめに まだまだ現役で利用されているシーンも多いかとは思いますが、下記のようなUSBに接続するタイプのアクセラレータが 2018年~2019年ごろ発売され始めて以降、特に進化したバージョンが現れてニュースを騒がせたりしていない気がします(私が知らない…

FPGAプログラミングとは

はじめに 今更と言うところはあるのですが、FPGAプログラミングを知らない人に説明する機会も増えてきたので少し記事にしておきます。 FPGA とは 昔電子工作したときに撮影した写真が出てきたので張っておきますが、いわゆるこんなやつです。 こんなやつです…

MN-Coreを素人考察してみる

はじめに 先般 MN-Ccore Challenge なるものが開催され、私もスキマ時間に気分転換的にちょこちょこ挑戦していたのですが、とても面白いアーキテクチャだなと思いました(順位はまあその力及ばず微妙な感じでしたが)。 普段 FPGAプログラミングが多い私ですが…

データ並列とパイプライン並列

はじめに FPGAなどでデータ処理をする場合、その並列性を活かして高性能な処理をするという事はしばし求められることです。 その際にしばし使われるデータ並列とパイプライン並列を整理しておきたいと思います。 データ並列と言うと、AVX-2 のような SIMD(Si…