FPGA

活動紹介

続・テクスチャキャッシュ

以前から作成中のテクスチャキャッシュの改善に取り組んでいます。 以前との大きな修正点として、L1とL2の間のリングバスの数をL2のユニット1つにつき、リング1つとして多重化しています。 L1の帯域に見合った幅を確保するのに、単純にバス幅を広...
FPGA

バイリニア補間するユニット

バイリニア補間するユニットを作って、以前作成したテクスチャキャッシュと統合して2Dサンプラーユニットを作って見ました。 各バイリニアのユニットは、4サイクルかけて1ピクセル処理できるようにしており、それを8並列で結合して合成して見ました。 ...
FPGA

除算の検討(回復法と非回復法)

引き続きなぜか除算に迷走しています(苦笑)。除算にはいろいろなやり方がありますが、今回はシェーダーとかのプログラマブルロジックではなく、固定グラフィックスパイプライン内のパースペクティブ補正に組み込むことを前提にスループット1の整数除算器を...
FPGA

XILINXのDSP推論

普段RTLで演算を書くときは、合成器の推論に任せっぱなしだったのですが、前回の延長で、4サイクルでバイリニアの積和を考えている途中で、ちょっと気になることがあって、少し実験をしてみました。 実際、多くのケースでDSP48E1をかなりうまく推...
FPGA

テクスチャキャッシュを試作してみました

久しぶりに以前の続きです。下記のようなアーキテクチャでGPU用のテクスチャキャッシュを試作してみました。この上にバイリニア補間を行うSamplerが乗っかればそれっぽくなるはずです。軽量なリングバスを実験的に入れてみましたので各ユニットのサ...
FPGA

Xilinxの分散メモリを見直してみた

GPUを検討しつつ、本丸のシェーダーになかなか行かずにテクスチャキャッシュを検討中であったりします。キャッシュといえば、メインのキャッシュメモリとそれを管理するTAGメモリで構成されるわけですが、今回はTAGメモリのお話です。メインのキャッ...
FPGA

バイリニア補間ユニットの並列数について考える

先日作った射影変換回路では、ニアレストネイバーでの処理でした。せっかく浮動小数点コアまで作って、座標は小数精度で計算しているのだから、バイリニア補間ぐらいやりたい、と思ってしまいます。ここで、1画素生成するのにテクスチャは4画素読み込む必要...
FPGA

テクスチャキャッシュについて考えてみる

続、GPU考察です。テクスチャマッピングはまだ先と思っていましたが、先日射影変換回路を作ったので少し検討して見ます。 前回は射影変換の座標計算のみ作って、メモリアクセスについては力技前提でXILINXのIPコアのキャッシュを使いました。 よ...
技術記事

ZyboでSobelフィルタ

GWに書くだけ書いて試していなかったSobelフィルタを動かして見ました。目的は、N x M のブロックフィルタを準備することで、ものすごく前に買ったイメージセンサの現像処理(デモザイク)を書く前置きだったりします。なので、OpenCV の...
FPGA

作成した浮動小数点演算ライブラリの整理

作成した浮動小数点演算ライブラリを整理してみました。XILINXのIP使えば済む話ではあるのですが、 ・低精度でいいけど高速な逆数計算が欲しかった(本命) ・非正規化数とか例外とか不要なのでコンパクトにしたい ・IPコア使うと verita...
スポンサーリンク