ver.9.1 2010 年 1 月 1. はじめに アルテラ社製 FPGA デバイスにおいて PLL を実現するには ALTPLL メガファンクションを使用します ALTPLL を使用することでクロック信号を逓倍 分周 シフトなど簡単に調整することができます PLL で生成したクロック信号を出力専用ピンから外部のデバイスへ供給することも可能なので システムクロックを FPGA にて生成することも可能です ALTPLL メガファンクションは Cyclone シリーズ, Arria シリーズ, Stratix シリーズ, HardCopy シリーズにて利用可能です 使用するデバイスによって ALTPLL のパラメータも異なりますので ご使用デバイスのデータ シートを必ずご確認ください この資料は Quartus II の MegaWizard TM Plug-In Manager で Cyclone III の ALTPLL を生成する方法をご紹介しています 2. 操作方法 本章では 以下のフローに沿って操作方法をご紹介します 2-1. Megawizard Plug-In Manager の起動 2-2. ALTPLL ファンクションの選択 2-3. パラメータの設定 2-1. Megawizard Plug-In Manager の起動 1 2 Quartus II 上の Tool メニュー Megawizard Plug-In Manager をクリックします Create a new custom megafunction variation を選択し Next をクリックします Page 1 of 12 Altima Corporation
補足 1 : MegaWizard Plug-In Manager にて既存のアルテラ ファンクションを変更 すでに MegaWizard Plug-In Manager で作成済みのデザインを編集する場合は Edit an existing custom megafunction variation を選択します 編集したいデザイン ファイルを選択し Next ボタンをクリックします その後 パラメータの編集を行います (2-3. Parameter Settings へ進んでください ) 編集したいファイルを選択して Next をクリック 2-2. ALTPLL ファンクションの選択 MegaWizard Plug-In Manager [page 2a] で 以下の設定を行います デバイスの選択 出力ファイルの言語を選択 出力先ディレクトリを指定 出力ファイル名 ( ファンクション名 : 任意 ) を入力 メガファンクション リストから Installed Plug-Ins I/O ALTPLL を選択 ver.9.1 2010 年 1 月 Page 2 of 12 Altima Corporation
2-3. パラメータの設定以下より ALTPLL のパラメータの設定を行います ( 使用デバイスにより 使用オプション レンジなどが異なりますのでご利用になるデバイスのデータ シートを必ずご確認ください また MegaWizard Plug-In Manager 上の About Documentation などでも ALTPLL の詳細やユーザー ガイドなどがご参照できます ) 1 Parameter Settings タブ ここでは Parameter Settings タブの設定をご紹介しています Parameter Settings タブは General/Modes タブ Inputs/Lock タブ Bandwidth/SS タブ Clock switchover タブで構成されています General/Modes タブ使用するデバイス スピードグレード PLL に入力するクロック周波数 PLL の種類 動作モードを設定します スピードグレードごとに PLL で生成可能なクロックの周波数が異なります PLL を正しく生成するために選定デバイスのスピードグレードを設定してください 各種設定後 Next をクリックします デバイス選択 使用するデバイスのスピードグレード選択 入力周波数 動作モードの指定 ( 次頁参照 ) ver.9.1 2010 年 1 月 Page 3 of 12 Altima Corporation
PLL 動作モードの各種設定は以下のとおりです Use the feedback path inside the PLL In Normal Mode 入力クロックと各レジスタまでのディレイ差を最小限にします In Source-Synchronous Compensation Mode 入力クロックピンと入力データピンの位相関係を I/O レジスタのクロックポート データポートでも保ちます In Zero Delay Buffer Mode 入力クロック信号から CLKLK_OUT ピンに出力される信号までのディレイ差を最小限におさえます with no Compensation クロックの位相調節は行いませんが ジッタ パフォーマンスは改善します Create an fbin input for an external feedback (External Feedback Mode) (Cyclone III 未対応 ) Which output clock will be compensated for? 補正する PLL 出力ポートを指定します Inputs/Lock タブ PLL オプション信号 Lock 信号出力の設定をします 各種設定後 Next をクリックします オプション入力信号の設定 Lock 出力の設定 PLL のアドバンスド パラメータの設定 ver.9.1 2010 年 1 月 Page 4 of 12 Altima Corporation
Inputs/Lock タブの各種設定は以下のとおりです Optional inputs Create a 'pllena' input to selectively enable the PLL (Cyclone III 未対応 ) Create an 'areset' input to asynchronously reset the PLL PLL リセット信号入力ポートをファンクションに追加します (High active) Create an 'pfdena' input to selectively enable the phase/frequency detector 位相周波数検出器 (PFD) イネーブル信号入力ポートをファンクションに追加します (High active) Lock output Create locked output PLL Lock 信号出力ポートをファンクションに追加します (PLL が Lock すると High を出力 ) Enable self-reset on loss of lock PLL の Lock が外れたとき 自動的に PLL のリセットを行います Advanced PLL parameters Create output file(s) using the Advanced PLL parameters PLL のアドバンスド パラメータ (m カウンタ値 n カウンタ値など ) が出力ファイルに追記されます Bandwidth/SS タブ 帯域幅とスペクトラム拡散の設定をします ( 不要な場合はデフォルト設定 ) 各種設定後 Next をクリックします この設定は Cyclone III は未サポート ver.9.1 2010 年 1 月 Page 5 of 12 Altima Corporation
また Bandwidth 欄の各種設定は以下のとおりです How would you like to specify the bandwidth setting? Auto 帯域幅はコンパイルが決定します Preset 帯域幅を Low, Medium, High から選択します Low は PLL のジッタ除去は向上しますが ロック時間が遅くなります High はロック時間が早くなりますが より多くジッタに追従します Medium は前の 2 つのオプションの中間です Custom (Cyclone III 未対応 ) Clock switchover タブ Clock Switchover 1) 機能を使用すると PLL に対して2 本のリファレンス クロックを切り替えることが可能です この機能は プライマリ クロックが動作を停止した際に セカンダリ クロックを動作させるなど デュアル クロック ドメイン アプリケーションに対して使用します ( 不要な場合はデフォルト設定 ) 各種設定後 Next をクリックします Clock Switchover を有効 入力周波数 (inclk1) Auto/Manual の設定 使用クロックの識別信号出力設定 クロックのトグル確認信号出力設定 ver.9.1 2010 年 1 月 Page 6 of 12 Altima Corporation
Clock Switchover タブの各種設定は以下のとおりです Input clock switch Create a 'clkswitch' input to manually select between the input clocks クロックをマニュアルで切り替えます また切り替えようのコントロール ポートをファンクションに追加します Allow PLL to automatically control the switching between input clocks オートでクロックが切り替える機能をイネーブルにします Create activeclock output to indicate the input clock begin used 出力されているクロックのソースである入力クロックの識別信号出力ポートをファンクションに追加します inclk0 が使われているときは High inclk1 が使われているときは Low に信号が遷移します Create clkbad output for each input clk クロック信号のトグル状態を表す出力ポートをファンクションに追加します (clkbad0 は inclk0 clkbad1 は inclk1 の状態を表す ) トグルしているときは Low トグルしていないときは High に信号が遷移します 1) Clock Switchover の詳細は Cyclone III Device Handbook 内の Chapter 5. Clock Networks and Plls in Cyclone III Devices をご参照ください 2 PLL Reconfiguration タブ PLL Reconfiguration タブでは PLL リコンフィギュレーション 2) に関する設定を行います 2) PLL リコンフィギュレーションの詳細は Cyclone III Device Handbook 内の Chapter 5. Clock Networks and Plls in Cyclone III Devices をご参照ください ver.9.1 2010 年 1 月 Page 7 of 12 Altima Corporation
3 Output Clocks タブ PLL で生成するクロックの仕様を各 clk タブにて設定します 出力クロックは 直接周波数を入力する方法と入力クロックを元に逓倍 分周比を設定する方法があります PLL インプリメント メッセージ クロック出力ポートの有 / 無 クロック出力の設定 出力クロックのパラメータ設定 ( 以下参照 ) クロック出力の各設定は以下のとおりです Clock Tap Setting Enter output clock frequency 周波数を入力して設定します Enter output clock parameters 逓倍 分周の値を入力して設定します Clock phase shift 出力クロックの位相シフトの設定をします Clock duty cycle (%) 出力クロックの Duty 比を設定します ver.9.1 2010 年 1 月 Page 8 of 12 Altima Corporation
補足 2 : PLL インプリメント メッセージ PLL インプリメント メッセージ から PLL にて生成可能なクロック可能かどうかを確認できます インプリメント可 インプリメント不可 インプリメントが不可の場合 上図のように赤字でメッセージが表示されますので 設定を変更してください 4 EDA タブ このメガファンクションを EDA Tool でファンクション シミュレーションする場合に必要なシミュレーション ライブラリが表示されます ALTPLL をシミュレーションする場合は altera_mf ライブラリが必要です ver.9.1 2010 年 1 月 Page 9 of 12 Altima Corporation
5 Summary サマリです また この操作により生成される出力ファイルを指定します ( 選択したファイル フォーマットにより出力されるファイル内容が異なります ) AHDL の場合 < ファンクション名 >.tdf : AHDL のデザインファイル < ファンクション名 >.ppf : PinPlanner インポート ファイル < ファンクション名 >.inc : AHDL で呼びだす時のインクルード ファイル < ファンクション名 >.cmp :VHDL で呼び出すためのコンポーネント記述 < ファンクション名 >.bsf : 回路図で呼び出すためのシンボルファイル < ファンクション名 >_inst.tdf : AHDL で呼び出したときのインスタンス記述テンプレート < ファンクション名 >_waveforms.html : サンプル波形ファイル ver.9.1 2010 年 1 月 Page 10 of 12 Altima Corporation
Verilog HDL の場合 < ファンクション名 >.v : Verilog HDL のデザインファイル < ファンクション名 >.ppf : PinPlanner インポート ファイル < ファンクション名 >.inc : AHDL で呼びだす時のインクルード ファイル < ファンクション名 >.cmp :VHDL で呼び出すためのコンポーネント記述 < ファンクション名 >.bsf : 回路図で呼び出すためのシンボルファイル < ファンクション名 >_inst.v : Verilog HDL で呼び出したときのインスタンス記述のテンプレート < ファンクション名 >_bb.v :Verilog でのブラック ボックスファイル < ファンクション名 >_waveforms.html : サンプル波形ファイル VHDL の場合 < ファンクション名 >.vhd : VHDL のデザインファイル < ファンクション名 >.ppf : PinPlanner インポート ファイル < ファンクション名 >.inc : AHDL で呼びだす時のインクルード ファイル < ファンクション名 >.cmp :VHDL で呼び出すためのコンポーネント記述 < ファンクション名 >.bsf : 回路図で呼び出すためのシンボルファイル < ファンクション名 >_inst.vhd : VHDL で呼び出したときのインスタンス記述のテンプレート < ファンクション名 >_waveforms.html : サンプル波形ファイル Finish ボタンをクリックすると 指定したファイルが生成され ALTPLL ファンクションの作成完了です ver.9.1 2010 年 1 月 Page 11 of 12 Altima Corporation
弊社より資料を入手されましたお客様におかれましては 下記の使用上の注意を一読いただいた上でご使用ください 1. 本資料は非売品です 許可無く転売することや無断複製することを禁じます 2. 本資料は予告なく変更することがあります 3. 本資料の作成には万全を期していますが 万一ご不明な点や誤り 記載漏れなどお気づきの点がありましたら 弊社までご一報いただければ幸いです 4. 本資料で取り扱っている回路 技術 プログラムに関して運用した結果の影響については 責任を負いかねますのであらかじめご了承ください 5. 本資料は製品を利用する際の補助的な資料です 製品をご使用になる場合は 英語版の資料もあわせてご利用ください 横浜本社 222-8563 横浜市港区新横浜 1-5-5 マクニカ第二ビル TEL 045-476-2155 FAX 045-476-2156 大阪営業所 532-0003 大阪市淀川区宮原 3-4-30 ニッセイ新大阪ビル 17 階 TEL 06-6397-1053 FAX 06-6397-1054 名古屋営業所 460-0003 名古屋市中区錦 1-6-5 名古屋錦シティビル 7 階 TEL 052-202-1024 FAX 052-202-1025 宇都宮営業所 321-0953 宇都宮市東宿郷 4-2-24 センターズビル 7 階 TEL 028-637-4488 FAX 028-637-4489 ver.9.1 2010 年 1 月 Page 12 of 12 Altima Corporation