• 検索結果がありません。

AN661: ALTERA_PLLおよびALTERA_PLL_RECONFIGメガファンクションでフラクショナルPLLリコンフィギュレーションの実装

N/A
N/A
Protected

Academic year: 2021

シェア "AN661: ALTERA_PLLおよびALTERA_PLL_RECONFIGメガファンクションでフラクショナルPLLリコンフィギュレーションの実装"

Copied!
34
0
0

読み込み中.... (全文を見る)

全文

(1)

AN-661-2.0 アプリケーション・ノート

ALTERA_PLL および ALTERA_PLL_RECONFIG

メガファンクションでフラクショナル PLL リ

コンフィギュレーションの実装

このアプリケーション・ノートでは、Quartus® II ソフトウェアでの ALTERA_PLL と

ALTERA_PLL_RECONFIG メガファンクションとの 28 nm デバイス(Arria® V、Cyclone®

V、および Stratix® V デバイス・ファミリ)でフラクショナル PLL(Phase-Locked Loop)のためにフラクショナル PLL のリコンフィギュレーションおよび  ダイナ ミック位相シフトを実装するための流れを説明します。 このアプリケーション・ノートでは、以下について説明します。 ■ 機能の説明28 nm デバイスにおけるフラクショナル PLL リコンフィギュレーション11 ページの「Quartus II ソフトウェアによるフラクショナル PLL ダイナミック位相シフト」21 ページの「デザインの検討事項」22 ページの「デザイン例を使用する」27 ページの「チュートリアル実習」

機能の説明

PLL(Phase-Locked Loop)は、いくつかの分周カウンタおよび異なる voltage-controlled oscillator(VCO)の位相タップを使用して、周波数合成と位相シフトを実行します。 たとえば、カウンタの設定をリコンフィギュレーションして、動的に 28 nm デバイ スの PLL のにフラクショナル PLL 出力クロックを位相シフトすることができます。 またチャージ・ポンプおよびループ・フィルタ・コンポーネントを変更して、PLL 帯域幅を動的に変化させることもできます。これらの PLL コンポーネントを使用し て、FPGA 全体をリコンフィギュレーションせずに、出力クロック周波数、PLL 帯域 幅、および位相シフトをリアルタイムで更新することができます。

28 nm デバイスにおけるフラクショナル PLL リコンフィギュ

レーション

28 nm デバイスにおけるフラクショナル PLL は整数 PLL もサポートしています。PLL は、デバイス・クロック管理、外部システム・クロック管理、および高速 I/O インタ フェースのための強力なクロック管理および合成機能を提供します。 28 nm デバイスにおけるフラクショナル PLL は、ダイナミック・リコンフィギュ レーションをサポートしています。デバイスがユーザー・モードになっている間は、 FPGA 全体をリコンフィギュレーションせずにリアルタイムで新しいフラクショナル PLL コンフィギュレーションをダウンロードすることができます。 次フラクショナル PLL のコンポーネントがダイナミック・リコンフィギュレーショ ン IP を使用してリアルタイムにリコンフィギュレーション可能です。 ■ ポスト・スケール出力カウンタ(C)

(2)

Page 2 28 nm デバイスにおけるフラクショナル PLL リコンフィギュレーションフィードバック・カウンタ(M)プリスケール・カウンタ(N) ■ チャージ・ポンプ電流(ICP)とループ・フィルタ・コンポーネント(R、C) 1 Quartus II ソフトウェア・バージョン 12.0 は、R と C のリコンフィギュレー ションを ICPがサポートされています。 ■ 各カウンタのダイナミック位相シフト

■ Delta Sigma Modulator(DSM)フラクショナル分周(MFRAC)

リアルタイムでフラクショナル PLL リコンフィギュレーションから複数の周波数で 動作するアプリケーションに有用です。フラクショナル PLL リコンフィギュレー ションは、PLL 出力周波数をスイープし、クロックの出力フェースをデザインのど の階段でも調整できるため、プロトタイプ環境でも有用です。また、この機能を使 用すると、PLL 出力クロック位相シフトを変更して、クロック・ツー・アウト(tCO) 遅延を調整することも可能です。

Quartus II ソフトウェアを使用して、28 nm デバイス上でフラク

ショナル PLL リコンフィギュレーションの実装

ALTPLL MegaWizard® Plug-in Manager を使用して、デザイン内の ALTPLL メガファンク ションのインスタンス化におけるリコンフィギュレーション回路をイネーブルする ことができます。ALTERA_PLL_RECONFIG メガファンクションは、フラクショナル PLL のリコンフィギュレーション・プロセスを簡素化します。

ALTERA_PLL_RECONFIG メガファンクションは、Avalon Memory-Mapped(Avalon-MM) インタフェースを使用してユーザー・コントロール・ロジックおよび ALTERA_PLL イ ンスタンスに直接接続するバスと対話します。

図 1に ALTPLL メガファンクションおよび ALTLVDS メガファンクション間の接続を示

します。

図 1. QuartusII ソフトウェアでの ALTPLL_RECONFIG および ALTPLL メガファンクション

Top-Level Design File

Nios II

Processor JTAG UART PLL

On-Chip

Memory ALTERA_PLL_RECONFIG Megafunction reset global_reset reset inclk PLL Locked Signal PLL Output Clocks

(3)

28 nm デバイスにおけるフラクショナル PLL リコンフィギュレーション Page 3 デザインに ALTERA_PLL と ALTERA_PLL_RECONFIG インスタンスを接続するには、次 の手順を実行します。 1. ALTERA_PLL インスタンス上 reconfig_to_pll [63:0] バスに ALTERA_PLL_RECONFIG インスタンス上 reconfig_to_pll [63:0] バスを接続しま す。 2. ALTERA_PLL_RECONFIG インスタンス上 reconfig_from_pll [63:0] バスに ALTERA_PLL インスタンス上 reconfig_from_pll [63:0] バスを接続します。 3. クロック・ソースに mgmt_clk を接続します。mgmt_clk は mgmt_clk の開始と停 止を制御する必要がなくなり、フリーランニング・クロックとすることができま す。 4. Avalon のリード動作、またはライト動作を実行するには、ユーザー・コントロー ル・ロジックに mgmt_reset、_mgmt_read_data [31:0]、mgmt_write、

mgmt_address [5:0]、mgmt_write_data [31:0] バス、mgmt_wait_request および mgmt_read 信号を接続します。

コントロール・インタフェース

ALTERA_PLL_RECONFIG メガファンクションのためのコントロール・インタフェース は、Avalon-MM スレーブ・インタフェース、マスタ・ユーザー・ロジック・コント ロールです。外部ユーザー・ロジックは直接フラクショナル PLL 設定をリコンフィ ギュレーションするために、これらの Avalon ポートを使用しています。 表 1 ALTERA_PLL_RECONFIG メガファンクションでの Avalon-MM 信号を示します。 表 1. ALTERA_PLL_RECONFIG メガファンクションの Avalon 信号 ポート 入力 / 出力 説明 mgmt_read_data [31:0] 出力 mgmt_read をアサートするときの ALTERA_PLL_RECONFIG メガファンクションから 読み込むデータが。 mgmt_write_data [31:0] 入力 mgmt_write 信号をアサートするときの ALTERA_PLL_RECONFIG メガファンクションに書 き込まれたデータ。 mgmt_address [5:0] 入力 リードまたはライト動作のためのメモリ・マッ プされたレジスタのアドレスを指定します。 mgmt_read 入力 アクティブ High 信号。読み出し動作を示すため にアサートされます。存在する場合、 mgmt_read_data バスでリード・データが提供さ れます。 mgmt_write 入力 アクティブ High 信号。ライト動作を示すために アサートされます。存在する場合、 mgmt_write_data バスは、ライト・データが必要 とします。

(4)

Page 4 28 nm デバイスにおけるフラクショナル PLL リコンフィギュレーション mgmt_reset 入力 初期値にすべての PLL カウンタをリセットする アクティブ High 信号。この信号が High にドライ ブされると、PLL がそのカウンタをリセットし、 PLL 出力をクリアして、ロックを失います。この 信号が再び Low になった後、ロック・プロセス が開始され、PLL は、入力基準クロックに再同期 します。 mgmt_waitrequest 出力 アクティブ High 信号。mgmt_waitrequest 信号を アサートすると、ALTERA_PLL_RECONFIG メガ ファンクションは、リード動作またはライト動 作を無視します。 表 1. ALTERA_PLL_RECONFIG メガファンクションの Avalon 信号 ポート 入力 / 出力 説明

(5)

28 nm デバイスにおけるフラクショナル PLL リコンフィギュレーション Page 5 表 2フラクショナル PLL ダイナミック・リコンフィギュレーション・レジスタと設 定を示します。 表 2. フラクショナル PLL ダイナミックリコンフィギュレーションおよびステータス・レジスタ ( その1 ) レジ スタ名 ジスタ ・サ イズ ドレス (バ イナ リ) loop_filter_c ビット設定 リード / モード・レジ スタ値 1 000000 ■ waitrequest モードには 0 を書き込む ■ polling モードには 1 を書き込む リード / ライト ステータス・ レジスタ 1 000001 ■ 0 = busy ■ 1 = ready 読み出し 登録を開始 1 000010 フラクショナル PLL リコンフィギュレーションまたは動的位相シフトを開 始するために 0 または 1 のどちらかをお書きください。 ライト N カウンタ 18 000011 ■ N_counter [7:0] = low_count ■ N_counter [15:8] = high_count

■ Total_div = high_count + low_count

■ N_counter [16] =bypass イネーブル

■ N_counter[16] = 0, fREF= fIN/Total_div

■ N_counter[16] = 1, fREF= fIN (N カウンタがバイパスされる )

■ N_counter[17] = odd division

■ N_counter[17] = 0, even division, duty cycle = high_count/Total_div v

■ N_counter[17] = 1, odd division, duty cycle =

(high_count-0.5)/Total_di リード / ライト M カウンタ 18 000100 ■ M_counter [7:0] = low_count ■ M_counter [15:8] = high_count

■ Total_div = high_count + low_count

■ M_counter[16]= bypass enable

■ M_counter[16] = 0, fFB= fVCO/Total_div ■

■ M_counter[17]= odd division

■ M_counter[17] = 0, even division, duty cycle = high_count/Total_div

■ M_counter[17] = 1, odd division, duty cycle =

(high_count-0.5)/Total_div

リード / ライト

(6)

Page 6 28 nm デバイスにおけるフラクショナル PLL リコンフィギュレーション

C カウンタ 23 000101

■ C_counter [7:0] = low_count

■ C_counter [15:8] = high_count

■ Total_div = high_count + low_count

■ C_counter[16]= bypass イネーブル

■ C_counter[16] = 0, fOUT= fVCO/Total_div

■ C_counter[16] = 1, fOUT= fVCO (C カウンタがバイパスされる )

■ C_counter[17]= odd division

■ C_counter[17] = 0, even division, duty cycle = high_count/Total_div

■ C_counter[17] = 1, odd division, duty cycle =

(high_count-0.5)/Total_div ■ C_counter[22:18] は、00000 から 10001(0-17)までの 5 ビットのバイナ リ数で、変更する C カウンタを選択します。たとえば、C2 を変更したい 場合、C_counter[18:22] を 00010 に設定します。 リード / ライト (2) Dynamic_Phase _Shift 22 000110 ■ Dynamic_Phase_Shift [15:0] = シフトの数 ■ Number of shifts = 出力クロックをシフトする回数です。シフトを実行 するたびに、シフトの実際の量は VCO 周期の 1/8 である。 VCO は 1.6 GHz で動作している場合、それぞれの位相シフトは 78.125 PS に等し いです。 ■ Dynamic_Phase_Shift [??08?16] = cnt_select? ■ cnt_select はシフトするカウンタ出力を指定する5 ビット値です。 cnt_select マッピングについて詳しくは、表 4を参照してください。 ■ Dynamic_Phase_Shift[21]= up_dn ■ up_dn = シフトの方向 ■ up_dn = 1 (正のフェース・シフト) ■ up_dn = 0 (負のフェース・シフト) ライト M カウンタ小 数値(K) 32 000111 (DSM 用)Mカウンタの小数部。実際の端数値は次のとおりです。 ■ MFRAC = K[X:0]/2X(X=8, 16, 24 または 32) (1) (1)

■ M counter final value = M Counter + MFRACのための Total_div

ライト PLL 帯域幅設 定 4 001000 帯域幅の設定については、PLL リコンフィギュレーション電卓を参照して ください。アルテラのウェブサイトにあるドキュメント:アプリケーショ ンノートページから PLL リコンフィギュレーション電卓をダウンロードす ることができます 。 リード / ライト 表 2. フラクショナル PLL ダイナミックリコンフィギュレーションおよびステータス・レジスタ ( その2 ) レジ スタ レジ スタ・ サイズ アド レス( バイナ リ) loop_filter_c ビット設定 リー / ライ

(7)

28 nm デバイスにおけるフラクショナル PLL リコンフィギュレーション Page 7 表 3読み出し動作時に選択したカウンタの対応するアドレスを一覧表示します。 チャージ・ポ ンプ電流 3 001001 チャージ・ポンプの設定については、PLL リコンフィギュレーション電卓 を参照してください。ドキュメント:アルテラの Web サイトにあるアプリ ケーションノートページ から PLL リコンフィギュレーション電卓をダウン ロードすることができます。 リード / ライト 表 2 の注 (1) K カウンタリコンフィギュレーションには、フラクショナルモードでリコンフィギュレーションする前に、PLL をコンフィギュレー ションする場合にのみ有効です。最適なパフォーマンスを得るために、0.05 と 0.95 の間に M FRAC 値を設定します。X ALTERA_PLL の MegaWizard で決定 = 小数キャリービット、。X のデフォルト値は 24 で、PLL リコンフィギュレーション中にリコンフィギュレーション することはできません。 (2) C カウンタ読み出し動作の場合は、表 3での選択したカウンタのアドレスを使用します 。 表 2. フラクショナル PLL ダイナミックリコンフィギュレーションおよびステータス・レジスタ ( その3 ) レジ スタ レジ スタ・ サイズ アド レス( バイナ リ) loop_filter_c ビット設定 リー / ライ 表 3. 読み出し動作時に選択したカウンタのための対応するアドレス アドレス(バイナリ) 選択したカウンタ カウンタビットの設定 001010 カウンタ C0 ■ C_counter [7:0] = low_count ■ C_counter [15:8] = high_count

■ Total_div = high_count + low_count

001011 カウンタ C1 001100 カウンタ C2 は 001101 カウンタ C3 の 001110 カウンタ C4 001111 カウンタ C5 010000 カウンタ 6 010001 カウンタの C7 010010 カウンタの C8 010011 カウンタ C9 010100 カウンタ C10 010101 カウンタ C11 010110 カウンタ C12 010111 カウンタ C13 011000 カウンタ C14 011001 カウンタ C15 011010 カウンタ C16 011011 カウンタ C17

(8)

Page 8 28 nm デバイスにおけるフラクショナル PLL リコンフィギュレーション 表 4 には、cnt_select(Dynamic_Phase_Shift [20:16])のマッピングおよびダイナ ミック位相シフトのためのカウンタが一覧表示されます。

フラクショナル PLL 設定のリコンフィギュレーション

Avalon-MM インタフェースをダイナミックにフラクショナル PLL をリコンフィギュ レーションすることができます。ダイナミック位相シフトを実行するには、以下の 手順に従います。 1. Avalon のライト動作を通じ、ALTERA_PLL_RECONFIG メガファンクションの起動時 に 0 または 1 の値をモード・レジスタに書き込みます。モード・レジスタは ALTERA_PLL_RECONFIG メガファンクションが waitrequest または polling モードで 動作するかどうかを判断します。 2. Avalon ライト動作を通して要素とその新しい値を指定します。各リコンフィギュ レーション可能な要素のアドレスについて詳しくは、5 ページの表 2を参照してく ださい 。 3. 変更したいすべてのリコンフィギュラブル要素(NMC のカウンタ、M FRAC 値 など)のためにステップ2を繰り返します。 表 4. cnt_select のマッピング(Dynamic_Phase_Shift [20:16]) デバイス・ファミリ Dynamic_Phase_Shift [ 午後 08 時 16] ダイナミック位相シフト選 択したカウンタ Arria V および Stratix V 5’b00000 カウンタ C0

Arria V、Cyclone V および Stratix V 5’b00001 カウンタ C1

Arria V、Cyclone V および Stratix V 5’b00010 カウンタ C2

Arria V、Cyclone V および Stratix V 5'b00011 カウンタ C3 の

Arria V、Cyclone V および Stratix V 5’b00100 カウンタ C4

Arria V、Cyclone V および Stratix V 5'b00101 カウンタ C5

Arria V、Cyclone V および Stratix V 5'b00110 カウンタ 6

Arria V、Cyclone V および Stratix V 5'b00111 カウンタ C7

Arria V、Cyclone V および Stratix V 5’b01000 カウンタの C8

Arria V および Stratix V 5'b01001 カウンタ C9 Arria V および Stratix V 5'b01010 カウンタ C10 Arria V および Stratix V 5'b01011 カウンタ C11 Arria V および Stratix V 5'b01100 カウンタ C12 Arria V および Stratix V 5'b01101 カウンタ C13 Arria V および Stratix V 5'b01110 カウンタ C14 Arria V および Stratix V 5'b01111 カウンタ C15 Arria V および Stratix V 5’b10000 カウンタ C16 Arria V および Stratix V 5'b10001 カウンタ C17

Arria V、Cyclone V および Stratix V 5'b11111 すべての出力カウンタ

(9)

28 nm デバイスにおけるフラクショナル PLL リコンフィギュレーション Page 9 4. Avalon のライト動作を通じ、スタート・レジスタに 0 または 1 のいずれかを記述 します。スタートレジスタへのライトは、動的リコンフィギュレーション、動的 な位相シフト、またはその両方をトリガします。 a. ステップ1には、0(waitrequest モード)にモード・レジスタを設定した場合 、 ALTERA_PLL_RECONFIG メガファンクションは、リコンフィギュレーション後 まで mgmt_waitrequest をアサートします。別の Avalon がリードまたはライト 動作は、ALTERA_PLL_RECONFIG メガファンクションをデアサート後 mgmt_waitrequest のみ実行することができます。または b. ステップ1には、1(polling モード)にモード・レジスタを設定した場合、 ALTERA_PLL_RECONFIG メガファンクションは、ステータス・レジスタに 0 (ビジー)に書き込みます。Avalon はリコンフィギュレーションが完了したこ とを確実にするためにリード動作を実行することによって、定期的にステー タス・レジスタのビット 0 をポーリングすることができます。 ALTERA_PLL_RECONFIG メガファンクションは 1 の値まで、ステータ・スレジ スタから読み出された新しいリコンフィギュレーション命令(Avalon のライ ト動作)を無視します。 1 ダイナミック・リコンフィギュレーションやダイナミック位相シフトを実行する前 に、基準クロックにフラクショナル PLL をロックします。 1 waitrequest モードでは、mgmt_waitrequest は、PLL リコンフィギュレーション中に、 あるいは PLL がロック状態の喪失時にアサートします。Polling モードでは、ステー タス・レジスタは、PLL リコンフィギュレーション中に、または PLL がロック状態 の喪失時に 0(ビジー状態)になります。 図 2に、MMFRACNと C カウンタをリコンフィギュレーションするには、ダイナ ミック・リコンフィギュレーションを実行するための波形例を示します。 図 2. M、MFRAC、N と C のカウンタのリコンフィギュレーションするにダイナミック・リコンフィギュレー ションを実行するための波形例 00h 04h 07h 03h 00000001h 00001212h 00444444h 00000202h 00000303h 00040404h 05h a b c d e f 00000000h mgmt_clk mgmt_address[5:0] mgmt_writedata[31:0] mgmt_write mgmt_read mgmt_readdata[31:0] 08h 09h 02h 00000006h 00000003h 00000001h g h i j 01h don’t care 00000001h

(10)

Page 10 28 nm デバイスにおけるフラクショナル PLL リコンフィギュレーション 以下のリストは、図 2で示される動作を説明します。 a. Avalon-MM は、ポーリング・モードで動作するように ALTERA_PLL_RECONFIG メガファンクションを設定するためにモード・レジスタ(アドレス = 0x00 の) に書き込みます。 b. Avalon-MM は 36 に M カウンタをリコンフィギュレーションする M カウンタ・ レジスタ ( アドレス = 0x04) に書き込みます。 c. 0.2665( デシマル値 ) に MFRACをリコンフィギュレーションするために、 Avalon-MM は、M カウンタの小数値 (K) レジスタ ( アドレス =0x07) に書き込み ます。 d. N カウンタを 4 にリコンフィギュレーションするために、Avalon-MM は、N カ ウンタ・レジスタ ( アドレス =0x03) に書き込みます。 e. C0 カウンタを 8(high_count =3、low_count=3、偶数の分周 ) にリコンフィ ギュレーションするために、Avalon-MM は、C カウンタ・レジスタに(アドレ ス s=0x05)書き込みます。 f. C1 カウンタを 8(high_count =4、low_count=4、偶数の分周 ) にリコンフィ ギュレーションするために、Avalon-MM は、C カウンタ・レジスタに(アドレ ス s=0x05)書き込みます。 g. 帯域幅の設定をメディアの帯域幅にリコンフィギュレーションするために、 Avalon-MM は、帯域幅の設定のレジスタ(アドレス = 0x08)に書き込みます。 h. ミディアム帯域幅にチャージ・ポンプ設定をリコンフィギュレーションする ために、Avalon-MM は、チャージ・ポンプ設定レジスタ ( アドレス =0x09) に 書き込みます。 i. リコンフィギュレーションを開始するために、Avalon-MM は、スタート・レジ スタ(アドレス = 0×02)に書き込みます。 j. 成功したリコンフィギュレーションを示して、1 の値がステータス・レジスタ から読まれるまで、Avalon-MM はステータス・レジスタ ( アドレス =0x01) か ら読み出します。

(11)

Quartus II ソフトウェアによるフラクショナル PLL ダイナミック位相シフト Page 11

Quartus II ソフトウェアによるフラクショナル PLL ダイナミック

位相シフト

ダイナミック位相シフト機能により、個々の PLL 出力の出力位相をほかの PLL 出力 や基準クロックに対してダイナミックに調整できます。最小の増分ステップは VCO 周期の 8 分の 1 に相当します。出力クロックは、このダイナミック位相シフトの動 作中にアクティブです。 ダイナミック位相シフトを実行するには、次の方法を使用できます。 ■ ALTERA_PLL_RECONFIG メガファンクション ■ 直接の ALTERA_PLL メガファンクションを使用したダイナミック位相シフト回路 1 Quartus II ソフトウェア・バージョン 11.1 sp2 では、ALTERA_PLL_RECONFIG メ ガファンクションを使用したダイナミック位相シフトだけを実行すること ができます。ただし、直接 Quartus II ソフトウェア・バージョン 12.0 以降 の ALTERA_PLL メガファンクションを使用してダイナミック位相シフトを 実行することができます。

ALTERA_PLL メガファンクションでダイナミック位相シフトの実行

直接ダイナミック位相シフトポートをイネーブルすることで、ダイナミック位相シ フトを実行することができます。 ダイナミック位相シフトを実行するには、以下の手順に従います。 1. UPDN と cntsel ポートを設定します。

2. 少なくとも 2 scanclk サイクル phase_en ポートをアサートします。phase_en パ ルスごとに、1 位相シフトします。

3. phase_done は Low になった後、phase_en をディアサートします。

updn、cntsel、および phase_en ポートは scanclk に同期しています。VCO および

scanclkの周波数に応じて、phasedoneのLow時間は1scanclkサイクルよりも長くなる

か、または短くなることがあります。phase_done は Low から High になった後、別の ダイナミック位相シフトを実行しますが、phase_en は少なくとも 1 scanclk サイク ルで間隔でなければなりません。phase_en パルスごとに、1 位相シフトします。 図 3に、ダイナミック位相シフトのための波形を示します。 図 3. ダイナミック位相シフト波形 00h clk updn cntsel phase_en phase_done 09h 00h a b c d e

(12)

Page 12 Quartus II ソフトウェアによるフラクショナル PLL ダイナミック位相シフト 以下のリストは、図 3で示される動作を説明します。 a. フィジカル・カウンタ C9 を cntsel ポートに、また正の位相シフト方向に cntsel ポートにを設定します。 b. フィジカル・カウンタ C9 上の最初の位相シフト動作を開始する phase_en ポートをアサートします。

c. phase_done は Low になった後 phase_en をアサートします。

d. 第 2 の位相シフト動作を開始するために再度 phase_en をアサートします。 e. phase_down は Low になった後 phase_en ポートをアサートします。

表 5. Altera_PLL メガファンクションでダイナミック位相シフト信号

ポート 入力 / 出力 説明

phase_en 入力 Low から High への移行は、Low から High に、遷移ごとに 1 つの位相シフトをダ

イナミック位相シフトが可能になります。 scanclk 入力 phase_en と組み合わせて使用され、ダイナミック位相シフトをイネーブル/ ディ セーブルにするコアからのフリー・ランニング・クロック。 UPDN 入力 ダイナミック位相シフト方向を選択、1 = 正の位相シフト、0 = 負の位相シフト。 信号は scanclk の立ち上がりエッジで PLL にレジスタされます。 cntsel 入力 フィジカル・カウンタ・セレクト (1)位相調整のために、M カウンタまたは C カ ウンタのいずれかを選択するためにデコードされる 4 ビット。PLL は scanclk の 立ち上がりエッジで信号をレジスタします。 phase_done 出力 アサートされると、位相調整が完了し、PLL が 2 番目の調整パルスに反応できる 状態であることをコア・ロジックに示します。内部 PLL タイミングに基づいて アサートします。scanclk の立ち上がりエッジでディアサートします。 表 5 の注 (1) フィジカル的なカウンタは、PLL 内のカウンタの実際の位置を指します。チップ・プランナとのフィジカル・カウンタを表 示することができます。選択したフィジカル・カウンタの対応するアドレスについては、表 6を参照してください 。 表 6. PLL のフィジカル・カウンタの位置 ( その1 ) cntsel [4:0] 選択したフィジカル・カウンタ 5’b00000 フィジカル C0 カウンタ 5b'00001 フィジカル・カウンタ C1 5’b00010 フィジカル・カウンタ C2 5'b00011 フィジカル・カウンタ C3 5’b00100 フィジカル・カウンタ C4 5'b00101 フィジカル・カウンタ C5 5'b00110 フィジカル・カウンタ C6 5'b00111 フィジカル・カウンタ C7 5’b01000 フィジカル・カウンタ C8 5'b01001 フィジカル・カウンタ C9 5'b01010 フィジカル・カウンタ C10 5'b01011 フィジカル・カウンタ C11

(13)

Quartus II ソフトウェアによるフラクショナル PLL ダイナミック位相シフト Page 13 5'b01100 フィジカル・カウンタ C12 5'b01101 フィジカル・カウンタ C13 5'b01110 フィジカル・カウンタ C14 5'b01111 フィジカル・カウンタ C15 5’b10000 フィジカル・カウンタ C16 5'b10001 フィジカル・カウンタ C17 表 6. PLL のフィジカル・カウンタの位置 ( その2 ) cntsel [4:0] 選択したフィジカル・カウンタ 図 4. PLL0 と PLL1 のフィジカル・パーティション PLL0 PLL1 Physical Counter C0 Physical Counter C1 Physical Counter C8 Physical Counter C9 Physical Counter C16 Physical Counter C17 Physical Counter C0 to C17 (up-to-down sequence) PLL1 PLL0 Physical Counter C17 Physical Counter C16 Physical Counter C9 Physical Counter C8 Physical Counter C1 Physical Counter C0 Physical Counter C17 to C0 (down-to-up sequence)

(14)

Page 14 Quartus II ソフトウェアによるフラクショナル PLL ダイナミック位相シフト

図 5. 5SGXA3(36 トランシーバ付き)、5SGXA4、および 5SGSD5 デバイスの PLL 場所(1) 、(2)

図 5 の注:

(1) 各インデックスはデバイス内の 1 つの fPLL を表します。fPLL のフィジカル的位置は、Quartus II ソフトウェア Chip Planner 内 の位置に相当します。 (2) PLL0 と PLL1 のロジカル・パーティションについて詳しくは、図 4を参照してください 。 (3) CLK0、CLK1、CLK22、および CLK23 クロック・ピンはフラクショナル PLL LR_X0_Y46 とフラクショナル PLL LR_X0_Y55 にク ロックを供給します。 (4) CLK8、CLK9、CLK14、および CLK15 クロック・ピンはフラクショナル PLL LR_X202_Y46 とフラクショナル PLL LR_X202_Y55 に クロックを供給します。 Pins CLK[4..7][p,n] CEN_X92_Y96 CEN_X92_Y87 CEN_X92_Y11 CEN_X92_Y2 Logical clocks 4 Pins 4 Logical clocks COR_X0_Y100 COR_X0_Y91 LR_X0_Y77 LR_X0_Y68 LR_X0_Y55 LR_X0_Y46 LR_X0_Y31 LR_X0_Y22 COR_X0_Y10 COR_X0_Y1 4 4 4 4 2 2 4 Pins Logical clocks Pins 4 Logical clocks CLK[20..23][p,n] CLK[0..3][p,n] (3) (3) CLK[16..19][p,n] COR_X202_Y100 COR_X202_Y91 LR_X202_Y77 LR_X202_Y68 LR_X202_Y55 LR_X202_Y46 LR_X202_Y31 LR_X202_Y22 COR_X202_Y10 COR_X202_Y1 4 4 4 4 2 2 4 Logical clocks Pins Pins Logical clocks 4 CLK[12..15][p,n] (4) (4) CLK[8..11][p,n]

(15)

Quartus II ソフトウェアによるフラクショナル PLL ダイナミック位相シフト Page 15

図 6. 5SGXB5 および 5SGXB6 デバイスの PLL の位置(1) (2)

図 6 の注:

(1) 各インデックスはデバイス内の 1 つの fPLL を表します。fPLL のフィジカル的位置は、Quartus II ソフトウェア Chip Planner 内 の位置に相当します。 (2) PLL0 と PLL1 のロジカル・パーティションについて詳しくは、を参照してください図 4 。 (3) CLK0、 CLK1、 CLK20、 および CLK21 クロック・ピンは、fPLL LR_X0_Y54 および fPLL LR_X0_Y63 にクロックを供給します。 (4) CLK8、 CLK9、 CLK12、 および CLK13 クロック・ピンは、fPLL LR_X197_Y54 および fPLL LR_X197_Y63 にクロックを供給します。 CEN_X90_Y123 CEN_X90_Y114 Logical clocks 4 Pins 4 Logical clocks Pins CEN_X90_Y11 CEN_X90_Y2 CLK[16..19][p,n] CLK[4..7][p,n] LR_X0_Y109 LR_X0_Y100 LR_X0_Y85 LR_X0_Y76 LR_X0_Y63 LR_X0_Y54 LR_X0_Y39 LR_X0_Y30 LR_X0_Y14 LR_X0_Y5 4 4 4 4 2 2 4 Pins Logical clocks Pins 4 Logical clocks CLK[20..23][p,n] CLK[0..3][p,n] (3) (3) LR_X197_Y109 LR_X197_Y100 LR_X197_Y85 LR_X197_Y76 LR_X197_Y63 LR_X197_Y54 LR_X197_Y39 LR_X197_Y30 LR_X197_Y14 LR_X197_Y5 4 4 4 4 2 2 4 Logical clocks Pins Pins Logical clocks 4 CLK[12..15][p,n] CLK[8..11][p,n] (4) (4)

(16)

Page 16 Quartus II ソフトウェアによるフラクショナル PLL ダイナミック位相シフト

図 7. PLL 5SGXA5 ための場所、5SGXA7、5SGTC5、そして 5SGTC7 デバイス(1) 、 (2)

図 7 の注:

(1) 各インデックスはデバイス内の 1 つの fPLL を表します。fPLL のフィジカル的位置は、Quartus II ソフトウェア Chip Planner 内 の位置に相当します。 (2) PLL0 と PLL1 の論理パーティションについて詳しくは、図 4を参照してください 。 CEN_X98_Y118 CEN_X98_Y109 CEN_X98_Y11 CEN_X98_Y2 Pins 4 Logical clocks Pins CLK[16..19][p,n] CLK[4..7][p,n] LR_X210_Y100 LR_X210_Y91 LR_X210_Y75 LR_X210_Y66 LR_X210_Y53 LR_X210_Y44 LR_X210_Y29 LR_X210_Y20 COR_X210_Y10 COR_X210_Y1 4 4 4 4 4 4 Logical clocks Pins Pins CLK[12..15][p,n] CLK[8..11][p,n] COR_X210_Y122 COR_X210_Y113 4 LR_X0_Y100 LR_X0_Y91 LR_X0_Y75 LR_X0_Y66 LR_X0_Y53 LR_X0_Y44 LR_X0_Y29 LR_X0_Y20 COR_X0_Y10 COR_X0_Y1 4 4 4 4 4 4 Pins Logical clocks Pins CLK[20..23][p,n] CLK[0..3][p,n] COR_X0_Y122 COR_X0_Y113 4 4 Logical clocks 4 Logical clocks 4 Logical clocks

(17)

Quartus II ソフトウェアによるフラクショナル PLL ダイナミック位相シフト Page 17

図 8. 5SGSD3、5SGSD4、および 5SGXA3 用 PLL 場所(24 トランシーバを搭載した)デバイス(1) 、(2)

図 8 の注:

(1) 各インデックスはデバイス内の 1 つの fPLL を表します。fPLL のフィジカル的位置は、Quartus II ソフトウェア Chip Planner 内 の位置に相当します。 (2) PLL0 と PLL1 の論理パーティションについて詳しくは、図 4を参照してください 。 Pins CLK[4..7][p,n] CEN_X84_Y77 CEN_X84_Y68 CEN_X84_Y11 CEN_X84_Y2 Logical clocks 4 Pins 4 Logical clocks COR_X0_Y81 COR_X0_Y72 LR_X0_Y55 LR_X0_Y46 LR_X0_Y33 LR_X0_Y24 COR_X0_Y10 COR_X0_Y1 4 4 4 4 4 Pins Logical clocks Pins 4 Logical clocks CLK[20..23][p,n] CLK[0..3][p,n] CLK[16..19][p,n] COR_X185_Y81 COR_X185_Y72 LR_X185_Y55 LR_X185_Y46 LR_X185_Y33 LR_X185_Y24 COR_X185_Y10 COR_X185_Y1 4 4 4 4 4 Logical clocks Pins Pins Logical clocks 4 CLK[12..15][p,n] CLK[8..11][p,n]

(18)

Page 18 Quartus II ソフトウェアによるフラクショナル PLL ダイナミック位相シフト

図 9. 5SGSD6 および 5SGSD8 デバイスの PLL 位置(1)、(2)

図 9 の注:

(1) 各インデックスはデバイス内の 1 つの fPLL を表します。fPLL のフィジカル的位置は、Quartus II ソフトウェア Chip Planner 内 の位置に相当します。 (2) PLL0 と PLL1 の論理パーティションについて詳しくは、図 4を参照してください。 LR_X0_Y112 LR_X0_Y103 LR_X0_Y87 LR_X0_Y78 LR_X0_Y65 LR_X0_Y56 LR_X0_Y41 LR_X0_Y32 COR_X0_Y10 COR_X0_Y1 4 4 4 4 4 4 Pins Logical clocks Pins CLK[20..23][p,n] CLK[0..3][p,n] COR_X0_Y145 COR_X0_Y136 4 LR_X208_Y112 LR_X208_Y103 LR_X208_Y87 LR_X208_Y78 LR_X208_Y65 LR_X208_Y56 LR_X208_Y41 LR_X208_Y32 COR_X208_Y10 COR_X208_Y1 4 4 4 4 4 COR_X208_Y145 COR_X208_Y136 4 CEN_X96_Y141 CEN_X96_Y132 CEN_X96_Y11 CEN_X96_Y2 Pins 4 Logical clocks Pins CLK[16..19][p,n] CLK[4..7][p,n] 4 Logical clocks 4 Logical clocks 4 Logical clocks Pins Pins CLK[12..15][p,n] CLK[8..11][p,n] 4 Logical clocks

(19)

Quartus II ソフトウェアによるフラクショナル PLL ダイナミック位相シフト Page 19

図 10. 5SEE9、5SEEB、5SGXA9、5SGXAB、5SGXB9、および 5SGXBB デバイスの PLL 場所(1) 、(2)

図 10 の注:

(1) 各インデックスはデバイス内の 1 つの fPLL を表します。fPLL のフィジカル的位置は、Quartus II ソフトウェア Chip Planner 内 の位置に相当します。 (2) PLL0 と PLL1 の論理パーティションについて詳しくは、図 4を参照してください 。 (3) CLK0、CLK1、CLK22、および CLK23 クロック・ピンは fPLL LR_X0_Y77 と fPLL LR_X0_Y86 にクロックを供給します。 (4) CLK8、CLK9、CLK14、および CLK15 クロック・ピンは fPLL LR_X225_Y77 と fPLL LR_X225_Y86 にクロックを供給します。 Pins CLK[4..7][p,n] CEN_X104_Y166 CEN_X104_Y157 CEN_X104_Y11 CEN_X104_Y2 Logical clocks 4 Pins 4 Logical clocks COR_X0_Y170 COR_X0_Y161 LR_X0_Y133 LR_X0_Y124 LR_X0_Y86 LR_X0_Y77 LR_X0_Y38 LR_X0_Y29 COR_X0_Y10 COR_X0_Y1 4 LR_X0_Y108 LR_X0_Y99 4 4 4 4 2 2 LR_X0_Y61 LR_X0_Y52 4 4 Pins Logical clocks Pins 4 Logical clocks CLK[20..23][p,n] CLK[0..3][p,n] (3) (3) CLK[16..19][p,n] COR_X225_Y170 COR_X225_Y161 LR_X225_Y133 LR_X225_Y124 LR_X225_Y86 LR_X225_Y77 LR_X225_Y38 LR_X225_Y29 COR_X225_Y10 COR_X225_Y1 4 4 LR_X225_Y61 LR_X225_Y52 4 4 4 2 2 LR_X225_Y108 LR_X225_Y99 4 4 Logical clocks Pins Pins Logical clocks 4 CLK[12..15][p,n] (4) (4) CLK[8..11][p,n]

(20)

Page 20 Quartus II ソフトウェアによるフラクショナル PLL ダイナミック位相シフト

ALTERA_PLL_RECONFIG メガファンクションでダイナミック位相シ

フトを行う

ダイナミック位相シフトを実行するには、手順に従ってください。 1 - 4フラクショ ナル PLL 設定のリコンフィギュレーション 、ステップ除く2 、だけ Dynamic_Phase_Shift レジスタに書き込む必要があります。 c 動的位相シフト後フラクショナル PLL に ARESET 信号をアサートした場合は、ユーザー モードでダイナミック位相シフトを持つすべての成功した位相調整を失う。 図 11ダイナミック位相シフトを実行するための波形例を示します。 以下のリストは、の動作を説明します図 11

a. Avalon は、polling モードで動作するように ALTERA_PLL_RECONFIG メガファン クションを設定する(アドレス = 0×00)モード・レジスタに書き込みます。 b. Avalon は、前方の 4 つのステップのために C1 カウンタの上にダイナミック位 相シフトを実行する(アドレス = 0x06)ダイナミック位相シフト・レジスタ に書き込みます。 c. Avalon は、ダイナミック位相シフトを開始するスタート・レジスタ(アドレ ス = 0×02)に書き込みます。 d. Avalon は、ダイナミック位相シフトが完了したことを示して、1 の値がステー タス・レジスタから読み出されるまで、ステータス・レジスタ ( アドレス =0x01) から読み込みます。 図 11. ダイナミック位相シフトを実行する例を波形 00h 06h 02h 00000001h 00210004h 00000001h 01h don’t care a b c d 0000000h 00000001h don’t care mgmt_clk mgmt_address[5:0] mgmt_writedata[31:0] mgmt_write mgmt_read mgmt_readdata[31:0]

(21)

デザインの検討事項 Page 21

デザインの検討事項

PLL リコンフィギュレーションを使用するときは、以下の内容について考慮する必 要があります。 ■ プリスケールおよびフィードバック・カウンタの設定(M、N、MFRAC)、または チャージ・ポンプ / ループ・フィルタの設定を変更すると、PLL VCO 周波数が影 響を受けるため、PLL を基準クロックに再ロックしなければならない場合があり ます。 ■ M カウンタの位相シフト設定を変更すると、基準クロックに対する出力クロック の位相関係が変化するため、PLL も再ロックする必要があります。プリスケール およびフィードバック・カウンタの設定(M、N)を変更した場合の正確な影響 は、設定の変更内容によって異なりますが、どの変更を行った場合でも通常は再 クロックが必要です。 ■ M カウンタ位相シフト設定を使用して、位相シフトを追加すると、基準クロック に対するすべてのフラクショナル PLL クロック出力を引き込みます。M カウンタ は、フィードバックパス内にあるので、これを効果的に負の位相シフトを追加す る。 ■ ループ・エレメント(M、N、MFRAC、M カウンタ位相、Icp、R、C)を変更する場 合に、アルテラは、ALTCLKCTRL メガファンクションにある clkena 信号を使用し て、ロジック・アレイへの PLL 出力をディセーブルすることを推奨しています。 これにより、システム・ロジックに影響を与える過度の高周波数状態がなくなり ます。 ■ リコンフィギュレーションする前に、PLL はフラクショナル・モードでのみカウ ンタ K の値の変更が有効です。 ■ ポスト・スケール・カウンタ (C) や位相を変更しても、PLL ロックや VCO 周波数は 影響を受けません。位相シフトの分解能は、常に最小の増分ステップ(VCO 周期 の 1/8 に等しい)を持つ VCO 周波数の関数としています。 ■ 出力クロック間の位相関係が重要な場合、アルテラは areset 信号を使用して PLL を再同期化することを推奨しています。areset 信号のリセットを使用すると、す べての内部フラクショナル PLL カウンタがリセットされ、ロック・プロセスが再 び開始されます。 ■ フラクショナル PLL リコンフィギュレーション・インタフェースは正確に mgmt_clk の開始および停止を制御する必要がなくなり、フリー・ランニング mgmt_clk サポートしています。 ■ M カウンタまたは N カウンタの値の変化はすべての出力クロック周波数に影響を 与えます。 ■ また、出力カウンタは個別でリコンフィギュレーションできます。 ■ C カウンタが 1 に設定され、バイパスが有効になっていても、位相シフトを行うこ とができます。 ■ PLL がクロック間の 0 度の初期の位相シフト付きの 2 つのクロックを有する場合、 フィッタは自動的に離れて第 2 のクロックを合成します。マージからクロックを 防止するために、アルテラは、同じ周波数と位相シフトを共有 PLL 出力カウンタ ごとに手動で実行する場所の制約を推奨しています。

(22)

Page 22 デザイン例を使用する ■ waitrequest モードでは、PLL リコンフィギュレーションが完了したとき mgmt_waitrequest をデアサートします。リコンフィギュレーションが完了した 後、PLL がロックを失った場合、PLL がロックするまで、再び mgmt_waitrequest をアサートします。そこ PLL リコンフィギュレーションが完了した後に短い期間 かもしれませんが、PLL 前 mgmt_waitrequest がデアサートされたときに、ロッ クを失ってしまいました。アルテラは新しい Avalon のリードまたはライト動作を 実行する前に完了した PLL リコンフィギュレーション後にロックする PLL のに十 分な時間を許可することを推奨しています。 ■ PLL リコンフィギュレーションが完了すると、ポーリングモードでは、ステータ スは 0(busy)から 1(ready)への変更をレジスタします。リコンフィギュレー ションが完了した後、PLL がロックを失った場合、ステータス・レジスタは、 PLL がロックするまで 0(busy)にあります。そこ PLL リコンフィギュレーショ ンが完了した後、短い周期であってもよいが、PLL の前に、ステータス・レジス タ 1(ready)にあるとき、ロックを失ってしまいました。アルテラは新しい Avalon をリードまたはライト動作を実行する前に完了した PLL リコンフィギュ レーション後にロックする PLL のに十分な時間を許可することを推奨していま す。

デザイン例を使用する

次の項では、リファレンス・デザインのセットアップおよび使用について説明しま す。 ■ デザイン・ファイルをインストールするソフトウェア要件デザイン例

デザイン・ファイルをインストールする

このアプリケーション・ノート用のデザイン例は資料からダウンロードできます。 アルテラ・ウェブサイト上のアプリケーションノート のページ。高度な設定につい て詳しくは、23 ページの「デザイン例」を参照してください。

ソフトウェア要件

PC 内の以下のソフトウェアをインストールする必要があります。 ■ バージョン 11.1 SP2 から始まる Quartus II 開発ソフトウェア、 ■ バージョン 11.1 から始まる MegaCore IP ライブラリ、(Quartus II 開発ソフトウェアと 一緒にインストールされます) ■ バージョン 11.1 SP2 から始まるの Nios® II エンベデッド・デザイン・スイート (EDS)

1 デザイン例のの Quartus Archived File (.qar)を抽出することを確認します。

1 このアプリケーション・ノートでは、デフォルトの場所にソフトウェアをインス

(23)

デザイン例を使用する Page 23

デザイン例

次のセクションでは、ALTERA_PLL と ALTERA_PLL_RECONFIG メガファンクションを 使用してシフトフラクショナル PLL ダイナミック・リコンフィギュレーションと位 相を実現するためのデザイン例を説明します。

デザイン例 1

デザイン例は 5SGXEA7 デバイスを使用します。このデザイン例では、ALTERA_PLL と ALTERA_PLL_RECONFIG メガファンクションで設定されています。フラクショナル PLL はそれぞれ C0 と C1 の出力で 0 ps および 107 ps 位相シフトの 2 つの 233.34 MHz の出力クロックを合成します。フラクショナル PLL への入力基準クロックは 100 MHz です。 ALTERA_PLL_RECONFIG メガファンクションは、必要な Avalon ライトとリード動作を 実行するには、ステート・マシンに接続します。reset_SM ピンでの Low パルスは Avalon のリードおよびライト・シーケンスを始めます。リコンフィギュレーション 後、フラクショナル PLL は、次のコンフィギュレーションで動作します。 ■ M カウンタ = 36 ■ M FRAC = 0.2665 ■ N カウンタ = 4 ■ C0 = 6(high_count = 3、low_count = 3、偶数除算) ■ C1 = 8(high_count = 4、low_count = 4、偶数除算) ■ 帯域幅設定 = 0110(中帯域幅) ■ チャージ・ポンプの設定 = 010(中帯域幅) デザイン例を使用してテストを実行するには、次の手順を実行します。 1. PLL_Reconfig_MNC.qar ファイルをダウンロードし、復元します。 2. デザインで ALTERA_PLL と ALTERA_PLL_RECONFIG インスタンスを再生成します。 3. お使いのハードウェアに一致するようにデザイン例のピン割り当てと I/O 規格を 変更します。 4. デザインをリコンパイルします。デザインがリコンパイルした後、任意のタイミ ング違反が含まれていないことを確認してください。 5. .stp を開き、sof をダウンロードします。 6. リコンフィギュレーションを開始する reset_SM ピンに Low パルスを提供します。 予想される C0 出力周波数は 151.11 MHz ですと予想 C1 の出力周波数は 113.33 MHz です。

デザイン例 2

このデザイン例では ALTERA_PLL_RECONFIG メガファンクションとフラクショナル PLL のダイナミック位相シフト機能を示していることを除いて、このデザイン例は

(24)

Page 24 デザイン例を使用する デザイン例を使用してテストを実行するには、次の手順を実行します。 1. PLL_Reconfig_DPS.qar ファイルをダウンロードし、復元します。 2. デザインで ALTERA_PLL と ALTERA_PLL_RECONFIG インスタンスを再生成します。 3. お使いのハードウェアに一致するようにデザイン例のピン割り当てと I/O 規格を 変更します。 4. デザインを再コンパイルし、デザインが再コンパイルした後、任意のタイミング 違反が含まれていないことを確認してください。 5. .stp を開き、sof をダウンロードします。 6. リコンフィギュレーションを開始する reset_SM ピンに Low パルスを提供します。

デザイン例 3

フラクショナル PLL リコンフィギュレーションのデザイン例は Qsys のデザイン・フ ローを使用して、5SGXEA7 デバイスをターゲットとしています。フラクショナル PLL は、それぞれ C0、C1、C5、および C10 出力に 0 ps、168 ps、336 ps、および 505 ps を持つ 106 MHz の 4 つの出力クロックを合成します。フラクショナル PLL の 入力周波数は 50MHz です。図 12 には、Qsys は、システムおよびこのデザイン例のコ ンポーネントが表示されます。Nios II プロセッサの C コードのプログラムは、フラ クショナル PLL リコンフィギュレーションの IP を制御します。このプログラムは、 JTAG UART からのコマンドを受信して実行し、単純なループでコンフィギュレーショ ンされています。

表 7には、 Nios II プロセッサの C コードのプログラムが受信と実行する JTAG UART か

らのメイン・メニュー・コマンドを示します。 表 7. メイン・メニュー・コマンド コマンド 説明 スイッチ A このコマンドは 26(high_count = 13、low_count = 13)に M カウンタをリコンフィギュレーションします。 スイッチ B このコマンドは 4(high_count = 2、low_count = 2)に N カウンタをリコンフィギュレーションします。 スイッチ C このコマンドでは、62.5% のデューティ・サイクル (low_count = 10 、high_count= 6)で 16 に C0 をリコン フィギュレーションします。 スイッチ D このコマンドは、30% のデューティ・サイクルで 20 C1 を リコンフィギュレーションします。 (low_count = 6、high_count= 14 ) スイッチ E このコマンドは、MFRAC = 0.375 に K カウンタをリコンフィ ギュレーションします。 スイッチ F このコマンドでは、前方の 3 ステップの C0 でダイナミッ ク位相シフトを実行します。 スイッチ G このコマンドは、下位の 7 つのステップのために、C1 のダイナミック位相シフトを実行します。

(25)

デザイン例を使用する Page 25 表 8にはサブコマンドを示します。 デザイン例を使用してテストを実行するには、次の手順を(サブメニューに入りま す)を実行する: 1. PLL_Reconfig_Qsys.qar をダウンロードし、復元します。 2. お使いのハードウェアに一致するようにデザイン例のピン割り当てと I/O 規格を 変更します。 3. デザイン例での Qsys システムを再生成します。 4. デザインが再コンパイルした後、デザインを再コンパイルし、任意のタイミング 違反が含まれていないことを確認します。 5. SignalTap ファイル(.stp)を開き .sof をダウンロードします。 6. Nios II プロジェクトを設定し、テストプログラムをコンパイルするために Eclipse 用の Nios II Software Build Tools(SBT)を起動します。

7. サンプル・テストを実行する .elf をダウンロードします。 スイッチ H このコマンドは、M と M FRACカウンタを 68.75 に、N カウ ンタを 4 に、そして C0 を 8(37.5%デューティ・サイク ル)にリコンフィギュレーションします。 I を切り替える このコマンドは、リード・バック・レジスタ・ビットのサ ブメニューに入ります。サブメニューのコマンドについて は、表 8を参照してください 。 表 8. サブコマンド コマンド 説明 スイッチ A N カウンタ・レジスタのコマンドのリードバック 値。 スイッチ B M カウンタ・レジスタのコマンドのリードバック 値。 スイッチ C C0 カウンタ・レジスタのコマンドのリードバック 値。 スイッチ D C1 カウンタ・レジスタのコマンドのリードバック 値。 スイッチ E 帯域幅設定レジスタのコマンドのリードバック値。 スイッチ F チャージ・ポンプ設定レジスタのコマンドのリー ドバック値。 スイッチ R このコマンドを実行すると、メイン・メニューに 戻ります。サブメニューのコマンドについては、 表 7を参照してください 。 表 7. メイン・メニュー・コマンド コマンド 説明

(26)

Page 26 デザイン例を使用する

(27)

チュートリアル実習 Page 27

デザイン例 4

このデザイン例では、5SGXEA7 が使用されます。このデザイン例では、ALTERA_PLL メガファンクションで構成されています。フラクショナル PLL はそれぞれ、C0 と C1 の出力に 0 ps および 107 ps の位相シフトとの 233.34 MHz での 2 つの出力クロックを 合成します。入力基準クロックは 100 MHz です。 ALTERA_PLL メガファンクションは、直接ダイナミック・シフト動作を実行するため に、ステート・マシンに接続します。rest_sm ピンでの Low パルスは直接ダイナ ミック位相シフト・シーケンスを開始します。 デザイン例を使用してテストを実行するには、次の手順に従います。 1. PLL_DynamicPhaseShift.qar をダウンロードし、復元します。 2. デザインで ALTERA_PLL インスタンスを再生成します。 3. デザインに合うようにデザイン例のピン割り当てと I/O 規格を変更します。 4. デザインを再コンパイルし、デザインがコンパイルした後に違反が含まれていな いことを確認します。 5. .stp を開き、.sof をダウンロードしてください。 6. ダイナミック位相シフトを開始する reset_sm ピンに Low パルスを提供します。 デザインを作成し、テストを実行する上のチュートリアルでは、チュートリアル実習参 照してください。

チュートリアル実習

このチュートリアルでは、Quartus II ソフトウェアおよび Qsys システム統合ツールに 精通していることを前提としています。

新規 Quartus II プロジェクトの作成

Quartus II ソフトウェアでは、Stratix V デバイスをターゲットとする新しい Quartus II プロジェクトを作成します。

h 新しい Quartus IIプロジェクトの作成について詳しくは、Quartus IIヘルプでのManaging

Files in a Projectを参照してください 。

(28)

Page 28 チュートリアル実習

Qsys システムの完了

新規プロジェクトを作成するには、以下のステップに従います。 1. Tools メニューの Qsys をクリックします。 2. デザインが必要とするの Qsys コンポーネントを追加するには、次の手順を実行 します。 a. ALTERA_PLL のインスタンスを作成するには、次のステップを実行します。 ■ PLL は、Altera PLL を展開し、Add をクリックします。Reference Clock Frequency を 50.0 MHz にリセットします。

■ 出力クロック数を選択し、その出力周波数及び位相関係を設定します。

Settings タブでは、Enable dynamic reconfiguration of PLL のオプションをオン

にします。

Finish をクリックします。

b. ALTERA_PLL_RECONFIG のインスタンスを作成するには、次のステップを実行 します。

PLL を展開し、Altera PLL Reconfig を選択して Add をクリックします。Finish をクリックします。

c. コンポーネント・ライブラリの下で、 Memories and Memory Controllers を展開

して、 On-Chip を展開します。On-Chip Memory (RAM or ROM) を選択し、Add を クリックします。

■ 総合メモリ・サイズに 65536 K バイトを入力します。

Finish をクリックします。

d. コンポーネントライブラリの下、 Embedded Processors を展開し、Nios II

Processor を選択し、Add をクリックします。

Nios II/s を選択します。

Reset Vector Offset を 0x20 に、Exception Vector Offset を 0x40 に変更します。Finish をクリックします。

e. SOPC Builder で、Interface Protocols および Serial を拡張します。JTAG UART を 選択して、Add をクリックします。

■ Write FIFO and Read FIFO の下で、Buffer Depth (bytes) に 64 を選択し、IRQ

Threshold に 8 を入力します。

■ Prepare interactive windows の場合は、シミュレーション中にインタラクティ

ブな表示ウィンドウを開くために INTERACTIVE_INPUT_OUTPUT を選択しま す。

Finish をクリックします。

f. Project Setting タブで、Clock Crossing Adapter Type には Auto を選択します。

3. System Contents タブで、26 ページの図 12に示されるように適切なバス接続と IRQ

(29)

チュートリアル実習 Page 29

1 アドレスのオーバーラップを警告するメッセージが表示される場合、

System メニューで Auto-Assign Base Addresses をクリックします。IRQ の オーバーラップを警告するメッセージが表示される場合、System メニュー で Assign Interrupt numbers をクリックします。

4. 接続を設定した後、Nios II プロセッサを右クリックして、Nios II プロセッサのパ ラメータエディタを開くには、Edit を選択します。Core Nios II タブで、Reset vector memory and Exception vector memory の下で、onchip_memory2_0.s1 を選択し て、Finish をクリックします。

5. File メニューの Save をクリックします。

6. Generation タブの Synthesis の下で、 Create HDL design files for synthesis および

Create block symbol file (.bsf) をオンにします。

7. Generate をクリックします。

トップレベル・デザイン・ファイルの作成

概念上、SOPC Builder システムはデザインのコンポーネントと見なすことができま す。これは、唯一のコンポーネントである場合も、多くのコンポーネントの 1 つで ある場合もあります。したがって、SOPC Builder システムが完成したときに、トップ レベル・デザインに追加しなければなりません。 トップレベル・デザインは、ユーザーが希望する HDL 言語とするか、または .bdf 回 路図デザインとすることもできます。 この実習では、トップレベル・デザインは、追加コンポーネント無しの Qsys システ ムを囲む単純なラッパー・ファイルです。トップレベル・デザインは、ピンの命名 規則およびポート接続のみを定義します。 図 13に、Qsys のトップレベル・ブロック図を示します。 図 13. SDI トップレベル・ブロック図

Top-Level Design File

Nios II

Processor JTAG UART Fractional PLL

On-Chip

Memory ALTERA_PLL_RECONFIG Megafunction

reset

global_reset reset

inclk

Fractional PLL Locked Signal

(30)

Page 30 チュートリアル実習

.bdf の回路図を使用して Qsys システムのトップレベル・デザインを作成するには、

以下の手順に従います。

1. Quartus II ソフトウェアで、File メニューの New をクリックします。

2. Block Diagram/Schematic File を選択し、OK をクリックします。ブランクの .bdf で ある Block1.bdf が開きます。

3. File メニューの Save As をクリックします。Save As ダイアログ・ウィンドウで、

Save をクリックします。 1 Quartus II ソフトウェアは、自動的に .bdf のファイル名をユーザーのプロジェクト名に 設定します。 4. ブランクの .bdf を右クリックし、Insert をポイントして、Symbol をクリックし、 Symbol ダイアログ・ボックスを開きます。 5. Project を展開し、ライブラリの下でシステムを選択し、OK をクリックします。 6. プロジェクトに system.qip を追加します。 7. ALTERA_PLL インスタンス上 reconfig_to_pll [63:0] バスに ALTERA_PLL_RECONFIG インスタンス上 reconfig_to_pll [63:0] バスを接続しま す。 8. ALTERA_PLL_RECONFIG インスタンス上 reconfig_from_pll [63:0] バスに ALTERA_PLL インスタンス上 reconfig_from_pll [63:0] バスを接続します。 9. Qsys システム・コンポーネントを右クリックし、Generate Pins for Symbol Ports を

クリックすると、回路図の記号にピンおよびネットが自動的に追加されます。

10. 修正されたピン名に次のピンの名前を変更します。表 9には既存および修正され

たピン名が一覧表示されます。

11. inclk ピンに pll_refclk_clk ポートを接続します。 12. File メニューの Save をクリックします。

13. Project メニューの Set as Top-Level Entity をクリックします。 14. デザインのすべてのピンの I/O 規格とピン位置を割り当てます。 表 9. 端子名の名前を変更 ピン名 ピン名 clk_clk inclk reset_reset_n reset_n pll_0_reset_reset areset pll_0_locked_export locked pll_0_outclk0_clk co_ouput pll_0_outclk1_clk c1_ouptut pll_0_outclk10_clk c10_ouptut pll_0_outclk5_clk c5_output

(31)

チュートリアル実習 Page 31

Eclipse 用の Nios II SBT の組み込む

プロジェクトの Nios II プロセッサにテスト・コードを追加し、このプログラムを使 用して簡単なテストを実行することができます。

Eclipse 用の Nios II SBT にテストコードを追加する

Eclipse 用の Nios II SBT にテストコードを追加するには、次の手順に従います。 1. Eclipse 用の NiosII SBT を開きます。

2. File メニューの Switch Workspace をクリックして、Other をクリックして、プロ ジェクト・ディレクトリを選択します。

3. File メニューで、New をポイントして、Project をクリックします。

4. Nios II Application and BSP from Template を選択し、Next をクリックします。 5. Select Project Template のリストで、Blank Project をクリックして、SOPC

Information File (.sopcinfo) を検索します。

6. Application プロジェクトの下にプロジェクト名として pll_reconfig を入力しま す。

7. Next をクリックし、Finish をクリックします。

8. Windows Explorer で、PLL_RECONFIG.c を pll_reconfig ディレクトリにドラッグしま す。

Nios II プロジェクト設定のセットアップ

Nios II プロジェクトの設定をセットアップするには、以下の手順に従います。 1. Project Explorer タブで、<project_name> を右クリックして Nios II を選択します。

そして、Nios II BSP エディタを起動するため BSP Editor をクリックします。 2. ライブラリ・プロジェクトのフットプリントのサイズを最適化するには、Main

タブの Settings を選択して、enabled_reduced_device_drivers をオンにします。 3. システム・ライブラリに割り当てられるメモリ・サイズを小さくするために、

Max file descriptors に 4 を入力します。

4. Linker Script タブで、.bss、.heap、.rodata、.rwdata、.stack、 および .text のリン

カー領域名を選択します。 5. Generate をクリックします。

(32)

Page 32 チュートリアル実習

ハードウェア上のデザインの検証

ハードウェア上でデザインを確認するには、プロジェクトをコンパイルし、オブ ジェクト・ファイルをダウンロードし、Eclipse 用の Nios II SBT でデザインを確認す る必要があります。

プロジェクトのコンパイル

デザインをコンパイルするには、以下のステップを実行します。

1. デザインに SignalTap II Logic Analyzer を追加します。SignalTap II ロジック・アナラ イザは、システム内のリードおよびライト動作を表示します。 2. SignalTap II ロジック・アナライザに信号を追加した後、デザインを再コンパイル することができます。プロジェクトをコンパイルするには、Processing メニュー の Start Compilation をクリックします。 3. デザインがコンパイルされた後、TimeQuest のタイミング解析が合格することを 確認します。 4. コンピュータにハードウェアを接続します。

オブジェクト・ファイルのダウンロード

オブジェクト・ファイルをダウンロードするには、次の手順を実行します。 1. Tools メニューの SignalTap II Logic Analyzer をクリックします。SignalTap II ダイア

ログ・ボックスが表示されます。

1 SRAM Object File(SOF)Manager には <your_project_name>.sof が含まれていま

す。

2. ... をクリックして、Select Program Files ダイアログ・ボックスを開きます。 3. <your_project_name>.sof を選択します。 4. Open をクリックします。 5. ファイルをダウンロードすると、Program Device ボタンをクリックします。

Eclipse 用の NiosII SBT でのデザインの検証

Eclipse 用の Nios II SBT でデザインを確認してください。これを行うには、以下のス テップを実行します。 1. サンプル・テスト・プログラムをコンパイルするために、<project> を右クリック して、Run As と選択して、Nios II Hardware をクリックします。

2. お使いのシステムをテストするための選択を入力します。

(33)

改訂履歴 Page 33

改訂履歴

表 10に、このアプリケーション・ノートの改訂履歴を示します。 表 10. 改訂履歴 日付 バー ジョン 変更内容 2012 年 10 月 2.0 年 12 月 ■ 1 ページの「28 nm デバイスにおけるフラクショナル PLL リコンフィギュレーション」 を更新。 ■ 3 ページの表 15 ページの表 2を更新。 ■ 7 ページの表 325 ページの表 8を追加。 ■ 13 ページの図 414 ページの図 515 ページの図 616 ページの図 717 ページの 図 818 ページの図 9、および19 ページの図 10を追加。 ■ 11 ページの「ALTERA_PLL メガファンクションでダイナミック位相シフトの実行」を 追加。 ■ 新しいデザイン例および27 ページの「デザイン例 4」を追加。 2012 年 5 月 1.1 6–44 ページの「デザインの検討事項」を更新。 2012 年 2 月 1.0 年 12 月 初版。

(34)

参照

関連したドキュメント

[r]

較的⾼温場の場合では,主にアセチレンが⽣成される.⼀⽅で⽐較的低温場の場合で

神奈川県相模原市南区松が枝町17-1 1月0日(土)

デロイト トーマツ グループは、日本におけるデロイト アジア パシフィック

活動の概要 炊き出し、救援物資の仕分け・配送、ごみの収集・

ASTM E2500-07 ISPE は、2005 年初頭、FDA から奨励され、設備や施設が意図された使用に適しているこ

Adaptec U320 SCSI RAID 0 または 1 は、Ultra320 および Ultra160 の SCSI ハードディスク ドライブで動作 するように設計されていますが、従来の

[r]