こんにちは。マクニカでインテル® 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 をクリックします。
![Article header library 127301 pic01 1](/assets/mig/cfnet/article_image/article_header_library_127301_pic01__1.jpg)
ALTPLL を生成するフォルダーパス、ALTPLL に付ける名前、生成する言語(VHDL or Verilog)を指定して、OK をクリックします。
生成先は、プロジェクトの作業フォルダーか、その下位フォルダーに生成することをお勧めします。
![Article header library 127301 pic02 1](/assets/mig/cfnet/article_image/article_header_library_127301_pic02__1.jpg)
ALTPLL のパラメーター設定ウィンドウが起動します。
ここで詳細なドキュメントや各設定項目の説明を見たい場合は、Documentation をクリックしてください。
![Article header library 127301 pic03 2](/assets/mig/cfnet/article_image/article_header_library_127301_pic03__2.jpg)
各タブ内の主な設定項目の概要を説明します。
各項目の詳細は、先ほど紹介した資料へのリンクからユーザーガイドをご覧ください。
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 |
![Article header library 127301 pic04 1](/assets/mig/cfnet/article_image/article_header_library_127301_pic04__1.jpg)
Inputs/Lock
非同期リセット信号や PLL ロック信号などの ALTPLL のオプション信号の設定を行います。
![Article header library 127301 pic05 1](/assets/mig/cfnet/article_image/article_header_library_127301_pic05__1.jpg)
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) |
![Article header library 127301 pic06 1](/assets/mig/cfnet/article_image/article_header_library_127301_pic06__1.jpg)
![Article header library 127301 pic07 1](/assets/mig/cfnet/article_image/article_header_library_127301_pic07__1.jpg)
EDA タブ
シミュレーション時に必要なライブラリー名が表示されますので、メモしておきましょう。
![Article header library 127301 pic08 1](/assets/mig/cfnet/article_image/article_header_library_127301_pic08__1.jpg)
Summary タブ
ALTPLL 生成時に自動生成させるファイルを指定します。
![Article header library 127301 pic09 1](/assets/mig/cfnet/article_image/article_header_library_127301_pic09__1.jpg)
各種設定を終えたら Finish をクリックし、IP を生成します。
![Article header library 127301 pic10 1](/assets/mig/cfnet/article_image/article_header_library_127301_pic10__1.jpg)
"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 の開発フロー / トップページ