3DグラフィクスのIPコアをOpenCores(http://opencores.org/)に登録してみようと思います。
OpenCoresは、無償(フリー)ハードウェアIPコアのポータルサイトです。
OpenCoresとは
オープン・ソース・ハードウェアIPのNo.1コミュニティです。
OpenCoresは世界最大のオープン・ソースのハードウェアIPを開発するためのサイト/コミュニティです。OpenCores.orgは、様々なディジタルHWプロジェクト(IPコア、SoC、ボードなど)のソースコードを提供します。そして、様々なツールやプラットフォーム、フォーラムやその他の有益や情報を提供することでユーザーをサポートします。
是非私たちに参加してください!
OpenCores:http://opencores.org/ トップーページより
登録しようと思っているIPコア
概要
- 3Dグラフィクス機能のIPコア
- 表示はワイヤ・フレームのみ
- ハードウェア・ジオメトリエンジンとラスタライザを内蔵
- メモリアクセスバス幅は32bit
ジオメトリエンジンの機能
- 頂点データDMA
- マトリックス処理
- クリッピング
- 背面カリング
ラスタライザの機能
- ワイヤ・フレーム表示のみサポート(*ポリゴンの塗りつぶしは非サポート)
IPコアを作った動機
安価なFPGAボードでリアルタイム3Dグラフィクスを表示するために作りました。作成時にターゲットとしたのはAltera DE0 Boardです。DE0で一応リアルタイム表示と呼べる性能を出しながら、かつ搭載されているFPGA Cyclone III 3C16に入るサイズのIPコアを目指した結果、現在の仕様になりました。
IPコアをOpenCoresに登録しようと思った動機
3DグラフィクスIPコアといってもワイヤーフレムしか表示しないので、正直な所あまり使い道がありません。また、最近ではRaspberry PIのような数千円で手に入る小型コンピュータでもGPUが搭載されていて、3Dグラフィクスのコモディティ化が進んでいます。このような状況で、このIPコアの活用方法として思いついたのがOpenCoresに代表されるIPコアのコミュニティサイトへの登録でした。
IPコアの開発ステータス
FPGAボードDE0で実際に動作しています。
デモ 0
デモ 1
指の関節に穴が空いているのは、Skinningを行っていないためです。
IPコアの登録のために必要な作業
現状、RTLと検証環境以外ありません。登録には、少なくとも次の項目を準備する必要がありそうです。
- 仕様書
- RTLへのコメント追加
- 3Dデータコンバートツール
スケジュール
空いている時間に作業を行う予定なので具体的なスケジュールは決めていません。遅くても今年中。できれば半年以内。気持ちとしては5月いっぱい。