こんにちは。マクニカでアルテラ® FPGA 製品の技術サポートをしている 鷲宮タロー です。
『アルテラ® FPGA の PLL』で FPGA の PLL の概要を解説しましたが、ここでは PLL IP を使用するための手順について解説します。
PLL IP を使用できる FPGA ファミリーは、あらかじめ『アルテラ® FPGA の PLL』で確認してください。
内容
1. PLL IP の生成
2. ユーザー回路との接続
3. シミュレーションで確認
使用するツール
・アルテラ® Quartus® Prime Standard Edition 開発ソフトウェア
・Questa® - Altera® FPGA Edition
ターゲットの FPGA と開発ツールのエディションの関係については、Quartus® Prime のエディション比較 をご覧ください。開発ソフトウェアのインストールが済んでいない方は、アルテラ® FPGA の Web サイトから入手できます。
詳細は、下記コンテンツをご覧ください。
・Quartus® Prime 開発ソフトウェアおよび Questa® - Altera® FPGA Edition のダウンロード方法
・Quartus® Prime 開発ソフトウェアおよび Questa® - Altera® FPGA Edition のインストール方法
1. PLL IP の生成
ここでは、Cyclone® V のプロジェクトを例に説明します。
ターゲットデバイスが Cyclone® V であるプロジェクトを開くか、新規にプロジェクトを作成します。
(Quartus® Prime のプロジェクト作成については、Quartus® はじめてガイド - プロジェクトの作成方法 を参照してください。)
Quartus® Prime 内の IP Catalog の検索バーに pll をタイプ入力してください。
すると、PLL IP を容易に探し出すことができます。
PLL IP をハイライトした状態で、Add をクリックします。
図1-1 IP Catalog で PLL IP を選択
PLL IP を生成するフォルダーパス、PLL IP に付ける名前、生成する言語(VHDL or Verilog)を指定して、OK をクリックします。
生成先は、プロジェクトの作業フォルダーか、その下位フォルダーに生成することをお勧めします。
図1-2 PLL IP を生成するフォルダーと名前を指定
PLL IP 設定ウィンドウが起動します。
ここで、詳細なドキュメントや各設定項目の説明を見たい場合は、Documentation をクリックしてください。
図1-3 PLL IP 設定ウィンドウ
各タブ内の主な設定項目について簡単に説明します。
General タブ
リファレンスクロック(入力クロック)の周波数や locked ピンの有効/無効、出力クロックの数、出力クロックの設定などの一般的な設定を行います。
ここでは一例として、下表のとおり設定をすることにします。
|
項目 |
設定値 |
|
Reference Clock Frequency (入力クロックの周波数) |
50 (MHz)
|
|
Operation Mode
|
direct
|
|
Enable locked output port
|
On
|
|
Number Of Clocks
|
2
|
|
outclk0 (出力 0)
|
|
|
Desired Frequency (出力クロックの周波数) |
100 (MHz)
|
|
Phase Shift (位相シフト値) |
0 (ps)
|
|
Duty Cycle
|
50 (%)
|
|
outclk1 (出力 1)
|
|
|
Desired Frequency (出力クロックの周波数) |
100 (MHz)
|
|
Phase Shift (位相シフト値) |
90 (degrees)
|
|
Duty Cycle
|
50 (%)
|
図1-4 PLL IP 設定ウィンドウ-General タブ
以下のタブについては、概要を説明します。各項目の詳細は、先ほど紹介した資料へのリンクからユーザーガイドをご覧ください。
Clock Switchover タブ
FPGA のシリーズによっては 2入力で切り替える機能をサポートしており、その設定を行います。
Cascading タブ
FPGA のシリーズによっては PLL のカスケード接続をサポートしており、その設定を行います。
MIF Streaming タブ
PLL の設定データが格納された MIF ファイルを使用したダイナミック・フェーズ・シフト(Dynamic Phase Shift)機能の設定を行います。
なお、Cyclone® V は、この機能をサポートしていません。
Settings タブ
PLL の自動リセットや PLL バンド幅プリセット、ダイナミック・リコンフィギュレーション(Dynamic Reconfiguration)、ダイナミック・フェーズ・シフト、ダイナミック・フェーズ・アライメント(DPA)の設定を行います。
Advanced Parameters タブ
PLL の M/N/C カウンタの値や VCO 周波数など、PLL のパラメーター名とパラメーター値を確認できます。
各種設定を終えたら Finish をクリックし、IP を生成します。
図1-5 PLL IP の生成完了
"Generation Successful" を確認後、Exit をクリックすると、下図のウィンドウが表示されます。
生成した IP デザインを、現在開いているプロジェクトへ追加登録する場合は、Yes をクリックしてください。(No をクリックした場合は、手動で追加設定してください。)
図1-6 PLL IP 関連ファイルを自動でプロジェクトに追加
これで、PLL IP の生成が完了しました。
みなさんが設計中のユーザー回路と接続して、論理設計を進めましょう。
もし、PLL IP の設定を変更する場合は、こちらの FAQ をご覧ください。
必要なパラメーターを編集したら、再度 PLL IP を生成してください。
2. ユーザー回路との接続
PLL IP が生成されたら、ユーザーロジックと接続します。
Verilog-HDL や VHDL に慣れていない方は、こちらを参考にしてください。このページ内の下位モジュール(ブロック)の呼び出しをご覧ください。
スケマティック (回路図) で設計している方は、IP 生成時に回路図エディター用のシンボルも生成されているので、回路図エディター上でユーザーが作成した IP シンボルを呼び出して接続してください。
ただし、スケマティックは 3rd パーティーツールのシミュレーターで RTL シミュレーションができません。やはり、HDL で設計することをお勧めします。
<裏ワザ>
HDL 記述に慣れていない方は、Quartus® Prime の回路図エディターで回路図から HLD へ変換する機能を使ってみてください。
変換する方法は、下記ページにあるドキュメントを参考にしてください。
上位階層のデザイン・ファイルの作成が終わったら、
Quartus® Prime のメニューから Processing > Start > Start Analysis & Synthesis を選択し論理合成してみましょう。
正常に完了しましたか?
回路図から変換した場合、プロジェクト内に回路図ファイル(BDF ファイル)と変換後の HDL ファイル(Verilog-HDL なら V ファイル、VHDL なら VHD ファイル)の両方が登録されていると正常に論理合成ができません。(Project メニュー > Add/Remove Files in Project から、使用しないデザインファイルを削除してください。)
3. シミュレーションで確認
それでは、RTL シミュレーションで確認してみましょう。
今回は Questa® Sim - Altera® FPGA Edition を使用します。
シミュレーションで確認するにはテストベンチが必要ですが、テストベンチはユーザーが作成します
テストベンチの記述方法については、こちらをご覧ください。
テストベンチができたら、シミュレーションする準備ができたということになります。
Questa® Sim を手動で操作し シミュレーション実行することもできますが、ここでは便利な方法を紹介します。参考にしてください。
NativeLink 機能を使用したシミュレーション
msel_setup.tcl を使用したシミュレーション
以上、鷲宮タローが PLL IP の作成からシミュレーションまでの手順をご紹介しました。
おすすめ記事/資料はこちら
Altera FPGA の開発フロー/FPGA トップページ