altlvdsメガファンクションおよび外部PLLオプションを使用

altlvds メガファンクションおよび
外部 PLL オプションを使用した
Stratix II デバイスのデザイン例
この資料は英語版を翻訳したもので、内容に相違が生じる場合には原文を優先します。こちらの日本語版は参考用としてご利用
ください。設計の際には、最新の英語版で内容をご確認ください。
Application Note 409
2006 年 3 月 ver. 1.0
はじめに
altlvdsメガファンクションを使用することで、Stratix® IIデバイス、
HardCopy® II
®
デバイスまたは Cyclone II デバイスを使用するときに、外部 PLL(Phase-Locked
Loop) をインスタンス化することができます。この外部 PLL は、LVDS モードで
動作する fast PLL です。このオプションにより PLL 設定の制御を強化することが
でき、altlvds メガファンクションを使ってシリアライザ / デシリアライザ
(SERDES) 回路をインスタンス化する際には使用できない帯域幅やダイナミック・
リコンフィギュレーションなどの PLL オプションでも使用できます。
特別な PLL 機能を使用しない場合は、外部 PLL オプションを使う利点
がないため、altlvds メガファンクションと組み合わせて使用しない
でください。
Quartus II
プロジェクト
このアプリケーション・ノートで説明するプロジェクトには、外部 fast PLL と
altlvds レシーブ・メガファンクション間の接続を説明するデザインが含まれて
います。デザイン機能を説明するシミュレーション・ファイルを含む ModelSim®
プロジェクトは、アルテラのウェブサイトで提供されています。
デザイン・ファイルのダウンロード
この例に対するデザイン・ファイルは、アルテラ・ウェブサイトの資料ページ、
または PLL およびクロッキング・デザイン例のページ
(www.altera.co.jp/support/examples/functionality/pll-clocking.html) で提供さ
れています。
これらのデザイン・ファイル内の例では、外部 PLL モードで LVDS レシーバを使
用しています。
例
次の例では、Quartus® II ソフトウェアの MegaWizard® Plug-In Manager を使用
して、altpll メガファンクションと altlvds メガファンクションを生成して
います。
Altera Corporation
AN-409-1.0/JP
1
altlvds メガファンクションおよび外部 PLL オプションを使用した Stratix II デバイスのデザイン例
この例では、次の動作を行います。
■
■
■
altlvds メガファンクションと MegaWizardPlug-In Manager を使用して、
高速差動レシーバを生成します。
MegaWizard Plug-In Manager を使用して PLL を生成します。
ModelSim を使用して高速差動インタフェース・デザインをシミュレーショ
ンします。
デザインの詳細
このデザインは、altpll と altlvds の 2 つのメガファンクションから構成さ
れます。このデザインの機能は、シリアル / パラレル変換係数 8 で 4 チャネルの
入力を 32 ビット幅の出力バスへ変換することです。このデザインの目的は、
altlvdsメガファンクションと外部PLLの使い方、さらに動作に必要となるaltpll
メガファンクションと altlvds メガファンクションの設定を紹介することです。
デザイン仕様については、表 1 を参照してください。
表 1.
デザイン仕様
仕様
altlvds
入力
出力
rx_datain[4:0]、
説明
rx_out[31:0]
内蔵 PLL なし
データ・レート 800 Mb/s
altpll
tx_inclock = 100 MHz c0 = 100 MHz、// コア・ク
ロック sclkout0 =
イネーブル・パルス周期はコア・ク
ロックと sclkout0 の 2 つのクロッ
800 MHz = データ・レート ク周期の内の大きい方に対応するた
enable0 = イネーブル・パ め、イネーブル・パルスは 10 ns 内
ルス
に 1 回発生します。(1)
表 1 の注:
(1)
sclkout0 は、VCO クロックに対して -180 度位相シフトしています。
図 1 に、PLL の入力および出力を示します。
図 1.
PLL の入力および出力
c0
ALTPLL
tx_inclock
sclkout0
enable0
2
Altera Corporation
2006 年 3 月
altlvds レシーバの生成
altlvds
レシーバの
生成
この項では、MegaWizardPlug-In Manager を使用して altlvds レシーバを生成
するための altlvds メガファンクションと altpll メガファンクションの生成
方法を説明します。
1.
Quartus II ソフトウェアを起動します。Tools メニューの MegaWizard PlugIn Manager をクリックします。Page 1 が表示されます。
2.
Create a new custom megafunction variation を選択し、Next をクリックし
ます。Page 2a が表示されます。
3.
Page 2a の Installed Plug-Ins リストの I/O から ALTLVDS を選択します。
Which device family will you be using? リストから Stratix II を選択します。
What name do you want for the output file?フィールドに出力ファイル名を
入力します。出力ファイル・タイプを選択します。Next をクリックします。
Page 3 が表示されます ( 図 2)。
図 2.
Altera Corporation
2006 年 3 月
MegaWizard Plug-in Manager—ALTLVDS、Page 3
4.
Currently selected device family リストから Stratix II を選択します。
5.
This module acts as an で LVDS receiver を選択します。
6.
Use External PLL をオンにします。 altlvds ウィザードを使ってアクセス
できない Stratix II fast PLL 機能を利用する場合に、このオプションが必要で
す。このオプションをオンにすると、ワーニング・ダイアログ・ボックスが
表示されます ( 図 3)。
3
altlvds メガファンクションおよび外部 PLL オプションを使用した Stratix II デバイスのデザイン例
図 3.
MegaWizardPlug-In Manager のワーニング・ダイアログ・ボックス
このワーニング・ダイアログ・ボックスは、Stratix II fast PLL 機能を利用す
る際に必要な条件のリストを表示します。レシーバ出力をレジスタ化しない
選択を行う場合には、次の条件が必要です。
a.
図 4.
altpll と altlvds 間の接続
b.
4
The clock and enable from the PLL feed the receiver—PLL の出力ピン
sclkout0 および enable0 により、altlvds メガファンクションの入
力ピン rx_inclock および rx_enable を駆動します ( 図 4)。
The outputs are registered in the logic fed by the receiver—altpll と
altlvds 間の接続で、レシーバから駆動されるロジック内で出力がプ
リレジスタ化される必要があります。図 5 に、レシーバ出力に追加され
た同期レジスタ (rx_sync_reg) を示します。
Altera Corporation
2006 年 3 月
altlvds レシーバの生成
図 5.
Sync レジスタを使った altlvds 出力の同期
c.
A ‘Source Multicycle’ assignment with a value of
DESERIALIZATION_FACTOR should be specified from the receiver
atom(s) to the output registers— レシーバ素子 (rx_out) から出力レジ
スタ (rx_sync_reg) まで DESERIALIZATION_FACTOR の値でソー
ス・マルチサイクル・アサインメントを指定します。
高速トランスミッタ・クロックから低速同期レジスタへデータが転送さ
れるため、マルチサイクル・アサインメントなしでは、Quartus II タイ
ミング・アナライザは非常に慎重な値でタイミング解析を行います。
rx_out データは、800 MHz すなわち 1.25 ns 周期の高速クロック
sclkout0で駆動されます。syncレジスタは、100 MHzすなわち10 ns周
期の低速クロック core_clock0 で駆動されます。デフォルトでは、
Quartus II タイミング・アナライザは、データが連続するアクティブ・
クロック・エッジ ( 図 6) で出力 / ラッチされるものと想定しています。
図 6.
非常に慎重なタイミング計算
Conservative
Launch Edge
1.25 ns
Source Clock (sclkout0)
Latch Edge
Destination Clock (c0)
Enable
Altera Corporation
2006 年 3 月
5
altlvds メガファンクションおよび外部 PLL オプションを使用した Stratix II デバイスのデザイン例
図 6 に示すように、Quartus II ソフトウェアは、altlvds 出力と sync
レジスタとの間のデータ転送については、わずか 1.25 ns のみを使用し
て、デザインを解析しています。これは非常に慎重な解析方法です。イ
ネーブル・パルスによって、高速トランスミッタ・クロックの複数エッ
ジの内の 1 つだけが指定の低速コア・クロック周期に関係することがす
でに保証されているためです。これを修正するためには、マルチサイク
ル・タイミング・アサインメントを Quartus II ソフトウェアに追加し
て、タイミング・アナライザが使用するエッジを指定する必要がありま
す ( 図 7)。
図 7.
出力エッジとラッチ・エッジの選択
Correct Launch Edge
10 ns
Destination Clock (c0)
Source Clock (sclkout0)
Latch Edge
Enable
マルチサイクル値を設定するときは、次の構文を使います。
set_instance_assignment -name SOURCE_MULTICYCLE
<DESERIALIZATION FACTOR> -from <register name> -to
<register name>
d.
‘Enable Clock Latency’ setting should be turned on in the
Settings/Timing Requirements & Options/More Settings
dialog (Assignments Menu)— 外部 PLL モードで altlvds を使
用するには、クロック・レイテンシ設定をオンにする必要があ
ります。次の 2 種類のクロック・レイテンシ設定があります。
•
•
Early Clock Latency
Late Clock Latency
クロック・レイテンシの設定および使用方法については、Quartus II Help を参照
してください。
6
7.
ワーニング・ダイアログ・ボックスで、OK をクリックします。
8.
Page 3 の What is the number of channels? リストで、チャネル数を選択ま
たは入力します ( 数値がリスト内にない場合、チャネル数を入力することが
できます )。この例では、シリアル・データ・チャネル数に 4 を入力します。
Altera Corporation
2006 年 3 月
altpll メガファンクションの生成
ターゲット・デバイス・サイズに対するチャネル数制限については、Stratix II デ
バイス・ハンドブックを参照してください。
9.
What is the deserialization factor? リストからパラレル変換係数を選択しま
す。In this e この例では、パラレル変換係数 (J ファクタ ) として 8 を入力し
ます。リストに表示されるパラレル変換係数は、デバイス・ファミリによっ
て決定されます。Next をクリックします。Page 4 が表示されます。
10.
設定をデフォルト状態のままにして、Next をクリックします。 Page 5 が表
示されます。
11.
Page 5 で、Finish をクリックします。
altlvds モジュールが構築されます。
altpll メガ
ファンクション
の生成
Altera Corporation
2006 年 3 月
この項では、altpll メガファンクションの生成方法を説明します。
1.
Quartus II ソフトウェアを起動します。Tools メニューの MegaWizard PlugIn Manager をクリックします。Page 1 が表示されます。
2.
Create a new custom megafunction variation を選択し、Next をクリックし
ます。Page 2a が表示されます。
3.
Page 2a の Installed Plug-Ins リストの I/O から ALTPLL を選択します。
Which device family will you be using?リストからStratix IIを選択します。
What name do you want for the output file?フィールドに出力ファイル名を
入力します。出力ファイル・タイプを選択します。Next をクリックします。
Page 3 が表示されます ( 図 8)。
7
altlvds メガファンクションおよび外部 PLL オプションを使用した Stratix II デバイスのデザイン例
図 8.
MegaWizard Plug-in Manager—ALTPLL、Page 3
4.
Which device family will you be using? リストから Stratix II を選択します。
5.
What is the frequency of the inclock0 input? リストに 100.00 を入力して
MHz を選択します。
sclkout0 の周波数 800 MHz により、入力周波数 200 MHz も生成で
きます。所要データ・レートが 800 Mb/s であるため、sclkout0 の
周波数は 800 MHz になります。
6.
Set up PLL in LVDS mode をオンにして、Data rate リストから 800.00 Mbps
を選択します。
7.
Which PLL type will you be using? から fast PLL が自動的に選択されます。
LVDS mode で PLL が選択されると、fast PLL だけが選択可能にな
ります。
8.
8
Next をクリックします。Page 4 が表示されます ( 図 9)。
Altera Corporation
2006 年 3 月
altpll メガファンクションの生成
図 9.
Altera Corporation
2006 年 3 月
MegaWizard Plug-in Manager—ALTPLL、Page 4
9.
Dynamic configuration で、Create optional inputs for dynamic
reconfiguration をオフにします。Optional inputs で、全オプションをオフ
にします。Lock output で Create ‘locked’ output をオンにし、Enable selfreset on loss of lockとHold ‘locked’ output lowをオフにします。Advanced
PLL Parameters で、Create output file(s) using the ‘Advanced’ PLL
parametersをオフにします。Nextをクリックします。Page 5が表示されます。
10.
Page 5 で、設定をデフォルト状態のままにして、Next をクリックします。Page
6 が表示されます。
11.
Page 6 で、設定をデフォルト状態のままにして、Next をクリックします。Page 7
が表示されます ( 図 10)。
9
altlvds メガファンクションおよび外部 PLL オプションを使用した Stratix II デバイスのデザイン例
図 10. MegaWizard Plug-in Manager—ALTPLL、Page 7
12.
Use this clock をオンにします。
13.
Clock Tap Settings から Enter output clock parameters を選択します。Clock
multiplication factor へ 1 を、Clock division factor へ 1 を、それぞれ入力
します。
14.
Create sclkout0/enable0 outputs をオンにし、 Enable sclkout phase shift
edit をオンにします。
15.
Clock Tap Settings で、Clock phase shift に -22.50 を入力し、deg を選択
します。Sclkout phase shift に -180 を入力し、deg を選択します。Clock
duty cycle (%) に 50.00 を入力します。
出力クロック sclkout0 の位相シフトは、VCO クロックに対し
て-180 度に設定されます。
コア・クロックの位相シフトは -22.5 度に設定されます。これは、
sclkoutの位相シフトをクロック倍率8で除算することにより、式 1
のように計算されます。
(1)
10
sclkout0 frequency = input clock * 8
clock phase shift = 180/8 = 22.5 degrees
Altera Corporation
2006 年 3 月
altpll メガファンクションの生成
VCO クロックと PLL 出力クロックとの関係について詳しくは、
「Stratix II デバイ
ス・ハンドブック Volume 2」の「Stratix II および Stratix II GX デバイスの PLL」
の章の「enhanced PLL ハードウェアの概要」の項を参照してください。
16.
Next をクリックします。Page 8 が表示されます。
17.
Page 8 で、設定をデフォルト状態のままにして、Next をクリックします。Page 9
が表示されます。
18.
Page 9 で、設定をデフォルト状態のままにして、Next をクリックします。Page 10
が表示されます。
19. Page 10 で、設定をデフォルト状態のままにして、Next をクリックします。
Page 11 が表示されます。
20.
Page 11 で、Finish をクリックします。
altpll モジュールが構築されます。
位相シフトを導入する利点は、データが altlvds ピンに現れた後に sclkout0
の立ち上がりエッジで、入力データを確実にキャプチャできるようにすることで
す ( 図 11)。
図 11. 位相シフトを導入する利点 注 (1)
Input Clock
VCO Clock
sclkout0 Clock
Input Data
D1
D2
D3
-180 Degree Phase Shift
図 11 の注:
(1)
Altera Corporation
2006 年 3 月
データとクロックは、エッジで揃えられているものと想定します。そうでない場
合は、位相シフトを調整します。
11
altlvds メガファンクションおよび外部 PLL オプションを使用した Stratix II デバイスのデザイン例
シミュレー
ション
デザイン・ファイル lvds_pll.zip を使用して、デザインをシミュレーションする
ことができます。lvds_pII.zip ファイルには次のファイルが含まれます。
■
■
Quartus_stratixii_extpll.zip。このファイルには Quartus II プロジェクトが
含まれています。
Sim_stratixii_extpll_rtl.zip。このファイルには、ModelSim を使用してゲー
ト・レベルのネットリストをシミュレーションするスクリプト・ファイルが
含まれています。このゲート・レベル・ネットリストは Quartus II ソフト
ウェア・バージョン 5.1 を使って生成され、シミュレーション・モデルは
Quartus II ソフトウェア・バージョン 5.1 を参照する必要があります。次の 3
個のスクリプト・ファイルは次のディレクトリ内にあります :
●
●
●
comp_altera_lib.do。 このファイルは、Stratix II コンポーネント用に
Altera ライブラリ・ファイルをコンパイルする際に使用します。
comp_gate.do。 このファイルは、ゲート・レベル・ネットリストとテ
ストベンチをコンパイルする際に使用します。
sim.do。このファイルを使用して、ライブラリとデザインを ModelSim
へロードして、デザインを実行します。
ModelSim を使用して RTL ネットリストをシミュレーションするときは、ユーザ
のシミュレーション・ディレクトリ内にある次のファイルに含まれているスクリ
プト・ファイルを使用します。
■
Sim_stratixii_extpll_rtl.zip。このファイルには、ModelSim を使用して RTL
ネットリストをシミュレーションするスクリプト・ファイルが含まれていま
す。
●
comp_altera_lib.do。 このファイルは、Stratix II コンポーネント用に
Altera ライブラリ・ファイルをコンパイルします。
●
comp_rtl.do. このファイルは、
rtlレベルのネットリストとテストベンチ
をコンパイルします。
●
sim.do。このファイルは、ライブラリとデザインを ModelSim へロード
して、デザインを実行します。
詳細は、アルテラ・ウェブサイト (www.altera.co.jp) の「altlvds メガファンクショ
ン・ユーザガイド」
、
「altpll メガファンクション・ユーザガイド」および「Stratix II
デバイス・ハンドブック Volume 2」の「Stratix II および Stratix II GX デバイスの
PLL」の章を参照してください。
12
Altera Corporation
2006 年 3 月