こんにちは。マクニカでインテル® FPGA 製品の技術サポートをしている 鷲宮タロー です。
『インテル® FPGA の PLL』で FPGA の PLL の概要を解説しましたが、ここでは PLL Intel FPGA IP を使用するための手順について解説します。
PLL Intel FPGA IP を使用できる FPGA ファミリーは、あらかじめ『インテル® FPGA の PLL』で確認してください。
内容
使用するツール
- インテル® Quartus® Prime Standard Edition 開発ソフトウェア
- ModelSim® - Intel® FPGA Edition
ターゲットの FPGA と開発ツールのエディションの関係については、Quartus® Prime のエディション比較 をご覧ください。
開発ソフトウェアのインストールが済んでいない方は、インテル® FPGA の Web サイトから入手できます。
詳細は、下記コンテンツをご覧ください。
インテル® Quartus® Prime 開発ソフトウェアおよび ModelSim® - Intel® FPGA Edition のダウンロード方法
インテル® Quartus® Prime 開発ソフトウェアおよび ModelSim® - Intel® FPGA Edition のインストール方法
1. PLL IP の生成
ここでは、Cyclone® V のプロジェクトを例に説明します。
ターゲットデバイスが Cyclone® V であるプロジェクトを開くか、新規にプロジェクトを作成します。
(Quartus® Prime のプロジェクト作成については、Quartus® はじめてガイド - プロジェクトの作成方法 を参照してください。)
Quartus® Prime 内の IP Catalog の検索バーに pll をタイプ入力してください。
すると、PLL Intel FPGA IP を容易に探し出すことができます。
PLL Intel FPGA IP をハイライトした状態で、Add をクリックします。
![](/business/semiconductor/articles/id125037_img2.png)
PLL Intel FPGA IP を生成するフォルダーパス、PLL Intel FPGA IP に付ける名前、生成する言語(VHDL or Verilog)を指定して、OK をクリックします。
生成先は、プロジェクトの作業フォルダーか、その下位フォルダーに生成することをお勧めします。
![](/business/semiconductor/articles/id125037_img3.png)
PLL Intel FPGA IP 設定ウィンドウが起動します。
ここで、詳細なドキュメントや各設定項目の説明を見たい場合は、Documentation をクリックしてください。
![](/business/semiconductor/articles/id125037_img1.png)
各タブ内の主な設定項目について簡単に説明します。
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 (%) |
![](/assets/mig/cfnet/article_image/article_header_library_125037_pic04__1.jpg)
以下のタブについては、概要を説明します。各項目の詳細は、先ほど紹介した資料へのリンクからユーザーガイドをご覧ください。
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 を生成します。
![](/business/semiconductor/articles/id125037_img4.png)
"Generation Successful" を確認後、Exit をクリックすると、下図のウィンドウが表示されます。
生成した IP デザインを、現在開いているプロジェクトへ追加登録する場合は、Yes をクリックしてください。(No をクリックした場合は、手動で追加設定してください。)
![](/business/semiconductor/articles/id125037_img5.png)
これで、PLL Intel FPGA IP の生成が完了しました。
みなさんが設計中のユーザー回路と接続して、論理設計を進めましょう。
もし、PLL Intel FPGA IP の設定を変更する場合は、こちらの FAQ をご覧ください。
【FAQ】 IP 編集画面の起動方法
必要なパラメーターを編集したら、再度 PLL Intel FPGA IP を生成してください。
2. ユーザー回路との接続
PLL Intel FPGA IP が生成されたら、ユーザーロジックと接続します。
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 を使用したシミュレーション
以上、鷲宮タローが PLL Intel FPGA IP の作成からシミュレーションまでの手順をご紹介しました。
おすすめ記事/資料はこちら
PLL の分周 / 逓倍(ていばい)
PLL の応用(スペクトラム拡散で EMI を減らそう!)
PLL のループ帯域幅とスペクトラム拡散のビミョーな関係
インテル® FPGA の PLL
IP 関連の記事や資料 一覧
インテル FPGA の開発フロー / トップページ