Ryuji Fuchikami

FPGA

バイリニアのXILINX FPGA向け実装

乗算器を使わないバイリニア補間のコードを書いています。その過程の線形補間の作成でちょっと面白い最適化に気がついたので記事にしておきます。線形補間は2点の比なので、中心(足して2で割る)を求めて片方とリプレースすることを繰り返せば、加算器1段...
計算機科学

RealTime-GPU のアーキテクチャ

現在作成中のRealTime-GPUのアーキテクチャとして時間軸での動作を図にしてみました。従来のアーキテクチャは、高度な並列化の道は辿っているけれども、基本的にはZバッファなどを駆使して、陰面処理を行いつつ、フレームメモリ上に描画が完成し...
FPGA

RealTime-GPU テクスチャマップ編

とりあえず、RTLシミュレーションでテクスチャマッピングが動き出しました。ちゃんとパースペクティブ補正入れています。メモリに置いた画像が前にテクスチャキャッシュ作ったときの640x480画像ですが、テクスチャは 512x512 設定なので、...
計算機科学

リアルタイムコンピューティングについて再考察

私がZ80用のμITRON仕様のRealTime-OSとしてHOS-80を、公開してから20年が経ちました。 以降、H8やARM用など多くの組み込みプロセッサと関わりつつ、HOSも多くのプロセッサに対応してきましたが、やがてFPGAと出会い...
技術記事

低遅延リアルタイムGPUでZテスト

Zテストまで動いたので上げておきます。ポリゴン同士が重なり合ってもちゃんと前後関係を見て描画できるようになりました。HDDのアクセス権でVivadoエラーという関係ないところで長時間嵌りましたが、それ以外は思惑通りどおりの結果となりました。...
FPGA

テクスチャキャッシュ追加考察

以前作成したテクスチャキャッシュについて、改善点が幾つか頭にあるので、備忘録として書いておきます。 現在、tagRAM をシングルポートメモリ(READ_FIRST)で作成し、ダイレクトマップを基本に読み出しと更新を1サイクルで纏めて実施す...
FPGA

低遅延リアルタイムGPUをジャイロと接続

前回作成したZybo(XILINX XC7Z010-1CLG400)上のGPUですが、まずはシンプルなグーローシェーディングのみの段階で、一旦9軸ジャイロセンサー(MPU-9250)と接続してみました。 とりあえずまだ1軸のみの実験ですが、...
技術記事

低遅延リアルタイムGPUのFPGA実装

とりあえずRTLに起こしてみて、ラスタライザまでシミュレーションできたので上げておきます。ラスタライザ出力段階で既にそれなりの絵になってますね。実際はこれを逆数とって(パースペクティブ補正)UVアドレスにして、以前作成したテクスチャキャッシ...
FPGA

ZeroPath-GPUのシャドウマッピングを考えてみる

ZeroPath-GPUのFPGA実装の方はコツコツと検討中です。実装はまだ掛かりそうなので机上の空論を少し書いてみたいと思います。目論見どおりいけば最大ポリゴン数Nを増やすと O(N・log N) のオーダーで回路消費が増えるというレベル...
計算機科学

Spectre/Meltdown脆弱性について考えてみる

Spectre/Meltdown脆弱性が巷を賑わせているようです。当初漠然とした情報が飛び交っていましたが、いろいろと詳細が出始めてきたようですが、改めて、「セキュアなCPUを作る」事と、「パフォーマンスの良いCPUを作る」事の間に乖離が大...
スポンサーリンク