2015.02.28OpenCoresのデザインガイドラインを確認してみました。Guidelinesには次のように書かれています。・設計言語は何を使えばよいですか?特におすすめの言語はありませんが、あまり使われていない言語で設計されたIPコアは利用者が少ないかもしれません。Verilog,SystemVerilogを利用しています。・奨励するSoCバスは何ですか?WISHBONEバスです。利用されているバス規格のうち、真に”フリー”と呼べる唯一の規格です。”Wishbone”ページには、よく利用されているSoCバス規格の比較レポートが置いてあります。・OpenCoresのコーディングガイドラインはありますか?こちらです。guidelines」を読むと、コーディングガイドラインが重要度に応じて3つのクラスにまとめられていました。practice:共通の優れた取り組みなので、ほとんどの場合に適用されるべきガイドライン。ある特異的なケースでは、このガイドラインに違反すると問題が起こる場合がある。Recommendation:奨励されるガイドライン。このガイドラインに違反しなければ、ほとんどの問題発生を防げる。recommendation:厳格なガイドライン。どのような場合であっても守る必要がある。ルールに違反する場合には、違反することに納得できる理由が必要。今回適用するガイドライン今回登録を行おうとしているIPコアでは、次のガイドラインを適用することにしました。(現在でも適用しているガイドラインや、デザインの機能上関係のないガイドラインは省略しています。)動作のコメントを書いて下さい。できればアサイン、ブロックごとに。Recommendation)リセットは、非同期アクティブHighにしてください。(Recommendation)WISHBONEバスを利用してください。(Recommendation)IPコアの外部I/Oはレジスタにしてください。(Recommendation)IPコアのI/O名は奨励されているルールを守ってください。(Recommendation)負論理の信号は*nを使用してください。(Recommendation)私たちの標準ファイルヘッダを利用してください。start」の章には、次の項目が書かれていました。・仕様書を書いてください。・デザインドキュメントを書いてください。・SVNで管理してください。・WISHBONEモデルなどを利用して、検証環境を構築してください。・推奨されるディレクトリ構造にしてください今回のIPコアへの適用について考えるOpenCoresが奨励する項目への対応は、一つ一つはあまり大変ではありません。すべてを漏れなく行おうとすると、やはりそれなりの時間がかかりそうです。時間がかかりそうなのは、デザインドキュメントです。デザインドキュメントをどの程度詳細に書くかは考えどころです。2014年5月号「定番FPGAボード×定番TCP/IPプロトコル・スタックで高速化も学習もOK!ネットワーク通信いじり放題に挑戦」の元になった記事です。インターネット/トランスポート層として、リンク層上にTCP/IPを実装します。「USBフル/ロースピード対応USBホストシステムの実装~ハードウェア編~」の元になった記事です。組み込みシステムにネットワーク機能が加わる事で、より柔軟なシステム設計が可能になります。ディジタル技術資料タイトルとURLをコピーしました。