2021-01-01から1年間の記事一覧
はじめに 少し前にUltra96V2 で FPGA化した リアルタイムOS を試すサンプルと言うものを公開しました。 作りっぱなしになっていたので、まだ碌にテストも出来ていない状態ですが、原理実験的には成り立っていそうですので、少し解説記事的なものを書いておこ…
概要 以前、「uioやudmabufにアクセスするC++のクラスを作ってみる」という記事を書きました。 今回はその Rust 版になります。最大の違いは C++ 版では Linux しか考慮していなかったのに対して、Rust 版ではベアメタルプログラミングでのMMIOアクセスも考…
はじめに 少し前に、HLSで書いたC言語のコードを、コマンドラインから一気に Vivado に取り込んで合成するサンプルを作ってみましたが、ブログにかけてなかったと思うのでこちらにも少し書いておきます。 サンプルはこちらにあります。 とは言え、殆どが下記…
はじめに 組込みRustの勉強ついでに RTOS(リアルタイムOS)っぽいものを作ってみようと試みたちょっとしたサンプル的なものです。 以前の記事の後、放置状態だったのですが、今回簡単なサンプルだけ動くようにして crates.io にも登録したので続編となります…
はじめに こことかで少し実験を始めていい感触が出てきたので少し備忘録的に書いておきます。 具体的には ZynqMP の RPU(Cortex-R5) 用にPLでRTOSロジックを作っていろいろ実験中です。 なぜ今さらFPGAでRTOSなのか? RTOSをロジックで記述しようという試み…
発表資料 本日TOPPERS開発者会議2021にてLTで参加させて頂きました。 RTOSの具体的なお試しは殆ど進んでなかったので、かなり「こうできたらいいなぁ」レベルのお話になってしまいましたが、楽しく参加させていただきました。 資料を下記に公開しておきます…
はじめに 前回ぐらいからIIR型のネットワークに向けていろいろやってるのですが、道が長そうなのと、夏季休暇もあって少し進展もあったので途中経過をブログに残しておきます。 LUT-Networkのおさらい 当サイトでは主にFPGAで超リアルタイムなバイナリニュー…
はじめに 先日 Twitter に書いた内容ではあるのですが、ミップマップ構造を使ったIIRフィルタライクなRNNネタを備忘録程度にまとめておきます。 ミップマップについてはWikipediaの記事などを見て頂ければと思いますが、CGなどでテクスチャマッピングを行う…
Verilator のコンパイルを速くしたい 実行速度は爆速の Verilator ですが、ソースの規模が大きくなってくるとコンパイル時間が長くなってきます。 こちらで、Clang使うと少し早くなると紹介されていたのですが、なかなか手を出せずにいたところ cmake で使う…
はじめに 私のサイトでは 1998年に μITRON仕様の HOS-80をリリースさせていただいたのを出発点に、リアルタイムコンピューティングを扱ってきました。 いくつかの活動や成果物は私のWebサイトなどにも貼っておりますし、いろんな個人的な発表やTwitterなどで…
はじめに 私のTwitter のトップにも置いているこの動画ですが、かなり昔 C++ ベースでハイパーパラメーターや構造を何度も変えてリコンパイルしながら少しづつ試行錯誤してネットを育てるという事をやってしまったので、容易に再現環境が作れずにおりました…
はじめに 最近、Ultra96V2 で Mali-400 使ってみようと思い、Rust の勉強ついでに久しぶりに OpenGL を触っています。 対応しているのが OpenGL ES 2.0 なので、古い書き方も出来なければ最新と言うわけでもない微妙な環境です。 当然 DirectX も Vulkan も…
概要 Ultra96V2 の SDカード容量が心細くなってきたのと、以前にSDを酷使し続けて壊してしまった反省もあって、データをネットワーク越しに置くことでSDカードの容量不足と負担を減らそうという試みです。 Ultra96で使っているのはこちらのDebianイメージで…
Verilator勉強会で発表させていただきました Verilator勉強会 2021/05/29 私の資料はこちら 基本的には過去記事のこれやこれのお話をさせて頂きました。 感想 私の発表はともかく、Verilator の中についてしっかり追いかけておられる @Vengineer氏 や @msyks…
はじめに Verilator を試すのに昔書いたRTLソースを発掘していたら、かなり昔書いたGPU用のテクスチャサンプラーとテクスチャキャッシュが出てきました。 こんなことやってたころに作ったやつだと思いますが、記事にしたことが無かったと思いますので、少し…
はじめに 今更ながら@ikwzm氏の「一体いつから FPGA はハードウェアだと錯覚していた?」に感化されて、私なりにFPGA上で行うソフトウェア開発がどういうものかというのを再考してみたいと思います。 前置きですが、あくまですべて私見ですので、こういう風…
はじめに 前回に続くネタです。これ自体は特に Verilator に依存しているわけではなく汎用のC++ライブラリとして記述してるのでいろいろできると思うのですが、ひとまずは Verilator と C++ モデルを接続動作させるのに使っています。 何を作っているのか 作…
はじめに どうも界隈でVerilatorなるものを耳にするようになったので少し試してみました。 結論から言うと、いろいろ制約はあるものの シミュレーション速度が爆速である テストベンチをC++で書くので OpenCV などが使いやすい の2点から、シミュレーション…
HOS-V4a のサンプル作ってみました 以前書いた記事で Ultra96 の Cortex-R5 を使うのにあれこれやっておりました。 Ultra96V2のDebianイメージで Cortex-R5 を認識させる HOS-V4a(ITRON仕様 RTOS)をUltra96V2(ZynqMP)のCortex-R5で動かす ARMの割り込みPL390…
リリースのお知らせ ずいぶんと久しぶりになりますが、コロナもあって引きこもりのお正月を迎えるにあたって、少しまとまった時間が取れましたので Python対応を強化して BinaryBrain Ver4 をリリースいたしました。 Ver4 ソースコード一式 ('ver4_release' …