2015.05.25OpenCoresではWISHBONEバスが奨励されているので、IPコアの外部バスをオリジナルの仕様からWISHNBONEバスに変更しました。guidelines」には次のような記載があります。リセットは、非同期アクティブHighにしてください。B4」には次のような記載があります。すべてのWISHBONEインターフェースはRST_Iのアサーションに続くCLK_Iの立ち上がりエッジで初期化されなければならない。デザインガイドラインでは「非同期リセット」、WISHBONEバスの仕様書では「同期リセット」と読めます。どちらにすれば良いか決めかねるので、とりあえずdefineで選択できるようにコードを書き換えました。今回のIPコアは、マスタ・アクセス時にメモリからデータをバーストでリードする仕様なのですが、WISHBONEバスはどうもバーストの仕様がないようです(コマンド出力と同時にバースト長を指定できない)。DRAM系のメモリに対してバーストでアクセスできないのは、かなり心苦しいのですが、どうしようもありません。バーストアクセスをシングルアクセスに変更しました。実機(DE0)でメモリをSDRAMとしてバスアクセスを比較した結果が次のタイミングチャートです。3ワードのリード(オリジナル)IPコアのバスアクセスは、DE0ではブリッジ回路でAVALONバスに変換しています。この波形は3ワードのバーストリードで頂点データをメモリからフェッチした時のものです。コマンド出力から17サイクル後に最初のデータが有効になり、3ワードの読み出し完了まで22サイクルです。3ワードのリード(WISHBONEバス)WISHBONEバスに変更した回路のバスアクセスでは、シングルアクセスx3で3ワードのリードを行っています。コマンド出力から、3ワードの読み出し完了まで62サイクルです。WISHBONEバスに変更したことで、完全にパフォーマンスが1/3になってしまいました。複雑な気持ちになりますが、仕方ありません。o...OpenCoresOpenCoresで新規アカウントが承認されるまでの時間OpenCoresに新規アカウントをリクエストしたら、承認されるまで非常に時間がかかったというお話です。今回、実装を行うシステムの構成です。...OpenCores挑戦!OpenCoresにIPコアを登録(その0)3DグラフィクスのIPコアをOpenCores(に登録してみようと思います。ディジタル技術資料タイトルとURLをコピーしました。