こんにちは。マクニカでインテル® FPGA 製品の技術サポートをしている 鷲宮タロー です。
『インテル® FPGA の PLL』で FPGA の PLL の概要を解説しましたが、ここでは ALTPLL を使用するための手順について解説します。
ALTPLL を使用できる FPGA ファミリーは、あらかじめ『インテル® FPGA の PLL』で確認してください。
内容
使用するツール
- インテル® Quartus® Prime 開発ソフトウェア
- ModelSim® - Intel® FPGA Edition
ターゲットの FPGA と開発ツールのエディションの関係については、Quartus® Prime のエディション比較 をご覧ください。
開発ソフトウェアのインストールが済んでいない方は、インテル® FPGA の Web サイトから入手できます。
詳細は、下記コンテンツをご覧ください。
インテル® Quartus® Prime 開発ソフトウェアおよび ModelSim® - Intel® FPGA Edition のダウンロード方法
インテル® Quartus® Prime 開発ソフトウェアおよび ModelSim® - Intel® FPGA Edition のインストール方法
1. ALTPLL の生成
ここでは、MAX® 10 のプロジェクトを例に説明します。
ターゲットデバイスが MAX® 10 であるプロジェクトを開くか、新規にプロジェクトを作成します。
(Quartus® Prime のプロジェクト作成方法は、Quartus® はじめてガイド - プロジェクトの作成方法 を参照してください。)
Quartus® Prime 内の IP Catalog の検索バーに pll をタイプ入力してください。
すると、ALTPLL を容易に探し出すことができます。
ALTPLL をハイライトした状態で、Add をクリックします。

ALTPLL を生成するフォルダーパス、ALTPLL に付ける名前、生成する言語(VHDL or Verilog)を指定して、OK をクリックします。
生成先は、プロジェクトの作業フォルダーか、その下位フォルダーに生成することをお勧めします。

ALTPLL のパラメーター設定ウィンドウが起動します。
ここで詳細なドキュメントや各設定項目の説明を見たい場合は、Documentation をクリックしてください。

各タブ内の主な設定項目の概要を説明します。
各項目の詳細は、先ほど紹介した資料へのリンクからユーザーガイドをご覧ください。
Parameter Settings タブ
General/Modes
リファレンスクロック(入力クロック)の周波数や PLL タイプ、PLL のオペレーション・モードなどの一般的な設定を行います。
ここでは一例として、下表のような設定をすることにします。
What is the frequency of the inclk0 input? (入力クロックの周波数) |
50 (MHz) |
How will the PLL outputs be generated? (PLL のモード) |
In normal mode |

Inputs/Lock
非同期リセット信号や PLL ロック信号などの ALTPLL のオプション信号の設定を行います。

PLL Reconfiguration タブ
PLL のリコンフィギュレーションに関する設定を行います。
今回の例では、リコンフィギュレーションの機能を使用しません。
Output Clocks タブ
PLL で生成するクロックの逓倍比や分周比、位相シフトなどの設定を行います。
また、PLL で生成できるクロックの数は、デバイスに依存します。
今回は、以下のように設定します。
clk c0 |
clk c1 |
|
Clock multiplication factor |
2 |
2 |
Clock division factor |
1 |
1 |
Clock phase shift |
0 (deg) |
90 (deg) |


EDA タブ
シミュレーション時に必要なライブラリー名が表示されますので、メモしておきましょう。

Summary タブ
ALTPLL 生成時に自動生成させるファイルを指定します。

各種設定を終えたら Finish をクリックし、IP を生成します。

"Generation Successful" を確認後、Exit をクリックすると、下図のウィンドウが表示されます。
生成した IP デザインを、現在開いているプロジェクトへ追加登録する場合は、Yes をクリックしてください。(No をクリックした場合は、手動で追加設定してください。)
これで、ALTPLL の生成が完了しました。
みなさんが設計中のユーザー回路と接続して、論理設計を進めましょう。
もし、ALTPLL のパラメーター設定を変更する場合は、こちらの FAQ をご覧ください。
【FAQ】 IP 編集画面の起動方法
必要な個所を編集したら、再度 ALTPLL を生成してください。
2. ユーザー回路との接続
ALTPLL が生成されたら、ユーザーロジックと接続します。
Verilog-HDL や VHDL に慣れていない方は、こちらを参考にしてください。このページ内の下位モジュール(ブロック)の呼び出しをご覧ください。
はじめてみよう!Verilog-HDL <演習問題つき>
はじめてみよう!VHDL <演習問題つき>
スケマティック (回路図) で設計している方は、IP 生成時に回路図エディター用のシンボルも生成されているので、回路図エディター上でユーザーが作成した IP シンボルを呼び出して接続してください。
ただし、スケマティックは 3rd パーティーツールのシミュレーターで RTL シミュレーションができません。やはり、HDL で設計することをお勧めします。
<裏ワザ>
HDL 記述に慣れていない方は、Quartus® Prime の回路図エディターで回路図から HLD へ変換する機能を使ってみてください。
変換する方法は、こちらを参考にしてください。
Quartus® はじめてガイド - 回路図エディターの使い方
上位階層のデザインファイルの作成が終わったら、
Quartus® Prime のメニューから Processing > Start > Start Analysis & Synthesis を選択し論理合成してみましょう。
正常に完了しましたか?
回路図から変換した場合、プロジェクト内に回路図ファイル(BDF ファイル)と変換後の HDL ファイル(Verilog-HDL なら V ファイル、VHDL なら VHD ファイル)の両方が登録されていると正常に論理合成ができません。(Project メニュー > Add/Remove Files in Project から、使用しないデザインファイルを削除してください。)
3. シミュレーションで確認
それでは、RTL シミュレーションで動作を確認してみましょう。
今回は ModelSim® - Intel® FPGA Edition を使用します。
シミュレーションで確認するにはテストベンチが必要ですが、テストベンチはユーザーが作成します。
テストベンチの作成方法については、こちらをご覧ください。
はじめてみよう!テストベンチ
テストベンチができたら、シミュレーションする準備ができました!
ModelSim® で手動操作でシミュレーションすることもできますが、ここでは便利な方法を紹介します。参考にしてください。
NativeLink 機能を使用したシミュレーション
FPGA のファンクション・シミュレーションは NativeLink で解決しよう
ModelSim® 向けシミュレーション用スクリプトファイルを生成・実行してみよう
msel_setup.tcl を使用したシミュレーション
以上、鷲宮タローが ALTPLL の作成からシミュレーションまでの手順をご紹介しました。
おすすめ記事/資料はこちら
PLL の分周 / 逓倍(ていばい)
PLL の応用(スペクトラム拡散で EMI を減らそう!)
PLL のループ帯域幅とスペクトラム拡散のビミョーな関係
インテル® FPGA の PLL
IP 関連の記事や資料 一覧
インテル FPGA の開発フロー / トップページ