Article header library 125037  1

インテル® FPGA の PLL(IP 生成編/Altera PLL)

こんにちは。マクニカでインテル® FPGA 製品の技術サポートをしている 鷲宮タロー です。

インテル® FPGA の PLL』で FPGA の PLL の概要を解説しましたが、ここでは Altera PLL を使用するための手順について解説します。Altera PLL を使用できる FPGA についても、『インテル® FPGA の PLL』で確認できます。

内容

  1. PLL IP の生成
  2. ユーザ回路との接続
  3. シミュレーションで確認

使用するツール

  • インテル® Quartus® Prime 開発ソフトウェア v17.1
  • ModelSim® - Intel® FPGA Edition 10.5b (Quartus® Prime 17.1)

ターゲットの FPGA と開発ツールのエディションの関係については、こちらをご覧ください。

Quartus® Prime のエディション比較

インストールが済んでいない方は、インテル® FPGA のサイト(ダウンロード)から入手できます。

インテル® FPGA ツールのダウンロード方法
Quartus® Prime & ModelSim® - Intel® FPGA Edition のインストール方法

1. PLL IP の生成

ここでは、Cyclone® V のプロジェクトを例に説明します。ターゲット・デバイスが Cyclone® V のプロジェクトを開くか、新規に作成します。(Quartus® Prime のプロジェクト作成については、Quartus® はじめてガイド - プロジェクトの作成方法 を参照してください。)

Quartus® Prime 内の IP Catalog の検索バーに pll を入力してください。そうすると、Altera PLL を容易に探し出すことができます。Altera PLL をハイライトした状態で、Add をクリックします。

Article header library 125037 pic01  1

図1-1 IP Catalog で Altera PLL を選択

PLL IP を生成するディレクトリと名前、生成する言語(VHDL or Verilog)を指定して、OK をクリックします。プロジェクトの作業ディレクトリか、その下位ディレクトリに生成することをお勧めします。

Article header library 125037 pic02  1

図1-2 PLL IP を生成するディレクトリと名前を指定

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

Article header library 125037 pic03  1

図1-3 Altera PLL 設定ウィンドウ

各タブ内の主な設定項目について説明します。

General タブ

リファレンス・クロック(入力クロック)の周波数や locked ピンの有効/無効、出力クロックの数、出力クロックの設定などの一般的な設定を行います。

ここでは、以下のような設定をすることにします。

  • 入力(Reference Clock)
    • 周波数:50MHz

  • 出力 0(outclk0)
    • 周波数:100MHz
    • 位相シフト(Phase Shift):0ps(0degrees)
    • デューティ比:50%

  • 出力 1(outclk1)
    • 周波数:100MHz
    • 位相シフト(Pahse Shift):90degrees
    • デューティ比:50%

Article header library 125037 pic04  1

図1-4 Altera PLL 設定ウィンドウ-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をクリックし、問題なければ正常に生成されます。

Article header library 125037 pic05  1

図1-5 PLL IP の生成完了

IP 関連のファイルを現在開いている(ここに示されているパスの)プロジェクトへ追加する場合は、Yes をクリックしてください。ここで No をクリックした場合は、手動で追加設定する必要があります。

すべてのプロジェクトに自動で追加する場合は、Automatically add Quartus Prime IP Files to all projects にチェックを入れてください。

Article header library 125037 pic06  1

図1-6 PLL IP 関連ファイルを自動でプロジェクトに追加

これで、PLL IPの生成が完了しました。皆さんが設計中のユーザ回路と接続して、論理設計を進めましょう。

もし、PLL IP の設定を変更する場合は、こちらの FAQ をご覧ください。

【FAQ】 IP 編集画面の起動方法

必要な個所を編集したら、再度 PLL IP を生成してください。

2. ユーザ回路との接続

PLL IP が生成されたら、ユーザ・ロジックと接続します。Verilog-HDL や VHDL であれば、生成した PLL IP が下位モジュールとなるイメージです。

既に、ターゲット・デバイスが Cyclone® V のプロジェクトを開くか、新規に作成していますか?(Quartus® Prime のプロジェクト作成については、Quartus® はじめてガイド - プロジェクトの作成方法 を参照してください。)

また、Verilog-HDL や VHDL に慣れていない方は、こちらを参考にしてください。このページ内の下位モジュール(ブロック)の呼び出しをご覧ください。

はじめてみよう!Verilog-HDL <演習問題つき>
はじめてみよう!VHDL <演習問題つき>

回路図で設計している方は、PLL IP 生成時にシンボルも生成していれば、回路図エディタ上で呼び出して接続してください。ただし、回路図だとそのままシミュレーションができません。やはり、HDL で設計することをお勧めします。

<裏ワザ>

HDL 記述に慣れていない方は、Quartus® Prime の回路図エディタで回路図から HLD へ変換する機能を使ってみてください。変換する方法は、こちらを参考にしてください。

Quartus® はじめてガイド - 回路図エディタの使い方

上位階層のデザイン・ファイルの作成が終わったら、Quartus® Primeで論理合成してみましょう。正常に完了しましたか?

回路図から変換した場合、プロジェクト内に回路図ファイル(BDF ファイル)と変換後の HDL ファイル(Verilog-HDL なら V ファイル、VHDL なら VHD ファイル)の両方が登録されていると正常に論理合成ができません。(Project メニュー ⇒ Add/Remove files in Project から使用しない方のデザイン・ファイルを削除してください。)

3. シミュレーションで確認

それでは、シミュレーションで確認してみましょう。今回は ModelSim® - Intel® FPGA Edition を使用します。シミュレーションで確認するにはテストベンチが必要ですが、テストベンチはユーザが作成する必要があります。

テストベンチの作成方法については、こちらをご覧ください。

はじめてみよう!テストベンチ

テストベンチができたら、シミュレーションする準備ができたということになります。ModelSim® で手動操作でシミュレーションすることもできますが、便利な方法を紹介します。参考にしてください。

NativeLink 機能を使用したシミュレーション

msel_setup.tcl を使用したシミュレーション

おすすめ記事/資料はこちら

関連タグ