こんにちは、もつです。
新しい課に配属され、色々なことを学んでいます。
今回は課題をしている途中で見つけた「Example Design」というものをご紹介致します。
「Example Design」とは、簡単に言うと、インテル社が作成した設計例のことです。
この、Example Design を用いることで、簡単に検証や評価が行えます。
そこで今回は例として、 Arria V Hard IP for PCI Express の Example Design の作り方を説明いたします。
今回使用した Example Design は作成済みの qsys ファイルが提供されていて、それを自分のプロジェクトに追加して使用する、というスタイルです。
1.qsys ファイルのコピー
インテル® Quartus® Prime がインストールされたディレクトリに PCI Express の Example Design 用の qsys ファイルがあります。
<install_dir>/ip/altera/altera_pcie/altera_pcie_hip_ast_ed/example_designs/<dev>
様々な種類があり、使いたいものを自分の working ディレクトリにコピーします。
図 1
2.Qsys で Generate
インテル® Quartus® Prime を立ち上げて、Qsys を起動します。
プラットフォーム・デザイナー(旧Qsys) 上で、先ほどコピーしてきた qsys ファイル(図 1)を開きます。
開くと、図 2 のような画面が出てきます。
qsys ファイルを読み込んだだけで、簡単にシステムを作ることができました!
どういうことでしょうか?
qsys ファイルには使用したコンポーネントやパラメータ、それらの接続情報が保存されています。
そのため、qsys ファイルを読み込むだけで魔法のようにシステムが完成した状態で現れたのです。
qsys デザインは、以下のようになっております。
デザインを確認後、右下の Generate HDL をクリックします。(図 2)
Generate HDL の画面で、合成やシミュレーションで使用する言語などを選択します。
これで、Qsys で生成されたデザイン情報が入っている qip ファイルが生成されます。
この qip ファイルを のプロジェクトに登録することによって、qsys システムをコンパイルするために必要なファイルやライブラリを一括してプロジェクトに登録することが出来ます。(登録は後程行います)
図 4
3.プロジェクトの作成
次に、インテル® Quartus® Prime で新しくプロジェクトを作成します。
ここでの注意点は、「プロジェクト名を、qsys ファイルと同じにする」ということです。(図 5)
そうすることで、Qsys で生成したシステムがトップ階層と認識されるため、top ファイル等が不要となります。
また、Add Files の画面で、qip ファイルを登録します。(図 6)
qip ファイルは、自分が作成した working ディレクトリの下の synthesis フォルダにあります。
あとは、デバイスを選択すればプロジェクトの完成です。
図 7
4.コンパイル
ピン配置、タイミング制約をかけ、コンパイルすることで実際に使えるようになります。
これで Example Design の作成が完了しました。
まとめ
すでに作成されている Example Design を使うことで、すぐに検証等が出来ます。
また、動作の確認にも使えますので、私のような初心者には良いものだと思います。
今回は Qsys を用いて Example Design を作成しましたが、IP catalog からも作成できます。
また、今回は PCI Express の Hard IP を使用しましたが、これ以外のIP でも Example Design を作成できます。
ただ、IP によって、今回のように qip ファイルが出来る場合もあれば、qpf ファイルが生成されるケースもあります。
この Example Design については、それぞれの IP のユーザーガイド、もしくは、ハンドブックに詳しく書かれておりますので、こちらをご覧ください。