Article header library 127305  1

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

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

インテル® FPGA の PLL』で FPGA の PLL の概要を解説しましたが、ここでは Intel FPGA IOPLL を使用するための手順について解説します。Intel FPGA IOPLL を使用できる 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® 10 GX のプロジェクトを例に説明します。ターゲット・デバイスが Cyclone® 10 GX のプロジェクトを開くか、新規に作成します。(Quartus® Prime のプロジェクト作成については、Quartus® はじめてガイド - プロジェクトの作成方法 を参照してください。)

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

Article header library 127305 pic01  1

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

IP Parameter Editor が起動して、PLL IP を生成するディレクトリと名前を指定して、Create をクリックします。プロジェクトの作業ディレクトリか、その下位ディレクトリに生成することをお勧めします。

Article header library 127305 pic02  1

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

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

Article header library 127305 pic03  1

図1-3 Intel FPGA IOPLL 設定ウィンドウ

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

PLL タブ

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

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

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

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

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

Article header library 127305 pic04  1

図1-4 Intel FPGA IOPLL 設定ウィンドウ-General タブ①

 

Article header library 127305 pic05  1

図1-5 Intel FPGA IOPLL 設定ウィンドウ-General タブ②

Settings タブ

PLL バンド幅プリセットや Clock Switchover(2入力を切り替える機能)、LVDS External PLL、外部クロック出力の設定を行います。

PLL で生成したクロックを FPGA 外部へ出力するには、専用ポートからの出力が推奨です。そのための設定を行います。

Article header library 127305 pic06  1

図1-6 Intel FPGA IOPLL 設定ウィンドウ-Settings タブ

以下のタブについては、概要を説明します。各項目の詳細は、先ほど紹介した資料へのリンクからユーザ・ガイドをご覧ください。

Cascading タブ

FPGA のシリーズによっては PLL のカスケード接続をサポートしており、その設定を行います。

Dynamic Reconfiguration タブ

ダイナミック・リコンフィギュレーションの設定を行います。

Advanced Parameters タブ

PLL の M/N/C カウンタの値や VCO 周波数など、PLL のパラメータ名とパラメータ値を確認できます。

右下の Generation をクリックすると、IP 生成前の確認画面が表示されます。生成する HDL(Verilog または VHDL)を選択します。シミュレーション・モデルも自動生成させる場合は、Simulation の方の HDL も選択します。設定を保存していない場合は、保存してください。

Article header library 127305 pic07  1

図1-7 IP 生成

問題なければ正常に生成されます。

Article header library 127305 pic08  1

図1-8 PLL IP の生成完了

IP Parameter Editor を閉じます。

これで、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 を使用したシミュレーション

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

関連タグ